ATLAS Offline Software
Loading...
Searching...
No Matches
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
12
14#include "../PlotMgr.h"
15
16
17namespace 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
56 StatusCode bookPlots();
57
60 template< typename PTEST, typename PREF=PTEST >
61 StatusCode fillPlots(
62 const PTEST& ptest, const PREF& pref,
63 float truthMu, float actualMu, float weight );
64
67 template< typename PARTICLE >
68 StatusCode fillPlots(
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
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
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
190 TProfile* m_hits_vs[ NHITPARAMSTOT ][ NPARAMS ]{};
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
static Double_t * pref
Derived class to give extra capabilities to TrkValHistUtils/PlotBase.h such as ATH_MSG and an easier ...
std::string m_run3HitParamName[NRUN3HITPARAMSTOT]
TProfile2D * m_hitsRun3_vsMu_vs[NRUN3HITPARAMSTOT][NPARAMSMU][NPARAMS]
@ NTRTOutliers
for greater detail level plots
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.
std::string m_paramName[NPARAMS]
TProfile * m_hits_vsMu[NHITPARAMSTOT][NPARAMSMU]
TProfile plots vs mu (truth and actual)
TProfile2D * m_hits_vs2D[NHITPARAMSTOT][NPARAMS][NPARAMS]
TProfile2D plots vs NPARAMS vs NPARAMS.
TProfile * m_hits_vs[NHITPARAMSTOT][NPARAMS]
TProfile plots vs NPARAMS.
TProfile2D * m_hitsRun3_vs2D[NRUN3HITPARAMSTOT][NPARAMS][NPARAMS]
void finalizePlots()
Print out final stats on histograms.
virtual ~HitsOnTracksPlots()=default
Destructor.
TProfile * m_hitsRun3_vs[NRUN3HITPARAMSTOT][NPARAMS]
TH1 * m_hitsRun3[NRUN3HITPARAMSTOT]
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.
TH1 * m_hits[NHITPARAMSTOT]
1D plots
void initializePlots()
Book the histograms.
std::string m_hitParamName[NHITPARAMSTOT]
std::string m_paramMuName[NPARAMSMU]
TProfile * m_hitsRun3_vsMu[NRUN3HITPARAMSTOT][NPARAMSMU]
TProfile2D * m_hits_vsMu_vs[NHITPARAMSTOT][NPARAMSMU][NPARAMS]
TProfile2D plots vs mu (truth and actual) vs NPARAMS.
@ NInnerMostPixelOutliers
for greater detail level plots
PlotMgr(const std::string &dirName, const std::string &anaTag, PlotMgr *pParent=nullptr)
Constructor taking parent node and directory name for plots pParent = nullptr by default to book plot...
Definition PlotMgr.cxx:25
Athena include(s).