Difference between revisions of "HOWTO read GlueX hddm data from a jupyter notebook"

From GlueXWiki
Jump to: navigation, search
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}")