[Halld-offline] ROOT TTree Format Overhaul

Paul Mattione pmatt at jlab.org
Wed Sep 9 12:10:01 EDT 2015

I’ve overhauled the output ROOT TTree format for the analysis library, making it event-based (one entry per event) instead of combo-based (which it was before).  This overhaul is so that all of the information necessary for an analysis is available within the same event, which enables usage of the multithreading capabilities of PROOF.  

Quick Format Summary: 
1) Combo-Independent particles stored in arrays (one index per particle).  E.g. Throwns, ChargedHypos, NeutralShowers, Beam (not all: only those used in combos)

2) Combo-Dependent particle info stored in arrays (one index per combo).  E.g.: Proton__P4_Kinfit, PiMinus2__ChiSq_Timing, etc.  These each have a variable that points you to the array-index storing the combo-independent information.  E.g. ChargedHypo__P4 (pre-kinfit), dE/dx, etc.

When you cut combos, just set the branch variable “IsComboCut” to kTRUE for that combo, before writing out a copy to a new tree.  However, we’ll still have to do some kind of tree-flattening to make things combo-based prior to input to the BDT, so more scripts are needed.  

Documentation: https://halldweb1.jlab.org/wiki/index.php/Analysis_TTreeFormat

An example TSelector on how to use the new format will be available soon-ish.  

 - Paul

More information about the Halld-offline mailing list