ATLAS Offline Software
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 
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();
19  if (m_rioNtuple)
21 }
22 
23 void PlotValNtuple::setNextTrack(int& eventNumber, int& trackNumber, int& InterationNumber){
24  // in case of troubles: set numbers to current entry
27  InterationNumber = int(m_trackNtuple.IterationIndex);
28 
29  Long64_t nentries = m_trackNtuple.fChain->GetEntriesFast();
31  return;
32 
33  // get the entry:
36  return;
37  }
38  // clear the track objects:
43  // get the new track graphics
44  plotTrack();
45  // do we have a new event?
47  // clear also the RIO graphics
48  //m_barrelXY.clearRIOGraphics();
50 
51  }
52  // set the numbers to the new values:
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
62  InterationNumber = int(m_trackNtuple.IterationIndex);
63 
64  if (m_trackNtupleEntry <= 0)
65  return;
66 
67  // get the entry:
70  return;
71  }
72  // clear the track objects:
77  // get the new track graphics
78  plotTrack();
79  // do we have a new event?
81  // clear also the RIO graphics
82  //m_barrelXY.clearRIOGraphics();
84 
85  }
86  // set the numbers to the new values:
89  InterationNumber = int(m_trackNtuple.IterationIndex);
90 }
91 
93  // in case of troubles: set numbers to current entry
95  //InterationNumber = int(m_trackNtuple.IterationIndex);
96 
97  Long64_t nentries = m_trackNtuple.fChain->GetEntriesFast();
99  return;
100 
101  // get the first entry of the event:
104  return;
105  }
106  // get the eventNumber
108  //InterationNumber = int(m_trackNtuple.IterationIndex);
109 
110  // clear the track and rio objects:
115  //m_barrelXY.clearRIOGraphics();
116  // get the new RIO graphics
118  // get the new track graphics
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
128 }
129 
131  // in case of troubles: set numbers to current entry
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--) {
141  std::cout << "Entry " << m_trackNtupleEntry << " has eventNumber " << m_trackNtuple.EventNumber<< std::endl;
142  if (int(m_trackNtuple.EventNumber) != eventNumber) break;
143  }
145  return;
146  Long64_t lastEntryOfEvent = m_trackNtupleEntry;
147 
148  // get the eventNumber
150  //InterationNumber = int(m_trackNtuple.IterationIndex);
151 
152  // clear the track and rio objects:
157  //m_barrelXY.clearRIOGraphics();
158  // get the new RIO graphics
160  // get the new track graphics
161  for (; m_trackNtupleEntry >=0; 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;
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 
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
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:
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) {
249  trkDir,
250  ((*m_trackNtuple.outlierFlag)[i] > 0));
251  }else{
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;
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 
322  if (!m_rioNtuple) return;
323 
324  // clear the vector of graphic objects
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++) {
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 // }
PlotValNtuple::setNextTrack
void setNextTrack(int &eventNumber, int &trackNumber, int &InterationNumber)
Definition: PlotValNtuple.cxx:23
displayEndcapPhiZ::displayTRT_MeasurementOnTrack
virtual void displayTRT_MeasurementOnTrack(GlobalPosition &strawPosition, double driftRadius, GlobalDirection &trkDirection, bool isOutlier, double trackRadius=0.)
create the graphic objects for a single TRT measurement on track
Definition: display_track.cxx:355
TrkValidationNtupleRIOs::TRT_SurfaceX
vector< float > * TRT_SurfaceX
Definition: TrkValidationNtupleRIOs.h:35
TrkValidationNtupleOutputTrack::HitLocal1
vector< float > * HitLocal1
Definition: TrkValidationNtupleOutputTrack.h:99
TrkValidationNtupleOutputTrack::HitX
vector< float > * HitX
Definition: TrkValidationNtupleOutputTrack.h:94
TrkValidationNtupleOutputTrack::TrackMomentumZ
vector< float > * TrackMomentumZ
Definition: TrkValidationNtupleOutputTrack.h:112
TrkValidationNtupleOutputTrack::HitSurfaceY
vector< float > * HitSurfaceY
Definition: TrkValidationNtupleOutputTrack.h:102
displayTracks::clearTrackGraphics
virtual void clearTrackGraphics()
Definition: display_track.cxx:58
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
TrkValidationNtupleOutputTrack::EventNumber
Int_t EventNumber
Definition: TrkValidationNtupleOutputTrack.h:35
TrkValidationNtupleOutputTrack::TrackX
vector< float > * TrackX
Definition: TrkValidationNtupleOutputTrack.h:107
displayBarrelXY::displayTrackState
virtual void displayTrackState(GlobalPosition &trkPosition, GlobalDirection &trkDirection)
create the graphic objects for a single track state
Definition: display_track.cxx:104
TrkValidationNtupleOutputTrack::nHits
Int_t nHits
Definition: TrkValidationNtupleOutputTrack.h:38
TrkValidationNtupleOutputTrack::outlierFlag
vector< int > * outlierFlag
Definition: TrkValidationNtupleOutputTrack.h:78
PlotValNtuple::setPrevEvent
void setPrevEvent(int &eventNumber)
Definition: PlotValNtuple.cxx:130
TrkValidationNtupleRIOs
Definition: TrkValidationNtupleRIOs.h:26
TrkValidationNtupleOutputTrack::CompROTnContainedROTs
vector< int > * CompROTnContainedROTs
Definition: TrkValidationNtupleOutputTrack.h:115
TrkValidationNtupleRIOs::TRT_DriftRadius
vector< float > * TRT_DriftRadius
Definition: TrkValidationNtupleRIOs.h:34
PlotValNtuple::plotRIOs
void plotRIOs(int eventNumber)
Definition: PlotValNtuple.cxx:321
TrackDataNtupleTree::GetEntry
virtual Int_t GetEntry(Long64_t entry)
Definition: TrackDataNtupleTree.cxx:47
PlotCalibFromCool.nentries
nentries
Definition: PlotCalibFromCool.py:798
TrkValidationNtupleRIOs::TRT_SurfaceY
vector< float > * TRT_SurfaceY
Definition: TrkValidationNtupleRIOs.h:36
PlotValNtuple::setNextEvent
void setNextEvent(int &eventNumber)
Definition: PlotValNtuple.cxx:92
PlotValNtuple::PlotValNtuple
PlotValNtuple(TrackDataNtupleTree &trackNtuple, TrkValidationNtupleRIOs *rioNtuple, DisplayMode mode=BarrelXY)
Definition: PlotValNtuple.cxx:9
TrkValidationNtupleOutputTrack::HitSurfaceZ
vector< float > * HitSurfaceZ
Definition: TrkValidationNtupleOutputTrack.h:103
displayBarrelXY::displayCompetingTRT_ROT
virtual void displayCompetingTRT_ROT(std::vector< GlobalPosition > &strawPositions, std::vector< double > driftRadii, std::vector< double > assgnProbs, GlobalDirection &trkDirection)
create the graphic objects for a single CompetingTRT_DriftCirclesOnTrack
Definition: display_track.cxx:250
lumiFormat.i
int i
Definition: lumiFormat.py:92
PlotValNtuple::m_trackNtupleEntry
Long64_t m_trackNtupleEntry
Definition: PlotValNtuple.h:119
TrkValidationNtupleRIOs::TRT_nRIOs
Int_t TRT_nRIOs
Definition: TrkValidationNtupleRIOs.h:33
PlotValNtuple::m_barrelXY
displayBarrelXY m_barrelXY
Definition: PlotValNtuple.h:124
TrkValidationNtupleOutputTrack::HitSurfaceX
vector< float > * HitSurfaceX
Definition: TrkValidationNtupleOutputTrack.h:101
PlotValNtuple.h
displayEndcapPhiZ::displayCompetingTRT_ROT
virtual void displayCompetingTRT_ROT(std::vector< GlobalPosition > &strawPositions, std::vector< double > driftRadii, std::vector< double > assgnProbs, GlobalDirection &trkDirection)
create the graphic objects for a single CompetingTRT_DriftCirclesOnTrack
Definition: display_track.cxx:487
TrackDataNtupleTree
this class inherites from the automatically created TrkValidationNtupleOutputTrack to have independen...
Definition: TrackDataNtupleTree.h:16
PlotValNtuple::m_rioNtuple
TrkValidationNtupleRIOs * m_rioNtuple
Definition: PlotValNtuple.h:122
Preparation.mode
mode
Definition: Preparation.py:95
PlotValNtuple::setEvent
void setEvent(int eventNumber, int InterationNumber)
Definition: PlotValNtuple.cxx:172
TrkValidationNtupleRIOs::TRT_EventNumber
Int_t TRT_EventNumber
current Tree number in a TChain
Definition: TrkValidationNtupleRIOs.h:32
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
TrkValidationNtupleOutputTrack::TrackY
vector< float > * TrackY
Definition: TrkValidationNtupleOutputTrack.h:108
displayTracks::clearRIOGraphics
virtual void clearRIOGraphics()
Definition: display_track.cxx:64
TrkValidationNtupleOutputTrack::RunNumber
Int_t RunNumber
current Tree number in a TChain
Definition: TrkValidationNtupleOutputTrack.h:34
TrkValidationNtupleOutputTrack::TrackID
Int_t TrackID
Definition: TrkValidationNtupleOutputTrack.h:36
TrkValidationNtupleOutputTrack::IterationIndex
Int_t IterationIndex
Definition: TrkValidationNtupleOutputTrack.h:37
TrkValidationNtupleOutputTrack::TrackMomentumY
vector< float > * TrackMomentumY
Definition: TrkValidationNtupleOutputTrack.h:111
displayBarrelXY::displayTRT_MeasurementOnTrack
virtual void displayTRT_MeasurementOnTrack(GlobalPosition &strawPosition, double driftRadius, GlobalDirection &trkDirection, bool isOutlier, double=0.)
create the graphic objects for a single TRT measurement on track
Definition: display_track.cxx:139
TrkValidationNtupleRIOs::TRT_SurfaceZ
vector< float > * TRT_SurfaceZ
Definition: TrkValidationNtupleRIOs.h:37
displayBarrelXY::displayTRT_Measurement
virtual void displayTRT_Measurement(GlobalPosition &strawPosition, double driftRadius, bool onTrack, bool outlierOnTrack, double=0.)
create the graphic objects for a single TRT measurement
Definition: display_track.cxx:159
TrkValidationNtupleOutputTrack::fChain
TTree * fChain
Definition: TrkValidationNtupleOutputTrack.h:30
displayBarrelXY::displaySiliconMeasurement
virtual void displaySiliconMeasurement(GlobalPosition &measurementPosition, bool onTrack)
create the graphic objects for a single Silicon measurement
Definition: display_track.cxx:225
PlotValNtuple::m_trackNtuple
TrackDataNtupleTree & m_trackNtuple
Definition: PlotValNtuple.h:121
TrkValidationNtupleOutputTrack::HitZ
vector< float > * HitZ
Definition: TrkValidationNtupleOutputTrack.h:96
TrkValidationNtupleOutputTrack::DetectorType
vector< int > * DetectorType
Definition: TrkValidationNtupleOutputTrack.h:77
TrkValidationNtupleRIOs::GetEntry
virtual Int_t GetEntry(Long64_t entry)
displayEndcapPhiZ::displaySiliconMeasurement
virtual void displaySiliconMeasurement(GlobalPosition &measurementPosition, bool onTrack)
create the graphic objects for a single Silicon measurement
Definition: display_track.cxx:462
displayTracks::clearCompetingROTsGraphics
virtual void clearCompetingROTsGraphics()
Definition: display_track.cxx:77
TrkValidationNtupleOutputTrack::HitY
vector< float > * HitY
Definition: TrkValidationNtupleOutputTrack.h:95
TRT::Track::trackNumber
@ trackNumber
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:75
TrkValidationNtupleRIOs::fChain
TTree * fChain
Definition: TrkValidationNtupleRIOs.h:28
GlobalPosition
TVector3 GlobalPosition
Definition: display_track.h:14
DisplayMode
DisplayMode
Definition: PlotValNtuple.h:24
DetectorZone::barrel
@ barrel
PlotValNtuple::setTrack
void setTrack(int eventNumber, int trackNumber, int InterationNumber)
Definition: PlotValNtuple.cxx:173
displayEndcapPhiZ::displayTRT_Measurement
virtual void displayTRT_Measurement(GlobalPosition &strawPosition, double driftRadius, bool onTrack, bool outlierOnTrack, double trackRadius=0.)
create the graphic objects for a single TRT measurement
Definition: display_track.cxx:373
PlotValNtuple::plotTrack
void plotTrack()
plot one track
Definition: PlotValNtuple.cxx:193
PlotValNtuple::m_endcapPhiZ
displayEndcapPhiZ m_endcapPhiZ
Definition: PlotValNtuple.h:125
GlobalDirection
TVector3 GlobalDirection
Definition: display_track.h:15
PlotValNtuple::setPrevTrack
void setPrevTrack(int &eventNumber, int &trackNumber, int &InterationNumber)
Definition: PlotValNtuple.cxx:58
TrkValidationNtupleOutputTrack::TrackZ
vector< float > * TrackZ
Definition: TrkValidationNtupleOutputTrack.h:109
TrkValidationNtupleOutputTrack::TrackMomentumX
vector< float > * TrackMomentumX
Definition: TrkValidationNtupleOutputTrack.h:110
displayEndcapPhiZ::displayTrackState
virtual void displayTrackState(GlobalPosition &trkPosition, GlobalDirection &trkDirection)
create the graphic objects for a single track state
Definition: display_track.cxx:306