Skip to main content

A python module to read LHE files.

Project description

lhereader

PyPI version

A Python module to read LHE files. Originally by diptaparna, significantly rewritten by me. No dependency on ROOT, requires python version >= 3.6.

Usage example:

import numpy as np
from lhereader import LHEReader


reader = LHEReader('path/to/file.lhe')

# Mediator mass in each event
mmed = []
counter = 0
for iev, event in enumerate(reader):
    # Find DM particles
    dm = filter(lambda x: abs(x.pdgid)== 52, event.particles)

    # Sum over all DM four-momenta in the event
    combined_p4 = None
    for p4 in map(lambda x: x.p4(), dm):
        if combined_p4:
            combined_p4 += p4
        else:
            combined_p4 = p4
    mmed.append(combined_p4.mass)

print(f'Mean mediator mass: {np.mean(mmed)}')
print(f'Median mediator mass: {np.median(mmed)}')

Treatment of weights

The parser assumes that each weight XML element has an attribute called id that uniquely identifies the weight per event. In practical terms, each entry should look roughly like this:

<wgt id='some string'> 123456.7 </wgt>

Weights are read in one of two modes: list or dict, which can be set via the weight_mode argument to the LHEReader constructor. In the first case, weights are returned as an unlabelled list in the order of appearance. In the second case, weights are returned as a dictionary per event, which the id attribute serving as the key, and the weight as the value.

The weights can easily be filtered using the weight_regex argument. Only weights with an id matching this regular expression will be returned.

In case no id attribute can be found, the dict mode, as well as filtering are not supported

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lhereader-1.0.11.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

lhereader-1.0.11-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file lhereader-1.0.11.tar.gz.

File metadata

  • Download URL: lhereader-1.0.11.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for lhereader-1.0.11.tar.gz
Algorithm Hash digest
SHA256 25e871ffad365a89605721642117c21b47e106bc3b079fb337419b1c668510af
MD5 9f579f7bb1834b7d30cb384e3667b56b
BLAKE2b-256 c9b5bde59547feed5f1241227b0f0ed66e1418bfb8193223abc103bb6e058e19

See more details on using hashes here.

File details

Details for the file lhereader-1.0.11-py3-none-any.whl.

File metadata

  • Download URL: lhereader-1.0.11-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for lhereader-1.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 fece3c62d2d21c7a1f17c4d1925943d8b418b90cb9f7d3579bfe4ace9d574d78
MD5 636a7b4a6fd0a3506905a1bfa3119137
BLAKE2b-256 3b1087a7238ddf5b5f070cfd72bc187993ce3db3ea3ed6f52386d83e6973c3d0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page