{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Awkward Example" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import hist\n", "\n", "import pylhe" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[{eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " ...,\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 4, pid: 1, ...}, weights: {...}, particles: ..., ...},\n",
       " {eventinfo: {nparticles: 5, pid: 1, ...}, weights: {...}, particles: ..., ...}]\n",
       "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
       "backend: cpu\n",
       "nbytes: 16.7 MB\n",
       "type: 10000 * Event[\n",
       "    eventinfo: EventInfo[\n",
       "        nparticles: float64,\n",
       "        pid: float64,\n",
       "        weight: float64,\n",
       "        scale: float64,\n",
       "        aqed: float64,\n",
       "        aqcd: float64\n",
       "    ],\n",
       "    weights: Weights[\n",
       "        "1": float64,\n",
       "        "2": float64,\n",
       "        "3": float64,\n",
       "        "4": float64,\n",
       "        "5": float64,\n",
       "        "6": float64,\n",
       "        "7": float64,\n",
       "        "8": float64,\n",
       "        "9": float64,\n",
       "        "10": float64,\n",
       "        "11": float64,\n",
       "        "12": float64,\n",
       "        "13": float64,\n",
       "        "14": float64,\n",
       "        "15": float64,\n",
       "        "16": float64,\n",
       "        "17": float64,\n",
       "        "18": float64,\n",
       "        "19": float64,\n",
       "        "20": float64,\n",
       "        "21": float64,\n",
       "        "22": float64,\n",
       "        "23": float64,\n",
       "        "24": float64,\n",
       "        "25": float64,\n",
       "        "26": float64,\n",
       "        "27": float64,\n",
       "        "28": float64,\n",
       "        "29": float64,\n",
       "        "30": float64,\n",
       "        "31": float64,\n",
       "        "32": float64,\n",
       "        "33": float64,\n",
       "        "34": float64,\n",
       "        "35": float64,\n",
       "        "36": float64,\n",
       "        "37": float64,\n",
       "        "38": float64,\n",
       "        "39": float64,\n",
       "        "40": float64,\n",
       "        "41": float64,\n",
       "        "42": float64,\n",
       "        "43": float64,\n",
       "        "44": float64,\n",
       "        "45": float64,\n",
       "        "46": float64,\n",
       "        "47": float64,\n",
       "        "48": float64,\n",
       "        "49": float64,\n",
       "        "50": float64,\n",
       "        "51": float64,\n",
       "        "52": float64,\n",
       "        "53": float64,\n",
       "        "54": float64,\n",
       "        "55": float64,\n",
       "        "56": float64,\n",
       "        "57": float64,\n",
       "        "58": float64,\n",
       "        "59": float64,\n",
       "        "60": float64,\n",
       "        "61": float64,\n",
       "        "62": float64,\n",
       "        "63": float64,\n",
       "        "64": float64,\n",
       "        "65": float64,\n",
       "        "66": float64,\n",
       "        "67": float64,\n",
       "        "68": float64,\n",
       "        "69": float64,\n",
       "        "70": float64,\n",
       "        "71": float64,\n",
       "        "72": float64,\n",
       "        "73": float64,\n",
       "        "74": float64,\n",
       "        "75": float64,\n",
       "        "76": float64,\n",
       "        "77": float64,\n",
       "        "78": float64,\n",
       "        "79": float64,\n",
       "        "80": float64,\n",
       "        "81": float64,\n",
       "        "82": float64,\n",
       "        "83": float64,\n",
       "        "84": float64,\n",
       "        "85": float64,\n",
       "        "86": float64,\n",
       "        "87": float64,\n",
       "        "88": float64,\n",
       "        "89": float64,\n",
       "        "90": float64,\n",
       "        "91": float64,\n",
       "        "92": float64,\n",
       "        "93": float64,\n",
       "        "94": float64,\n",
       "        "95": float64,\n",
       "        "96": float64,\n",
       "        "97": float64,\n",
       "        "98": float64,\n",
       "        "99": float64,\n",
       "        "100": float64,\n",
       "        "101": float64,\n",
       "        "102": float64,\n",
       "        "103": float64,\n",
       "        "104": float64,\n",
       "        "105": float64,\n",
       "        "106": float64,\n",
       "        "107": float64,\n",
       "        "108": float64,\n",
       "        "109": float64,\n",
       "        "110": float64,\n",
       "        "111": float64,\n",
       "        "112": float64,\n",
       "        "113": float64,\n",
       "        "114": float64,\n",
       "        "115": float64,\n",
       "        "116": float64,\n",
       "        "117": float64,\n",
       "        "118": float64,\n",
       "        "119": float64,\n",
       "        "120": float64,\n",
       "        "121": float64,\n",
       "        "122": float64,\n",
       "        "123": float64,\n",
       "        "124": float64,\n",
       "        "125": float64,\n",
       "        "126": float64,\n",
       "        "127": float64,\n",
       "        "128": float64,\n",
       "        "129": float64,\n",
       "        "130": float64,\n",
       "        "131": float64,\n",
       "        "132": float64,\n",
       "        "133": float64,\n",
       "        "134": float64,\n",
       "        "135": float64,\n",
       "        "136": float64,\n",
       "        "137": float64,\n",
       "        "138": float64,\n",
       "        "139": float64,\n",
       "        "140": float64,\n",
       "        "141": float64,\n",
       "        "142": float64,\n",
       "        "143": float64,\n",
       "        "144": float64,\n",
       "        "145": float64\n",
       "    ],\n",
       "    particles: var * Particle[\n",
       "        vector: Momentum4D[\n",
       "            px: float64,\n",
       "            py: float64,\n",
       "            pz: float64,\n",
       "            e: float64\n",
       "        ],\n",
       "        id: float64,\n",
       "        status: float64,\n",
       "        mother1: float64,\n",
       "        mother2: float64,\n",
       "        color1: float64,\n",
       "        color2: float64,\n",
       "        m: float64,\n",
       "        lifetime: float64,\n",
       "        spin: float64\n",
       "    ]\n",
       "]
" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Use an example LHE file from package scikit-hep-testdata\n", "from skhep_testdata import data_path\n", "\n", "lhe_file = data_path(\"pylhe-drell-yan-ll-lhe.gz\")\n", "\n", "arr = pylhe.to_awkward(pylhe.LHEFile.fromfile(lhe_file, with_attributes=True).events)\n", "\n", "arr" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of events: 10000\n" ] } ], "source": [ "print(f\"Number of events: {pylhe.read_num_events(lhe_file)}\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "\n", "\n", "\n", "50\n", "\n", "\n", "150\n", "\n", "\n", "Axis 0\n", "\n", "\n", "\n", "
\n", "
\n", "Regular(100, 50, 150, label='Axis 0')
\n", "
\n", "Int64() Σ=7860.0 (10000.0 with flow)\n", "\n", "
\n", "
\n", "" ], "text/plain": [ "Hist(Regular(100, 50, 150, label='Axis 0'), storage=Int64()) # Sum: 7860.0 (10000.0 with flow)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hist1 = hist.Hist.new.Reg(100, 50, 150).Int64()\n", "hist1.fill((arr.particles.vector[:, -1] + arr.particles.vector[:, -2]).mass)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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T3Q6dOigPn36tPl56enpWrZsmRYsWODpo1NSUuJJeNw6deoUM29It/T09JiLORZRzpFDWUcG5RwZsVTOnTp18vzcOMEpKipqdx+dQJIjRl21U9euXfXwww/r4MGDKioq0tNPP63+/fvrkUceMTs0AACiwiOPPKL+/fvrmWeeUVFRkQ4ePKiHH3447B2RJRKdkGmc8Lz55puSpKSkJJMjAwDAHO7/gW+++WbEExy3uG+6CjV3wjNv3jy98847ysvLMzukgKWkpOjBBx9USkqK2aFYGuUcOZR1ZFDOkRGL5ZyXl6eXX35ZY8aMiWhy481mGKxRAAAArImmKwAAYFkkOgAAwLJIdAAAgGWR6AAAAMsi0YlDhw8f1q233qpu3bopLS1Nw4YNU0VFhee4YRh66KGHlJWVpdTUVI0ZM0affPKJiRHHpvr6ei1atEj9+/dXamqqBgwYoOLiYjU0NHjOoazbbufOnZo4caKysrJks9m0efNmn+OBlOm5c+d01113qXv37jrvvPM0adIkz/p0+EFL5VxXV6d7771XgwcP1nnnnaesrCxNmzZNX3/9tc81KOfWtfZ+9vbrX/9aNptNK1as8NlPObeMRCfOnDx5UldccYWSkpL05z//WVVVVXriiSfUuXNnzznLli3T8uXLtXLlSpWVlalnz576yU9+ou+//968wGPQY489pqefflorV67U/v37tWzZMj3++OP6wx/+4DmHsm67M2fOaOjQoVq5cqXf44GU6dy5c/XKK69ow4YN+stf/qLTp09rwoQJcrlckXoZUa+lcq6pqdHu3bv1wAMPaPfu3dq0aZM+++wzTZo0yec8yrl1rb2f3TZv3qwPPvjA73IHlHMrQrAuJmLIvffea1x55ZXNHm9oaDB69uxpPProo559Z8+eNTIyMoynn346EiFaxvjx44077rjDZ9/kyZONW2+91TAMyjoUJBmvvPKKZzuQMv3uu++MpKQkY8OGDZ5zDh8+bHTo0MF44403IhZ7LGlczv58+OGHhiTjyy+/NAyDcg5Gc+X81VdfGb179zb27dtn9OvXz3jyySc9xyjn1lGjE2deffVVjRw5Ur/4xS/Uo0cPXXrppVq7dq3n+IEDB3T06FEVFBR49qWkpOiaa67Rrl27zAg5Zl155ZXavn27PvvsM0nSRx99pL/85S+6/vrrJVHW4RBImVZUVKiurs7nnKysLOXl5VHu7XDq1CnZbDZP7TDlHBoNDQ2aOnWq7rnnHl1yySVNjlPOrWNm5Djzv//7v1q9erWKiop033336cMPP9ScOXOUkpKiadOm6ejRo5KkzMxMn+dlZmbqyy+/NCPkmHXvvffq1KlTuvjii5WQkCCXy6Xf/e53uuWWWySJsg6DQMr06NGjSk5OVpcuXZqc434+2ubs2bNasGCBfvnLX3oWm6ScQ+Oxxx5TYmKi5syZ4/c45dw6Ep0409DQoJEjR3oWHb300kv1ySefaPXq1Zo2bZrnPJvN5vM8wzCa7EPLNm7cqBdeeEEvvviiLrnkElVWVmru3LnKysrS9OnTPedR1qEXTJlS7sGpq6vTzTffrIaGBq1atarV8ynnwFVUVOipp57S7t2721xmlPPf0HQVZ3r16qXc3FyffYMGDVJ1dbUkqWfPnpLU5JvAsWPHmnxLRsvuueceLViwQDfffLMGDx6sqVOnat68eVq6dKkkyjocAinTnj17yul06uTJk82eg8DU1dXppptu0oEDB7Rt2zZPbY5EOYdCaWmpjh07pr59+yoxMVGJiYn68ssv9Zvf/EY5OTmSKOdAkOjEmSuuuEKffvqpz77PPvtM/fr1kyT1799fPXv21LZt2zzHnU6n3n33XY0ePTqisca6mpoadejg+yeWkJDgGV5OWYdeIGU6YsQIJSUl+Zxz5MgR7du3j3JvA3eS8/nnn+utt95St27dfI5Tzu03depUffzxx6qsrPQ8srKydM8992jr1q2SKOeAmNkTGpH34YcfGomJicbvfvc74/PPPzf+/d//3UhLSzNeeOEFzzmPPvqokZGRYWzatMnYu3evccsttxi9evUyHA6HiZHHnunTpxu9e/c2/vSnPxkHDhwwNm3aZHTv3t2YP3++5xzKuu2+//57Y8+ePcaePXsMScby5cuNPXv2eEb7BFKms2bNMvr06WO89dZbxu7du41rr73WGDp0qFFfX2/Wy4o6LZVzXV2dMWnSJKNPnz5GZWWlceTIEc/j3LlznmtQzq1r7f3cWONRV4ZBObeGRCcOvfbaa0ZeXp6RkpJiXHzxxcaaNWt8jjc0NBgPPvig0bNnTyMlJcW4+uqrjb1795oUbexyOBzG3XffbfTt29fo2LGjMWDAAOP+++/3+UdAWbfdjh07DElNHtOnTzcMI7Ayra2tNe68806ja9euRmpqqjFhwgSjurrahFcTvVoq5wMHDvg9JsnYsWOH5xqUc+taez835i/RoZxbZjMMw4hc/REAAEDk0EcHAABYFokOAACwLBIdAABgWSQ6AADAskh0AACAZZHoAAAAyyLRAQAAlkWiAwAALItEB4ClPfTQQ7LZbLLZbFqxYoVpcRw8eNATx7Bhw0yLA4g3JDoA2u22226TzWbTrFmzmhybPXu2bDabbrvttsgH9v9dcsklOnLkiP7pn/7JZ/+ePXs0ZcoU9erVSykpKerXr58mTJig1157TYFOGj9x4kRdd911fo+9//77stls2r17t7Kzs3XkyBH95je/affrARA4Eh0AIZGdna0NGzaotrbWs+/s2bP6j//4D/Xt29fEyKTExET17NlTaWlpnn3//d//rb//+7/X6dOn9fzzz6uqqkovvfSSfvazn2nRokU6depUQNeeMWOG3n77bX355ZdNjq1bt07Dhg3T8OHDlZCQoJ49e6pTp04he10AWkeiAyAkhg8frr59+2rTpk2efZs2bVJ2drYuvfRSn3PfeOMNXXnllercubO6deumCRMm6K9//avnuNPp1J133qlevXqpY8eOysnJ0dKlSz3HH3roIfXt21cpKSnKysrSnDlz2hTrmTNnNGPGDI0fP16vv/66CgoK9Hd/93e67LLLNHPmTH300UfKyMjwnF9VVaXrr79enTp1UmZmpqZOnapvv/1WkjRhwgT16NFD69ev97lHTU2NNm7cqBkzZrQpNgChRaIDIGRuv/12Pffcc57tdevW6Y477mhy3pkzZ1RUVKSysjJt375dHTp00A033KCGhgZJ0u9//3u9+uqr+s///E99+umneuGFF5STkyNJ+q//+i89+eSTeuaZZ/T5559r8+bNGjx4cJvifPPNN3X8+HHNnz+/2XNsNpsk6ciRI7rmmms0bNgwlZeX64033tA333yjm266SdIPtUXTpk3T+vXrfZq7XnrpJTmdTv3jP/5jm2IDEFqJZgcAwDqmTp2qhQsXejrevvfee9qwYYPeeecdn/NuvPFGn+1/+7d/U48ePVRVVaW8vDxVV1froosu0pVXXimbzaZ+/fp5zq2urlbPnj113XXXKSkpSX379tVll13Wpjg/++wzSdLAgQM9+8rKypSfn+/Z3rBhgyZMmKDVq1dr+PDheuSRRzzH1q1bp+zsbH322Wf60Y9+pDvuuEOPP/643nnnHc811q1bp8mTJ6tLly5tig1AaFGjAyBkunfvrvHjx+v555/Xc889p/Hjx6t79+5NzvvrX/+qX/7ylxowYIDS09PVv39/ST8kMdIPnZsrKys1cOBAzZkzR2+++abnub/4xS9UW1urAQMG6Fe/+pVeeeUV1dfXtzv2IUOGqLKyUpWVlTpz5oznmhUVFdqxY4c6derkeVx88cWe1yFJF198sUaPHq1169Z59peWlvqtzQIQWSQ6AELqjjvu0Pr16/X88883+49+4sSJOn78uNauXasPPvhAH3zwgaQf+uZIP/T3OXDggB5++GHV1tbqpptu0s9//nNJP3R6/vTTT1VSUqLU1FTNnj1bV199terq6gKO8aKLLpIkffrpp559KSkpuvDCC3XhhRf6nNvQ0KCJEyd6kiD34/PPP9fVV1/tOW/GjBl6+eWX5XA49Nxzz6lfv34aO3ZswDEBCA8SHQAh9dOf/lROp1NOp1OFhYVNjh8/flz79+/XokWLNHbsWA0aNEgnT55scl56erqmTJmitWvXauPGjXr55Zd14sQJSVJqaqomTZqk3//+93rnnXf0/vvva+/evQHHWFBQoK5du+qxxx5r9dzhw4frk08+UU5OjicRcj/OO+88z3k33XSTEhIS9OKLL+r555/X7bff7unnA8A89NEBEFIJCQnav3+/5+fGunTpom7dumnNmjXq1auXqqurtWDBAp9znnzySfXq1UvDhg1Thw4d9NJLL6lnz57q3Lmz1q9fL5fLpR//+MdKS0vTH//4R6Wmpvr042lNp06d9Oyzz2rKlCkaP3685syZo4suukinT5/WG2+84RO73W7X2rVrdcstt+iee+5R9+7d9cUXX2jDhg1au3at57xOnTppypQpuu+++3Tq1ClT5w0C8DfU6AAIufT0dKWnp/s91qFDB23YsEEVFRXKy8vTvHnz9Pjjj/uc06lTJz322GMaOXKkRo0apYMHD2rLli3q0KGDOnfurLVr1+qKK67QkCFDtH37dr322mvq1q1bm2K84YYbtGvXLqWlpWnatGkaOHCgrr32Wr399tuejsiSlJWVpffee08ul0uFhYXKy8vT3XffrYyMDHXo4PsROmPGDJ08eVLXXXed6XMHAfiBzQh0+k8AiEEPPfSQNm/erMrKSrNDkRR98QBWR40OAMvbu3evOnXqpFWrVpkWQ3V1tTp16uQzTB1A+FGjA8DSTpw44enEfMEFF/jMeBxJ9fX1OnjwoKQfRnhlZ2ebEgcQb0h0AACAZdF0BQAALItEBwAAWBaJDgAAsCwSHQAAYFkkOgAAwLJIdAAAgGWR6AAAAMsi0QEAAJb1/wB5o6MxrYVn2wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "artists = hist1.plot1d()\n", "ax = artists[0].stairs.axes\n", "ax.set_yscale(\"log\")\n", "ax.set_xlabel(\"Mass [GeV]\")\n", "ax.set_ylabel(\"Count\");" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" }, "metadata": { "interpreter": { "hash": "73182083f4e2a7a153b1c22bd64054bec714030b17650bd3a885c40287b848ca" } } }, "nbformat": 4, "nbformat_minor": 4 }