Difference between revisions of "HOWTO read GlueX hddm data from a jupyter notebook"
Line 9: | Line 9: | ||
$ pip install --user gluex.hddm_r | $ 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. | + | 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. |
!pip install gluex.hddm_s | !pip install gluex.hddm_s | ||
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 % 1000 == 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. | ||
+ | |||
+ | !pip install 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 % 1000 == 0: | if pe.eventNo % 1000 == 0: | ||
print(f"found run {pe.runNo}, event {pe.eventNo}") | print(f"found run {pe.runNo}, event {pe.eventNo}") |
Revision as of 14:47, 26 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.
$ pip install --user gluex.hddm_s $ 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.
!pip install 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 % 1000 == 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.
!pip install 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 % 1000 == 0: print(f"found run {pe.runNo}, event {pe.eventNo}")