Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JEventProcessor_L3BDTtree.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: JEventProcessor_L3BDTtree.h
4 // Created: Wed May 11 22:26:46 EDT 2016
5 // Creator: davidl (on Linux gluon49.jlab.org 2.6.32-431.20.3.el6.x86_64 x86_64)
6 //
7 
8 #ifndef _JEventProcessor_L3BDTtree_
9 #define _JEventProcessor_L3BDTtree_
10 
11 #include <TTree.h>
12 
13 #include <JANA/JEventProcessor.h>
14 
15 #include <DAQ/Df250TriggerTime.h>
16 #include <DAQ/Df250PulseData.h>
17 #include <DAQ/Df125TriggerTime.h>
18 #include <DAQ/Df125PulseIntegral.h>
19 #include <DAQ/Df125PulseTime.h>
20 #include <DAQ/Df125PulsePedestal.h>
21 #include <DAQ/Df125CDCPulse.h>
22 #include <DAQ/Df125FDCPulse.h>
23 #include <DAQ/DF1TDCHit.h>
24 #include <DAQ/DF1TDCTriggerTime.h>
25 #include <DAQ/DCAEN1290TDCHit.h>
26 #include <DAQ/DL1Info.h>
27 #include <DAQ/DEventTag.h>
28 #include <PID/DVertex.h>
29 
30 #include <BCAL/DBCALDigiHit.h>
31 #include <BCAL/DBCALTDCDigiHit.h>
32 #include <CDC/DCDCDigiHit.h>
33 #include <FCAL/DFCALDigiHit.h>
34 #include <FDC/DFDCWireDigiHit.h>
35 #include <FDC/DFDCCathodeDigiHit.h>
41 #include <START_COUNTER/DSCHit.h>
42 #include <TAGGER/DTAGHDigiHit.h>
43 #include <TAGGER/DTAGHTDCDigiHit.h>
44 #include <TAGGER/DTAGMDigiHit.h>
45 #include <TAGGER/DTAGMTDCDigiHit.h>
46 #include <TOF/DTOFTDCDigiHit.h>
47 #include <TOF/DTOFDigiHit.h>
48 #include <TOF/DTOFHit.h>
49 #include <TOF/DTOFPoint.h>
50 #include <TPOL/DTPOLRingDigiHit.h>
52 #include <TRIGGER/DL1Trigger.h>
53 
54 #include <BCAL/DBCALPoint.h>
55 #include <BCAL/DBCALCluster.h>
56 #include <FCAL/DFCALCluster.h>
57 #include <PID/DNeutralParticle.h>
58 #include <PID/DNeutralShower.h>
59 #include <PID/DChargedTrack.h>
60 #include <PID/DBeamPhoton.h>
61 #include <PID/DEventRFBunch.h>
65 
66 #define MyTypes(X) \
67  X(Df250TriggerTime) \
68  X(Df250PulseData) \
69  X(Df125TriggerTime) \
70  X(Df125PulseIntegral) \
71  X(Df125PulseTime) \
72  X(Df125PulsePedestal) \
73  X(Df125CDCPulse) \
74  X(Df125FDCPulse) \
75  X(DF1TDCHit) \
76  X(DF1TDCTriggerTime) \
77  X(DCAEN1290TDCHit) \
78  X(DL1Info) \
79  X(DL1Trigger) \
80  X(DEventTag) \
81  X(DVertex) \
82  \
83  X(DBCALDigiHit) \
84  X(DBCALTDCDigiHit) \
85  X(DCDCDigiHit) \
86  X(DFCALDigiHit) \
87  X(DFDCWireDigiHit) \
88  X(DFDCCathodeDigiHit) \
89  X(DPSCTDCDigiHit) \
90  X(DPSCDigiHit) \
91  X(DPSDigiHit) \
92  X(DSCDigiHit) \
93  X(DSCTDCDigiHit) \
94  X(DTAGHDigiHit) \
95  X(DTAGHTDCDigiHit) \
96  X(DTAGMDigiHit) \
97  X(DTAGMTDCDigiHit) \
98  X(DTOFTDCDigiHit) \
99  X(DTOFDigiHit) \
100  X(DTPOLRingDigiHit) \
101  X(DTPOLSectorDigiHit) \
102  \
103  X(DBCALPoint) \
104  X(DBCALCluster) \
105  X(DFCALCluster) \
106  X(DNeutralParticle) \
107  X(DNeutralShower) \
108  X(DChargedTrack) \
109  X(DBeamPhoton) \
110  X(DEventRFBunch) \
111  X(DSCHit) \
112  X(DTOFHit) \
113  X(DTOFPoint) \
114  X(DTrackCandidate) \
115  X(DTrackWireBased) \
116  X(DTrackTimeBased)
117 
118 #define MyDerivedTypes(X) \
119  X(trig_mask) \
120  X(fp_trig_mask) \
121  X(trig1) \
122  X(trig3) \
123  X(trig4) \
124  \
125  X(NCDC_superlayer1) \
126  X(NCDC_superlayer2) \
127  X(NCDC_superlayer3) \
128  X(NCDC_superlayer4) \
129  X(NCDC_superlayer5) \
130  X(NFDCwires_package1) \
131  X(NFDCwires_package2) \
132  X(NFDCwires_package3) \
133  X(NFDCwires_package4) \
134  X(NFDCCathodes_package1) \
135  X(NFDCCathodes_package2) \
136  X(NFDCCathodes_package3) \
137  X(NFDCCathodes_package4) \
138  X(NTOF_half_length) \
139  X(NTOF_half_width) \
140  \
141  X(Nbeam_photons_coherent) \
142  X(Nbeam_photons_3_4) \
143  X(Nbeam_photons_4_5) \
144  X(Nbeam_photons_5_6) \
145  X(Nbeam_photons_6_7) \
146  X(Nbeam_photons_7_8) \
147  X(Nbeam_photons_8_9) \
148  X(Nbeam_photons_9_10) \
149  X(Nbeam_photons_10_11) \
150  X(Nbeam_photons_11_12) \
151  \
152  X(Esc_tot) \
153  X(Etof_tot) \
154  X(Ebcal_points) \
155  X(Ebcal_clusters) \
156  X(Efcal_clusters) \
157  X(Rfcal_max) \
158  X(Rfcal_min) \
159  \
160  X(Ptot_candidates) \
161  \
162  X(Evisible_neutrals) \
163  X(Evisible_tracks) \
164  X(Evisible_charged_Kaons) \
165  X(Evisible_charged_pions) \
166  X(Evisible_protons) \
167  X(Evisible)
168 
169 class JEventProcessor_L3BDTtree:public jana::JEventProcessor{
170  public:
173  const char* className(void){return "JEventProcessor_L3BDTtree";}
174 
176  public:
177  // Include number of objects for all JANA types
178  #define Nobjs(A) Float_t N##A;
179  MyTypes(Nobjs)
180 
181  // Include derived types
182  #define Floatobjs(A) Float_t A;
184  };
185 
186  TTree *l3tree;
188 
189  private:
190  jerror_t init(void); ///< Called once at program start.
191  jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber); ///< Called everytime a new run number is detected.
192  jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber); ///< Called every event.
193  jerror_t erun(void); ///< Called everytime run number changes, provided brun has been called.
194  jerror_t fini(void); ///< Called after last event of last event source has been processed.
195 };
196 
197 #endif // _JEventProcessor_L3BDTtree_
198 
jerror_t init(void)
Called once at program start.
#define MyTypes(X)
jerror_t erun(void)
Called everytime run number changes, provided brun has been called.
#define MyDerivedTypes(X)
#define Nobjs(A)
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
#define Floatobjs(A)
jerror_t fini(void)
Called after last event of last event source has been processed.
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.