ATLAS Offline Software
Loading...
Searching...
No Matches
TrkValidationNtupleOutputTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// This class has been automatically generated on
7// Fri May 18 14:09:50 2007 by ROOT version 5.14/00
8// from TTree OutputTrack/Track Validation
9// found on file: TrkValidation.root
11
12#ifndef TrkValidationNtupleOutputTrack_h
13#define TrkValidationNtupleOutputTrack_h
14
15#include <TROOT.h>
16#include <TChain.h>
17#include <TFile.h>
18#include <vector>
19using namespace std;
20
21#ifdef __CINT__
22#pragma link C++ class vector< int >;
23#pragma link C++ class vector< float >;
24#endif
25template class vector< vector< int > >;
26template class vector< vector< float > >;
27
29public :
30 TTree *fChain;
31 Int_t fCurrent;
32
33 // Declaration of leave types
34 Int_t RunNumber;
36 Int_t TrackID;
38 Int_t nHits;
40 Float_t RecD0;
41 Float_t RecZ0;
42 Float_t RecPhi0;
43 Float_t RecTheta;
44 Float_t RecEta;
45 Float_t RecQoverP;
46 Float_t RecErrD0;
47 Float_t RecErrZ0;
48 Float_t RecErrPhi0;
49 Float_t RecErrTheta;
50 Float_t RecErrQoverP;
51 Float_t Chi2overNdof;
52 Int_t Ndof;
53 Float_t trk_Mc_d0;
54 Float_t trk_Mc_z0;
55 Float_t trk_Mc_phi0;
56 Float_t trk_Mc_theta;
59 Float_t trk_Mc_eta;
73 vector<float> *pullLocX;
74 vector<float> *pullLocY;
75 vector<float> *residualLocX;
76 vector<float> *residualLocY;
77 vector<int> *DetectorType;
78 vector<int> *outlierFlag;
80 Int_t nSCTHits;
81 Int_t nTRTHits;
82 Int_t nMDTHits;
83 Int_t nCSCHits;
84 Int_t nRPCHits;
85 Int_t nTGCHits;
86 vector<float> *PixPullPhi;
87 vector<float> *PixPullEta;
88 vector<float> *PixResPhi;
89 vector<float> *PixResEta;
90 vector<float> *SCTPull;
91 vector<float> *SCTRes;
92 vector<float> *TRTPull;
93 vector<float> *TRTRes;
94 vector<float> *HitX;
95 vector<float> *HitY;
96 vector<float> *HitZ;
97 vector<float> *HitRadius;
98 vector<float> *HitPhi;
99 vector<float> *HitLocal1;
100 vector<float> *HitLocal2;
101 vector<float> *HitSurfaceX;
102 vector<float> *HitSurfaceY;
103 vector<float> *HitSurfaceZ;
104 vector<float> *HitSurfaceRadius;
105 vector<float> *HitSurfacePhi;
106 vector<float> *HitSurfaceTheta;
107 vector<float> *TrackX;
108 vector<float> *TrackY;
109 vector<float> *TrackZ;
110 vector<float> *TrackMomentumX;
111 vector<float> *TrackMomentumY;
112 vector<float> *TrackMomentumZ;
113 vector<float> *TrackLocal1;
114 vector<float> *TrackLocal2;
117 vector<float> *CompROTmaxAssgnProb;
118
119 // List of branches
120 TBranch *b_run_number;
121 TBranch *b_event_number;
132 TBranch *b_err_d0;
133 TBranch *b_err_z0;
134 TBranch *b_err_phi0;
135 TBranch *b_err_theta;
136 TBranch *b_err_Q_over_p;
138 TBranch *b_Reco_Ndof;
139 TBranch *b_truth_d0;
140 TBranch *b_truth_z0;
141 TBranch *b_truth_phi0;
142 TBranch *b_truth_theta;
145 TBranch *b_truth_eta;
152 TBranch *b_truth_PDG_ID;
154 TBranch *b_truth_energy;
155 TBranch *b_pullLocX;
156 TBranch *b_pullLocY;
157 TBranch *b_residualLocX;
158 TBranch *b_residualLocY;
159 TBranch *b_DetectorType;
160 TBranch *b_outlierFlag;
168 TBranch *b_PixPullPhi;
169 TBranch *b_PixPullEta;
170 TBranch *b_PixResPhi;
171 TBranch *b_PixResEta;
172 TBranch *b_SCTPull;
173 TBranch *b_SCTRes;
174 TBranch *b_TRTPull;
175 TBranch *b_TRTRes;
176 TBranch *b_HitX;
177 TBranch *b_HitY;
178 TBranch *b_HitZ;
179 TBranch *b_HitRadius;
180 TBranch *b_HitPhi;
181 TBranch *b_HitLocal1;
182 TBranch *b_HitLocal2;
183 TBranch *b_HitSurfaceX;
184 TBranch *b_HitSurfaceY;
185 TBranch *b_HitSurfaceZ;
189 TBranch *b_TrackX;
190 TBranch *b_TrackY;
191 TBranch *b_TrackZ;
195 TBranch *b_TrackLocal1;
196 TBranch *b_TrackLocal2;
200
203 virtual Int_t Cut(Long64_t entry);
204 virtual Int_t GetEntry(Long64_t entry);
205 virtual Long64_t LoadTree(Long64_t entry);
206 virtual void Init(TTree *tree);
207 virtual void Loop();
208 virtual Bool_t Notify();
209 virtual void Show(Long64_t entry = -1);
210};
211
212#endif
213
214#ifdef TrkValidationNtupleOutputTrack_cxx
216{
217// if parameter tree is not specified (or zero), connect the file
218// used to generate this class and read the Tree.
219 if (tree == 0) {
220 TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("TrkValidation.root");
221 if (!f) {
222 f = new TFile("TrkValidation.root");
223 f->cd("TrkValidation.root:/FitterValidation");
224 }
225 tree = (TTree*)gDirectory->Get("OutputTrack");
226
227 }
229}
230
232{
233 if (!fChain) return;
234 delete fChain->GetCurrentFile();
235}
236
238{
239// Read contents of entry.
240 if (!fChain) return 0;
241 return fChain->GetEntry(entry);
242}
243Long64_t TrkValidationNtupleOutputTrack::LoadTree(Long64_t entry)
244{
245// Set the environment to read one entry
246 if (!fChain) return -5;
247 Long64_t centry = fChain->LoadTree(entry);
248 if (centry < 0) return centry;
249 if (!fChain->InheritsFrom(TChain::Class())) return centry;
250 TChain *chain = static_cast<TChain*>(fChain);
251 if (chain->GetTreeNumber() != fCurrent) {
252 fCurrent = chain->GetTreeNumber();
253 Notify();
254 }
255 return centry;
256}
257
259{
260 // The Init() function is called when the selector needs to initialize
261 // a new tree or chain. Typically here the branch addresses and branch
262 // pointers of the tree will be set.
263 // It is normaly not necessary to make changes to the generated
264 // code, but the routine can be extended by the user if needed.
265 // Init() will be called many times when running on PROOF
266 // (once per file to be processed).
267
268 // Set object pointer
269 pullLocX = 0;
270 pullLocY = 0;
271 residualLocX = 0;
272 residualLocY = 0;
273 DetectorType = 0;
274 outlierFlag = 0;
275 PixPullPhi = 0;
276 PixPullEta = 0;
277 PixResPhi = 0;
278 PixResEta = 0;
279 SCTPull = 0;
280 SCTRes = 0;
281 TRTPull = 0;
282 TRTRes = 0;
283 HitX = 0;
284 HitY = 0;
285 HitZ = 0;
286 HitRadius = 0;
287 HitPhi = 0;
288 HitLocal1 = 0;
289 HitLocal2 = 0;
290 HitSurfaceX = 0;
291 HitSurfaceY = 0;
292 HitSurfaceZ = 0;
294 HitSurfacePhi = 0;
295 HitSurfaceTheta = 0;
296 TrackX = 0;
297 TrackY = 0;
298 TrackZ = 0;
299 TrackMomentumX = 0;
300 TrackMomentumY = 0;
301 TrackMomentumZ = 0;
302 TrackLocal1 = 0;
303 TrackLocal2 = 0;
307 // Set branch addresses and branch pointers
308 if (!tree) return;
309 fChain = tree;
310 fCurrent = -1;
311 fChain->SetMakeClass(1);
312
313/* fChain->SetBranchAddress("RunNumber", &RunNumber, &b_run_number);
314 fChain->SetBranchAddress("EventNumber", &EventNumber, &b_event_number);
315 fChain->SetBranchAddress("TrackID", &TrackID, &b_ID_of_track_in_event);
316 fChain->SetBranchAddress("IterationIndex", &IterationIndex, &b_Iteration_of_a_track);
317 fChain->SetBranchAddress("nHits", &nHits, &b_Number_of_measurements_on_track);
318 fChain->SetBranchAddress("TrackStatesUnbiased", &TrackStatesUnbiased, &b_are_track_states_unbiased);
319 fChain->SetBranchAddress("RecD0", &RecD0, &b_Reconstructed_d0);
320 fChain->SetBranchAddress("RecZ0", &RecZ0, &b_Reconstructed_z0);
321 fChain->SetBranchAddress("RecPhi0", &RecPhi0, &b_Reconstructed_phi0);
322 fChain->SetBranchAddress("RecTheta", &RecTheta, &b_Reconstructed_theta);
323 fChain->SetBranchAddress("RecEta", &RecEta, &b_Reconstructed_eta);
324 fChain->SetBranchAddress("RecQoverP", &RecQoverP, &b_Reconstructed_Q_over_p);
325 fChain->SetBranchAddress("RecErrD0", &RecErrD0, &b_err_d0);
326 fChain->SetBranchAddress("RecErrZ0", &RecErrZ0, &b_err_z0);
327 fChain->SetBranchAddress("RecErrPhi0", &RecErrPhi0, &b_err_phi0);
328 fChain->SetBranchAddress("RecErrTheta", &RecErrTheta, &b_err_theta);
329 fChain->SetBranchAddress("RecErrQoverP", &RecErrQoverP, &b_err_Q_over_p);
330 fChain->SetBranchAddress("Chi2overNdof", &Chi2overNdof, &b_Reco_Chi2_over_Ndof);
331 fChain->SetBranchAddress("Ndof", &Ndof, &b_Reco_Ndof);
332 fChain->SetBranchAddress("trk_Mc_d0", &trk_Mc_d0, &b_truth_d0);
333 fChain->SetBranchAddress("trk_Mc_z0", &trk_Mc_z0, &b_truth_z0);
334 fChain->SetBranchAddress("trk_Mc_phi0", &trk_Mc_phi0, &b_truth_phi0);
335 fChain->SetBranchAddress("trk_Mc_theta", &trk_Mc_theta, &b_truth_theta);
336 fChain->SetBranchAddress("trk_Mc_qOverP", &trk_Mc_qOverP, &b_truth_Q_over_p);
337 fChain->SetBranchAddress("trk_Mc_qOverPt", &trk_Mc_qOverPt, &b_truth_Q_over_pT);
338 fChain->SetBranchAddress("trk_Mc_eta", &trk_Mc_eta, &b_truth_eta);
339 fChain->SetBranchAddress("trk_Mc_diff_d0", &trk_Mc_diff_d0, &b_truth_reco_diff_d0);
340 fChain->SetBranchAddress("trk_Mc_diff_z0", &trk_Mc_diff_z0, &b_truth_reco_diff_z0);
341 fChain->SetBranchAddress("trk_Mc_diff_phi0", &trk_Mc_diff_phi0, &b_truth_reco_diff_phi0);
342 fChain->SetBranchAddress("trk_Mc_diff_theta", &trk_Mc_diff_theta, &b_truth_reco_diff_theta);
343 fChain->SetBranchAddress("trk_Mc_diff_qOverP", &trk_Mc_diff_qOverP, &b_truth_reco_diff_Q_over_p);
344 fChain->SetBranchAddress("trk_Mc_pull_d0", &trk_Mc_pull_d0, &b_truth_reco_pull_d0);
345 fChain->SetBranchAddress("trk_Mc_pull_z0", &trk_Mc_pull_z0, &b_truth_reco_pull_d0);
346 fChain->SetBranchAddress("trk_Mc_pull_phi0", &trk_Mc_pull_phi0, &b_truth_reco_pull_d0);
347 fChain->SetBranchAddress("trk_Mc_pull_theta", &trk_Mc_pull_theta, &b_truth_reco_pull_d0);
348 fChain->SetBranchAddress("trk_Mc_pull_qOverP", &trk_Mc_pull_qOverP, &b_truth_reco_pull_d0);
349 fChain->SetBranchAddress("trk_Mc_particleID", &trk_Mc_particleID, &b_truth_PDG_ID);
350 fChain->SetBranchAddress("trk_Mc_barcode", &trk_Mc_barcode, &b_truth_particle_barcode);
351 fChain->SetBranchAddress("trk_Mc_energy", &trk_Mc_energy, &b_truth_energy);
352 fChain->SetBranchAddress("pullLocX", &pullLocX, &b_pullLocX);
353 fChain->SetBranchAddress("pullLocY", &pullLocY, &b_pullLocY);
354 fChain->SetBranchAddress("residualLocX", &residualLocX, &b_residualLocX);
355 fChain->SetBranchAddress("residualLocY", &residualLocY, &b_residualLocY);
356 fChain->SetBranchAddress("DetectorType", &DetectorType, &b_DetectorType);
357 fChain->SetBranchAddress("outlierFlag", &outlierFlag, &b_outlierFlag);
358 fChain->SetBranchAddress("nPixelHits", &nPixelHits, &b_number_Pixel_measurements);
359 fChain->SetBranchAddress("nSCTHits", &nSCTHits, &b_number_SCT_measurements);
360 fChain->SetBranchAddress("nTRTHits", &nTRTHits, &b_number_TRT_measurements);
361 fChain->SetBranchAddress("nMDTHits", &nMDTHits, &b_number_MDT_measurements);
362 fChain->SetBranchAddress("nCSCHits", &nCSCHits, &b_number_CSC_measurements);
363 fChain->SetBranchAddress("nRPCHits", &nRPCHits, &b_number_RPC_measurements);
364 fChain->SetBranchAddress("nTGCHits", &nTGCHits, &b_number_TGC_measurements);
365 fChain->SetBranchAddress("PixPullPhi", &PixPullPhi, &b_PixPullPhi);
366 fChain->SetBranchAddress("PixPullEta", &PixPullEta, &b_PixPullEta);
367 fChain->SetBranchAddress("PixResPhi", &PixResPhi, &b_PixResPhi);
368 fChain->SetBranchAddress("PixResEta", &PixResEta, &b_PixResEta);
369 fChain->SetBranchAddress("SCTPull", &SCTPull, &b_SCTPull);
370 fChain->SetBranchAddress("SCTRes", &SCTRes, &b_SCTRes);
371 fChain->SetBranchAddress("TRTPull", &TRTPull, &b_TRTPull);
372 fChain->SetBranchAddress("TRTRes", &TRTRes, &b_TRTRes);
373 fChain->SetBranchAddress("HitX", &HitX, &b_HitX);
374 fChain->SetBranchAddress("HitY", &HitY, &b_HitY);
375 fChain->SetBranchAddress("HitZ", &HitZ, &b_HitZ);
376 fChain->SetBranchAddress("HitRadius", &HitRadius, &b_HitRadius);
377 fChain->SetBranchAddress("HitPhi", &HitPhi, &b_HitPhi);
378 fChain->SetBranchAddress("HitLocal1", &HitLocal1, &b_HitLocal1);
379 fChain->SetBranchAddress("HitLocal2", &HitLocal2, &b_HitLocal2);
380 fChain->SetBranchAddress("HitSurfaceX", &HitSurfaceX, &b_HitSurfaceX);
381 fChain->SetBranchAddress("HitSurfaceY", &HitSurfaceY, &b_HitSurfaceY);
382 fChain->SetBranchAddress("HitSurfaceZ", &HitSurfaceZ, &b_HitSurfaceZ);
383 fChain->SetBranchAddress("HitSurfaceRadius", &HitSurfaceRadius, &b_HitSurfaceRadius);
384 fChain->SetBranchAddress("HitSurfacePhi", &HitSurfacePhi, &b_HitSurfacePhi);
385 fChain->SetBranchAddress("HitSurfaceTheta", &HitSurfaceTheta, &b_HitSurfaceTheta);
386 fChain->SetBranchAddress("TrackX", &TrackX, &b_TrackX);
387 fChain->SetBranchAddress("TrackY", &TrackY, &b_TrackY);
388 fChain->SetBranchAddress("TrackZ", &TrackZ, &b_TrackZ);
389 fChain->SetBranchAddress("TrackMomentumX", &TrackMomentumX, &b_TrackMomentumX);
390 fChain->SetBranchAddress("TrackMomentumY", &TrackMomentumY, &b_TrackMomentumY);
391 fChain->SetBranchAddress("TrackMomentumZ", &TrackMomentumZ, &b_TrackMomentumZ);
392 fChain->SetBranchAddress("TrackLocal1", &TrackLocal1, &b_TrackLocal1);
393 fChain->SetBranchAddress("TrackLocal2", &TrackLocal2, &b_TrackLocal2);
394 fChain->SetBranchAddress("CompROTnContainedROTs", &CompROTnContainedROTs, &b_CompROTnContainedROTs);
395 fChain->SetBranchAddress("CompROTindexOfMaxAssgnProb", &CompROTindexOfMaxAssgnProb, &b_CompROTindexOfMaxAssgnProb);
396 fChain->SetBranchAddress("CompROTmaxAssgnProb", &CompROTmaxAssgnProb, &b_CompROTmaxAssgnProb);
397 Notify();*/
398}
399
401{
402 // The Notify() function is called when a new file is opened. This
403 // can be either for a new TTree in a TChain or when when a new TTree
404 // is started when using PROOF. It is normaly not necessary to make changes
405 // to the generated code, but the routine can be extended by the
406 // user if needed. The return value is currently not used.
407
408 return kTRUE;
409}
410
411void TrkValidationNtupleOutputTrack::Show(Long64_t entry)
412{
413// Print contents of entry.
414// If entry is not specified, print current entry
415 if (!fChain) return;
416 fChain->Show(entry);
417}
418Int_t TrkValidationNtupleOutputTrack::Cut(Long64_t entry)
419{
420// This function may be called from Loop.
421// returns 1 if entry is accepted.
422// returns -1 otherwise.
423 return 1;
424}
425#endif // #ifdef TrkValidationNtupleOutputTrack_cxx
Int_t RunNumber
current Tree number in a TChain
virtual Long64_t LoadTree(Long64_t entry)
virtual void Show(Long64_t entry=-1)
virtual Int_t Cut(Long64_t entry)
TrkValidationNtupleOutputTrack(TTree *tree=0)
virtual Int_t GetEntry(Long64_t entry)
virtual void Init(TTree *tree)
Int_t fCurrent
pointer to the analyzed TTree or TChain
STL namespace.
TChain * tree