ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkValidation
TrkValTools
root
TrackPlotter
PlotValNtuple.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
PlotValNtuple.h
"
6
#include <iostream>
7
#include <math.h>
8
9
PlotValNtuple::PlotValNtuple
(
TrackDataNtupleTree
&trackNtuple,
TrkValidationNtupleRIOs
*rioNtuple,
DisplayMode
mode) :
10
m_trackNtupleEntry
(0),
11
//m_rioNtupleEntry(0),
12
m_trackNtuple
(trackNtuple),
13
m_rioNtuple
(rioNtuple),
14
m_mode
(mode) {
15
//std::cout<<"calling cstr from PlotValNtuple"<< std::endl;
16
// init the ntuples to avoid problems
17
//(*m_trackNtuple.Init();
18
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
19
if
(
m_rioNtuple
)
20
m_rioNtuple
->GetEntry(0);
21
}
22
23
void
PlotValNtuple::setNextTrack
(
int
& eventNumber,
int
& trackNumber,
int
& InterationNumber){
24
// in case of troubles: set numbers to current entry
25
eventNumber = int(
m_trackNtuple
.EventNumber);
26
trackNumber = int(
m_trackNtuple
.TrackID);
27
InterationNumber = int(
m_trackNtuple
.IterationIndex);
28
29
Long64_t nentries =
m_trackNtuple
.fChain->GetEntriesFast();
30
if
(
m_trackNtupleEntry
+1 >= nentries)
31
return
;
32
33
// get the entry:
34
if
(
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
++)==0){
35
m_trackNtupleEntry
--;
36
return
;
37
}
38
// clear the track objects:
39
m_barrelXY
.clearTrackGraphics();
40
m_barrelXY
.clearCompetingROTsGraphics();
41
m_endcapPhiZ
.clearTrackGraphics();
42
m_endcapPhiZ
.clearCompetingROTsGraphics();
43
// get the new track graphics
44
plotTrack
();
45
// do we have a new event?
46
if
(eventNumber !=
int
(
m_trackNtuple
.EventNumber)){
47
// clear also the RIO graphics
48
//m_barrelXY.clearRIOGraphics();
49
plotRIOs
(
int
(
m_trackNtuple
.EventNumber));
50
51
}
52
// set the numbers to the new values:
53
eventNumber = int(
m_trackNtuple
.EventNumber);
54
trackNumber = int(
m_trackNtuple
.TrackID);
55
InterationNumber = int(
m_trackNtuple
.IterationIndex);
56
}
57
58
void
PlotValNtuple::setPrevTrack
(
int
& eventNumber,
int
& trackNumber,
int
& InterationNumber){
59
// in case of troubles: set numbers to current entry
60
eventNumber = int(
m_trackNtuple
.EventNumber);
61
trackNumber = int(
m_trackNtuple
.TrackID);
62
InterationNumber = int(
m_trackNtuple
.IterationIndex);
63
64
if
(
m_trackNtupleEntry
<= 0)
65
return
;
66
67
// get the entry:
68
if
(
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
--)==0){
69
m_trackNtupleEntry
++;
70
return
;
71
}
72
// clear the track objects:
73
m_barrelXY
.clearTrackGraphics();
74
m_barrelXY
.clearCompetingROTsGraphics();
75
m_endcapPhiZ
.clearTrackGraphics();
76
m_endcapPhiZ
.clearCompetingROTsGraphics();
77
// get the new track graphics
78
plotTrack
();
79
// do we have a new event?
80
if
(eventNumber !=
int
(
m_trackNtuple
.EventNumber)){
81
// clear also the RIO graphics
82
//m_barrelXY.clearRIOGraphics();
83
plotRIOs
(
int
(
m_trackNtuple
.EventNumber));
84
85
}
86
// set the numbers to the new values:
87
eventNumber = int(
m_trackNtuple
.EventNumber);
88
trackNumber = int(
m_trackNtuple
.TrackID);
89
InterationNumber = int(
m_trackNtuple
.IterationIndex);
90
}
91
92
void
PlotValNtuple::setNextEvent
(
int
& eventNumber){
93
// in case of troubles: set numbers to current entry
94
eventNumber = int(
m_trackNtuple
.EventNumber);
95
//InterationNumber = int(m_trackNtuple.IterationIndex);
96
97
Long64_t nentries =
m_trackNtuple
.fChain->GetEntriesFast();
98
if
(
m_trackNtupleEntry
+1 >= nentries)
99
return
;
100
101
// get the first entry of the event:
102
if
(
m_trackNtuple
.GetEntry(++
m_trackNtupleEntry
)==0){
103
m_trackNtupleEntry
--;
104
return
;
105
}
106
// get the eventNumber
107
eventNumber = int(
m_trackNtuple
.EventNumber);
108
//InterationNumber = int(m_trackNtuple.IterationIndex);
109
110
// clear the track and rio objects:
111
m_barrelXY
.clearTrackGraphics();
112
m_barrelXY
.clearCompetingROTsGraphics();
113
m_endcapPhiZ
.clearTrackGraphics();
114
m_endcapPhiZ
.clearCompetingROTsGraphics();
115
//m_barrelXY.clearRIOGraphics();
116
// get the new RIO graphics
117
plotRIOs
(eventNumber);
118
// get the new track graphics
119
for
(;
m_trackNtupleEntry
< nentries;
m_trackNtupleEntry
++) {
120
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
121
std::cout <<
"Entry "
<<
m_trackNtupleEntry
<<
" has eventNumber "
<<
m_trackNtuple
.EventNumber<< std::endl;
122
if
(
int
(
m_trackNtuple
.EventNumber) != eventNumber)
break
;
123
plotTrack
();
124
}
125
// set entry number to last entry of the event
126
m_trackNtupleEntry
--;
127
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
128
}
129
130
void
PlotValNtuple::setPrevEvent
(
int
& eventNumber){
131
// in case of troubles: set numbers to current entry
132
eventNumber = int(
m_trackNtuple
.EventNumber);
133
//InterationNumber = int(m_trackNtuple.IterationIndex);
134
135
if
(
m_trackNtupleEntry
<= 0)
136
return
;
137
138
// get the last entry of the previous event:
139
for
(;
m_trackNtupleEntry
>= 0;
m_trackNtupleEntry
--) {
140
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
141
std::cout <<
"Entry "
<<
m_trackNtupleEntry
<<
" has eventNumber "
<<
m_trackNtuple
.EventNumber<< std::endl;
142
if
(
int
(
m_trackNtuple
.EventNumber) != eventNumber)
break
;
143
}
144
if
(
int
(
m_trackNtuple
.EventNumber) == eventNumber)
145
return
;
146
Long64_t lastEntryOfEvent =
m_trackNtupleEntry
;
147
148
// get the eventNumber
149
eventNumber = int(
m_trackNtuple
.EventNumber);
150
//InterationNumber = int(m_trackNtuple.IterationIndex);
151
152
// clear the track and rio objects:
153
m_barrelXY
.clearTrackGraphics();
154
m_barrelXY
.clearCompetingROTsGraphics();
155
m_endcapPhiZ
.clearTrackGraphics();
156
m_endcapPhiZ
.clearCompetingROTsGraphics();
157
//m_barrelXY.clearRIOGraphics();
158
// get the new RIO graphics
159
plotRIOs
(eventNumber);
160
// get the new track graphics
161
for
(;
m_trackNtupleEntry
>=0;
m_trackNtupleEntry
--) {
162
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
163
std::cout <<
"Entry "
<<
m_trackNtupleEntry
<<
" has eventNumber "
<<
m_trackNtuple
.EventNumber<< std::endl;
164
if
(
int
(
m_trackNtuple
.EventNumber) != eventNumber)
break
;
165
plotTrack
();
166
}
167
// set entry number to last entry of the event
168
m_trackNtupleEntry
= lastEntryOfEvent;
169
m_trackNtuple
.GetEntry(
m_trackNtupleEntry
);
170
}
171
172
void
PlotValNtuple::setEvent
(
int
eventNumber,
int
InterationNumber){}
173
void
PlotValNtuple::setTrack
(
int
eventNumber,
int
trackNumber,
int
InterationNumber){}
174
175
176
// std::vector<TObject*>& PlotValNtuple::plotBarrelXY_SingleTrack(TrackDataNtupleTree &trackNtuple, Long64_t entry) {
177
// // clear the vector of graphic objects
178
// m_barrelXY.clear();
179
// // check for number of entries
180
// Long64_t nentries = trackNtuple.fChain->GetEntriesFast();
181
// if (entry > nentries)
182
// return m_barrelXY.getTrackGraphics();
183
//
184
// // get the entry:
185
// if (trackNtuple.GetEntry(entry)==0)
186
// return m_barrelXY.getTrackGraphics();
187
//
188
// plotBarrelXY_Track(trackNtuple);
189
// return m_barrelXY.getTrackGraphics();
190
// }
191
192
193
void
PlotValNtuple::plotTrack
() {
194
195
196
197
std::cout <<
"*** Track: Processing run "
<<
m_trackNtuple
.RunNumber
198
<<
", event "
<<
m_trackNtuple
.EventNumber
199
<<
", track "
<<
m_trackNtuple
.TrackID
200
<<
", iteration "
<<
m_trackNtuple
.IterationIndex << std::endl;
201
202
203
// determine the range of the track
204
//GlobalPosition lowerLeft;
205
//GlobalPosition upperRight;
206
//getBarrelXY_Range(trackNtuple, lowerLeft, upperRight);
207
208
// get the display for barrel in xy projection
209
//displayBarrelXY* barrelDisplay = new displayBarrelXY(lowerLeft, upperRight);
210
//displayBarrelXY barrelDisplay;
211
212
// loop over the track states
213
std::cout <<
"Entry has "
<<
m_trackNtuple
.nHits <<
" track states "
<< std::endl;
214
for
(
int
i=1; i<
m_trackNtuple
.nHits; ++i) {
215
// distinguish barrel and endcap modules:
216
bool
barrel
=
true
;
217
if
(fabs( (*
m_trackNtuple
.HitZ)[i] )>800.) {
218
// end cap!
219
barrel
=
false
;
220
}
221
222
/* if (fabs(trackNtuple.DetectorType)[i])!=3)
223
continue; */
224
// draw the track states
225
GlobalPosition
trkPos((*
m_trackNtuple
.TrackX)[i], (*
m_trackNtuple
.TrackY)[i], (*
m_trackNtuple
.TrackZ)[i]);
226
GlobalDirection
trkMom((*
m_trackNtuple
.TrackMomentumX)[i], (*
m_trackNtuple
.TrackMomentumY)[i], (*
m_trackNtuple
.TrackMomentumZ)[i]);
227
GlobalDirection
trkDir(trkMom.Unit());
228
// std::cout << " Track state with global position " << trkPos << " and direction "<< trkDir<< std::endl;
229
// WL m_barrelXY.displayTrackState(trkPos, trkMom);
230
// draw the measurements
231
GlobalPosition
*measPos=0;
232
//std::cout << " detector type: " << (*m_trackNtuple.DetectorType)[i] << std::endl;
233
switch
((*
m_trackNtuple
.DetectorType)[i]) {
234
case
1:
235
case
2:
236
// Pixel or SCT hit
237
measPos =
new
GlobalPosition
((*
m_trackNtuple
.HitX)[i], (*
m_trackNtuple
.HitY)[i], (*
m_trackNtuple
.HitZ)[i]);
238
//std::cout << " silicon measurement at " << *measPos << std::endl;
239
m_barrelXY
.displaySiliconMeasurement(*measPos,
true
);
240
m_endcapPhiZ
.displaySiliconMeasurement(*measPos,
true
);
241
break
;
242
case
3:
243
measPos =
new
GlobalPosition
((*
m_trackNtuple
.HitSurfaceX)[i], (*
m_trackNtuple
.HitSurfaceY)[i], (*
m_trackNtuple
.HitSurfaceZ)[i]);
244
//std::cout << " TRT measurement at " << *measPos << " with driftradius "<< (*m_trackNtuple.HitLocal1)[i] << std::endl;
245
// if ((*m_trackNtuple.outlierFlag)[i] > 0) std::cout << " ## outlier on ntuple." << std::endl;
246
if
(
barrel
) {
247
m_barrelXY
.displayTRT_MeasurementOnTrack(*measPos,
248
(*
m_trackNtuple
.HitLocal1)[i],
249
trkDir,
250
((*
m_trackNtuple
.outlierFlag)[i] > 0));
251
}
else
{
252
m_endcapPhiZ
.displayTRT_MeasurementOnTrack(*measPos,
253
(*
m_trackNtuple
.HitLocal1)[i],
254
trkDir,
255
((*
m_trackNtuple
.outlierFlag)[i] > 0), trkPos.Perp());
256
}
257
//std::cout << "Track Pos: (X, Y, Z)=(" << trkPos.x() << "," << trkPos.y() << "," << trkPos.z() << ") => (R, Phi) = (" << trkPos.Perp() << "," << trkPos.Phi() << "), driftradius: " << (*m_trackNtuple.HitLocal1)[i] << std::endl;
258
//std::cout << "straw Pos: (X, Y, Z)=(" << measPos->x() << "," << measPos->y() << "," << measPos->z() << ") => (R, Phi) = (" << measPos->Perp() << "," << measPos->Phi() << ")" << std::endl;
259
//std::cout << "Track Dir: (X, Y, Z)=(" << trkDir.x() << "," << trkDir.y() << "," << trkDir.z() << ") => (R, Phi) = (" << trkDir.Perp() << "," << trkDir.Phi() << ")" << std::endl;
260
// do we have competing ROT info?
261
//std::cout << " containes " << (*m_trackNtuple.CompROTnContainedROTs)[i] << " ROTs" << std::endl;
262
if
(
m_trackNtuple
.CompROTnContainedROTs && (*
m_trackNtuple
.CompROTnContainedROTs)[i] > 0) {
263
std::vector<GlobalPosition> strawPositions;
264
std::vector<double> driftRadii;
265
std::vector<double> assgnProbs;
266
//std::cout << " containes " << (*m_trackNtuple.CompROTnContainedROTs << " ROTs "<< std::endl;
267
/* for( int rotIndex=0; rotIndex<(*m_trackNtuple.CompROTnContainedROTs)[i]; ++rotIndex) {
268
GlobalPosition measPos((*m_trackNtuple.CompROTcontainedROTsHitSurfaceX)[i][rotIndex], (*m_trackNtuple.CompROTcontainedROTsHitSurfaceY)[i][rotIndex], (*m_trackNtuple.CompROTcontainedROTsHitSurfaceZ)[i][rotIndex]);
269
// std::cout << " TRT measurement at " << *measPos << " with driftradius "<< trackNtuple.HitLocal1)[i] << std::endl;
270
strawPositions.push_back(measPos);
271
driftRadii.push_back((*m_trackNtuple.CompROTcontainedROTsHitLocal1)[i][rotIndex]);
272
assgnProbs.push_back((*m_trackNtuple.CompROTcontainedROTsAssgnProbs)[i][rotIndex]);
273
}*/
274
if
(
barrel
){
275
m_barrelXY
.displayCompetingTRT_ROT( strawPositions, driftRadii, assgnProbs, trkDir);
276
}
else
{
277
m_endcapPhiZ
.displayCompetingTRT_ROT( strawPositions, driftRadii, assgnProbs, trkDir);
278
}
279
}
280
break
;
281
}
282
m_barrelXY
.displayTrackState(trkPos, trkDir);
283
m_endcapPhiZ
.displayTrackState(trkPos, trkDir);
284
delete
measPos;
285
}
286
//barrelDisplay->draw();
287
288
//return barrelDisplay.getGraphicObjects();
289
}
290
291
// std::vector<TObject*>& PlotValNtuple::plotBarrelXY_Event(TrackDataNtupleTree& tree,
292
// Long64_t entry,
293
// Long64_t &lastEntryOfEvent) {
294
// // clear the vector of graphic objects
295
// m_barrelXY.clear();
296
// // check for number of entries
297
// Long64_t nentries = tree.fChain->GetEntriesFast();
298
// if (entry > nentries)
299
// return m_barrelXY.getTrackGraphics();
300
//
301
// // get the first entry
302
// if (tree.GetEntry(entry)==0)
303
// return m_barrelXY.getTrackGraphics();
304
// // plot the first entry:
305
// plotBarrelXY_Track(tree);
306
//
307
// Int_t eventNumber = tree.EventNumber;
308
// Long64_t i = entry+1;
309
// for (; i < nentries; i++) {
310
// tree.GetEntry(i);
311
// if (tree.EventNumber != eventNumber) break;
312
// plotBarrelXY_Track(tree);
313
// }
314
// // jump back to first entry of the event
315
// tree.GetEntry(entry);
316
// lastEntryOfEvent = i-1;
317
//
318
// return m_barrelXY.getTrackGraphics();
319
// }
320
321
void
PlotValNtuple::plotRIOs
(
int
eventNumber){
322
if
(!
m_rioNtuple
)
return
;
323
324
// clear the vector of graphic objects
325
m_barrelXY
.clearRIOGraphics();
326
m_endcapPhiZ
.clearRIOGraphics();
327
// check for number of entries
328
Long64_t nentries =
m_rioNtuple
->fChain->GetEntriesFast();
329
330
// get the entry with the eventNumber
331
332
for
(
int
i=0; i < nentries; i++) {
333
m_rioNtuple
->GetEntry(i);
334
if
(
int
(
m_rioNtuple
->TRT_EventNumber) != eventNumber)
continue
;
335
std::cout <<
"Entry has "
<<
m_rioNtuple
->TRT_nRIOs <<
" RIOs "
<< std::endl;
336
for
(
int
rioIndex=0; rioIndex<
m_rioNtuple
->TRT_nRIOs; ++rioIndex) {
337
// cut for barrel modules:
338
if
(fabs((*
m_rioNtuple
->TRT_SurfaceZ)[rioIndex])>800.) {
339
// endcap:
340
GlobalPosition
strawPos((*
m_rioNtuple
->TRT_SurfaceX)[rioIndex], (*
m_rioNtuple
->TRT_SurfaceY)[rioIndex], (*
m_rioNtuple
->TRT_SurfaceZ)[rioIndex]);
341
m_endcapPhiZ
.displayTRT_Measurement( strawPos, (*
m_rioNtuple
->TRT_DriftRadius)[rioIndex],
false
,
false
);
342
}
else
{
343
// barrel:
344
//std::cout << "Z: " << tree.TRT_SurfaceZ[rioIndex]<< std::endl;
345
GlobalPosition
strawPos((*
m_rioNtuple
->TRT_SurfaceX)[rioIndex], (*
m_rioNtuple
->TRT_SurfaceY)[rioIndex], (*
m_rioNtuple
->TRT_SurfaceZ)[rioIndex]);
346
m_barrelXY
.displayTRT_Measurement( strawPos, (*
m_rioNtuple
->TRT_DriftRadius)[rioIndex],
false
,
false
);
347
}
348
}
349
350
}
351
//std::cout << "return RIO graphic objects"<< std::endl;
352
//return m_barrelXY_RIOs.getRIOGraphics();
353
}
354
355
// std::vector<TObject*>& PlotValNtuple::plotBarrelXY_SingleTrackCompROTs(TrackDataNtupleTree&, Long64_t entry){
356
//
357
// }
358
//
359
// std::vector<TObject*>& PlotValNtuple::plotBarrelXY_EventCompROTs(TrackDataNtupleTree&, Long64_t entry, Long64_t &lastEntryOfEvent){
360
//
361
// }
362
363
// void PlotValNtuple::plotBarrelXY_Track(TrackDataNtupleTree &trackNtuple) {
364
//
365
//
366
//
367
// std::cout << "*** BarrelXY_CompetingROTs: Processing run " << trackNtuple.RunNumber
368
// << ", event " << trackNtuple.EventNumber
369
// << ", track " << trackNtuple.TrackID
370
// << ", iteration " << trackNtuple.IterationIndex << std::endl;
371
//
372
//
373
// // loop over the track states
374
// std::cout << "Entry has " << trackNtuple.nHits << " track states "<< std::endl;
375
// for( int i=1; i<trackNtuple.nHits; ++i) {
376
// // cut for barrel modules:
377
// if (fabs(trackNtuple.TrackZ)[i])>800.)
378
// continue;
379
// /* if (fabs(trackNtuple.DetectorType)[i])!=3)
380
// continue; */
381
// // draw the track states
382
// GlobalPosition trkPos(trackNtuple.TrackX)[i], trackNtuple.TrackY)[i], trackNtuple.TrackZ)[i]);
383
// GlobalDirection trkMom(trackNtuple.TrackMomentumX)[i], trackNtuple.TrackMomentumY)[i], trackNtuple.TrackMomentumZ)[i]);
384
// // GlobalDirection trkDir(trkMom.Unit());
385
// // std::cout << " Track state with global position " << trkPos << " and direction "<< trkDir<< std::endl;
386
// m_barrelXY.displayTrackState(trkPos, trkMom);
387
// // draw the measurements
388
// GlobalPosition *measPos=0;
389
// // std::cout << " detector type: " << trackNtuple.DetectorType)[i] << std::endl;
390
// switch (trackNtuple.DetectorType)[i]) {
391
// case 1:
392
// case 2:
393
// measPos = new GlobalPosition(trackNtuple.HitX)[i], trackNtuple.HitY)[i], trackNtuple.HitZ)[i]);
394
// // std::cout << " silicon measurement at " << *measPos << std::endl;
395
// m_barrelXY.displaySiliconMeasurement(*measPos);
396
// break;
397
// case 3:
398
// measPos = new GlobalPosition(trackNtuple.HitSurfaceX)[i], trackNtuple.HitSurfaceY)[i], trackNtuple.HitSurfaceZ)[i]);
399
// // std::cout << " TRT measurement at " << *measPos << " with driftradius "<< trackNtuple.HitLocal1)[i] << std::endl;
400
// m_barrelXY.displayTRT_MeasurementOnTrack(*measPos,
401
// trackNtuple.HitLocal1)[i],
402
// trkMom);
403
// break;
404
// }
405
// delete measPos;
406
// }
407
// //barrelDisplay->draw();
408
//
409
// //return barrelDisplay.getGraphicObjects();
410
// }
411
412
413
// void PlotValNtuple::getBarrelXY_Range(TrackDataNtupleTree& ntupleTree, GlobalPosition& lowerLeft, GlobalPosition& upperRight) {
414
// // void display_track::calculateRange( const std::vector<GlobalPosition>& tp, GlobalPosition& ll,
415
// // GlobalPosition& rh){
416
// //
417
// // loop over hits find min and max
418
// double minx = 2000.;
419
// double miny = 2000.;
420
// double maxx = -2000.;
421
// double maxy = -2000.;
422
//
423
// for( int i=0; i<ntupleTree.nHits; ++i) {
424
// // cut for barrel modules:
425
// if (fabs(ntupleTree.TrackZ)[i])>800.)
426
// continue;
427
// if (ntupleTree.DetectorType)[i] != 3)
428
// continue;
429
// if( ntupleTree.TrackX)[i] < minx )
430
// minx = ntupleTree.TrackX)[i];
431
// if( ntupleTree.TrackY)[i] < miny )
432
// miny = ntupleTree.TrackY)[i];
433
// if( ntupleTree.TrackX)[i] > maxx )
434
// maxx = ntupleTree.TrackX)[i];
435
// if( ntupleTree.TrackY)[i] > maxy )
436
// maxy = ntupleTree.TrackY)[i];
437
// }
438
//
439
// double offset = 10.;
440
// // lower left
441
// lowerLeft.setX(minx-offset);
442
// lowerLeft.setY(miny-offset);
443
//
444
// // upper right
445
// upperRight.setX(maxx+offset);
446
// upperRight.setY(maxy+offset);
447
//
448
// // std::cout << " calculated range " << lowerLeft << " " << upperRight << std::endl;
449
//
450
// }
DetectorZone::barrel
@ barrel
Definition
FPGATrackSimTypes.h:28
PlotValNtuple.h
DisplayMode
DisplayMode
Definition
PlotValNtuple.h:24
PlotValNtuple::setTrack
void setTrack(int eventNumber, int trackNumber, int InterationNumber)
Definition
PlotValNtuple.cxx:173
PlotValNtuple::setNextTrack
void setNextTrack(int &eventNumber, int &trackNumber, int &InterationNumber)
Definition
PlotValNtuple.cxx:23
PlotValNtuple::plotRIOs
void plotRIOs(int eventNumber)
Definition
PlotValNtuple.cxx:321
PlotValNtuple::setPrevTrack
void setPrevTrack(int &eventNumber, int &trackNumber, int &InterationNumber)
Definition
PlotValNtuple.cxx:58
PlotValNtuple::m_endcapPhiZ
displayEndcapPhiZ m_endcapPhiZ
Definition
PlotValNtuple.h:125
PlotValNtuple::m_trackNtuple
TrackDataNtupleTree & m_trackNtuple
Definition
PlotValNtuple.h:121
PlotValNtuple::m_mode
DisplayMode m_mode
Definition
PlotValNtuple.h:126
PlotValNtuple::plotTrack
void plotTrack()
plot one track
Definition
PlotValNtuple.cxx:193
PlotValNtuple::setNextEvent
void setNextEvent(int &eventNumber)
Definition
PlotValNtuple.cxx:92
PlotValNtuple::PlotValNtuple
PlotValNtuple(TrackDataNtupleTree &trackNtuple, TrkValidationNtupleRIOs *rioNtuple, DisplayMode mode=BarrelXY)
Definition
PlotValNtuple.cxx:9
PlotValNtuple::m_trackNtupleEntry
Long64_t m_trackNtupleEntry
Definition
PlotValNtuple.h:119
PlotValNtuple::m_barrelXY
displayBarrelXY m_barrelXY
Definition
PlotValNtuple.h:124
PlotValNtuple::m_rioNtuple
TrkValidationNtupleRIOs * m_rioNtuple
Definition
PlotValNtuple.h:122
PlotValNtuple::setEvent
void setEvent(int eventNumber, int InterationNumber)
Definition
PlotValNtuple.cxx:172
PlotValNtuple::setPrevEvent
void setPrevEvent(int &eventNumber)
Definition
PlotValNtuple.cxx:130
TrackDataNtupleTree
this class inherites from the automatically created TrkValidationNtupleOutputTrack to have independen...
Definition
TrackDataNtupleTree.h:16
TrkValidationNtupleRIOs
Definition
TrkValidationNtupleRIOs.h:26
GlobalPosition
TVector3 GlobalPosition
Definition
display_track.h:14
GlobalDirection
TVector3 GlobalDirection
Definition
display_track.h:15
Generated on
for ATLAS Offline Software by
1.17.0