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

From GlueXWiki
Jump to: navigation, search
Line 8: Line 8:
 
  $ pip install --user gluex.hddm_s
 
  $ pip install --user gluex.hddm_s
 
  $ 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.
 +
 +
!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}")

Revision as of 14:42, 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.

!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}")