Difference between revisions of "HOWTO create a ROOT tree of detector hits and display event data with the tree"

From GlueXWiki
Jump to: navigation, search
Line 1: Line 1:
 +
==Getting started==
 
G.Vasileiadis  04/09/15  Added comment on DAQ, TTab plugins <br>
 
G.Vasileiadis  04/09/15  Added comment on DAQ, TTab plugins <br>
  
==Getting started==
 
 
The data in an evio file can be coverted into a ROOT tree by using the '''janaroot''' plugin.  Suppose you want to look at the CDC hits in more detail.  To do so, invoke the JANA framework using the following command line:
 
The data in an evio file can be coverted into a ROOT tree by using the '''janaroot''' plugin.  Suppose you want to look at the CDC hits in more detail.  To do so, invoke the JANA framework using the following command line:
 
<blockquote>
 
<blockquote>

Revision as of 09:40, 9 April 2015

Getting started

G.Vasileiadis 04/09/15 Added comment on DAQ, TTab plugins

The data in an evio file can be coverted into a ROOT tree by using the janaroot plugin. Suppose you want to look at the CDC hits in more detail. To do so, invoke the JANA framework using the following command line:

hd_ana -PPLUGINS=DAQ,TTab,janaroot file.evio -PAUTOACTIVATE=DCDCHit

Note: The DAQ and TTab plugins have been converted into statically linked libraries in sim-recon. This means you will no longer need to add them to your plugin list when running things like hd_ana, hd_root, hdview2, etc.

The DAQ plugin converts the evio data into raw detector objects in memory. The TTab plugin applies the translation tables. The janaroot plugin fills a ROOT tree and writes it out to a file called janaroot.root in the current working directory. The -PAUTOACTIVATE command-line parameter invokes the code that produces the DCDCHit object in memory. You can invoke other hit factories in a comma-separated list: for example, -PAUTOACTIVATE=DCDCHit,DFDCHit,DBCALHit.

To look at the janaroot.root file, run root (root janaroot.root) and at the root command line invoke the browser (type TBrowser T; this will pop up another window). In the browser window, under ROOT files select janaroot.root, which gives you a list of branches on the tree. In the example below I have selected the distribution of the number of hits N in the CDC:

TBrowserView.png

In addition to the DCDCHit data, all the raw event data types (Df250PulseIntegral, etc.) are available for perusal.

Looking at correlations

A leaf quantity can be plotted against another leaf quantity in a given branch using the root command line interface. For example, to look at time in the CDC as function of charge for all straws, type

DCDCHit->Draw("t:q");

TBrowserView t vs q.png

You can apply cuts to the plotted distribution by using the second argument of the Draw method. For example, to restrict the plot above to single straw in a single ring, type

DCDCHit->Draw("t:q","ring==12&&straw==10","col");

In this example I used the third (optional) argument of Draw to use the color drawing method.

TBrowserView t vs q with cut.png

To look at correlations between variables in different branches of the tree, use the special event branch. For example, to plot FDC TDC times vs times reported by the FADC, type

event->Draw("DFDCWireDigiHit.time:DFDCCathodeDigiHit.pulse_time","DFDCCathodeDigiHit.pulse_time>0.","col");

TBrowserView event example.png

Note that you must explicitly reference each branch you are using in the Draw arguments.