Awkward Example

import hist

import pylhe
# Use an example LHE file from package scikit-hep-testdata
from skhep_testdata import data_path

lhe_file = data_path("pylhe-drell-yan-ll-lhe.gz")

arr = pylhe.to_awkward(pylhe.read_lhe_with_attributes(lhe_file))

arr
[{eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 ...,
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},
 {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...}]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
backend: cpu
nbytes: 16.7 MB
type: 10000 * Event[
    eventinfo: EventInfo[
        nparticles: float64,
        pid: float64,
        weight: float64,
        scale: float64,
        aqed: float64,
        aqcd: float64
    ],
    weights: Weights[
        "1": float64,
        "2": float64,
        "3": float64,
        "4": float64,
        "5": float64,
        "6": float64,
        "7": float64,
        "8": float64,
        "9": float64,
        "10": float64,
        "11": float64,
        "12": float64,
        "13": float64,
        "14": float64,
        "15": float64,
        "16": float64,
        "17": float64,
        "18": float64,
        "19": float64,
        "20": float64,
        "21": float64,
        "22": float64,
        "23": float64,
        "24": float64,
        "25": float64,
        "26": float64,
        "27": float64,
        "28": float64,
        "29": float64,
        "30": float64,
        "31": float64,
        "32": float64,
        "33": float64,
        "34": float64,
        "35": float64,
        "36": float64,
        "37": float64,
        "38": float64,
        "39": float64,
        "40": float64,
        "41": float64,
        "42": float64,
        "43": float64,
        "44": float64,
        "45": float64,
        "46": float64,
        "47": float64,
        "48": float64,
        "49": float64,
        "50": float64,
        "51": float64,
        "52": float64,
        "53": float64,
        "54": float64,
        "55": float64,
        "56": float64,
        "57": float64,
        "58": float64,
        "59": float64,
        "60": float64,
        "61": float64,
        "62": float64,
        "63": float64,
        "64": float64,
        "65": float64,
        "66": float64,
        "67": float64,
        "68": float64,
        "69": float64,
        "70": float64,
        "71": float64,
        "72": float64,
        "73": float64,
        "74": float64,
        "75": float64,
        "76": float64,
        "77": float64,
        "78": float64,
        "79": float64,
        "80": float64,
        "81": float64,
        "82": float64,
        "83": float64,
        "84": float64,
        "85": float64,
        "86": float64,
        "87": float64,
        "88": float64,
        "89": float64,
        "90": float64,
        "91": float64,
        "92": float64,
        "93": float64,
        "94": float64,
        "95": float64,
        "96": float64,
        "97": float64,
        "98": float64,
        "99": float64,
        "100": float64,
        "101": float64,
        "102": float64,
        "103": float64,
        "104": float64,
        "105": float64,
        "106": float64,
        "107": float64,
        "108": float64,
        "109": float64,
        "110": float64,
        "111": float64,
        "112": float64,
        "113": float64,
        "114": float64,
        "115": float64,
        "116": float64,
        "117": float64,
        "118": float64,
        "119": float64,
        "120": float64,
        "121": float64,
        "122": float64,
        "123": float64,
        "124": float64,
        "125": float64,
        "126": float64,
        "127": float64,
        "128": float64,
        "129": float64,
        "130": float64,
        "131": float64,
        "132": float64,
        "133": float64,
        "134": float64,
        "135": float64,
        "136": float64,
        "137": float64,
        "138": float64,
        "139": float64,
        "140": float64,
        "141": float64,
        "142": float64,
        "143": float64,
        "144": float64,
        "145": float64
    ],
    particles: var * Particle[
        vector: Momentum4D[
            px: float64,
            py: float64,
            pz: float64,
            e: float64
        ],
        id: float64,
        status: float64,
        mother1: float64,
        mother2: float64,
        color1: float64,
        color2: float64,
        m: float64,
        lifetime: float64,
        spin: float64
    ]
]
print(f"Number of events: {pylhe.read_num_events(lhe_file)}")
Number of events: 10000
hist1 = hist.Hist.new.Reg(100, 50, 150).Int64()
hist1.fill((arr.particles.vector[:, -1] + arr.particles.vector[:, -2]).mass)
50 150 Axis 0
Regular(100, 50, 150, label='Axis 0')

Int64() Σ=7860.0 (10000.0 with flow)
artists = hist1.plot1d()
ax = artists[0].stairs.axes
ax.set_yscale("log")
ax.set_xlabel("Mass [GeV]")
ax.set_ylabel("Count");
../_images/6e1dd39e4e47ec917a193c686b691a0645413b20320ce8f6950e7f48a8856c8a.png