ATLAS Offline Software
FPGATrackSimLayerStudyTool.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef FPGATrackSimLayerStudyTool_H
4 #define FPGATrackSimLayerStudyTool_H
5 
24 #include "GaudiKernel/ServiceHandle.h"
25 #include "GaudiKernel/ITHistSvc.h"
27 
28 #include "TGraph.h"
29 class TH1D;
30 class TH2D;
31 
35 
37 
38 
40  {
41  public:
42 
44  // AthAlgTool
45 
46  FPGATrackSimLayerStudyTool(const std::string &, const std::string &, const IInterface *);
47 
48  virtual StatusCode initialize() override;
49 
50  // This is done at the start of execution to create all the graphs
51  // ... also stores some of the configuration parameters for later use
55 
56  // Simple accessors for directory
57  const std::string dir() const {return m_dir;}
58 
59  // Takes the truthtracks as input and parses it into a useful form for later use
60  // (e.g. stores which bin the true track is in)
61  void parseTruthInfo ATLAS_NOT_THREAD_SAFE(std::vector<FPGATrackSimTruthTrack> const & truthtracks);
62  FPGATrackSimBinUtil::IdxSet& truthBin(unsigned stepnum) { return m_truthbin[stepnum]; }
63  std::vector<FPGATrackSimBinUtil::IdxSet>& truthBin() { return m_truthbin; }
64 
65  // Fill methods
66  void fillHitLevelInput(const FPGATrackSimHit* hit);
68  void fillBinningSummary ATLAS_NOT_THREAD_SAFE(const std::vector<std::shared_ptr<const FPGATrackSimHit>> &hits);
69 
70  // Error Checks
71  void sliceCheck();
72 
73  private:
75  // Handles
76  ServiceHandle<ITHistSvc> m_tHistSvc{this, "THistSvc", "THistSvc"};
77 
79  // Properties
80  Gaudi::Property<std::string> m_dir{this, "dir", {"/GENSCAN/"}, "String name of output directory"};
81  Gaudi::Property<double> m_phiScale{this, "phiScale", {}, "Scale for Delta Phi variable"};
82  Gaudi::Property<double> m_etaScale{this, "etaScale", {}, "Scale for Delta Eta variable"};
83  Gaudi::Property<double> m_drScale{this, "drScale", {}, "Scale for radius differences"};
84  Gaudi::Property<bool> m_plotAllBins{this, "plotAllBins", {false}, "Default is to plot only truth bin values, this set to plot all bins"};
85 
86  Gaudi::Property<double> m_d0pad{this, "D0Pad", 0.0, "Extra phi padding from d0 resolution"};
87  Gaudi::Property<double> m_phipad{this, "PhiPad", 0.0, "Extra phi padding from phi resolution"};
88  Gaudi::Property<double> m_qptpad{this, "QPtPad", 0.0, "Extra phi padding from q/pT resolution"};
89  Gaudi::Property<double> m_z0pad{this, "Z0Pad", 0.0, "Extra eta padding from z0 resolution"};
90  Gaudi::Property<double> m_etapad{this, "EtaPad", 0.0, "Extra eta padding from eta resolution"};
91  Gaudi::Property<std::string> m_layerStudyTreeName{this, "LayerStudyTreeName", "LayerStudy", "Name of the LayerStudy TTree"};
92  Gaudi::Property<std::string> m_truthTreeName{this,"TruthTreeName","TruthTree","Name of the Truth TTree"};
94  // Pointer to binned hits
96 
98  // Parsed truth/info
99  bool m_isSingleParticle = false;
100  bool m_truthIsValid = false;
102  std::vector<FPGATrackSimBinUtil::IdxSet> m_truthbin;
104 
105  // plots are only filled for the truth bin if single particle sample
106  // this gives the distributions of the cut variables when they are
107  // reconstructed in the right bin
109 
110  // this flag governs if pair filter and pairset filter plots filled
111  bool m_binPlotsActive = false;
112 
114  // Data Flow Counters
115 
117  // Histograms
118  std::vector<TH2D *> m_rZ_allhits;
119  TH1D *m_truthpars_hists[5] = {0, 0, 0, 0, 0};
120 
121  TH1D *m_inputHits = 0;
122 
124  TH1D *m_binsFilled = 0;
125 
126  // residuals and shifts from truth bin center
127  std::vector<TH1D *> m_phiResidual;
128  std::vector<TH1D *> m_etaResidual;
129  std::vector<TH1D *> m_phiTrueBinShift;
130  std::vector<TH1D *> m_etaTrueBinShift;
131  int m_N_ptplot{5}; // for 2-d plots in pt slices
132  std::vector<TH2D *> m_phiResidual_v_r;
133  std::vector<TH2D *> m_etaResidual_v_r;
134  std::vector<TH2D *> m_phiScale_v_r;
135  std::vector<TH2D *> m_etaScale_v_r;
136 
137  TH1D *m_phiShift_road = 0;
138  TH1D *m_etaShift_road = 0;
139  TH2D *m_phiShift2D_road = 0;
140  TH2D *m_etaShift2D_road = 0;
141 
142  // step-by-step plot
143  std::vector<TH1D *> m_hitsPerStepBin;
144  TH1D * m_hitsPerLayer = 0;
145  TH2D * m_hitsPerLayer2D = 0;
147 
148  // distributions for efficiency monitoring
149  std::vector<std::string> m_distPlotClasses{"truth","ThrshNlayer","ThrshNlayerm1"}; // 0=truth distribution, 1=passes n-1 binning selection
150  std::vector<TH1D *> m_ptDist;
151  std::vector<TH1D *> m_etaDist;
152  std::vector<TH1D *> m_phiDist;
153  std::vector<TH1D *> m_d0Dist;
154  std::vector<TH1D *> m_z0Dist;
155 
156 
157 
158  private:
159 
160  // TTree for layer definitions studies
162  void ClearTreeVectors();
163 
164  TTree *m_bin_tree = nullptr; // output tree
165  std::vector<unsigned> m_bin_tree_bin; // 5 tracks parameter bin
166  std::vector<float> m_bin_tree_r;
167  std::vector<float> m_bin_tree_z;
168  std::vector<int> m_bin_tree_id;
169  std::vector<int> m_bin_tree_hash;
170  std::vector<int> m_bin_tree_layer;
171  std::vector<int> m_bin_tree_side;
172  std::vector<int> m_bin_tree_etamod;
173  std::vector<int> m_bin_tree_phimod;
174  std::vector<int> m_bin_tree_dettype;
175  std::vector<int> m_bin_tree_detzone;
176 
177  TTree *m_truth_tree = nullptr; // output tree
178  double m_truth_tree_phi{0.0};
179  double m_truth_tree_qOverPt{0.0};
180  double m_truth_tree_d0{0.0};
181  double m_truth_tree_z0{0.0};
182  double m_truth_tree_eta{0.0};
183  std::vector<double> m_truth_tree_parset;
184 
186  // make and register histogram or vector of histograms in one line...
187  template <typename HistType, typename... HistDef>
188  StatusCode makeAndRegHist(HistType *&ptr, HistDef... histargs)
189  {
190  ptr = new HistType(histargs...);
191  ATH_CHECK(m_tHistSvc->regHist(m_dir + ptr->GetName(), ptr));
192  return StatusCode::SUCCESS;
193  }
194 
195 
196  template <typename HistType, typename... HistDef>
197  StatusCode makeAndRegHistVector(std::vector<HistType*>& vec, unsigned len, const std::vector<std::string>* namevec, const char* namebase, HistDef... histargs)
198  {
199  if (vec.size()==0){
200  for (unsigned i = 0; i < len; i++) {
201  HistType *ptr = 0;
202  std::string name = std::string(namebase);
203  if (!namevec) {
204  name += std::to_string(i);
205  } else {
206  if (namevec->size()==len) {
207  name += (*namevec)[i];
208  } else {
209  return StatusCode::FAILURE;
210  }
211  }
212  ATH_CHECK(makeAndRegHist(ptr, name.c_str(), histargs...));
213  vec.push_back(ptr);
214  }
215  }
216  return StatusCode::SUCCESS;
217  }
218 
219  // Register a graph
220  StatusCode regGraph(TGraph *g) const { return m_tHistSvc->regGraph(m_dir + g->GetName(), g);}
221 
222  };
223 
224 #endif // FPGATrackSimLayerStudyTool_H
FPGATrackSimLayerStudyTool::m_d0pad
Gaudi::Property< double > m_d0pad
Definition: FPGATrackSimLayerStudyTool.h:86
FPGATrackSimLayerStudyTool::m_tHistSvc
ServiceHandle< ITHistSvc > m_tHistSvc
Definition: FPGATrackSimLayerStudyTool.h:76
FPGATrackSimLayerStudyTool::m_phiScale
Gaudi::Property< double > m_phiScale
Definition: FPGATrackSimLayerStudyTool.h:81
FPGATrackSimLayerStudyTool::m_phiScale_v_r
std::vector< TH2D * > m_phiScale_v_r
Definition: FPGATrackSimLayerStudyTool.h:134
FPGATrackSimLayerStudyTool::FPGATrackSimLayerStudyTool
FPGATrackSimLayerStudyTool(const std::string &, const std::string &, const IInterface *)
Definition: FPGATrackSimLayerStudyTool.cxx:23
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
FPGATrackSimLayerStudyTool::m_etapad
Gaudi::Property< double > m_etapad
Definition: FPGATrackSimLayerStudyTool.h:90
FPGATrackSimLayerStudyTool::m_etaTrueBinShift
std::vector< TH1D * > m_etaTrueBinShift
Definition: FPGATrackSimLayerStudyTool.h:130
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimLayerStudyTool::m_hitsPerLayer_bin
TH2D * m_hitsPerLayer_bin
Definition: FPGATrackSimLayerStudyTool.h:146
FPGATrackSimLayerStudyTool::m_etaScale_v_r
std::vector< TH2D * > m_etaScale_v_r
Definition: FPGATrackSimLayerStudyTool.h:135
FPGATrackSimLayerStudyTool::m_rZ_allhits
std::vector< TH2D * > m_rZ_allhits
Definition: FPGATrackSimLayerStudyTool.h:118
FPGATrackSimLayerStudyTool::m_phiResidual_v_r
std::vector< TH2D * > m_phiResidual_v_r
Definition: FPGATrackSimLayerStudyTool.h:132
FPGATrackSimTrackPars
Definition: FPGATrackSimTrackPars.h:22
FPGATrackSimLayerStudyTool::ATLAS_NOT_THREAD_SAFE
void parseTruthInfo ATLAS_NOT_THREAD_SAFE(std::vector< FPGATrackSimTruthTrack > const &truthtracks)
FPGATrackSimLayerStudyTool::m_phiResidual
std::vector< TH1D * > m_phiResidual
Definition: FPGATrackSimLayerStudyTool.h:127
FPGATrackSimLayerStudyTool::m_layerStudyTreeName
Gaudi::Property< std::string > m_layerStudyTreeName
Definition: FPGATrackSimLayerStudyTool.h:91
FPGATrackSimLayerStudyTool::truthBin
FPGATrackSimBinUtil::IdxSet & truthBin(unsigned stepnum)
Definition: FPGATrackSimLayerStudyTool.h:62
FPGATrackSimLayerStudyTool::m_truth_tree
TTree * m_truth_tree
Definition: FPGATrackSimLayerStudyTool.h:177
FPGATrackSimLayerStudyTool::m_truth_tree_eta
double m_truth_tree_eta
Definition: FPGATrackSimLayerStudyTool.h:182
FPGATrackSimLayerStudyTool::m_truthTreeName
Gaudi::Property< std::string > m_truthTreeName
Definition: FPGATrackSimLayerStudyTool.h:92
FPGATrackSimLayerStudyTool::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimLayerStudyTool.cxx:28
FPGATrackSimLayerStudyTool::m_binnedhits
const FPGATrackSimBinnedHits * m_binnedhits
Definition: FPGATrackSimLayerStudyTool.h:95
FPGATrackSimLayerStudyTool::m_truthIsValid
bool m_truthIsValid
Definition: FPGATrackSimLayerStudyTool.h:100
FPGATrackSimLayerStudyTool::bookTrees
StatusCode bookTrees()
Definition: FPGATrackSimLayerStudyTool.cxx:127
FPGATrackSimLayerStudyTool::m_bin_tree_etamod
std::vector< int > m_bin_tree_etamod
Definition: FPGATrackSimLayerStudyTool.h:172
FPGATrackSimLayerStudyTool::regGraph
StatusCode regGraph(TGraph *g) const
Definition: FPGATrackSimLayerStudyTool.h:220
FPGATrackSimLayerStudyTool::m_bin_tree_dettype
std::vector< int > m_bin_tree_dettype
Definition: FPGATrackSimLayerStudyTool.h:174
FPGATrackSimLayerStudyTool::m_bin_tree_hash
std::vector< int > m_bin_tree_hash
Definition: FPGATrackSimLayerStudyTool.h:169
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
FPGATrackSimLayerStudyTool::m_d0Dist
std::vector< TH1D * > m_d0Dist
Definition: FPGATrackSimLayerStudyTool.h:153
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
FPGATrackSimLayerStudyTool::m_truthparset
FPGATrackSimBinUtil::ParSet m_truthparset
Definition: FPGATrackSimLayerStudyTool.h:103
FPGATrackSimBinnedHits.h
Binning Classes for GenScanTool.
FPGATrackSimLayerStudyTool::sliceCheck
void sliceCheck()
FPGATrackSimLayerStudyTool::registerHistograms
StatusCode registerHistograms(const FPGATrackSimBinnedHits *binnedhits, bool skipTruth)
Definition: FPGATrackSimLayerStudyTool.cxx:46
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
FPGATrackSimLayerStudyTool::truthBin
std::vector< FPGATrackSimBinUtil::IdxSet > & truthBin()
Definition: FPGATrackSimLayerStudyTool.h:63
FPGATrackSimLayerStudyTool::fillHitLevelInput
void fillHitLevelInput(const FPGATrackSimHit *hit)
Definition: FPGATrackSimLayerStudyTool.cxx:264
FPGATrackSimLayerStudyTool::m_N_ptplot
int m_N_ptplot
Definition: FPGATrackSimLayerStudyTool.h:131
FPGATrackSimLayerStudyTool::m_truthbin
std::vector< FPGATrackSimBinUtil::IdxSet > m_truthbin
Definition: FPGATrackSimLayerStudyTool.h:102
FPGATrackSimLayerStudyTool::m_truth_tree_d0
double m_truth_tree_d0
Definition: FPGATrackSimLayerStudyTool.h:180
FPGATrackSimLayerStudyTool::m_isSingleParticle
bool m_isSingleParticle
Definition: FPGATrackSimLayerStudyTool.h:99
FPGATrackSimLayerStudyTool::m_z0pad
Gaudi::Property< double > m_z0pad
Definition: FPGATrackSimLayerStudyTool.h:89
FPGATrackSimLayerStudyTool::m_etaShift2D_road
TH2D * m_etaShift2D_road
Definition: FPGATrackSimLayerStudyTool.h:140
FPGATrackSimLayerStudyTool::m_ptDist
std::vector< TH1D * > m_ptDist
Definition: FPGATrackSimLayerStudyTool.h:150
FPGATrackSimLayerStudyTool::m_bin_tree_detzone
std::vector< int > m_bin_tree_detzone
Definition: FPGATrackSimLayerStudyTool.h:175
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimLayerStudyTool::allocateDataFlowCounters
void allocateDataFlowCounters()
FPGATrackSimLayerStudyTool::setBinPlotsActive
void setBinPlotsActive(const FPGATrackSimBinUtil::IdxSet &idx)
Definition: FPGATrackSimLayerStudyTool.cxx:374
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
FPGATrackSimLayerStudyTool::ATLAS_NOT_THREAD_SAFE
void fillBinLevelOutput ATLAS_NOT_THREAD_SAFE(const FPGATrackSimBinUtil::IdxSet &idx, const FPGATrackSimBinnedHits::BinEntry &data)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGATrackSimBinUtil.h
Binning Utilities for GenScanTool.
FPGATrackSimLayerStudyTool::m_phiTrueBinShift
std::vector< TH1D * > m_phiTrueBinShift
Definition: FPGATrackSimLayerStudyTool.h:129
FPGATrackSimLayerStudyTool::m_bin_tree_bin
std::vector< unsigned > m_bin_tree_bin
Definition: FPGATrackSimLayerStudyTool.h:165
AthAlgTool.h
FPGATrackSimLayerStudyTool::m_phiShift_road
TH1D * m_phiShift_road
Definition: FPGATrackSimLayerStudyTool.h:137
FPGATrackSimLayerStudyTool::ClearTreeVectors
void ClearTreeVectors()
Definition: FPGATrackSimLayerStudyTool.cxx:163
FPGATrackSimLayerStudyTool::m_hitsPerStepBin
std::vector< TH1D * > m_hitsPerStepBin
Definition: FPGATrackSimLayerStudyTool.h:143
FPGATrackSimLayerStudyTool::m_etaResidual
std::vector< TH1D * > m_etaResidual
Definition: FPGATrackSimLayerStudyTool.h:128
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGATrackSimLayerStudyTool::m_hitsPerLayer2D
TH2D * m_hitsPerLayer2D
Definition: FPGATrackSimLayerStudyTool.h:145
FPGATrackSimLayerStudyTool::m_etaShift_road
TH1D * m_etaShift_road
Definition: FPGATrackSimLayerStudyTool.h:138
FPGATrackSimLayerStudyTool::m_drScale
Gaudi::Property< double > m_drScale
Definition: FPGATrackSimLayerStudyTool.h:83
FPGATrackSimLayerStudyTool::makeAndRegHist
StatusCode makeAndRegHist(HistType *&ptr, HistDef... histargs)
Definition: FPGATrackSimLayerStudyTool.h:188
FPGATrackSimLayerStudyTool::m_truthpars
FPGATrackSimTrackPars m_truthpars
Definition: FPGATrackSimLayerStudyTool.h:101
FPGATrackSimBinUtil::ParSet
Definition: FPGATrackSimBinUtil.h:45
FPGATrackSimLayerStudyTool::m_bin_tree_r
std::vector< float > m_bin_tree_r
Definition: FPGATrackSimLayerStudyTool.h:166
FPGATrackSimLayerStudyTool::m_etaScale
Gaudi::Property< double > m_etaScale
Definition: FPGATrackSimLayerStudyTool.h:82
FPGATrackSimLayerStudyTool::m_bin_tree_z
std::vector< float > m_bin_tree_z
Definition: FPGATrackSimLayerStudyTool.h:167
FPGATrackSimLayerStudyTool::m_z0Dist
std::vector< TH1D * > m_z0Dist
Definition: FPGATrackSimLayerStudyTool.h:154
FPGATrackSimLayerStudyTool::m_etaResidual_v_r
std::vector< TH2D * > m_etaResidual_v_r
Definition: FPGATrackSimLayerStudyTool.h:133
SampleType::skipTruth
@ skipTruth
FPGATrackSimBinnedHits::BinEntry
Definition: FPGATrackSimBinnedHits.h:70
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
FPGATrackSimLayerStudyTool::m_truthpars_hists
TH1D * m_truthpars_hists[5]
Definition: FPGATrackSimLayerStudyTool.h:119
FPGATrackSimLayerStudyTool::m_inputHits
TH1D * m_inputHits
Definition: FPGATrackSimLayerStudyTool.h:121
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
FPGATrackSimLayerStudyTool::m_truth_tree_parset
std::vector< double > m_truth_tree_parset
Definition: FPGATrackSimLayerStudyTool.h:183
FPGATrackSimLayerStudyTool::m_binsFilledCnt
int m_binsFilledCnt
Definition: FPGATrackSimLayerStudyTool.h:123
FPGATrackSimLayerStudyTool::m_distPlotClasses
std::vector< std::string > m_distPlotClasses
Definition: FPGATrackSimLayerStudyTool.h:149
FPGATrackSimLayerStudyTool::m_truth_tree_z0
double m_truth_tree_z0
Definition: FPGATrackSimLayerStudyTool.h:181
FPGATrackSimLayerStudyTool::m_bin_tree_id
std::vector< int > m_bin_tree_id
Definition: FPGATrackSimLayerStudyTool.h:168
FPGATrackSimLayerStudyTool::m_phiShift2D_road
TH2D * m_phiShift2D_road
Definition: FPGATrackSimLayerStudyTool.h:139
FPGATrackSimLayerStudyTool::m_qptpad
Gaudi::Property< double > m_qptpad
Definition: FPGATrackSimLayerStudyTool.h:88
FPGATrackSimLayerStudyTool
Definition: FPGATrackSimLayerStudyTool.h:40
FPGATrackSimLayerStudyTool::ATLAS_NOT_THREAD_SAFE
void fillBinningSummary ATLAS_NOT_THREAD_SAFE(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits)
FPGATrackSimLayerStudyTool::m_bin_tree_side
std::vector< int > m_bin_tree_side
Definition: FPGATrackSimLayerStudyTool.h:171
FPGATrackSimLayerStudyTool::m_bin_tree_phimod
std::vector< int > m_bin_tree_phimod
Definition: FPGATrackSimLayerStudyTool.h:173
FPGATrackSimLayerStudyTool::m_etaDist
std::vector< TH1D * > m_etaDist
Definition: FPGATrackSimLayerStudyTool.h:151
FPGATrackSimLayerStudyTool::m_truth_tree_qOverPt
double m_truth_tree_qOverPt
Definition: FPGATrackSimLayerStudyTool.h:179
FPGATrackSimLayerStudyTool::m_dir
Gaudi::Property< std::string > m_dir
Definition: FPGATrackSimLayerStudyTool.h:80
FPGATrackSimLayerStudyTool::m_phipad
Gaudi::Property< double > m_phipad
Definition: FPGATrackSimLayerStudyTool.h:87
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
FPGATrackSimLayerStudyTool::m_truth_tree_phi
double m_truth_tree_phi
Definition: FPGATrackSimLayerStudyTool.h:178
FPGATrackSimLayerStudyTool::dir
const std::string dir() const
Definition: FPGATrackSimLayerStudyTool.h:57
FPGATrackSimLayerStudyTool::m_plotAllBins
Gaudi::Property< bool > m_plotAllBins
Definition: FPGATrackSimLayerStudyTool.h:84
FPGATrackSimLayerStudyTool::resetDataFlowCounters
void resetDataFlowCounters()
FPGATrackSimLayerStudyTool::makeAndRegHistVector
StatusCode makeAndRegHistVector(std::vector< HistType * > &vec, unsigned len, const std::vector< std::string > *namevec, const char *namebase, HistDef... histargs)
Definition: FPGATrackSimLayerStudyTool.h:197
AthAlgTool
Definition: AthAlgTool.h:26
FPGATrackSimLayerStudyTool::m_binsFilled
TH1D * m_binsFilled
Definition: FPGATrackSimLayerStudyTool.h:124
FPGATrackSimBinUtil::IdxSet
Definition: FPGATrackSimBinUtil.h:50
FPGATrackSimTruthTrack.h
FPGATrackSimLayerStudyTool::m_bin_tree_layer
std::vector< int > m_bin_tree_layer
Definition: FPGATrackSimLayerStudyTool.h:170
FPGATrackSimTrackPars.h
Structs that store the 5 track parameters.
FPGATrackSimLayerStudyTool::m_bin_tree
TTree * m_bin_tree
Definition: FPGATrackSimLayerStudyTool.h:164
FPGATrackSimLayerStudyTool::m_phiDist
std::vector< TH1D * > m_phiDist
Definition: FPGATrackSimLayerStudyTool.h:152
FPGATrackSimLayerStudyTool::m_binPlotsActive
bool m_binPlotsActive
Definition: FPGATrackSimLayerStudyTool.h:111
FPGATrackSimBinnedHits
Definition: FPGATrackSimBinnedHits.h:50
ServiceHandle< ITHistSvc >
FPGATrackSimLayerStudyTool::m_hitsPerLayer
TH1D * m_hitsPerLayer
Definition: FPGATrackSimLayerStudyTool.h:144