8 #ifndef RedoTreeConverter_h 9 #define RedoTreeConverter_h 11 #include "InputConverter.hxx" 12 #include "BaseDataClasses.hxx" 13 #include <TClonesArray.h> 63 void FillEventSpillInfo(
AnaEventB* event);
66 virtual void FillBunchInfo(std::vector<AnaTrueParticleB*>& trueParticles,
AnaBunchB* bunch);
67 virtual void FillFgdTimeBinInfo(
AnaEventB* event);
71 virtual void FillFgdTimeBinInfo(std::vector<AnaFgdTimeBinB*>& AnaFgdTimeBins);
72 virtual void FillTrackInfo(std::vector<AnaTrueParticleB*>& trueParticles,
int itrk,
AnaTrackB* track);
73 virtual void FillTrueParticleInfo(std::vector<AnaTrueVertexB*>& trueVertices,
int itrk,
AnaTrueParticleB* track);
74 virtual void FillTpcInfo(std::vector<AnaTrueParticleB*>& trueParticles,
int itrk,
int tpc,
AnaTPCParticleB* track);
81 virtual void FillSubdetectorInfo(std::vector<AnaTrueParticleB*>& trueParticles,
int itrk,
AnaTrackB* track);
87 virtual void FillBeamInfo(
AnaBeamB* beam);
91 void FindTrueParticle(std::vector<AnaTrueParticleB*>& trueParticles,
int ID,
AnaTrueObjectC*& trueParticle);
102 TString _currentfilename;
109 TChain *GRooTrackerVTX;
110 TChain *NRooTrackerVTX;
122 Int_t sNTotalTrueParticles;
123 Int_t sNTotalTrueVertices;
125 Int_t sBeamSpillNumber;
126 Int_t sBeamGoodSpill;
127 Int_t sBeamBeamRunNumber;
131 Int_t sTriggerFGDCosmic;
132 Int_t sTriggerTripTCosmic;
133 Int_t sNTrueVertices;
134 Int_t sTrueVertexID[NMAXTRUEVERTICES];
135 Int_t sTrueVertexRooVtxIndex[NMAXTRUEVERTICES];
136 Int_t sTrueVertexRooVtxEntry[NMAXTRUEVERTICES];
137 Int_t sTrueVertexReacCode[NMAXTRUEVERTICES];
138 Int_t sTrueVertexNTrueParticles[NMAXTRUEVERTICES];
139 Int_t sTrueVertexNReconTracks[NMAXTRUEVERTICES];
140 Int_t sTrueVertexNReconVertices[NMAXTRUEVERTICES];
141 Int_t sTrueVertexNBaryons[NMAXTRUEVERTICES];
142 Int_t sTrueVertexBunch[NMAXTRUEVERTICES];
143 Int_t sTrueVertexDetector[NMAXTRUEVERTICES];
144 Int_t sTrueVertexNuPDG[NMAXTRUEVERTICES];
145 Int_t sTrueVertexTargetPDG[NMAXTRUEVERTICES];
146 Int_t sNTrueParticles;
147 Int_t sTrueVertexNuParentPDG[NMAXTRUEVERTICES];
148 Int_t sTrueParticleID[NMAXTRUEPARTICLES];
149 Int_t sTrueParticleBunch[NMAXTRUEPARTICLES];
150 Int_t sTrueParticlePDG[NMAXTRUEPARTICLES];
151 Int_t sTrueParticleParentPDG[NMAXTRUEPARTICLES];
152 Int_t sTrueParticleGParentPDG[NMAXTRUEPARTICLES];
153 Int_t sTrueParticlePrimaryID[NMAXTRUEPARTICLES];
154 Int_t sTrueParticleParentID[NMAXTRUEPARTICLES];
155 Int_t sTrueParticleVertexIndex[NMAXTRUEPARTICLES];
156 Int_t sTrueParticleTruthVertexID[NMAXTRUEPARTICLES];
157 Int_t sTrueParticleNReconTracks[NMAXTRUEPARTICLES];
158 Int_t sTrueParticleNDetCrossings[NMAXTRUEPARTICLES];
159 Int_t sTrueParticleDetector[NMAXTRUEPARTICLES][NMAXCROSSEDDET];
160 Int_t sTrueParticleInActive[NMAXTRUEPARTICLES][NMAXCROSSEDDET];
161 Int_t sTrueParticleIsTruePrimaryPi0DecayPhoton[NMAXTRUEPARTICLES];
162 Int_t sTrueParticleIsTruePrimaryPi0DecayPhotonChild[NMAXTRUEPARTICLES];
164 Int_t sFgdTimeBinNHits1[NMAXFGDTIMEBINS];
165 Int_t sFgdTimeBinNHits2[NMAXFGDTIMEBINS];
166 Int_t sFgdTimeBinG4ID[NMAXFGDTIMEBINS];
169 Int_t vPrimaryIndex[NMAXVERTICES];
170 Int_t vBunch[NMAXVERTICES];
171 Int_t vNDOF[NMAXVERTICES];
172 Int_t vNReconParticles[NMAXVERTICES];
173 Int_t vNTrueVerticesMatch[NMAXVERTICES];
174 Int_t vParticlesUniqueID[NMAXVERTICES][NMAXPARTICLESINVERTEX];
175 Int_t vTrueVertexIndex[NMAXVERTICES][NMAXTRUEVERTICESMATCH];
177 Int_t trUniqueID[NMAXPARTICLES];
178 Int_t trStatus[NMAXPARTICLES];
179 Int_t trBunch[NMAXPARTICLES];
180 Int_t trNReconVertices[NMAXPARTICLES];
181 Int_t trDetectors[NMAXPARTICLES];
182 Int_t trDetUsed[NMAXPARTICLES][NDETECTORS];
183 Int_t trNTPCs[NMAXPARTICLES];
184 Int_t trNFGDs[NMAXPARTICLES];
185 Int_t trNECALs[NMAXPARTICLES];
186 Int_t trNSMRDs[NMAXPARTICLES];
187 Int_t trNP0Ds[NMAXPARTICLES];
188 Int_t trNHits[NMAXPARTICLES];
189 Int_t trNNodes[NMAXPARTICLES];
190 Int_t trNDOF[NMAXPARTICLES];
191 Int_t trTpcDetector[NMAXPARTICLES][NMAXTPCS];
192 Int_t trTpcNHits[NMAXPARTICLES][NMAXTPCS];
193 Int_t trTpcNNodes[NMAXPARTICLES][NMAXTPCS];
195 Int_t trFgdDetector[NMAXPARTICLES][NMAXFGDS];
196 Int_t trFgdNHits[NMAXPARTICLES][NMAXFGDS];
197 Int_t trFgdNNodes[NMAXPARTICLES][NMAXFGDS];
198 Int_t trFgdContainment[NMAXPARTICLES][NMAXFGDS];
200 Int_t trECALDetector[NMAXPARTICLES][NECALSUBDETS];
201 Int_t trECALNHits[NMAXPARTICLES][NECALSUBDETS];
202 Int_t trECALNNodes[NMAXPARTICLES][NECALSUBDETS];
203 Int_t trECALMostUpStreamLayerHit[NMAXPARTICLES][NECALSUBDETS];
204 Int_t trECALIsShowerLike[NMAXPARTICLES][NECALSUBDETS];
206 Int_t trSMRDDetector[NMAXPARTICLES][NSMRDSUBDETS];
207 Int_t trSMRDNHits[NMAXPARTICLES][NSMRDSUBDETS];
208 Int_t trSMRDNNodes[NMAXPARTICLES][NSMRDSUBDETS];
210 Int_t trP0DDetector[NMAXPARTICLES][1];
211 Int_t trP0DNHits[NMAXPARTICLES][1];
212 Int_t trP0DNNodes[NMAXPARTICLES][1];
214 Int_t trTrueParticleID[NMAXPARTICLES];
215 Int_t trTpcTrueParticleID[NMAXPARTICLES][NMAXTPCS];
218 Float_t sTrueVertexNuEnergy[NMAXTRUEVERTICES];
219 Float_t sTrueVertexQ2[NMAXTRUEVERTICES];
220 Float_t sTrueVertexPosition[NMAXTRUEVERTICES][4];
223 Float_t sPOTSincePreviousSpill;
224 Float_t sTrueVertexNuParentDecPoint[NMAXTRUEVERTICES][4];
225 Float_t sTrueVertexNuDir[NMAXTRUEVERTICES][3];
226 Float_t sTrueParticlePurity[NMAXTRUEPARTICLES];
227 Float_t sTrueParticleMomentum[NMAXTRUEPARTICLES];
228 Float_t sTrueParticleCharge[NMAXTRUEPARTICLES];
229 Float_t sTrueParticlePosition[NMAXTRUEPARTICLES][4];
230 Float_t sTrueParticlePositionEnd[NMAXTRUEPARTICLES][4];
231 Float_t sTrueParticleDirection[NMAXTRUEPARTICLES][3];
232 Float_t sTrueParticleEntrancePosition[NMAXTRUEPARTICLES][NMAXCROSSEDDET][4];
233 Float_t sTrueParticleExitPosition[NMAXTRUEPARTICLES][NMAXCROSSEDDET][4];
234 Float_t sTrueParticleEntranceMomentum[NMAXTRUEPARTICLES][NMAXCROSSEDDET][3];
235 Float_t sTrueParticleExitMomentum[NMAXTRUEPARTICLES][NMAXCROSSEDDET][3];
236 Float_t sFgdTimeBinMinTime[NMAXFGDTIMEBINS];
237 Float_t sFgdTimeBinMaxTime[NMAXFGDTIMEBINS];
238 Float_t sFgdTimeBinRawChargeSum1[NMAXFGDTIMEBINS];
239 Float_t sFgdTimeBinRawChargeSum2[NMAXFGDTIMEBINS];
240 Float_t vPosition[NMAXVERTICES][4];
241 Float_t vVariance[NMAXVERTICES][4];
242 Float_t vChi2[NMAXVERTICES];
243 Float_t vTrueVerticesClean[NMAXVERTICES][NMAXTRUEVERTICESMATCH];
244 Float_t vTrueVerticesCompl[NMAXVERTICES][NMAXTRUEVERTICESMATCH];
245 Float_t trChi2[NMAXPARTICLES];
246 Float_t trCharge[NMAXPARTICLES];
247 Float_t trToFFGD1_FGD2[NMAXPARTICLES];
248 Float_t trToFP0D_FGD1[NMAXPARTICLES];
249 Float_t trToFECal_FGD1[NMAXPARTICLES];
250 Float_t trToFECal_FGD2[NMAXPARTICLES];
251 Float_t trToFFlag_FGD1_FGD2[NMAXPARTICLES];
252 Float_t trToFFlag_P0D_FGD1[NMAXPARTICLES];
253 Float_t trToFFlag_ECal_FGD1[NMAXPARTICLES];
254 Float_t trToFFlag_ECal_FGD2[NMAXPARTICLES];
255 Float_t trMomentum[NMAXPARTICLES];
256 Float_t trMomentumError[NMAXPARTICLES];
257 Float_t trMomentumMuon[NMAXPARTICLES];
258 Float_t trMomentumErrorMuon[NMAXPARTICLES];
259 Float_t trMomentumProton[NMAXPARTICLES];
260 Float_t trMomentumErrorProton[NMAXPARTICLES];
261 Float_t trMomentumEle[NMAXPARTICLES];
262 Float_t trMomentumErrorEle[NMAXPARTICLES];
263 Float_t trRangeMomentumEle[NMAXPARTICLES];
264 Float_t trRangeMomentumMuon[NMAXPARTICLES];
265 Float_t trRangeMomentumProton[NMAXPARTICLES];
266 Float_t trDirectionStart[NMAXPARTICLES][3];
267 Float_t trDirectionEnd[NMAXPARTICLES][3];
268 Float_t trPositionStart[NMAXPARTICLES][4];
269 Float_t trPositionEnd[NMAXPARTICLES][4];
270 Float_t trMomentumFlip[NMAXPARTICLES];
272 Float_t trTpcLength[NMAXPARTICLES][NMAXTPCS];
273 Float_t trTpcDirectionStart[NMAXPARTICLES][NMAXTPCS][3];
274 Float_t trTpcDirectionEnd[NMAXPARTICLES][NMAXTPCS][3];
275 Float_t trTpcPositionStart[NMAXPARTICLES][NMAXTPCS][4];
276 Float_t trTpcPositionEnd[NMAXPARTICLES][NMAXTPCS][4];
277 Float_t trTpcCharge[NMAXPARTICLES][NMAXTPCS];
278 Float_t trTpcMomentum[NMAXPARTICLES][NMAXTPCS];
279 Float_t trTpcMomentumError[NMAXPARTICLES][NMAXTPCS];
280 Float_t trTpcBackMomentum[NMAXPARTICLES][NMAXTPCS];
281 Float_t trTpcRefitCharge[NMAXPARTICLES][NMAXTPCS];
282 Float_t trTpcRefitMomentum[NMAXPARTICLES][NMAXTPCS];
283 Float_t trTpcRefitPosition[NMAXPARTICLES][NMAXTPCS][4];
284 Float_t trTpcRefitDirection[NMAXPARTICLES][NMAXTPCS][3];
285 Float_t trTpcEFieldRefitMomentum[NMAXPARTICLES][NMAXTPCS];
286 Float_t trTpcdEdxMeas[NMAXPARTICLES][NMAXTPCS];
287 Float_t trTpcdEdxExpMu[NMAXPARTICLES][NMAXTPCS];
288 Float_t trTpcdEdxExpEle[NMAXPARTICLES][NMAXTPCS];
289 Float_t trTpcdEdxExpP[NMAXPARTICLES][NMAXTPCS];
290 Float_t trTpcdEdxExpPi[NMAXPARTICLES][NMAXTPCS];
291 Float_t trTpcdEdxExpK[NMAXPARTICLES][NMAXTPCS];
292 Float_t trTpcdEdxSigmaMu[NMAXPARTICLES][NMAXTPCS];
293 Float_t trTpcdEdxSigmaEle[NMAXPARTICLES][NMAXTPCS];
294 Float_t trTpcdEdxSigmaP[NMAXPARTICLES][NMAXTPCS];
295 Float_t trTpcdEdxSigmaPi[NMAXPARTICLES][NMAXTPCS];
296 Float_t trTpcdEdxSigmaK[NMAXPARTICLES][NMAXTPCS];
297 Float_t trTpcPurity[NMAXPARTICLES][NMAXTPCS];
299 Float_t trFgdLength[NMAXPARTICLES][NMAXFGDS];
300 Float_t trFgdDirectionStart[NMAXPARTICLES][NMAXFGDS][3];
301 Float_t trFgdDirectionEnd[NMAXPARTICLES][NMAXFGDS][3];
302 Float_t trFgdPositionStart[NMAXPARTICLES][NMAXFGDS][4];
303 Float_t trFgdPositionEnd[NMAXPARTICLES][NMAXFGDS][4];
304 Float_t trFgdX[NMAXPARTICLES][NMAXFGDS];
305 Float_t trFgdE[NMAXPARTICLES][NMAXFGDS];
306 Float_t trFgdPullmu[NMAXPARTICLES][NMAXFGDS];
307 Float_t trFgdPullp[NMAXPARTICLES][NMAXFGDS];
308 Float_t trFgdPullpi[NMAXPARTICLES][NMAXFGDS];
309 Float_t trFgdPullno[NMAXPARTICLES][NMAXFGDS];
310 Float_t trFgdAvgTime[NMAXPARTICLES][NMAXFGDS];
311 Float_t trFgdVertex1x1[NMAXPARTICLES][NMAXFGDS];
312 Float_t trFgdVertex3x3[NMAXPARTICLES][NMAXFGDS];
313 Float_t trFgdVertex5x5[NMAXPARTICLES][NMAXFGDS];
314 Float_t trFgdVertex7x7[NMAXPARTICLES][NMAXFGDS];
315 Float_t trFgdVertexLayer[NMAXPARTICLES][NMAXFGDS];
317 Float_t trECALLength[NMAXPARTICLES][NECALSUBDETS];
318 Float_t trECALDirectionStart[NMAXPARTICLES][NECALSUBDETS][3];
319 Float_t trECALDirectionEnd[NMAXPARTICLES][NECALSUBDETS][3];
320 Float_t trECALPositionStart[NMAXPARTICLES][NECALSUBDETS][4];
321 Float_t trECALPositionEnd[NMAXPARTICLES][NECALSUBDETS][4];
322 Float_t trECALEMEnergy[NMAXPARTICLES][NECALSUBDETS];
323 Float_t trECALEDeposit[NMAXPARTICLES][NECALSUBDETS];
324 Float_t trECALAvgTime[NMAXPARTICLES][NECALSUBDETS];
325 Float_t trECALPIDMipEm[NMAXPARTICLES][NECALSUBDETS];
326 Float_t trECALPIDEmHip[NMAXPARTICLES][NECALSUBDETS];
327 Float_t trECALShowerPosition[NMAXPARTICLES][NECALSUBDETS][3];
330 Float_t trSMRDLength[NMAXPARTICLES][NSMRDSUBDETS];
331 Float_t trSMRDDirectionStart[NMAXPARTICLES][NSMRDSUBDETS][3];
332 Float_t trSMRDDirectionEnd[NMAXPARTICLES][NSMRDSUBDETS][3];
333 Float_t trSMRDPositionStart[NMAXPARTICLES][NSMRDSUBDETS][4];
334 Float_t trSMRDPositionEnd[NMAXPARTICLES][NSMRDSUBDETS][4];
335 Float_t trSMRDAvgTime[NMAXPARTICLES][NSMRDSUBDETS];
337 Float_t trP0DLength[NMAXPARTICLES][1];
338 Float_t trP0DELoss[NMAXPARTICLES][1];
339 Float_t trP0DDirectionStart[NMAXPARTICLES][1][3];
340 Float_t trP0DDirectionEnd[NMAXPARTICLES][1][3];
341 Float_t trP0DPositionStart[NMAXPARTICLES][1][4];
342 Float_t trP0DPositionEnd[NMAXPARTICLES][1][4];
345 TBranch *b_sPOTSincePreviousSpill;
349 TBranch *b_sEventTime;
350 TBranch *b_sNTotalTrueParticles;
351 TBranch *b_sNTotalTrueVertices;
352 TBranch *b_sBeamGoodSpill;
353 TBranch *b_sDQGoodDaq;
354 TBranch *b_sTriggerFGDCosmic;
355 TBranch *b_sTriggerTripTCosmic;
356 TBranch *b_sNTrueVertices;
357 TBranch *b_sTrueVertexID;
358 TBranch *b_sTrueVertexRooVtxIndex;
359 TBranch *b_sTrueVertexRooVtxEntry;
360 TBranch *b_sTrueVertexReacCode;
361 TBranch *b_sTrueVertexNTrueParticles;
362 TBranch *b_sTrueVertexNReconTracks;
363 TBranch *b_sTrueVertexNReconVertices;
364 TBranch *b_sTrueVertexNBaryons;
365 TBranch *b_sTrueVertexBunch;
366 TBranch *b_sTrueVertexDetector;
367 TBranch *b_sTrueVertexNuPDG;
368 TBranch *b_sTrueVertexTargetPDG;
369 TBranch *b_sTrueVertexNuEnergy;
370 TBranch *b_sTrueVertexQ2;
371 TBranch *b_sTrueVertexPosition;
372 TBranch *b_sTrueVertexNuParentPDG;
373 TBranch *b_sTrueVertexNuParentDecPoint;
374 TBranch *b_sTrueVertexNuDir;
375 TBranch *b_sNTrueParticles;
376 TBranch *b_sTrueParticleID;
377 TBranch *b_sTrueParticleBunch;
378 TBranch *b_sTrueParticlePDG;
379 TBranch *b_sTrueParticleParentPDG;
380 TBranch *b_sTrueParticleGParentPDG;
381 TBranch *b_sTrueParticlePrimaryID;
382 TBranch *b_sTrueParticleParentID;
383 TBranch *b_sTrueParticlePurity;
384 TBranch *b_sTrueParticleMomentum;
385 TBranch *b_sTrueParticleCharge;
386 TBranch *b_sTrueParticleVertexIndex;
387 TBranch *b_sTrueParticleTruthVertexID;
388 TBranch *b_sTrueParticleNReconTracks;
389 TBranch *b_sTrueParticlePosition;
390 TBranch *b_sTrueParticlePositionEnd;
391 TBranch *b_sTrueParticleDirection;
392 TBranch *b_sTrueParticleNDetCrossings;
393 TBranch *b_sTrueParticleEntrancePosition;
394 TBranch *b_sTrueParticleExitPosition;
395 TBranch *b_sTrueParticleEntranceMomentum;
396 TBranch *b_sTrueParticleExitMomentum;
397 TBranch *b_sTrueParticleDetector;
398 TBranch *b_sTrueParticleInActive;
399 TBranch *b_sTrueParticleIsTruePrimaryPi0DecayPhoton;
400 TBranch *b_sTrueParticleIsTruePrimaryPi0DecayPhotonChild;
401 TBranch *b_sNFgdTimeBins;
402 TBranch *b_sFgdTimeBinMinTime;
403 TBranch *b_sFgdTimeBinMaxTime;
404 TBranch *b_sFgdTimeBinNHits1;
405 TBranch *b_sFgdTimeBinNHits2;
406 TBranch *b_sFgdTimeBinRawChargeSum1;
407 TBranch *b_sFgdTimeBinRawChargeSum2;
408 TBranch *b_sFgdTimeBinG4ID;
411 TBranch *b_NVertices;
412 TBranch *b_vPrimaryIndex;
414 TBranch *b_vPosition;
415 TBranch *b_vVariance;
418 TBranch *b_vNReconParticles;
419 TBranch *b_vNTrueVerticesMatch;
420 TBranch *b_vParticlesUniqueID;
421 TBranch *b_vTrueVertexIndex;
422 TBranch *b_vTrueVerticesClean;
423 TBranch *b_vTrueVerticesCompl;
424 TBranch *b_NParticles;
425 TBranch *b_trUniqueID;
428 TBranch *b_trNReconVertices;
429 TBranch *b_trDetectors;
430 TBranch *b_trDetUsed;
441 TBranch *b_trMomentum;
442 TBranch *b_trToFFGD1_FGD2;
443 TBranch *b_trToFP0D_FGD1;
444 TBranch *b_trToFECal_FGD1;
445 TBranch *b_trToFECal_FGD2;
446 TBranch *b_trToFFlag_FGD1_FGD2;
447 TBranch *b_trToFFlag_P0D_FGD1;
448 TBranch *b_trToFFlag_ECal_FGD1;
449 TBranch *b_trToFFlag_ECal_FGD2;
450 TBranch *b_trMomentumError;
451 TBranch *b_trMomentumMuon;
452 TBranch *b_trMomentumErrorMuon;
453 TBranch *b_trMomentumProton;
454 TBranch *b_trMomentumErrorProton;
455 TBranch *b_trMomentumEle;
456 TBranch *b_trMomentumErrorEle;
457 TBranch *b_trRangeMomentumEle;
458 TBranch *b_trRangeMomentumMuon;
459 TBranch *b_trRangeMomentumProton;
460 TBranch *b_trDirectionStart;
461 TBranch *b_trDirectionEnd;
462 TBranch *b_trPositionStart;
463 TBranch *b_trPositionEnd;
464 TBranch *b_trMomentumFlip;
466 TBranch *b_trTpcDetector;
467 TBranch *b_trTpcNHits;
468 TBranch *b_trTpcNNodes;
469 TBranch *b_trTpcLength;
470 TBranch *b_trTpcDirectionStart;
471 TBranch *b_trTpcDirectionEnd;
472 TBranch *b_trTpcPositionStart;
473 TBranch *b_trTpcPositionEnd;
474 TBranch *b_trTpcCharge;
475 TBranch *b_trTpcMomentum;
476 TBranch *b_trTpcMomentumError;
477 TBranch *b_trTpcBackMomentum;
478 TBranch *b_trTpcRefitCharge;
479 TBranch *b_trTpcRefitMomentum;
480 TBranch *b_trTpcRefitPosition;
481 TBranch *b_trTpcRefitDirection;
482 TBranch *b_trTpcEFieldRefitMomentum;
483 TBranch *b_trTpcdEdxMeas;
484 TBranch *b_trTpcdEdxExpMu;
485 TBranch *b_trTpcdEdxExpEle;
486 TBranch *b_trTpcdEdxExpP;
487 TBranch *b_trTpcdEdxExpPi;
488 TBranch *b_trTpcdEdxExpK;
489 TBranch *b_trTpcdEdxSigmaMu;
490 TBranch *b_trTpcdEdxSigmaEle;
491 TBranch *b_trTpcdEdxSigmaP;
492 TBranch *b_trTpcdEdxSigmaPi;
493 TBranch *b_trTpcdEdxSigmaK;
494 TBranch *b_trTpcPurity;
495 TBranch *b_trFgdDetector;
496 TBranch *b_trFgdNHits;
497 TBranch *b_trFgdNNodes;
498 TBranch *b_trFgdLength;
499 TBranch *b_trFgdDirectionStart;
500 TBranch *b_trFgdDirectionEnd;
501 TBranch *b_trFgdPositionStart;
502 TBranch *b_trFgdPositionEnd;
505 TBranch *b_trFgdPullmu;
506 TBranch *b_trFgdPullp;
507 TBranch *b_trFgdPullpi;
508 TBranch *b_trFgdPullno;
509 TBranch *b_trFgdContainment;
510 TBranch *b_trFgdAvgTime;
511 TBranch *b_trFgdVertex1x1;
512 TBranch *b_trFgdVertex3x3;
513 TBranch *b_trFgdVertex5x5;
514 TBranch *b_trFgdVertex7x7;
515 TBranch *b_trFgdVertexLayer;
517 TBranch *b_trECALDetector;
518 TBranch *b_trECALNHits;
519 TBranch *b_trECALNNodes;
520 TBranch *b_trECALLength;
521 TBranch *b_trECALDirectionStart;
522 TBranch *b_trECALDirectionEnd;
523 TBranch *b_trECALPositionStart;
524 TBranch *b_trECALPositionEnd;
525 TBranch *b_trECALEMEnergy;
526 TBranch *b_trECALEDeposit;
527 TBranch *b_trECALIsShowerLike;
528 TBranch *b_trECALAvgTime;
529 TBranch *b_trECALPIDMipEm;
530 TBranch *b_trECALPIDEmHip;
531 TBranch *b_trECALMostUpStreamLayerHit;
532 TBranch *b_trECALShowerPosition;
534 TBranch *b_trSMRDDetector;
535 TBranch *b_trSMRDNHits;
536 TBranch *b_trSMRDNNodes;
537 TBranch *b_trSMRDLength;
538 TBranch *b_trSMRDDirectionStart;
539 TBranch *b_trSMRDDirectionEnd;
540 TBranch *b_trSMRDPositionStart;
541 TBranch *b_trSMRDPositionEnd;
542 TBranch *b_trSMRDAvgTime;
544 TBranch *b_trP0DDetector;
545 TBranch *b_trP0DNHits;
546 TBranch *b_trP0DNNodes;
547 TBranch *b_trP0DLength;
548 TBranch *b_trP0DELoss;
549 TBranch *b_trP0DDirectionStart;
550 TBranch *b_trP0DDirectionEnd;
551 TBranch *b_trP0DPositionStart;
552 TBranch *b_trP0DPositionEnd;
553 TBranch *b_trTrueParticleID;
554 TBranch *b_trTpcTrueParticleID;
Representation of the beam quality and perhaps other beam information as needed.
Representation of the ND280 data quality flags.
Int_t GetEvent(Long64_t &entry, AnaEventC *&event)
Representation of a true Monte Carlo vertex.
virtual void Reset()
Reset the trees in the TChain and the number of entries. Also the header (POT, etc) ...
Representation of an ECAL segment of a global track.
virtual bool Initialize()
Long64_t GetEntries()
Return the total number of entries in the chain.
Representation of a true Monte Carlo trajectory/particle.
Representation of an SMRD segment of a global track.
Representation of a Tracker segment of a global track.
Representation of a global track.
Representation of a TPC segment of a global track.
Representation of a global vertex.
void IncrementPOTBySpill()
virtual void DefineBranches()
Define the branches to be read from the input tree.
Representation of a FGD segment of a global track.
Representation of a P0D segment of a global track.
Int_t GetSpill(Long64_t &entry, AnaSpillC *&spill)
Representation of a reconstructed particle (track or shower).
virtual bool AddFileToTChain(const std::string &inputString)
Add the file specified to fChain, and any friend chains that were set up.