ATLAS Offline Software
FPGATrackSimGenScanMonitoring.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef FPGATrackSimGenScanMonitoring_H
4 #define FPGATrackSimGenScanMonitoring_H
5 
19 #include "GaudiKernel/ServiceHandle.h"
20 #include "GaudiKernel/ITHistSvc.h"
22 
23 #include "TGraph.h"
24 class TH1D;
25 class TH2D;
26 
30 
33 
34 
35 
37  {
38  public:
39 
41  // AthAlgTool
42 
43  FPGATrackSimGenScanMonitoring(const std::string &, const std::string &, const IInterface *);
44 
45  virtual StatusCode initialize() override;
46 
47  // This is done at the start of execution to create all the graphs
48  // ... also stores some of the configuration parameters for later use
50  double rin, double rout);
52  void resetDataFlowCounters();
53 
54  // This is done at the end of event execution to store any graphs that were created
56 
57  // Simple accessors for directory
58  const std::string dir() const {return m_dir;}
59 
60  // Takes the truthtracks as input and parses it into a useful form for later use
61  // (e.g. stores which bin the true track is in)
62  void parseTruthInfo(std::vector<FPGATrackSimTruthTrack> const * truthtracks, bool isSingleParticle,
63  const FPGATrackSimGenScanArray<int>& validBin);
64 
65 
66  // Fill methods
67  void fillHitLevelInput(const FPGATrackSimHit* hit);
70  const std::vector<std::vector<const FPGATrackSimGenScanTool::StoredHit *> >& hitsByLayer);
71  void fillPairingHits(std::vector<const FPGATrackSimGenScanTool::StoredHit *> const *lastlyr,
72  std::vector<const FPGATrackSimGenScanTool::StoredHit *> const *lastlastlyr);
74  void fillPairSetFilterCut(std::vector<TH1D *> &histset, double val,
76  const FPGATrackSimGenScanTool::HitPair &lastpair,
77  bool nminus1);
78 
79 
80  void fillInputSummary(const std::vector<std::shared_ptr<const FPGATrackSimHit>> &hits,
81  const FPGATrackSimGenScanArray<int> &validSlice,
82  const FPGATrackSimGenScanArray<int> &validScan);
83  void fillOutputSummary(const FPGATrackSimGenScanArray<int>& validSlice,
84  const FPGATrackSimGenScanArray<int>& validSliceAndScan);
85 
86  void fillBuildGroupsWithPairs(const std::vector<FPGATrackSimGenScanTool::IntermediateState>& states, unsigned allowed_misses);
87 
88  // Counter Increments
89  void incrementInputPerSlice(const std::vector<unsigned>& sliceidx) { m_inputhitsperslice[sliceidx]++; }
91  const std::pair<unsigned, unsigned>& rowRange, const FPGATrackSimHit* hit);
92 
93  // Error Checks
94  void sliceCheck(const std::vector<unsigned>& sliceidx);
96  const FPGATrackSimGenScanTool::HitPairSet& filteredpairs,
97  bool passedPairFilter);
98  void pairSetFilterCheck(
99  const FPGATrackSimGenScanTool::HitPairSet &filteredpairs,
100  const std::vector<FPGATrackSimGenScanTool::HitPairSet> &pairsets,
101  unsigned threshold);
102 
103  private:
105  // Handles
106  ServiceHandle<ITHistSvc> m_tHistSvc{this, "THistSvc", "THistSvc"};
107 
109  // Properties
110  Gaudi::Property<std::string> m_dir{this, "dir", {"/GENSCAN/"}, "String name of output directory"};
111 
113  // Other configuration
114  unsigned m_nLayers = 0;
116  double m_rin=0.0;
117  double m_rout=0.0;
118 
120  // Parsed truth/info
121  std::vector<FPGATrackSimTruthTrack> const *m_truthtracks{nullptr};
122  bool m_isSingleParticle = false;
123  bool m_truthIsValid = false;
127 
128  // plots are only filled for the truth bin if single particle sample
129  // this gives the distributions of the cut variables when they are
130  // reconstructed in the right bin
133  // this flag governs if pair filter and pairset filter plots filled
134  bool m_binPlotsActive = false;
135 
137  // Data Flow Counters
138  std::vector<unsigned> m_hitsCntByLayer;
139 
142 
146 
148  // Histograms
149  std::vector<TH2D *> m_rZ_allhits;
150  TH1D *m_truthpars_hists[5] = {0, 0, 0, 0, 0};
151  std::vector<TH1D *> m_phiResidual;
152  std::vector<TH1D *> m_etaResidual;
153  std::vector<TH1D *> m_phiTrueBinShift;
154  std::vector<TH1D *> m_etaTrueBinShift;
155 
156  TH1D *m_inputHits = 0;
159 
160  TH1D *m_inputHitsPerRow = 0;
164 
165  TH2D *m_hitsPerLayer2D = 0;
166  TH1D *m_hitsPerLayer = 0;
167  TH1D *m_hitsLoadedPerLayer = 0; // loaded in row
168 
169  TH1D *m_hitLyrsAllBins = 0;
170 
171  TH1D *m_phiShift_road = 0;
172  TH1D *m_etaShift_road = 0;
173  TH2D *m_phiShift2D_road = 0;
174  TH2D *m_etaShift2D_road = 0;
176 
177  TH1D *m_pairs = 0;
178  TH1D *m_filteredpairs = 0;
179  TH1D *m_pairsets = 0;
180 
181  // Build Pairs with Groups
182  TH2D* m_unpairedHits = 0;
183  TH2D* m_pairsetsIncr = 0;
184  TH2D* m_pairsetsHits = 0;
185  TH2D* m_binStagesIncr = 0;
186  TH2D* m_totalInputIncr = 0;
187 
188  TH1D *m_pairinghits = 0;
189 
190  TH1D *m_roadFilterFlow = 0;
191 
192  TH1D *m_deltaPhi = 0;
193  TH1D *m_deltaEta = 0;
194  TH1D *m_deltaPhiDR = 0;
195  TH1D *m_deltaEtaDR = 0;
196  TH1D *m_phiOutExtrap = 0;
197  TH1D *m_phiInExtrap = 0;
200  TH1D *m_etaOutExtrap = 0;
201  TH1D *m_etaInExtrap = 0;
202  std::vector<TH1D *> m_deltaPhiByLyr;
203  std::vector<TH1D *> m_deltaEtaByLyr;
204 
205  // This classifies a pair of pairs into categories (described by m_twoPairClasses)
206  // for plotting the pair matching variables
207  // an extra category is tacked on the end to make n-1 plots
208  unsigned pairpairCategory(
210  const FPGATrackSimGenScanTool::HitPair &lastpair) const;
211  const static inline std::vector<std::string> m_twoPairClasses = {
212  "", "_same", "_sequential", "_sameend", "_skip1", "_skip2", "_nm1"};
213  unsigned m_nminus1_idx = 6;
214 
215  public:
216  // These are exposed because of the fill mechanism
217  // FGPATrackSimGenScanTool needs to be pointers to all
218  // of them (not worth writing a bunch of accessors)
219  std::vector<TH1D *> m_deltaDeltaPhi;
220  std::vector<TH1D *> m_deltaDeltaEta;
221  std::vector<TH1D *> m_pairSetMatchPhi;
222  std::vector<TH1D *> m_pairSetMatchEta;
223  std::vector<TH1D *> m_phiCurvature;
224  std::vector<TH1D *> m_etaCurvature;
225  std::vector<TH1D *> m_deltaPhiCurvature;
226  std::vector<TH1D *> m_deltaEtaCurvature;
227  std::vector<TH1D *> m_phiCurvatureMax;
228  std::vector<TH1D *> m_etaCurvatureMax;
229  std::vector<TH1D *> m_phiInExtrapCurved;
230  std::vector<TH1D *> m_phiOutExtrapCurved;
231 
232  private:
233  TH2D *m_pairMatchPhi2D = 0;
234  TH2D *m_pairMatchEta2D = 0;
235 
237  // Event Displays
238 
239  // this struct creates, stores, and fills a set of TGraphs
240  // that act as event displays saving hits in 2-d plane variables
241  // both the standard FPGATrackSimHit R-Z and X-Y are saved,
242  // and for StoredHits in bins, R-Phi and R-Eta are stored using
243  // the FPGATrackSimGenScanTool phiShift and etaShift variables
244  // to show the distance from the bin's center to the hit
245  struct eventDispSet {
246  eventDispSet(std::string name, int maxevts)
247  : m_name(name), m_maxEvts(maxevts) {}
248 
249  TGraph *initGraph(const std::string &name);
250  void AddPoint(TGraph *g, double x, double y);
251 
252  void addEvent(const std::vector<std::shared_ptr<const FPGATrackSimHit>> &hits);
253  void addEvent(const std::vector<FPGATrackSimGenScanTool::StoredHit> &hits);
254  void addEvent(const std::vector<const FPGATrackSimGenScanTool::StoredHit *> &hits);
255 
257 
258  private:
259  const std::string m_name;
260  const unsigned m_maxEvts;
261 
262  std::vector<TGraph *> m_rZ; // detector coordinates
263  std::vector<TGraph *> m_xY; // detector coordinates
264  std::vector<TGraph *> m_rEta; // road coordinates
265  std::vector<TGraph *> m_rPhi; // road coordinates
266  };
267 
268  // Instantiate event displays for various points in the logical flow
269  eventDispSet m_allHitsGraph{std::string("allHits"), 10};
270  eventDispSet m_roadGraph{std::string("road"), 10};
271  eventDispSet m_lostPairFilterGraph{std::string("lostpairfilter"), 10};
272  eventDispSet m_passPairFilterGraph{std::string("passpairfilter"), 10};
273  eventDispSet m_lostPairSetFilterGraph{std::string("lostpairsetfilter"), 10};
274  eventDispSet m_passPairSetFilterGraph{std::string("passpairsetfilter"), 10};
275 
277  // make and register histogram or vector of histograms in one line...
278  template <typename HistType, typename... HistDef>
279  StatusCode makeAndRegHist(HistType *&ptr, HistDef... histargs)
280  {
281  ptr = new HistType(histargs...);
282  ATH_CHECK(m_tHistSvc->regHist(m_dir + ptr->GetName(), ptr));
283  return StatusCode::SUCCESS;
284  }
285 
286 
287  template <typename HistType, typename... HistDef>
288  StatusCode makeAndRegHistVector(std::vector<HistType*>& vec, unsigned len, const std::vector<std::string>* namevec, const char* namebase, HistDef... histargs)
289  {
290  if (vec.size()==0){
291  for (unsigned i = 0; i < len; i++) {
292  HistType *ptr = 0;
293  std::string name = std::string(namebase);
294  if (!namevec) {
295  name += std::to_string(i);
296  } else {
297  if (namevec->size()==len) {
298  name += (*namevec)[i];
299  } else {
300  return StatusCode::FAILURE;
301  }
302  }
303  ATH_CHECK(makeAndRegHist(ptr, name.c_str(), histargs...));
304  vec.push_back(ptr);
305  }
306  }
307  return StatusCode::SUCCESS;
308  }
309 
310  // Register a graph
311  StatusCode regGraph(TGraph *g) const { return m_tHistSvc->regGraph(m_dir + g->GetName(), g);}
312 
313  };
314 
315 #endif // FPGATrackSimGenScanMonitoring_H
FPGATrackSimGenScanMonitoring::m_truthpars_hists
TH1D * m_truthpars_hists[5]
Definition: FPGATrackSimGenScanMonitoring.h:150
FPGATrackSimGenScanMonitoring::parseTruthInfo
void parseTruthInfo(std::vector< FPGATrackSimTruthTrack > const *truthtracks, bool isSingleParticle, const FPGATrackSimGenScanArray< int > &validBin)
Definition: FPGATrackSimGenScanMonitoring.cxx:371
FPGATrackSimGenScanMonitoring::fillOutputSummary
void fillOutputSummary(const FPGATrackSimGenScanArray< int > &validSlice, const FPGATrackSimGenScanArray< int > &validSliceAndScan)
Definition: FPGATrackSimGenScanMonitoring.cxx:349
FPGATrackSimGenScanMonitoring::m_deltaEta
TH1D * m_deltaEta
Definition: FPGATrackSimGenScanMonitoring.h:193
FPGATrackSimGenScanMonitoring::m_phiInExtrapCurveLimit
TH1D * m_phiInExtrapCurveLimit
Definition: FPGATrackSimGenScanMonitoring.h:199
FPGATrackSimGenScanMonitoring::m_phiShift_road
TH1D * m_phiShift_road
Definition: FPGATrackSimGenScanMonitoring.h:171
FPGATrackSimGenScanMonitoring::fillBuildGroupsWithPairs
void fillBuildGroupsWithPairs(const std::vector< FPGATrackSimGenScanTool::IntermediateState > &states, unsigned allowed_misses)
Definition: FPGATrackSimGenScanMonitoring.cxx:558
FPGATrackSimGenScanArray< int >
FPGATrackSimGenScanMonitoring::m_truthtracks
std::vector< FPGATrackSimTruthTrack > const * m_truthtracks
Definition: FPGATrackSimGenScanMonitoring.h:121
FPGATrackSimGenScanMonitoring::m_totalInputIncr
TH2D * m_totalInputIncr
Definition: FPGATrackSimGenScanMonitoring.h:186
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
FPGATrackSimGenScanMonitoring::m_inputhitsperrow
FPGATrackSimGenScanArray< int > m_inputhitsperrow
Definition: FPGATrackSimGenScanMonitoring.h:141
FPGATrackSimGenScanMonitoring::pairFilterCheck
void pairFilterCheck(const FPGATrackSimGenScanTool::HitPairSet &pairs, const FPGATrackSimGenScanTool::HitPairSet &filteredpairs, bool passedPairFilter)
Definition: FPGATrackSimGenScanMonitoring.cxx:282
FPGATrackSimGenScanBinningBase::IdxSet
Definition: FPGATrackSimGenScanBinning.h:100
FPGATrackSimGenScanMonitoring::eventDispSet::initGraph
TGraph * initGraph(const std::string &name)
Definition: FPGATrackSimGenScanMonitoring.cxx:579
FPGATrackSimGenScanMonitoring::m_lostPairSetFilterGraph
eventDispSet m_lostPairSetFilterGraph
Definition: FPGATrackSimGenScanMonitoring.h:273
FPGATrackSimGenScanMonitoring::m_binStagesIncr
TH2D * m_binStagesIncr
Definition: FPGATrackSimGenScanMonitoring.h:185
AddEmptyComponent.binning
binning
Definition: AddEmptyComponent.py:34
FPGATrackSimGenScanMonitoring::m_deltaEtaByLyr
std::vector< TH1D * > m_deltaEtaByLyr
Definition: FPGATrackSimGenScanMonitoring.h:203
FPGATrackSimGenScanMonitoring::m_outputRoadsPerRow
TH1D * m_outputRoadsPerRow
Definition: FPGATrackSimGenScanMonitoring.h:162
FPGATrackSimGenScanMonitoring::m_dir
Gaudi::Property< std::string > m_dir
Definition: FPGATrackSimGenScanMonitoring.h:110
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimGenScanMonitoring::m_pairsetsHits
TH2D * m_pairsetsHits
Definition: FPGATrackSimGenScanMonitoring.h:184
FPGATrackSimGenScanMonitoring::m_phiOutExtrapCurveLimit
TH1D * m_phiOutExtrapCurveLimit
Definition: FPGATrackSimGenScanMonitoring.h:198
FPGATrackSimGenScanTool.h
Implements a generalized 5d scan which filters pair of hits in bins linearized about nominal trajecto...
FPGATrackSimGenScanMonitoring::m_deltaEtaDR
TH1D * m_deltaEtaDR
Definition: FPGATrackSimGenScanMonitoring.h:195
FPGATrackSimGenScanMonitoring::m_phiTrueBinShift
std::vector< TH1D * > m_phiTrueBinShift
Definition: FPGATrackSimGenScanMonitoring.h:153
FPGATrackSimGenScanMonitoring::m_phiCurvature
std::vector< TH1D * > m_phiCurvature
Definition: FPGATrackSimGenScanMonitoring.h:223
FPGATrackSimGenScanMonitoring::m_etaResidual
std::vector< TH1D * > m_etaResidual
Definition: FPGATrackSimGenScanMonitoring.h:152
FPGATrackSimGenScanMonitoring::regGraph
StatusCode regGraph(TGraph *g) const
Definition: FPGATrackSimGenScanMonitoring.h:311
FPGATrackSimGenScanMonitoring::makeAndRegHist
StatusCode makeAndRegHist(HistType *&ptr, HistDef... histargs)
Definition: FPGATrackSimGenScanMonitoring.h:279
FPGATrackSimTrackPars
Definition: FPGATrackSimTrackPars.h:22
FPGATrackSimGenScanMonitoring::m_lostPairFilterGraph
eventDispSet m_lostPairFilterGraph
Definition: FPGATrackSimGenScanMonitoring.h:271
FPGATrackSimGenScanMonitoring::m_outputroadsperrow
FPGATrackSimGenScanArray< int > m_outputroadsperrow
Definition: FPGATrackSimGenScanMonitoring.h:145
FPGATrackSimGenScanMonitoring::allocateDataFlowCounters
void allocateDataFlowCounters()
Definition: FPGATrackSimGenScanMonitoring.cxx:184
FPGATrackSimGenScanMonitoring::m_pairSetMatchEta
std::vector< TH1D * > m_pairSetMatchEta
Definition: FPGATrackSimGenScanMonitoring.h:222
FPGATrackSimGenScanMonitoring::m_hitsLoadedPerLayer
TH1D * m_hitsLoadedPerLayer
Definition: FPGATrackSimGenScanMonitoring.h:167
FPGATrackSimGenScanBinningBase::ParSet
Definition: FPGATrackSimGenScanBinning.h:90
FPGATrackSimGenScanMonitoring::setBinPlotsActive
void setBinPlotsActive(const FPGATrackSimGenScanBinningBase::IdxSet &idx)
Definition: FPGATrackSimGenScanMonitoring.h:131
FPGATrackSimGenScanMonitoring::m_pairs
TH1D * m_pairs
Definition: FPGATrackSimGenScanMonitoring.h:177
FPGATrackSimGenScanMonitoring::makeAndRegHistVector
StatusCode makeAndRegHistVector(std::vector< HistType * > &vec, unsigned len, const std::vector< std::string > *namevec, const char *namebase, HistDef... histargs)
Definition: FPGATrackSimGenScanMonitoring.h:288
FPGATrackSimGenScanMonitoring::eventDispSet::registerGraphs
StatusCode registerGraphs(FPGATrackSimGenScanMonitoring *parent)
Definition: FPGATrackSimGenScanMonitoring.cxx:645
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
FPGATrackSimGenScanMonitoring::incrementInputPerScan
void incrementInputPerScan(const FPGATrackSimGenScanBinningBase::IdxSet &idx, const std::pair< unsigned, unsigned > &rowRange, const FPGATrackSimHit *hit)
Definition: FPGATrackSimGenScanMonitoring.cxx:307
FPGATrackSimGenScanMonitoring::resetDataFlowCounters
void resetDataFlowCounters()
Definition: FPGATrackSimGenScanMonitoring.cxx:196
FPGATrackSimGenScanMonitoring::m_rZ_allhits
std::vector< TH2D * > m_rZ_allhits
Definition: FPGATrackSimGenScanMonitoring.h:149
FPGATrackSimGenScanMonitoring::m_nLayers
unsigned m_nLayers
Definition: FPGATrackSimGenScanMonitoring.h:114
FPGATrackSimGenScanMonitoring::m_pairMatchEta2D
TH2D * m_pairMatchEta2D
Definition: FPGATrackSimGenScanMonitoring.h:234
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
x
#define x
FPGATrackSimGenScanMonitoring::m_etaOutExtrap
TH1D * m_etaOutExtrap
Definition: FPGATrackSimGenScanMonitoring.h:200
FPGATrackSimGenScanMonitoring::m_etaCurvature
std::vector< TH1D * > m_etaCurvature
Definition: FPGATrackSimGenScanMonitoring.h:224
FPGATrackSimGenScanMonitoring::m_phiCurvatureMax
std::vector< TH1D * > m_phiCurvatureMax
Definition: FPGATrackSimGenScanMonitoring.h:227
FPGATrackSimGenScanMonitoring::m_roadGraph
eventDispSet m_roadGraph
Definition: FPGATrackSimGenScanMonitoring.h:270
FPGATrackSimGenScanMonitoring::m_phiInExtrapCurved
std::vector< TH1D * > m_phiInExtrapCurved
Definition: FPGATrackSimGenScanMonitoring.h:229
FPGATrackSimGenScanMonitoring::eventDispSet::m_xY
std::vector< TGraph * > m_xY
Definition: FPGATrackSimGenScanMonitoring.h:263
FPGATrackSimGenScanMonitoring::m_tHistSvc
ServiceHandle< ITHistSvc > m_tHistSvc
Definition: FPGATrackSimGenScanMonitoring.h:106
FPGATrackSimGenScanMonitoring::m_phiInExtrap
TH1D * m_phiInExtrap
Definition: FPGATrackSimGenScanMonitoring.h:197
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
python.CreateTierZeroArgdict.pairs
pairs
Definition: CreateTierZeroArgdict.py:201
FPGATrackSimGenScanBinning.h
Binning Classes for GenScanTool.
FPGATrackSimGenScanMonitoring::eventDispSet::eventDispSet
eventDispSet(std::string name, int maxevts)
Definition: FPGATrackSimGenScanMonitoring.h:246
FPGATrackSimGenScanMonitoring::m_etaCurvatureMax
std::vector< TH1D * > m_etaCurvatureMax
Definition: FPGATrackSimGenScanMonitoring.h:228
FPGATrackSimGenScanMonitoring::initialize
virtual StatusCode initialize() override
Definition: FPGATrackSimGenScanMonitoring.cxx:19
FPGATrackSimGenScanMonitoring::dir
const std::string dir() const
Definition: FPGATrackSimGenScanMonitoring.h:58
FPGATrackSimGenScanMonitoring::m_truthbin
FPGATrackSimGenScanBinningBase::IdxSet m_truthbin
Definition: FPGATrackSimGenScanMonitoring.h:125
FPGATrackSimGenScanMonitoring::m_pairsetsIncr
TH2D * m_pairsetsIncr
Definition: FPGATrackSimGenScanMonitoring.h:183
FPGATrackSimGenScanMonitoring::m_inputhitsperslice
FPGATrackSimGenScanArray< int > m_inputhitsperslice
Definition: FPGATrackSimGenScanMonitoring.h:140
FPGATrackSimGenScanMonitoring::eventDispSet::addEvent
void addEvent(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits)
Definition: FPGATrackSimGenScanMonitoring.cxx:591
FPGATrackSimGenScanMonitoring::m_deltaPhi
TH1D * m_deltaPhi
Definition: FPGATrackSimGenScanMonitoring.h:192
FPGATrackSimGenScanMonitoring::m_phiShift2D_road
TH2D * m_phiShift2D_road
Definition: FPGATrackSimGenScanMonitoring.h:173
FPGATrackSimGenScanMonitoring::m_deltaDeltaEta
std::vector< TH1D * > m_deltaDeltaEta
Definition: FPGATrackSimGenScanMonitoring.h:220
FPGATrackSimGenScanMonitoring::fillHitLevelInput
void fillHitLevelInput(const FPGATrackSimHit *hit)
Definition: FPGATrackSimGenScanMonitoring.cxx:255
FPGATrackSimGenScanMonitoring::m_allHitsGraph
eventDispSet m_allHitsGraph
Definition: FPGATrackSimGenScanMonitoring.h:269
FPGATrackSimGenScanMonitoring::m_etaTrueBinShift
std::vector< TH1D * > m_etaTrueBinShift
Definition: FPGATrackSimGenScanMonitoring.h:154
FPGATrackSimGenScanMonitoring::eventDispSet
Definition: FPGATrackSimGenScanMonitoring.h:245
FPGATrackSimGenScanMonitoring::m_phiResidual
std::vector< TH1D * > m_phiResidual
Definition: FPGATrackSimGenScanMonitoring.h:151
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimGenScanMonitoring
Definition: FPGATrackSimGenScanMonitoring.h:37
FPGATrackSimGenScanMonitoring::m_filteredpairs
TH1D * m_filteredpairs
Definition: FPGATrackSimGenScanMonitoring.h:178
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
FPGATrackSimGenScanMonitoring::m_binPlotsActive
bool m_binPlotsActive
Definition: FPGATrackSimGenScanMonitoring.h:134
FPGATrackSimGenScanMonitoring::m_hitLyrsAllBins
TH1D * m_hitLyrsAllBins
Definition: FPGATrackSimGenScanMonitoring.h:169
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGATrackSimGenScanMonitoring::m_deltaPhiDR
TH1D * m_deltaPhiDR
Definition: FPGATrackSimGenScanMonitoring.h:194
FPGATrackSimGenScanMonitoring::eventDispSet::m_rZ
std::vector< TGraph * > m_rZ
Definition: FPGATrackSimGenScanMonitoring.h:262
urldecode::states
states
Definition: urldecode.h:39
FPGATrackSimGenScanMonitoring::m_inputHitsPerSlice
TH1D * m_inputHitsPerSlice
Definition: FPGATrackSimGenScanMonitoring.h:157
AthAlgTool.h
FPGATrackSimGenScanMonitoring::m_etaShift2D_road
TH2D * m_etaShift2D_road
Definition: FPGATrackSimGenScanMonitoring.h:174
FPGATrackSimGenScanMonitoring::m_pairsets
TH1D * m_pairsets
Definition: FPGATrackSimGenScanMonitoring.h:179
FPGATrackSimGenScanMonitoring::m_hitsCntByLayer
std::vector< unsigned > m_hitsCntByLayer
Definition: FPGATrackSimGenScanMonitoring.h:138
FPGATrackSimGenScanTool::HitPairSet
Definition: FPGATrackSimGenScanTool.h:254
test_pyathena.parent
parent
Definition: test_pyathena.py:15
FPGATrackSimGenScanMonitoring::fillPairSetFilterCut
void fillPairSetFilterCut(std::vector< TH1D * > &histset, double val, const FPGATrackSimGenScanTool::HitPair &pair, const FPGATrackSimGenScanTool::HitPair &lastpair, bool nminus1)
Definition: FPGATrackSimGenScanMonitoring.cxx:526
FPGATrackSimGenScanMonitoring::m_pairSetMatchPhi
std::vector< TH1D * > m_pairSetMatchPhi
Definition: FPGATrackSimGenScanMonitoring.h:221
FPGATrackSimGenScanMonitoring::m_isSingleParticle
bool m_isSingleParticle
Definition: FPGATrackSimGenScanMonitoring.h:122
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
FPGATrackSimGenScanMonitoring::m_outputHitsPerRow
TH1D * m_outputHitsPerRow
Definition: FPGATrackSimGenScanMonitoring.h:161
FPGATrackSimGenScanMonitoring::m_etaInExtrap
TH1D * m_etaInExtrap
Definition: FPGATrackSimGenScanMonitoring.h:201
FPGATrackSimGenScanMonitoring::m_truthparset
FPGATrackSimGenScanBinningBase::ParSet m_truthparset
Definition: FPGATrackSimGenScanMonitoring.h:126
MC::isSingleParticle
bool isSingleParticle(const T &p)
Identify a particlegun particle.
Definition: HepMCHelpers.h:74
FPGATrackSimGenScanMonitoring::incrementInputPerSlice
void incrementInputPerSlice(const std::vector< unsigned > &sliceidx)
Definition: FPGATrackSimGenScanMonitoring.h:89
FPGATrackSimGenScanMonitoring::m_inputHits
TH1D * m_inputHits
Definition: FPGATrackSimGenScanMonitoring.h:156
FPGATrackSimGenScanMonitoring::m_outputHitsPerBin
TH1D * m_outputHitsPerBin
Definition: FPGATrackSimGenScanMonitoring.h:163
FPGATrackSimGenScanMonitoring::m_phiOutExtrapCurved
std::vector< TH1D * > m_phiOutExtrapCurved
Definition: FPGATrackSimGenScanMonitoring.h:230
FPGATrackSimGenScanMonitoring::m_inputHitsPerRow
TH1D * m_inputHitsPerRow
Definition: FPGATrackSimGenScanMonitoring.h:160
FPGATrackSimGenScanMonitoring::m_truthpars
FPGATrackSimTrackPars m_truthpars
Definition: FPGATrackSimGenScanMonitoring.h:124
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
FPGATrackSimGenScanMonitoring::pairpairCategory
unsigned pairpairCategory(const FPGATrackSimGenScanTool::HitPair &pair, const FPGATrackSimGenScanTool::HitPair &lastpair) const
Definition: FPGATrackSimGenScanMonitoring.cxx:479
FPGATrackSimGenScanMonitoring::m_passPairFilterGraph
eventDispSet m_passPairFilterGraph
Definition: FPGATrackSimGenScanMonitoring.h:272
threshold
Definition: chainparser.cxx:74
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
FPGATrackSimGenScanMonitoring::eventDispSet::AddPoint
void AddPoint(TGraph *g, double x, double y)
Definition: FPGATrackSimGenScanMonitoring.cxx:586
FPGATrackSimGenScanMonitoring::fillPairingHits
void fillPairingHits(std::vector< const FPGATrackSimGenScanTool::StoredHit * > const *lastlyr, std::vector< const FPGATrackSimGenScanTool::StoredHit * > const *lastlastlyr)
Definition: FPGATrackSimGenScanMonitoring.cxx:437
FPGATrackSimGenScanMonitoring::registerHistograms
StatusCode registerHistograms(unsigned nLayers, const FPGATrackSimGenScanBinningBase *binning, double rin, double rout)
Definition: FPGATrackSimGenScanMonitoring.cxx:35
FPGATrackSimGenScanMonitoring::m_passPairSetFilterGraph
eventDispSet m_passPairSetFilterGraph
Definition: FPGATrackSimGenScanMonitoring.h:274
FPGATrackSimGenScanMonitoring::m_pairMatchPhi2D
TH2D * m_pairMatchPhi2D
Definition: FPGATrackSimGenScanMonitoring.h:233
FPGATrackSimGenScanMonitoring::registerGraphs
StatusCode registerGraphs()
Definition: FPGATrackSimGenScanMonitoring.cxx:210
FPGATrackSimGenScanMonitoring::fillInputSummary
void fillInputSummary(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits, const FPGATrackSimGenScanArray< int > &validSlice, const FPGATrackSimGenScanArray< int > &validScan)
Definition: FPGATrackSimGenScanMonitoring.cxx:322
FPGATrackSimGenScanMonitoring::m_rin
double m_rin
Definition: FPGATrackSimGenScanMonitoring.h:116
FPGATrackSimGenScanMonitoring::m_nminus1_idx
unsigned m_nminus1_idx
Definition: FPGATrackSimGenScanMonitoring.h:213
FPGATrackSimGenScanMonitoring::m_deltaPhiByLyr
std::vector< TH1D * > m_deltaPhiByLyr
Definition: FPGATrackSimGenScanMonitoring.h:202
FPGATrackSimGenScanMonitoring::m_hitsPerLayer2D
TH2D * m_hitsPerLayer2D
Definition: FPGATrackSimGenScanMonitoring.h:165
FPGATrackSimGenScanTool::HitPair
Definition: FPGATrackSimGenScanTool.h:221
FPGATrackSimGenScanMonitoring::eventDispSet::m_rEta
std::vector< TGraph * > m_rEta
Definition: FPGATrackSimGenScanMonitoring.h:264
FPGATrackSimGenScanMonitoring::eventDispSet::m_maxEvts
const unsigned m_maxEvts
Definition: FPGATrackSimGenScanMonitoring.h:260
y
#define y
FPGATrackSimGenScanMonitoring::m_roadFilterFlow
TH1D * m_roadFilterFlow
Definition: FPGATrackSimGenScanMonitoring.h:190
FPGATrackSimGenScanMonitoring::eventDispSet::m_rPhi
std::vector< TGraph * > m_rPhi
Definition: FPGATrackSimGenScanMonitoring.h:265
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
FPGATrackSimGenScanMonitoring::m_deltaEtaCurvature
std::vector< TH1D * > m_deltaEtaCurvature
Definition: FPGATrackSimGenScanMonitoring.h:226
FPGATrackSimGenScanMonitoring::m_binning
const FPGATrackSimGenScanBinningBase * m_binning
Definition: FPGATrackSimGenScanMonitoring.h:115
FPGATrackSimGenScanMonitoring::m_outputhitsperrow
FPGATrackSimGenScanArray< int > m_outputhitsperrow
Definition: FPGATrackSimGenScanMonitoring.h:144
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
FPGATrackSimGenScanMonitoring::m_pairinghits
TH1D * m_pairinghits
Definition: FPGATrackSimGenScanMonitoring.h:188
FPGATrackSimGenScanMonitoring::fillBinLevelOutput
void fillBinLevelOutput(const FPGATrackSimGenScanBinningBase::IdxSet &idx, const FPGATrackSimGenScanTool::BinEntry &data, const std::vector< std::vector< const FPGATrackSimGenScanTool::StoredHit * > > &hitsByLayer)
Definition: FPGATrackSimGenScanMonitoring.cxx:227
FPGATrackSimGenScanMonitoring::m_outputhitsperslice
FPGATrackSimGenScanArray< int > m_outputhitsperslice
Definition: FPGATrackSimGenScanMonitoring.h:143
FPGATrackSimGenScanMonitoring::sliceCheck
void sliceCheck(const std::vector< unsigned > &sliceidx)
Definition: FPGATrackSimGenScanMonitoring.cxx:275
FPGATrackSimGenScanMonitoring::FPGATrackSimGenScanMonitoring
FPGATrackSimGenScanMonitoring(const std::string &, const std::string &, const IInterface *)
Definition: FPGATrackSimGenScanMonitoring.cxx:14
FPGATrackSimGenScanMonitoring::m_twoPairClasses
static const std::vector< std::string > m_twoPairClasses
Definition: FPGATrackSimGenScanMonitoring.h:211
FPGATrackSimGenScanMonitoring::pairSetFilterCheck
void pairSetFilterCheck(const FPGATrackSimGenScanTool::HitPairSet &filteredpairs, const std::vector< FPGATrackSimGenScanTool::HitPairSet > &pairsets, unsigned threshold)
Definition: FPGATrackSimGenScanMonitoring.cxx:541
FPGATrackSimGenScanMonitoring::m_truthIsValid
bool m_truthIsValid
Definition: FPGATrackSimGenScanMonitoring.h:123
FPGATrackSimGenScanMonitoring::m_deltaPhiCurvature
std::vector< TH1D * > m_deltaPhiCurvature
Definition: FPGATrackSimGenScanMonitoring.h:225
AthAlgTool
Definition: AthAlgTool.h:26
FPGATrackSimGenScanMonitoring::fillPairFilterCuts
void fillPairFilterCuts(const FPGATrackSimGenScanTool::HitPair &pair)
Definition: FPGATrackSimGenScanMonitoring.cxx:455
FPGATrackSimGenScanBinningBase
Definition: FPGATrackSimGenScanBinning.h:77
FPGATrackSimGenScanMonitoring::m_deltaDeltaPhi
std::vector< TH1D * > m_deltaDeltaPhi
Definition: FPGATrackSimGenScanMonitoring.h:219
FPGATrackSimGenScanTool::BinEntry
Definition: FPGATrackSimGenScanTool.h:206
FPGATrackSimGenScanMonitoring::m_outputHitsPerSlice
TH1D * m_outputHitsPerSlice
Definition: FPGATrackSimGenScanMonitoring.h:158
FPGATrackSimGenScanMonitoring::eventDispSet::m_name
const std::string m_name
Definition: FPGATrackSimGenScanMonitoring.h:259
FPGATrackSimGenScanMonitoring::m_phiOutExtrap
TH1D * m_phiOutExtrap
Definition: FPGATrackSimGenScanMonitoring.h:196
FPGATrackSimTruthTrack.h
FPGATrackSimTrackPars.h
Structs that store the 5 track parameters.
FPGATrackSimGenScanMonitoring::m_hitsPerLayer_road
TH2D * m_hitsPerLayer_road
Definition: FPGATrackSimGenScanMonitoring.h:175
FPGATrackSimGenScanMonitoring::m_unpairedHits
TH2D * m_unpairedHits
Definition: FPGATrackSimGenScanMonitoring.h:182
FPGATrackSimGenScanMonitoring::m_etaShift_road
TH1D * m_etaShift_road
Definition: FPGATrackSimGenScanMonitoring.h:172
ServiceHandle< ITHistSvc >
FPGATrackSimGenScanMonitoring::m_hitsPerLayer
TH1D * m_hitsPerLayer
Definition: FPGATrackSimGenScanMonitoring.h:166
FPGATrackSimGenScanMonitoring::m_rout
double m_rout
Definition: FPGATrackSimGenScanMonitoring.h:117