ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkValidation
TrkValTools
root
TrackPlotter
TrackDataNtupleTree.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrackDataNtupleTree.h
"
6
#include <iostream>
7
8
TrackDataNtupleTree::TrackDataNtupleTree
(TTree *
tree
,
bool
includingDAFdata) :
9
TrkValidationNtupleOutputTrack
(
tree
),
10
m_includingDAFdata
(includingDAFdata)
11
{
12
//std::cout<<"calling Constr from TrackDataNtupleTree with tree "<< tree<< std::endl;
13
// if parameter tree is not specified (or zero), connect the file
14
// used to generate this class and read the Tree.
15
if
(
tree
== 0) {
16
TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject(
"TrkValidation.root"
);
17
if
(!f) {
18
f =
new
TFile(
"TrkValidation.root"
);
19
f->cd(
"TrkValidation.root:/FitterValidation"
);
20
}
21
tree
= (TTree*)gDirectory->Get(
"OutputTrack"
);
22
23
}
24
TrackDataNtupleTree::Init
(
tree
);
25
// for (int i=0; i<300; i++){
26
// (*CompROTnContainedROTs)[i]=0;
27
// }
28
}
29
30
Int_t
TrackDataNtupleTree::Cut
(Long64_t entry)
31
{
32
//std::cout<<"calling Cut from TrackDataNtupleTree"<< std::endl;
33
// This function may be called from Loop.
34
// returns 1 if entry is accepted.
35
// returns -1 otherwise.
36
return
1;
37
}
38
39
40
TrackDataNtupleTree::~TrackDataNtupleTree
()
41
{
42
//std::cout<<"calling Destr from TrackDataNtupleTree"<< std::endl;
43
if
(!
fChain
)
return
;
44
delete
fChain
->GetCurrentFile();
45
}
46
47
Int_t
TrackDataNtupleTree::GetEntry
(Long64_t entry)
48
{
49
//std::cout<<"calling GetEntry from TrackDataNtupleTree"<< std::endl;
50
fChain
->SetBranchStatus(
"*"
,0);
// disable all branches
51
fChain
->SetBranchStatus(
"RunNumber"
,1);
52
fChain
->SetBranchStatus(
"EventNumber"
,1);
53
fChain
->SetBranchStatus(
"TrackID"
,1);
54
fChain
->SetBranchStatus(
"IterationIndex"
,1);
55
fChain
->SetBranchStatus(
"nHits"
,1);
56
fChain
->SetBranchStatus(
"DetectorType"
,1);
57
fChain
->SetBranchStatus(
"outlierFlag"
,1);
58
fChain
->SetBranchStatus(
"HitX"
,1);
59
fChain
->SetBranchStatus(
"HitY"
,1);
60
fChain
->SetBranchStatus(
"HitZ"
,1);
61
fChain
->SetBranchStatus(
"HitLocal1"
,1);
62
fChain
->SetBranchStatus(
"HitLocal2"
,1);
63
fChain
->SetBranchStatus(
"HitSurfaceX"
,1);
64
fChain
->SetBranchStatus(
"HitSurfaceY"
,1);
65
fChain
->SetBranchStatus(
"HitSurfaceZ"
,1);
66
fChain
->SetBranchStatus(
"TrackX"
,1);
67
fChain
->SetBranchStatus(
"TrackY"
,1);
68
fChain
->SetBranchStatus(
"TrackZ"
,1);
69
fChain
->SetBranchStatus(
"TrackMomentumX"
,1);
70
fChain
->SetBranchStatus(
"TrackMomentumY"
,1);
71
fChain
->SetBranchStatus(
"TrackMomentumZ"
,1);
72
fChain
->SetBranchStatus(
"TrackLocal1"
,1);
73
fChain
->SetBranchStatus(
"TrackLocal2"
,1);
74
if
(
m_includingDAFdata
){
75
fChain
->SetBranchStatus(
"CompROTnContainedROTs"
,1);
76
fChain
->SetBranchStatus(
"CompROTcontainedROTsAssgnProbs"
,1);
77
// fChain->SetBranchStatus("CompROTcontainedROTsHitX",1);
78
// fChain->SetBranchStatus("CompROTcontainedROTsHitY",1);
79
// fChain->SetBranchStatus("CompROTcontainedROTsHitZ",1);
80
fChain
->SetBranchStatus(
"CompROTcontainedROTsHitLocal1"
,1);
81
fChain
->SetBranchStatus(
"CompROTcontainedROTsHitLocal2"
,1);
82
fChain
->SetBranchStatus(
"CompROTcontainedROTsHitSurfaceX"
,1);
83
fChain
->SetBranchStatus(
"CompROTcontainedROTsHitSurfaceY"
,1);
84
fChain
->SetBranchStatus(
"CompROTcontainedROTsHitSurfaceZ"
,1);
85
}
86
// Read contents of entry.
87
if
(!
fChain
)
return
0;
88
Int_t result =
fChain
->GetEntry(entry);
89
90
/* for (int i=0; i<300; i++){
91
CompROTnContainedROTs[i]=0;
92
}*/
93
return
result;
94
}
95
96
Long64_t
TrackDataNtupleTree::LoadTree
(Long64_t entry)
97
{
98
//std::cout<<"calling LoadTree from TrackDataNtupleTree"<< std::endl;
99
// Set the environment to read one entry
100
if
(!
fChain
)
return
-5;
101
Long64_t centry =
fChain
->LoadTree(entry);
102
if
(centry < 0)
return
centry;
103
if
(
fChain
->IsA() != TChain::Class())
return
centry;
104
TChain *chain =
static_cast<
TChain*
>
(
fChain
);
105
if
(chain->GetTreeNumber() !=
fCurrent
) {
106
fCurrent
= chain->GetTreeNumber();
107
Notify
();
108
}
109
return
centry;
110
}
111
112
void
TrackDataNtupleTree::Init
(TTree *
tree
)
113
{
114
// // The Init() function is called when the selector needs to initialize
115
// // a new tree or chain. Typically here the branch addresses of the tree
116
// // will be set. It is normaly not necessary to make changes to the
117
// // generated code, but the routine can be extended by the user if needed.
118
// // Init() will be called many times when running with PROOF.
119
//
120
// // Set branch addresses
121
//std::cout<<"calling Init from TrackDataNtupleTree"<< std::endl;
122
if
(
tree
== 0)
return
;
123
fChain
=
tree
;
124
fCurrent
= -1;
125
fChain
->SetMakeClass(1);
126
// Set object pointer
127
pullLocX
= 0;
128
pullLocY
= 0;
129
residualLocX
= 0;
130
residualLocY
= 0;
131
DetectorType
= 0;
132
outlierFlag
= 0;
133
PixPullPhi
= 0;
134
PixPullEta
= 0;
135
PixResPhi
= 0;
136
PixResEta
= 0;
137
SCTPull
= 0;
138
SCTRes
= 0;
139
TRTPull
= 0;
140
TRTRes
= 0;
141
HitX
= 0;
142
HitY
= 0;
143
HitZ
= 0;
144
HitRadius
= 0;
145
HitPhi
= 0;
146
HitLocal1
= 0;
147
HitLocal2
= 0;
148
HitSurfaceX
= 0;
149
HitSurfaceY
= 0;
150
HitSurfaceZ
= 0;
151
HitSurfaceRadius
= 0;
152
HitSurfacePhi
= 0;
153
HitSurfaceTheta
= 0;
154
TrackX
= 0;
155
TrackY
= 0;
156
TrackZ
= 0;
157
TrackMomentumX
= 0;
158
TrackMomentumY
= 0;
159
TrackMomentumZ
= 0;
160
TrackLocal1
= 0;
161
TrackLocal2
= 0;
162
CompROTnContainedROTs
= 0;
163
CompROTindexOfMaxAssgnProb
= 0;
164
CompROTmaxAssgnProb
= 0;
165
//
166
fChain
->SetBranchAddress(
"RunNumber"
, &
RunNumber
, &
b_run_number
);
167
fChain
->SetBranchAddress(
"EventNumber"
, &
EventNumber
, &
b_event_number
);
168
fChain
->SetBranchAddress(
"TrackID"
, &
TrackID
, &
b_ID_of_track_in_event
);
169
fChain
->SetBranchAddress(
"IterationIndex"
, &
IterationIndex
, &
b_Iteration_of_a_track
);
170
fChain
->SetBranchAddress(
"nHits"
, &
nHits
, &
b_Number_of_measurements_on_track
);
171
/* fChain->SetBranchAddress("TrackStatesUnbiased", &TrackStatesUnbiased, &b_are_track_states_unbiased);
172
fChain->SetBranchAddress("RecD0", &RecD0, &b_Reconstructed_d0);
173
fChain->SetBranchAddress("RecZ0", &RecZ0, &b_Reconstructed_z0);
174
fChain->SetBranchAddress("RecPhi0", &RecPhi0, &b_Reconstructed_phi0);
175
fChain->SetBranchAddress("RecTheta", &RecTheta, &b_Reconstructed_theta);
176
fChain->SetBranchAddress("RecEta", &RecEta, &b_Reconstructed_eta);
177
fChain->SetBranchAddress("RecQoverP", &RecQoverP, &b_Reconstructed_Q_over_p);
178
fChain->SetBranchAddress("RecErrD0", &RecErrD0, &b_err_d0);
179
fChain->SetBranchAddress("RecErrZ0", &RecErrZ0, &b_err_z0);
180
fChain->SetBranchAddress("RecErrPhi0", &RecErrPhi0, &b_err_phi0);
181
fChain->SetBranchAddress("RecErrTheta", &RecErrTheta, &b_err_theta);
182
fChain->SetBranchAddress("RecErrQoverP", &RecErrQoverP, &b_err_Q_over_p);
183
fChain->SetBranchAddress("Chi2overNdof", &Chi2overNdof, &b_Reco_Chi2_over_Ndof);
184
fChain->SetBranchAddress("Ndof", &Ndof, &b_Reco_Ndof);
185
fChain->SetBranchAddress("trk_Mc_d0", &trk_Mc_d0, &b_truth_d0);
186
fChain->SetBranchAddress("trk_Mc_z0", &trk_Mc_z0, &b_truth_z0);
187
fChain->SetBranchAddress("trk_Mc_phi0", &trk_Mc_phi0, &b_truth_phi0);
188
fChain->SetBranchAddress("trk_Mc_theta", &trk_Mc_theta, &b_truth_theta);
189
fChain->SetBranchAddress("trk_Mc_qOverP", &trk_Mc_qOverP, &b_truth_Q_over_p);
190
fChain->SetBranchAddress("trk_Mc_qOverPt", &trk_Mc_qOverPt, &b_truth_Q_over_pT);
191
fChain->SetBranchAddress("trk_Mc_eta", &trk_Mc_eta, &b_truth_eta);
192
fChain->SetBranchAddress("trk_Mc_diff_d0", &trk_Mc_diff_d0, &b_truth_reco_diff_d0);
193
fChain->SetBranchAddress("trk_Mc_diff_z0", &trk_Mc_diff_z0, &b_truth_reco_diff_z0);
194
fChain->SetBranchAddress("trk_Mc_diff_phi0", &trk_Mc_diff_phi0, &b_truth_reco_diff_phi0);
195
fChain->SetBranchAddress("trk_Mc_diff_theta", &trk_Mc_diff_theta, &b_truth_reco_diff_theta);
196
fChain->SetBranchAddress("trk_Mc_diff_qOverP", &trk_Mc_diff_qOverP, &b_truth_reco_diff_Q_over_p);
197
fChain->SetBranchAddress("trk_Mc_pull_d0", &trk_Mc_pull_d0, &b_truth_reco_pull_d0);
198
fChain->SetBranchAddress("trk_Mc_pull_z0", &trk_Mc_pull_z0, &b_truth_reco_pull_d0);
199
fChain->SetBranchAddress("trk_Mc_pull_phi0", &trk_Mc_pull_phi0, &b_truth_reco_pull_d0);
200
fChain->SetBranchAddress("trk_Mc_pull_theta", &trk_Mc_pull_theta, &b_truth_reco_pull_d0);
201
fChain->SetBranchAddress("trk_Mc_pull_qOverP", &trk_Mc_pull_qOverP, &b_truth_reco_pull_d0);
202
fChain->SetBranchAddress("trk_Mc_particleID", &trk_Mc_particleID, &b_truth_PDG_ID);
203
fChain->SetBranchAddress("trk_Mc_barcode", &trk_Mc_barcode, &b_truth_particle_barcode);
204
fChain->SetBranchAddress("trk_Mc_energy", &trk_Mc_energy, &b_truth_energy);
205
fChain->SetBranchAddress("pullLocX", &pullLocX, &b_pullLocX);
206
fChain->SetBranchAddress("pullLocY", &pullLocY, &b_pullLocY);
207
fChain->SetBranchAddress("residualLocX", &residualLocX, &b_residualLocX);
208
fChain->SetBranchAddress("residualLocY", &residualLocY, &b_residualLocY);*/
209
fChain
->SetBranchAddress(
"DetectorType"
, &
DetectorType
, &
b_DetectorType
);
210
fChain
->SetBranchAddress(
"outlierFlag"
, &
outlierFlag
, &
b_outlierFlag
);
211
/* fChain->SetBranchAddress("nPixelHits", &nPixelHits, &b_number_Pixel_measurements);
212
fChain->SetBranchAddress("nSCTHits", &nSCTHits, &b_number_SCT_measurements);
213
fChain->SetBranchAddress("nTRTHits", &nTRTHits, &b_number_TRT_measurements);
214
fChain->SetBranchAddress("nMDTHits", &nMDTHits, &b_number_MDT_measurements);
215
fChain->SetBranchAddress("nCSCHits", &nCSCHits, &b_number_CSC_measurements);
216
fChain->SetBranchAddress("nRPCHits", &nRPCHits, &b_number_RPC_measurements);
217
fChain->SetBranchAddress("nTGCHits", &nTGCHits, &b_number_TGC_measurements);
218
fChain->SetBranchAddress("PixPullPhi", &PixPullPhi, &b_PixPullPhi);
219
fChain->SetBranchAddress("PixPullEta", &PixPullEta, &b_PixPullEta);
220
fChain->SetBranchAddress("PixResPhi", &PixResPhi, &b_PixResPhi);
221
fChain->SetBranchAddress("PixResEta", &PixResEta, &b_PixResEta);
222
fChain->SetBranchAddress("SCTPull", &SCTPull, &b_SCTPull);
223
fChain->SetBranchAddress("SCTRes", &SCTRes, &b_SCTRes);
224
fChain->SetBranchAddress("TRTPull", &TRTPull, &b_TRTPull);
225
fChain->SetBranchAddress("TRTRes", &TRTRes, &b_TRTRes);*/
226
fChain
->SetBranchAddress(
"HitX"
, &
HitX
, &
b_HitX
);
227
fChain
->SetBranchAddress(
"HitY"
, &
HitY
, &
b_HitY
);
228
fChain
->SetBranchAddress(
"HitZ"
, &
HitZ
, &
b_HitZ
);
229
/* fChain->SetBranchAddress("HitRadius", &HitRadius, &b_HitRadius);
230
fChain->SetBranchAddress("HitPhi", &HitPhi, &b_HitPhi);*/
231
fChain
->SetBranchAddress(
"HitLocal1"
, &
HitLocal1
, &
b_HitLocal1
);
232
fChain
->SetBranchAddress(
"HitLocal2"
, &
HitLocal2
, &
b_HitLocal2
);
233
fChain
->SetBranchAddress(
"HitSurfaceX"
, &
HitSurfaceX
, &
b_HitSurfaceX
);
234
fChain
->SetBranchAddress(
"HitSurfaceY"
, &
HitSurfaceY
, &
b_HitSurfaceY
);
235
fChain
->SetBranchAddress(
"HitSurfaceZ"
, &
HitSurfaceZ
, &
b_HitSurfaceZ
);
236
/* fChain->SetBranchAddress("HitSurfaceRadius", &HitSurfaceRadius, &b_HitSurfaceRadius);
237
fChain->SetBranchAddress("HitSurfacePhi", &HitSurfacePhi, &b_HitSurfacePhi);
238
fChain->SetBranchAddress("HitSurfaceTheta", &HitSurfaceTheta, &b_HitSurfaceTheta);*/
239
fChain
->SetBranchAddress(
"TrackX"
, &
TrackX
, &
b_TrackX
);
240
fChain
->SetBranchAddress(
"TrackY"
, &
TrackY
, &
b_TrackY
);
241
fChain
->SetBranchAddress(
"TrackZ"
, &
TrackZ
, &
b_TrackZ
);
242
fChain
->SetBranchAddress(
"TrackMomentumX"
, &
TrackMomentumX
, &
b_TrackMomentumX
);
243
fChain
->SetBranchAddress(
"TrackMomentumY"
, &
TrackMomentumY
, &
b_TrackMomentumY
);
244
fChain
->SetBranchAddress(
"TrackMomentumZ"
, &
TrackMomentumZ
, &
b_TrackMomentumZ
);
245
fChain
->SetBranchAddress(
"TrackLocal1"
, &
TrackLocal1
, &
b_TrackLocal1
);
246
fChain
->SetBranchAddress(
"TrackLocal2"
, &
TrackLocal2
, &
b_TrackLocal2
);
247
if
(
m_includingDAFdata
){
248
std::cout<<
"setting branches to DAF data"
<< std::endl;
249
fChain
->SetBranchAddress(
"CompROTnContainedROTs"
, &
CompROTnContainedROTs
, &
b_CompROTnContainedROTs
);
250
fChain
->SetBranchAddress(
"CompROTindexOfMaxAssgnProb"
, &
CompROTindexOfMaxAssgnProb
, &
b_CompROTindexOfMaxAssgnProb
);
251
fChain
->SetBranchAddress(
"CompROTmaxAssgnProb"
, &
CompROTmaxAssgnProb
, &
b_CompROTmaxAssgnProb
);
252
// fChain->SetBranchAddress("CompROTindexOfMaxAssgnProb",CompROTindexOfMaxAssgnProb);
253
// fChain->SetBranchAddress("CompROTmaxAssgnProb",CompROTmaxAssgnProb);
254
/* fChain->SetBranchAddress("CompROTcontainedROTsAssgnProbs",CompROTcontainedROTsAssgnProbs);
255
// fChain->SetBranchAddress("CompROTcontainedROTsResLocX",CompROTcontainedROTsResLocX);
256
// fChain->SetBranchAddress("CompROTcontainedROTsResLocY",CompROTcontainedROTsResLocY);
257
// fChain->SetBranchAddress("CompROTcontainedROTsPullLocX",CompROTcontainedROTsPullLocX);
258
// fChain->SetBranchAddress("CompROTcontainedROTsPullLocY",CompROTcontainedROTsPullLocY);
259
// fChain->SetBranchAddress("CompROTcontainedROTsHitX",CompROTcontainedROTsHitX);
260
// fChain->SetBranchAddress("CompROTcontainedROTsHitY",CompROTcontainedROTsHitY);
261
// fChain->SetBranchAddress("CompROTcontainedROTsHitZ",CompROTcontainedROTsHitZ);
262
fChain->SetBranchAddress("CompROTcontainedROTsHitLocal1",CompROTcontainedROTsHitLocal1);
263
fChain->SetBranchAddress("CompROTcontainedROTsHitLocal2",CompROTcontainedROTsHitLocal2);
264
fChain->SetBranchAddress("CompROTcontainedROTsHitSurfaceX",CompROTcontainedROTsHitSurfaceX);
265
fChain->SetBranchAddress("CompROTcontainedROTsHitSurfaceY",CompROTcontainedROTsHitSurfaceY);
266
fChain->SetBranchAddress("CompROTcontainedROTsHitSurfaceZ",CompROTcontainedROTsHitSurfaceZ);*/
267
}
268
Notify
();
269
}
270
271
Bool_t
TrackDataNtupleTree::Notify
()
272
{
273
// // The Notify() function is called when a new file is opened. This
274
// // can be either for a new TTree in a TChain or when when a new TTree
275
// // is started when using PROOF. Typically here the branch pointers
276
// // will be retrieved. It is normaly not necessary to make changes
277
// // to the generated code, but the routine can be extended by the
278
// // user if needed.
279
//
280
//std::cout<<"calling Notify from TrackDataNtupleTree"<< std::endl;
281
return
kTRUE;
282
// // Get branch pointers
283
// b_RunNumber = fChain->GetBranch("RunNumber");
284
// b_EventNumber = fChain->GetBranch("EventNumber");
285
// b_TrackID = fChain->GetBranch("TrackID");
286
// b_IterationIndex = fChain->GetBranch("IterationIndex");
287
// b_nHits = fChain->GetBranch("nHits");
288
// b_TrackStatesUnbiased = fChain->GetBranch("TrackStatesUnbiased");
289
// b_RecD0 = fChain->GetBranch("RecD0");
290
// b_RecZ0 = fChain->GetBranch("RecZ0");
291
// b_RecPhi0 = fChain->GetBranch("RecPhi0");
292
// b_RecTheta = fChain->GetBranch("RecTheta");
293
// b_RecEta = fChain->GetBranch("RecEta");
294
// b_RecQoverP = fChain->GetBranch("RecQoverP");
295
// b_RecErrD0 = fChain->GetBranch("RecErrD0");
296
// b_RecErrZ0 = fChain->GetBranch("RecErrZ0");
297
// b_RecErrPhi0 = fChain->GetBranch("RecErrPhi0");
298
// b_RecErrTheta = fChain->GetBranch("RecErrTheta");
299
// b_RecErrQoverP = fChain->GetBranch("RecErrQoverP");
300
// b_Chi2overNdof = fChain->GetBranch("Chi2overNdof");
301
// b_Ndof = fChain->GetBranch("Ndof");
302
// b_pullLocX = fChain->GetBranch("pullLocX");
303
// b_pullLocY = fChain->GetBranch("pullLocY");
304
// b_residualLocX = fChain->GetBranch("residualLocX");
305
// b_residualLocY = fChain->GetBranch("residualLocY");
306
b_DetectorType
=
fChain
->GetBranch(
"DetectorType"
);
307
b_outlierFlag
=
fChain
->GetBranch(
"outlierFlag"
);
308
// b_nPixelHits = fChain->GetBranch("nPixelHits");
309
// b_nSCTHits = fChain->GetBranch("nSCTHits");
310
// b_nTRTHits = fChain->GetBranch("nTRTHits");
311
// b_nMDTHits = fChain->GetBranch("nMDTHits");
312
// b_nCSCHits = fChain->GetBranch("nCSCHits");
313
// b_nRPCHits = fChain->GetBranch("nRPCHits");
314
// b_nTGCHits = fChain->GetBranch("nTGCHits");
315
// b_PixPullPhi = fChain->GetBranch("PixPullPhi");
316
// b_PixPullEta = fChain->GetBranch("PixPullEta");
317
// b_PixResPhi = fChain->GetBranch("PixResPhi");
318
// b_PixResEta = fChain->GetBranch("PixResEta");
319
// b_SCTPull = fChain->GetBranch("SCTPull");
320
// b_SCTRes = fChain->GetBranch("SCTRes");
321
// b_TRTPull = fChain->GetBranch("TRTPull");
322
// b_TRTRes = fChain->GetBranch("TRTRes");
323
b_HitX
=
fChain
->GetBranch(
"HitX"
);
324
b_HitY
=
fChain
->GetBranch(
"HitY"
);
325
b_HitZ
=
fChain
->GetBranch(
"HitZ"
);
326
// b_HitRadius = fChain->GetBranch("HitRadius");
327
// b_HitPhi = fChain->GetBranch("HitPhi");
328
b_HitLocal1
=
fChain
->GetBranch(
"HitLocal1"
);
329
b_HitLocal2
=
fChain
->GetBranch(
"HitLocal2"
);
330
b_HitSurfaceX
=
fChain
->GetBranch(
"HitSurfaceX"
);
331
b_HitSurfaceY
=
fChain
->GetBranch(
"HitSurfaceY"
);
332
b_HitSurfaceZ
=
fChain
->GetBranch(
"HitSurfaceZ"
);
333
// b_HitSurfaceRadius = fChain->GetBranch("HitSurfaceRadius");
334
// b_HitSurfacePhi = fChain->GetBranch("HitSurfacePhi");
335
// b_HitSurfaceTheta = fChain->GetBranch("HitSurfaceTheta");
336
b_TrackX
=
fChain
->GetBranch(
"TrackX"
);
337
b_TrackY
=
fChain
->GetBranch(
"TrackY"
);
338
b_TrackZ
=
fChain
->GetBranch(
"TrackZ"
);
339
b_TrackMomentumX
=
fChain
->GetBranch(
"TrackMomentumX"
);
340
b_TrackMomentumY
=
fChain
->GetBranch(
"TrackMomentumY"
);
341
b_TrackMomentumZ
=
fChain
->GetBranch(
"TrackMomentumZ"
);
342
b_TrackLocal1
=
fChain
->GetBranch(
"TrackLocal1"
);
343
b_TrackLocal2
=
fChain
->GetBranch(
"TrackLocal2"
);
344
//
345
if
(
m_includingDAFdata
){
346
std::cout<<
"getting branches to DAF data"
<< std::endl;
347
b_CompROTnContainedROTs
=
fChain
->GetBranch(
"CompROTnContainedROTs"
);
348
// b_CompROTindexOfMaxAssgnProb = fChain->GetBranch("CompROTindexOfMaxAssgnProb");
349
// b_CompROTmaxAssgnProb = fChain->GetBranch("CompROTmaxAssgnProb");
350
// b_CompROTcontainedROTsAssgnProbs = fChain->GetBranch("CompROTcontainedROTsAssgnProbs");
351
// // b_CompROTcontainedROTsResLocX = fChain->GetBranch("CompROTcontainedROTsResLocX");
352
// // b_CompROTcontainedROTsResLocY = fChain->GetBranch("CompROTcontainedROTsResLocY");
353
// // b_CompROTcontainedROTsPullLocX = fChain->GetBranch("CompROTcontainedROTsPullLocX");
354
// // b_CompROTcontainedROTsPullLocY = fChain->GetBranch("CompROTcontainedROTsPullLocY");
355
// // b_CompROTcontainedROTsHitX = fChain->GetBranch("CompROTcontainedROTsHitX");
356
// // b_CompROTcontainedROTsHitY = fChain->GetBranch("CompROTcontainedROTsHitY");
357
// // b_CompROTcontainedROTsHitZ = fChain->GetBranch("CompROTcontainedROTsHitZ");
358
// b_CompROTcontainedROTsHitLocal1 = fChain->GetBranch("CompROTcontainedROTsHitLocal1");
359
// b_CompROTcontainedROTsHitLocal2 = fChain->GetBranch("CompROTcontainedROTsHitLocal2");
360
// b_CompROTcontainedROTsHitSurfaceX = fChain->GetBranch("CompROTcontainedROTsHitSurfaceX");
361
// b_CompROTcontainedROTsHitSurfaceY = fChain->GetBranch("CompROTcontainedROTsHitSurfaceY");
362
// b_CompROTcontainedROTsHitSurfaceZ = fChain->GetBranch("CompROTcontainedROTsHitSurfaceZ");
363
}
364
return
kTRUE;
365
}
366
367
void
TrackDataNtupleTree::Show
(Long64_t entry)
368
{
369
//std::cout<<"calling Show from TrackDataNtupleTree"<< std::endl;
370
// Print contents of entry.
371
// If entry is not specified, print current entry
372
if
(!
fChain
)
return
;
373
fChain
->Show(entry);
374
}
375
376
void
TrackDataNtupleTree::Loop
()
377
{
378
//std::cout<<"calling Loop from TrackDataNtupleTree"<< std::endl;
379
// In a ROOT session, you can do:
380
// Root > .L TrkValidationNtupleOutputTrack.C
381
// Root > TrkValidationNtupleOutputTrack t
382
// Root > t.GetEntry(12); // Fill t data members with entry number 12
383
// Root > t.Show(); // Show values of entry 12
384
// Root > t.Show(16); // Read and show values of entry 16
385
// Root > t.Loop(); // Loop on all entries
386
//
387
388
// This is the loop skeleton where:
389
// jentry is the global entry number in the chain
390
// ientry is the entry number in the current Tree
391
// Note that the argument to GetEntry must be:
392
// jentry for TChain::GetEntry
393
// ientry for TTree::GetEntry and TBranch::GetEntry
394
//
395
// To read only selected branches, Insert statements like:
396
// METHOD1:
397
// fChain->SetBranchStatus("*",0); // disable all branches
398
// fChain->SetBranchStatus("branchname",1); // activate branchname
399
// METHOD2: replace line
400
// fChain->GetEntry(jentry); //read all branches
401
//by b_branchname->GetEntry(ientry); //read only this branch
402
if
(
fChain
== 0)
return
;
403
404
Long64_t nentries =
fChain
->GetEntriesFast();
405
406
Int_t nbytes = 0, nb = 0;
407
for
(Long64_t jentry=0; jentry<nentries;jentry++) {
408
Long64_t ientry =
LoadTree
(jentry);
409
if
(ientry < 0)
break
;
410
nb =
fChain
->GetEntry(jentry); nbytes += nb;
411
// if (Cut(ientry) < 0) continue;
412
}
413
}
414
TrackDataNtupleTree.h
TrackDataNtupleTree::TrackDataNtupleTree
TrackDataNtupleTree(TTree *tree=0, bool includingDAFdata=false)
Definition
TrackDataNtupleTree.cxx:8
TrackDataNtupleTree::Cut
virtual Int_t Cut(Long64_t entry)
Definition
TrackDataNtupleTree.cxx:30
TrackDataNtupleTree::m_includingDAFdata
bool m_includingDAFdata
Definition
TrackDataNtupleTree.h:28
TrackDataNtupleTree::~TrackDataNtupleTree
virtual ~TrackDataNtupleTree()
Definition
TrackDataNtupleTree.cxx:40
TrackDataNtupleTree::Loop
virtual void Loop()
Definition
TrackDataNtupleTree.cxx:376
TrackDataNtupleTree::Init
virtual void Init(TTree *tree)
Definition
TrackDataNtupleTree.cxx:112
TrackDataNtupleTree::GetEntry
virtual Int_t GetEntry(Long64_t entry)
Definition
TrackDataNtupleTree.cxx:47
TrackDataNtupleTree::Notify
virtual Bool_t Notify()
Definition
TrackDataNtupleTree.cxx:271
TrackDataNtupleTree::Show
virtual void Show(Long64_t entry=-1)
Definition
TrackDataNtupleTree.cxx:367
TrackDataNtupleTree::LoadTree
virtual Long64_t LoadTree(Long64_t entry)
Definition
TrackDataNtupleTree.cxx:96
TrkValidationNtupleOutputTrack::b_HitLocal1
TBranch * b_HitLocal1
Definition
TrkValidationNtupleOutputTrack.h:181
TrkValidationNtupleOutputTrack::b_TrackZ
TBranch * b_TrackZ
Definition
TrkValidationNtupleOutputTrack.h:191
TrkValidationNtupleOutputTrack::pullLocY
vector< float > * pullLocY
Definition
TrkValidationNtupleOutputTrack.h:74
TrkValidationNtupleOutputTrack::HitSurfaceZ
vector< float > * HitSurfaceZ
Definition
TrkValidationNtupleOutputTrack.h:103
TrkValidationNtupleOutputTrack::RunNumber
Int_t RunNumber
current Tree number in a TChain
Definition
TrkValidationNtupleOutputTrack.h:34
TrkValidationNtupleOutputTrack::b_ID_of_track_in_event
TBranch * b_ID_of_track_in_event
Definition
TrkValidationNtupleOutputTrack.h:122
TrkValidationNtupleOutputTrack::b_HitZ
TBranch * b_HitZ
Definition
TrkValidationNtupleOutputTrack.h:178
TrkValidationNtupleOutputTrack::fChain
TTree * fChain
Definition
TrkValidationNtupleOutputTrack.h:30
TrkValidationNtupleOutputTrack::IterationIndex
Int_t IterationIndex
Definition
TrkValidationNtupleOutputTrack.h:37
TrkValidationNtupleOutputTrack::CompROTmaxAssgnProb
vector< float > * CompROTmaxAssgnProb
Definition
TrkValidationNtupleOutputTrack.h:117
TrkValidationNtupleOutputTrack::residualLocY
vector< float > * residualLocY
Definition
TrkValidationNtupleOutputTrack.h:76
TrkValidationNtupleOutputTrack::SCTRes
vector< float > * SCTRes
Definition
TrkValidationNtupleOutputTrack.h:91
TrkValidationNtupleOutputTrack::HitPhi
vector< float > * HitPhi
Definition
TrkValidationNtupleOutputTrack.h:98
TrkValidationNtupleOutputTrack::HitZ
vector< float > * HitZ
Definition
TrkValidationNtupleOutputTrack.h:96
TrkValidationNtupleOutputTrack::b_CompROTindexOfMaxAssgnProb
TBranch * b_CompROTindexOfMaxAssgnProb
Definition
TrkValidationNtupleOutputTrack.h:198
TrkValidationNtupleOutputTrack::residualLocX
vector< float > * residualLocX
Definition
TrkValidationNtupleOutputTrack.h:75
TrkValidationNtupleOutputTrack::TrackMomentumX
vector< float > * TrackMomentumX
Definition
TrkValidationNtupleOutputTrack.h:110
TrkValidationNtupleOutputTrack::pullLocX
vector< float > * pullLocX
Definition
TrkValidationNtupleOutputTrack.h:73
TrkValidationNtupleOutputTrack::HitX
vector< float > * HitX
Definition
TrkValidationNtupleOutputTrack.h:94
TrkValidationNtupleOutputTrack::DetectorType
vector< int > * DetectorType
Definition
TrkValidationNtupleOutputTrack.h:77
TrkValidationNtupleOutputTrack::b_HitY
TBranch * b_HitY
Definition
TrkValidationNtupleOutputTrack.h:177
TrkValidationNtupleOutputTrack::b_HitSurfaceX
TBranch * b_HitSurfaceX
Definition
TrkValidationNtupleOutputTrack.h:183
TrkValidationNtupleOutputTrack::b_HitSurfaceY
TBranch * b_HitSurfaceY
Definition
TrkValidationNtupleOutputTrack.h:184
TrkValidationNtupleOutputTrack::HitSurfacePhi
vector< float > * HitSurfacePhi
Definition
TrkValidationNtupleOutputTrack.h:105
TrkValidationNtupleOutputTrack::PixPullEta
vector< float > * PixPullEta
Definition
TrkValidationNtupleOutputTrack.h:87
TrkValidationNtupleOutputTrack::SCTPull
vector< float > * SCTPull
Definition
TrkValidationNtupleOutputTrack.h:90
TrkValidationNtupleOutputTrack::b_event_number
TBranch * b_event_number
Definition
TrkValidationNtupleOutputTrack.h:121
TrkValidationNtupleOutputTrack::HitLocal2
vector< float > * HitLocal2
Definition
TrkValidationNtupleOutputTrack.h:100
TrkValidationNtupleOutputTrack::b_outlierFlag
TBranch * b_outlierFlag
Definition
TrkValidationNtupleOutputTrack.h:160
TrkValidationNtupleOutputTrack::TrackX
vector< float > * TrackX
Definition
TrkValidationNtupleOutputTrack.h:107
TrkValidationNtupleOutputTrack::b_TrackMomentumY
TBranch * b_TrackMomentumY
Definition
TrkValidationNtupleOutputTrack.h:193
TrkValidationNtupleOutputTrack::TrkValidationNtupleOutputTrack
TrkValidationNtupleOutputTrack(TTree *tree=0)
TrkValidationNtupleOutputTrack::b_TrackX
TBranch * b_TrackX
Definition
TrkValidationNtupleOutputTrack.h:189
TrkValidationNtupleOutputTrack::HitLocal1
vector< float > * HitLocal1
Definition
TrkValidationNtupleOutputTrack.h:99
TrkValidationNtupleOutputTrack::TrackID
Int_t TrackID
Definition
TrkValidationNtupleOutputTrack.h:36
TrkValidationNtupleOutputTrack::CompROTindexOfMaxAssgnProb
vector< int > * CompROTindexOfMaxAssgnProb
Definition
TrkValidationNtupleOutputTrack.h:116
TrkValidationNtupleOutputTrack::b_CompROTmaxAssgnProb
TBranch * b_CompROTmaxAssgnProb
Definition
TrkValidationNtupleOutputTrack.h:199
TrkValidationNtupleOutputTrack::b_TrackLocal1
TBranch * b_TrackLocal1
Definition
TrkValidationNtupleOutputTrack.h:195
TrkValidationNtupleOutputTrack::TrackY
vector< float > * TrackY
Definition
TrkValidationNtupleOutputTrack.h:108
TrkValidationNtupleOutputTrack::HitSurfaceX
vector< float > * HitSurfaceX
Definition
TrkValidationNtupleOutputTrack.h:101
TrkValidationNtupleOutputTrack::HitY
vector< float > * HitY
Definition
TrkValidationNtupleOutputTrack.h:95
TrkValidationNtupleOutputTrack::b_TrackMomentumZ
TBranch * b_TrackMomentumZ
Definition
TrkValidationNtupleOutputTrack.h:194
TrkValidationNtupleOutputTrack::PixPullPhi
vector< float > * PixPullPhi
Definition
TrkValidationNtupleOutputTrack.h:86
TrkValidationNtupleOutputTrack::b_CompROTnContainedROTs
TBranch * b_CompROTnContainedROTs
Definition
TrkValidationNtupleOutputTrack.h:197
TrkValidationNtupleOutputTrack::HitRadius
vector< float > * HitRadius
Definition
TrkValidationNtupleOutputTrack.h:97
TrkValidationNtupleOutputTrack::b_TrackY
TBranch * b_TrackY
Definition
TrkValidationNtupleOutputTrack.h:190
TrkValidationNtupleOutputTrack::b_run_number
TBranch * b_run_number
Definition
TrkValidationNtupleOutputTrack.h:120
TrkValidationNtupleOutputTrack::b_DetectorType
TBranch * b_DetectorType
Definition
TrkValidationNtupleOutputTrack.h:159
TrkValidationNtupleOutputTrack::TRTPull
vector< float > * TRTPull
Definition
TrkValidationNtupleOutputTrack.h:92
TrkValidationNtupleOutputTrack::b_TrackMomentumX
TBranch * b_TrackMomentumX
Definition
TrkValidationNtupleOutputTrack.h:192
TrkValidationNtupleOutputTrack::PixResPhi
vector< float > * PixResPhi
Definition
TrkValidationNtupleOutputTrack.h:88
TrkValidationNtupleOutputTrack::TrackMomentumY
vector< float > * TrackMomentumY
Definition
TrkValidationNtupleOutputTrack.h:111
TrkValidationNtupleOutputTrack::b_Number_of_measurements_on_track
TBranch * b_Number_of_measurements_on_track
Definition
TrkValidationNtupleOutputTrack.h:124
TrkValidationNtupleOutputTrack::HitSurfaceY
vector< float > * HitSurfaceY
Definition
TrkValidationNtupleOutputTrack.h:102
TrkValidationNtupleOutputTrack::TrackLocal1
vector< float > * TrackLocal1
Definition
TrkValidationNtupleOutputTrack.h:113
TrkValidationNtupleOutputTrack::TrackLocal2
vector< float > * TrackLocal2
Definition
TrkValidationNtupleOutputTrack.h:114
TrkValidationNtupleOutputTrack::nHits
Int_t nHits
Definition
TrkValidationNtupleOutputTrack.h:38
TrkValidationNtupleOutputTrack::CompROTnContainedROTs
vector< int > * CompROTnContainedROTs
Definition
TrkValidationNtupleOutputTrack.h:115
TrkValidationNtupleOutputTrack::PixResEta
vector< float > * PixResEta
Definition
TrkValidationNtupleOutputTrack.h:89
TrkValidationNtupleOutputTrack::b_HitX
TBranch * b_HitX
Definition
TrkValidationNtupleOutputTrack.h:176
TrkValidationNtupleOutputTrack::HitSurfaceTheta
vector< float > * HitSurfaceTheta
Definition
TrkValidationNtupleOutputTrack.h:106
TrkValidationNtupleOutputTrack::outlierFlag
vector< int > * outlierFlag
Definition
TrkValidationNtupleOutputTrack.h:78
TrkValidationNtupleOutputTrack::b_Iteration_of_a_track
TBranch * b_Iteration_of_a_track
Definition
TrkValidationNtupleOutputTrack.h:123
TrkValidationNtupleOutputTrack::b_HitLocal2
TBranch * b_HitLocal2
Definition
TrkValidationNtupleOutputTrack.h:182
TrkValidationNtupleOutputTrack::TRTRes
vector< float > * TRTRes
Definition
TrkValidationNtupleOutputTrack.h:93
TrkValidationNtupleOutputTrack::EventNumber
Int_t EventNumber
Definition
TrkValidationNtupleOutputTrack.h:35
TrkValidationNtupleOutputTrack::TrackZ
vector< float > * TrackZ
Definition
TrkValidationNtupleOutputTrack.h:109
TrkValidationNtupleOutputTrack::fCurrent
Int_t fCurrent
pointer to the analyzed TTree or TChain
Definition
TrkValidationNtupleOutputTrack.h:31
TrkValidationNtupleOutputTrack::TrackMomentumZ
vector< float > * TrackMomentumZ
Definition
TrkValidationNtupleOutputTrack.h:112
TrkValidationNtupleOutputTrack::HitSurfaceRadius
vector< float > * HitSurfaceRadius
Definition
TrkValidationNtupleOutputTrack.h:104
TrkValidationNtupleOutputTrack::b_HitSurfaceZ
TBranch * b_HitSurfaceZ
Definition
TrkValidationNtupleOutputTrack.h:185
TrkValidationNtupleOutputTrack::b_TrackLocal2
TBranch * b_TrackLocal2
Definition
TrkValidationNtupleOutputTrack.h:196
tree
TChain * tree
Definition
tile_monitor.h:30
Generated on
for ATLAS Offline Software by
1.17.0