Difference between revisions of "HOWTO read GlueX hddm data from a jupyter notebook"
Line 16: | Line 16: | ||
"/simsamples/particle_gun-v5.2.0/particle_gun001_019.hddm"): | "/simsamples/particle_gun-v5.2.0/particle_gun001_019.hddm"): | ||
for pe in rec.getPhysicsEvents(): | for pe in rec.getPhysicsEvents(): | ||
− | if pe.eventNo % | + | if pe.eventNo % 10000 == 0: |
print(f"found run {pe.runNo}, event {pe.eventNo}") | print(f"found run {pe.runNo}, event {pe.eventNo}") | ||
Line 26: | Line 26: | ||
"/simsamples/particle_gun-v5.2.0/particle_gun001_019_rest.hddm"): | "/simsamples/particle_gun-v5.2.0/particle_gun001_019_rest.hddm"): | ||
for pe in rec.getReconstructedPhysicsEvents(): | for pe in rec.getReconstructedPhysicsEvents(): | ||
− | if pe.eventNo % | + | if pe.eventNo % 10000 == 0: |
print(f"found run {pe.runNo}, event {pe.eventNo}") | print(f"found run {pe.runNo}, event {pe.eventNo}") |
Latest revision as of 08:31, 27 June 2024
Two public python modules are available for reading hddm event data into a python session on a jupyter notebook environment like https://colab.research.google.com.
- gluex.hddm_s - python module for reading hddm_s events that encode raw hit information, either from simulation or real data converted from evio to hddm format.
- gluex.hddm_r - python module for reading hddm_r events that encode reconstructed event information in REST format.
Below are some examples of jupyter notebooks that demonstrate this capability in a jupyter notebook on Google colab. To enable the same functionality on your desktop or portable device, the python modules can be installed using the familiar "pip install" command.
$ python3 -m pip install --user gluex.hddm_s $ python3 -m pip install --user gluex.hddm_r
To demonstrate this capability in a jupyter environment, cut and paste the following block into a code cell within a freshly opened notebook. Running this cell produces a series of lines "found run 71000, event X000" where X increases from 1 to 40.
!python3 -m pip install --user gluex.hddm_s from gluex import hddm_s for rec in hddm_s.istream("root://nod25.phys.uconn.edu/Gluex/simulation" + "/simsamples/particle_gun-v5.2.0/particle_gun001_019.hddm"): for pe in rec.getPhysicsEvents(): if pe.eventNo % 10000 == 0: print(f"found run {pe.runNo}, event {pe.eventNo}")
Here is a similar demonstration where the input data are in REST format instead of raw hits. Running this cell produces a similar output to what the above cell generates.
!python3 -m pip install --user gluex.hddm_r from gluex import hddm_r for rec in hddm_r.istream("root://nod25.phys.uconn.edu/Gluex/simulation" + "/simsamples/particle_gun-v5.2.0/particle_gun001_019_rest.hddm"): for pe in rec.getReconstructedPhysicsEvents(): if pe.eventNo % 10000 == 0: print(f"found run {pe.runNo}, event {pe.eventNo}")