ATLAS Offline Software
HitsOnTracksPlots.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETTRACKPERFMON_PLOTS_HITSONTRACKSPLOTS_H
6 #define INDETTRACKPERFMON_PLOTS_HITSONTRACKSPLOTS_H
7 
13 #include "../PlotMgr.h"
15 
16 
17 namespace IDTPM {
18 
19  class HitsOnTracksPlots : public PlotMgr {
20 
21  public:
22 
27  PlotMgr* pParent,
28  const std::string& dirName,
29  const std::string& anaTag,
30  const std::string& testType,
31  const std::string& refType,
32  bool isITk,
33  bool doGlobalPlots = false,
34  bool doTruthMuPlots = false,
35  bool do1D = false,
36  bool doExpert = false );
37 
42  PlotMgr* pParent,
43  const std::string& dirName,
44  const std::string& anaTag,
45  const std::string& trackType,
46  bool isITk,
47  bool doGlobalPlots = false,
48  bool doTruthMuPlots = false,
49  bool doExpert = false );
50 
52  virtual ~HitsOnTracksPlots() = default;
53 
55  void initializePlots(); // needed to override PlotBase
57 
60  template< typename PTEST, typename PREF=PTEST >
62  const PTEST& ptest, const PREF& pref,
63  float truthMu, float actualMu, float weight );
64 
67  template< typename PARTICLE >
69  const PARTICLE& particle,
70  float truthMu, float actualMu, float weight );
71 
73  void finalizePlots();
74 
75  private:
76 
77  std::string m_testType;
78  std::string m_refType;
79  bool m_isITk{};
82  bool m_do1D{};
83  bool m_doExpert{};
84 
85  enum HitParam {
116  NHITPARAMSBASE = 13
117  };
118  unsigned int m_NHITPARAMS;
119 
120  std::string m_hitParamName[ NHITPARAMSTOT ] = {
121  "nInnerMostPixelHits",
122  "nInnerMostPixelEndcapHits",
123  "nNextToInnerMostPixelHits",
124  "nNextToInnerMostPixelEndcapHits",
125  "nInnerMostPixelSharedHits",
126  "nInnerMostPixelSharedEndcapHits",
127  "nPixelHits",
128  "nPixelHoles",
129  "nPixelSharedHits",
130  "pixeldEdx",
131  "nSCTHits",
132  "nSCTHoles",
133  "nSCTSharedHits",
135  "nInnerMostPixelOutliers",
136  "nInnerMostPixelEndcapOutliers",
137  "nInnerMostPixelSplitHits",
138  "nInnerMostPixelSplitEndcapHits",
139  "nExpectedInnerMostPixelHits",
140  "nExpectedNextToInnerMostPixelHits",
141  "nPixelOutliers",
142  "nPixelContribLayers",
143  "nPixelSplitHits",
144  "nPixelGangedHits",
145  "nPixelGangedHitsFlaggedFakes",
146  "nPixelDeadSensors",
147  "nSCTOutliers",
148  "nSCTDoubleHoles",
149  "nSCTDeadSensors"
150  };
151 
163  NRUN3HITPARAMSBASE = 6
164  };
165  unsigned int m_NRUN3HITPARAMS;
166 
168  "nTRTHits",
169  "nTRTHitsXe",
170  "nTRTHitsAr",
171  "nTRTHighThresholdHits",
172  "nTRTHighThresholdHitsXe",
173  "nTRTHighThresholdHitsAr",
175  "nTRTOutliers",
176  "nTRTHighThresholdOutliers"
177  };
178 
179  enum Param { PT, ETA, PHI, NPARAMS };
180  std::string m_paramName[ NPARAMS ] = { "pt", "eta", "phi" };
181 
183  std::string m_paramMuName[ NPARAMSMU ] = { "truthMu", "actualMu" };
184 
188 
192 
194  TProfile2D* m_hits_vs2D[ NHITPARAMSTOT ][ NPARAMS ][ NPARAMS ]{};
196 
200 
204 
205  }; // class HitsOnTracksPlots
206 
207 } // namespace IDTPM
208 
209 #endif // > ! INDETTRACKPERFMON_PLOTS_HITSONTRACKSPLOTS_H
IDTPM::HitsOnTracksPlots::NPixelGangedHitsFlaggedFakes
@ NPixelGangedHitsFlaggedFakes
Definition: HitsOnTracksPlots.h:110
IDTPM::HitsOnTracksPlots::NPARAMSMU
@ NPARAMSMU
Definition: HitsOnTracksPlots.h:182
IDTPM::HitsOnTracksPlots::m_NHITPARAMS
unsigned int m_NHITPARAMS
Definition: HitsOnTracksPlots.h:118
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:79
IDTPM::HitsOnTracksPlots::NTRTHighThresholdHits
@ NTRTHighThresholdHits
Definition: HitsOnTracksPlots.h:156
IDTPM::HitsOnTracksPlots::m_isITk
bool m_isITk
Definition: HitsOnTracksPlots.h:79
IDTPM::HitsOnTracksPlots::NInnerMostPixelEndcapHits
@ NInnerMostPixelEndcapHits
Definition: HitsOnTracksPlots.h:87
IDTPM::HitsOnTracksPlots::m_hits_vsMu_vs
TProfile2D * m_hits_vsMu_vs[NHITPARAMSTOT][NPARAMSMU][NPARAMS]
TProfile2D plots vs mu (truth and actual) vs NPARAMS.
Definition: HitsOnTracksPlots.h:202
IDTPM::HitsOnTracksPlots::ETA
@ ETA
Definition: HitsOnTracksPlots.h:179
IDTPM::HitsOnTracksPlots::PixeldEdx
@ PixeldEdx
Definition: HitsOnTracksPlots.h:95
IDTPM::HitsOnTracksPlots::NSCTDeadSensors
@ NSCTDeadSensors
Definition: HitsOnTracksPlots.h:114
IDTPM::HitsOnTracksPlots::TRUTHMU
@ TRUTHMU
Definition: HitsOnTracksPlots.h:182
IDTPM::HitsOnTracksPlots::NRUN3HITPARAMSBASE
@ NRUN3HITPARAMSBASE
Definition: HitsOnTracksPlots.h:163
IDTPM::HitsOnTracksPlots::m_hits_vs2D
TProfile2D * m_hits_vs2D[NHITPARAMSTOT][NPARAMS][NPARAMS]
TProfile2D plots vs NPARAMS vs NPARAMS.
Definition: HitsOnTracksPlots.h:194
IDTPM::HitsOnTracksPlots::NTRTOutliers
@ NTRTOutliers
for greater detail level plots
Definition: HitsOnTracksPlots.h:160
IDTPM::HitsOnTracksPlots::Run3HitParam
Run3HitParam
Definition: HitsOnTracksPlots.h:152
IDTPM::HitsOnTracksPlots::m_hitsRun3_vsMu
TProfile * m_hitsRun3_vsMu[NRUN3HITPARAMSTOT][NPARAMSMU]
Definition: HitsOnTracksPlots.h:199
IDTPM::HitsOnTracksPlots::NHITPARAMSTOT
@ NHITPARAMSTOT
Definition: HitsOnTracksPlots.h:115
IDTPM::HitsOnTracksPlots::NInnerMostPixelOutliers
@ NInnerMostPixelOutliers
for greater detail level plots
Definition: HitsOnTracksPlots.h:100
IDTPM::HitsOnTracksPlots::m_hits_vs
TProfile * m_hits_vs[NHITPARAMSTOT][NPARAMS]
TProfile plots vs NPARAMS.
Definition: HitsOnTracksPlots.h:190
IDTPM::HitsOnTracksPlots::m_hitsRun3_vsMu_vs
TProfile2D * m_hitsRun3_vsMu_vs[NRUN3HITPARAMSTOT][NPARAMSMU][NPARAMS]
Definition: HitsOnTracksPlots.h:203
IDTPM::HitsOnTracksPlots::NExpectedNextToInnerMostPixelHits
@ NExpectedNextToInnerMostPixelHits
Definition: HitsOnTracksPlots.h:105
IDTPM::HitsOnTracksPlots::NInnerMostPixelSharedHits
@ NInnerMostPixelSharedHits
Definition: HitsOnTracksPlots.h:90
IDTPM::HitsOnTracksPlots::m_hitsRun3_vs
TProfile * m_hitsRun3_vs[NRUN3HITPARAMSTOT][NPARAMS]
Definition: HitsOnTracksPlots.h:191
PrintTrkAnaSummary.dirName
dirName
Definition: PrintTrkAnaSummary.py:275
IDTPM::HitsOnTracksPlots::NPixelSharedHits
@ NPixelSharedHits
Definition: HitsOnTracksPlots.h:94
IDTPM::HitsOnTracksPlots::NInnerMostPixelHits
@ NInnerMostPixelHits
Definition: HitsOnTracksPlots.h:86
IDTPM::HitsOnTracksPlots::PT
@ PT
Definition: HitsOnTracksPlots.h:179
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
IDTPM::HitsOnTracksPlots::NExpectedInnerMostPixelHits
@ NExpectedInnerMostPixelHits
Definition: HitsOnTracksPlots.h:104
IDTPM::HitsOnTracksPlots
Definition: HitsOnTracksPlots.h:19
IDTPM::HitsOnTracksPlots::bookPlots
StatusCode bookPlots()
Definition: HitsOnTracksPlots.cxx:68
IDTPM::PlotMgr
Definition: PlotMgr.h:33
IDTPM::HitsOnTracksPlots::m_doGlobalPlots
bool m_doGlobalPlots
Definition: HitsOnTracksPlots.h:80
IDTPM::HitsOnTracksPlots::m_doTruthMuPlots
bool m_doTruthMuPlots
Definition: HitsOnTracksPlots.h:81
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
IDTPM::HitsOnTracksPlots::NInnerMostPixelSharedEndcapHits
@ NInnerMostPixelSharedEndcapHits
Definition: HitsOnTracksPlots.h:91
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IDTPM::HitsOnTracksPlots::~HitsOnTracksPlots
virtual ~HitsOnTracksPlots()=default
Destructor.
IDTPM::HitsOnTracksPlots::NSCTHits
@ NSCTHits
Definition: HitsOnTracksPlots.h:96
IDTPM::HitsOnTracksPlots::HitsOnTracksPlots
HitsOnTracksPlots(PlotMgr *pParent, const std::string &dirName, const std::string &anaTag, const std::string &testType, const std::string &refType, bool isITk, bool doGlobalPlots=false, bool doTruthMuPlots=false, bool do1D=false, bool doExpert=false)
Constructor A for test_Hits-vs-reference plots e.g.
Definition: HitsOnTracksPlots.cxx:18
IDTPM::HitsOnTracksPlots::NNextToInnerMostPixelHits
@ NNextToInnerMostPixelHits
Definition: HitsOnTracksPlots.h:88
IDTPM::HitsOnTracksPlots::initializePlots
void initializePlots()
Book the histograms.
Definition: HitsOnTracksPlots.cxx:59
IDTPM::HitsOnTracksPlots::m_refType
std::string m_refType
Definition: HitsOnTracksPlots.h:78
IDTPM::HitsOnTracksPlots::NTRTHits
@ NTRTHits
Definition: HitsOnTracksPlots.h:153
IDTPM::HitsOnTracksPlots::NSCTSharedHits
@ NSCTSharedHits
Definition: HitsOnTracksPlots.h:98
IDTPM::HitsOnTracksPlots::NSCTHoles
@ NSCTHoles
Definition: HitsOnTracksPlots.h:97
IDTPM::HitsOnTracksPlots::NNextToInnerMostPixelEndcapHits
@ NNextToInnerMostPixelEndcapHits
Definition: HitsOnTracksPlots.h:89
IDTPM::HitsOnTracksPlots::NRUN3HITPARAMSTOT
@ NRUN3HITPARAMSTOT
Definition: HitsOnTracksPlots.h:162
IDTPM::HitsOnTracksPlots::NHITPARAMSBASE
@ NHITPARAMSBASE
Definition: HitsOnTracksPlots.h:116
IDTPM::HitsOnTracksPlots::NTRTHighThresholdOutliers
@ NTRTHighThresholdOutliers
Definition: HitsOnTracksPlots.h:161
IDTPM::HitsOnTracksPlots::m_hitParamName
std::string m_hitParamName[NHITPARAMSTOT]
Definition: HitsOnTracksPlots.h:120
IDTPM::HitsOnTracksPlots::NTRTHitsAr
@ NTRTHitsAr
Definition: HitsOnTracksPlots.h:155
IDTPM::HitsOnTracksPlots::m_hitsRun3_vs2D
TProfile2D * m_hitsRun3_vs2D[NRUN3HITPARAMSTOT][NPARAMS][NPARAMS]
Definition: HitsOnTracksPlots.h:195
IDTPM::HitsOnTracksPlots::NPixelHoles
@ NPixelHoles
Definition: HitsOnTracksPlots.h:93
IDTPM::HitsOnTracksPlots::NSCTOutliers
@ NSCTOutliers
Definition: HitsOnTracksPlots.h:112
IDTPM::HitsOnTracksPlots::NPARAMS
@ NPARAMS
Definition: HitsOnTracksPlots.h:179
IDTPM::HitsOnTracksPlots::m_paramName
std::string m_paramName[NPARAMS]
Definition: HitsOnTracksPlots.h:180
IDTPM::HitsOnTracksPlots::NPixelDeadSensors
@ NPixelDeadSensors
Definition: HitsOnTracksPlots.h:111
IDTPM::HitsOnTracksPlots::finalizePlots
void finalizePlots()
Print out final stats on histograms.
Definition: HitsOnTracksPlots.cxx:329
IDTPM::HitsOnTracksPlots::m_run3HitParamName
std::string m_run3HitParamName[NRUN3HITPARAMSTOT]
Definition: HitsOnTracksPlots.h:167
IDTPM::HitsOnTracksPlots::m_testType
std::string m_testType
Definition: HitsOnTracksPlots.h:77
IDTPM::HitsOnTracksPlots::NPixelContribLayers
@ NPixelContribLayers
Definition: HitsOnTracksPlots.h:107
IDTPM::HitsOnTracksPlots::m_hits_vsMu
TProfile * m_hits_vsMu[NHITPARAMSTOT][NPARAMSMU]
TProfile plots vs mu (truth and actual)
Definition: HitsOnTracksPlots.h:198
IDTPM::HitsOnTracksPlots::m_paramMuName
std::string m_paramMuName[NPARAMSMU]
Definition: HitsOnTracksPlots.h:183
IDTPM::HitsOnTracksPlots::NTRTHitsXe
@ NTRTHitsXe
Definition: HitsOnTracksPlots.h:154
IDTPM::HitsOnTracksPlots::m_NRUN3HITPARAMS
unsigned int m_NRUN3HITPARAMS
Definition: HitsOnTracksPlots.h:165
IDTPM::HitsOnTracksPlots::NPixelGangedHits
@ NPixelGangedHits
Definition: HitsOnTracksPlots.h:109
GlobalMonitoring.doExpert
doExpert
Definition: GlobalMonitoring.py:437
IDTPM::HitsOnTracksPlots::ParamMu
ParamMu
Definition: HitsOnTracksPlots.h:182
IDTPM::HitsOnTracksPlots::ACTUALMU
@ ACTUALMU
Definition: HitsOnTracksPlots.h:182
IDTPM::HitsOnTracksPlots::NPixelSplitHits
@ NPixelSplitHits
Definition: HitsOnTracksPlots.h:108
IDTPM::HitsOnTracksPlots::m_doExpert
bool m_doExpert
Definition: HitsOnTracksPlots.h:83
IDTPM::HitsOnTracksPlots::NPixelHits
@ NPixelHits
Definition: HitsOnTracksPlots.h:92
IDTPM::HitsOnTracksPlots::PHI
@ PHI
Definition: HitsOnTracksPlots.h:179
IDTPM::HitsOnTracksPlots::HitParam
HitParam
Definition: HitsOnTracksPlots.h:85
IDTPM::HitsOnTracksPlots::NInnerMostPixelEndcapOutliers
@ NInnerMostPixelEndcapOutliers
Definition: HitsOnTracksPlots.h:101
IDTPM
Athena include(s).
Definition: IPlotsDefinitionSvc.h:25
IDTPM::HitsOnTracksPlots::fillPlots
StatusCode fillPlots(const PTEST &ptest, const PREF &pref, float truthMu, float actualMu, float weight)
Dedicated fill method A (for tracks and/or truth particles) for test_Hits-vs-reference plots.
Definition: HitsOnTracksPlots.cxx:165
IDTPM::HitsOnTracksPlots::NSCTDoubleHoles
@ NSCTDoubleHoles
Definition: HitsOnTracksPlots.h:113
IDTPM::HitsOnTracksPlots::NPixelOutliers
@ NPixelOutliers
Definition: HitsOnTracksPlots.h:106
IDTPM::HitsOnTracksPlots::NTRTHighThresholdHitsAr
@ NTRTHighThresholdHitsAr
Definition: HitsOnTracksPlots.h:158
IDTPM::HitsOnTracksPlots::Param
Param
Definition: HitsOnTracksPlots.h:179
IDTPM::HitsOnTracksPlots::m_hitsRun3
TH1 * m_hitsRun3[NRUN3HITPARAMSTOT]
Definition: HitsOnTracksPlots.h:187
IDTPM::HitsOnTracksPlots::NTRTHighThresholdHitsXe
@ NTRTHighThresholdHitsXe
Definition: HitsOnTracksPlots.h:157
IDTPM::HitsOnTracksPlots::m_hits
TH1 * m_hits[NHITPARAMSTOT]
1D plots
Definition: HitsOnTracksPlots.h:186
IDTPM::HitsOnTracksPlots::NInnerMostPixelSplitHits
@ NInnerMostPixelSplitHits
Definition: HitsOnTracksPlots.h:102
IDTPM::HitsOnTracksPlots::m_do1D
bool m_do1D
Definition: HitsOnTracksPlots.h:82
IDTPM::HitsOnTracksPlots::NInnerMostPixelSplitEndcapHits
@ NInnerMostPixelSplitEndcapHits
Definition: HitsOnTracksPlots.h:103