ATLAS Offline Software
InDetPerfPlot_HitResidual.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 INDETPHYSVALMONITORING_InDetPerfPlot_HITRESIDUAL
6 #define INDETPHYSVALMONITORING_InDetPerfPlot_HITRESIDUAL
7 
13 // std includes
14 #include <atomic>
15 #include <string>
16 #include <vector>
17 #include "TProfile.h"
18 
19 // local includes
20 
21 #include "InDetPlotBase.h"
22 
23 // could be fwd declared?
26 
27 // fwd declaration
28 class IToolSvc;
29 class IExtrapolator;
30 
31 
34 public:
35  InDetPerfPlot_HitResidual(InDetPlotBase* pParent, const std::string& dirName, bool isITk);
36 
37  void fill(const xAOD::TrackParticle& trkprt, float weight);
39  }
40 
41 private:
42  // enum copied from the hitDecorator tool in InDetPhysValMonitoring
43  enum Subdetector {
45  };
46  enum Region {
48  };
49 
50  void initializePlots();
51 
52  bool m_isITk;
53 
54  std::vector<std::vector<TH1*>> m_residualx_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
55  std::vector<std::vector<TH1*>> m_residualx_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
56  std::vector<std::vector<TH1*>> m_residualx = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
57  std::vector<std::vector<TH2*>> m_residualx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
58 
59  //
60  std::vector<std::vector<TH1*>> m_residualy_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
61  std::vector<std::vector<TH1*>> m_residualy_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
62  std::vector<std::vector<TH1*>> m_residualy = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
63  std::vector<std::vector<TH2*>> m_residualy_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
64  //
65  std::vector<std::vector<TH1*>> m_pullx = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
66  std::vector<std::vector<TH1*>> m_pully = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
67  std::vector<std::vector<TH2*>> m_pullx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
68  std::vector<std::vector<TH2*>> m_pully_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
69 
70  std::vector<std::vector<TH1*>> m_phiWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
71  std::vector<std::vector<TH1*>> m_etaWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
72  std::vector<std::vector<TH2*>> m_phiWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
73  std::vector<std::vector<TH2*>> m_etaWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
74 
75  std::vector<TProfile*> m_phiWidthEta = {N_SUBDETECTORS, nullptr};
76  std::vector<TProfile*> m_etaWidthEta = {N_SUBDETECTORS, nullptr};
77 
78  mutable std::atomic<int> m_warnCount{0};
79 };
80 
81 
82 #endif
InDetPerfPlot_HitResidual::N_REGIONS
@ N_REGIONS
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::initializePlots
void initializePlots()
Definition: InDetPerfPlot_HitResidual.cxx:19
InDetPerfPlot_HitResidual::m_residualy_eta
std::vector< std::vector< TH2 * > > m_residualy_eta
Definition: InDetPerfPlot_HitResidual.h:63
InDetPerfPlot_HitResidual::m_residualx
std::vector< std::vector< TH1 * > > m_residualx
Definition: InDetPerfPlot_HitResidual.h:56
InDetPerfPlot_HitResidual::m_etaWidth_eta
std::vector< std::vector< TH2 * > > m_etaWidth_eta
Definition: InDetPerfPlot_HitResidual.h:73
InDetPerfPlot_HitResidual
class holding res plots for Inner Detector RTT Validation and implementing fill methods
Definition: InDetPerfPlot_HitResidual.h:33
InDetPerfPlot_HitResidual::m_warnCount
std::atomic< int > m_warnCount
Definition: InDetPerfPlot_HitResidual.h:78
InDetPerfPlot_HitResidual::m_pullx
std::vector< std::vector< TH1 * > > m_pullx
Definition: InDetPerfPlot_HitResidual.h:65
InDetPerfPlot_HitResidual::m_phiWidthEta
std::vector< TProfile * > m_phiWidthEta
Definition: InDetPerfPlot_HitResidual.h:75
InDetPerfPlot_HitResidual::N_SUBDETECTORS
@ N_SUBDETECTORS
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::Subdetector
Subdetector
Definition: InDetPerfPlot_HitResidual.h:43
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
InDetPerfPlot_HitResidual::m_phiWidth_eta
std::vector< std::vector< TH2 * > > m_phiWidth_eta
Definition: InDetPerfPlot_HitResidual.h:72
InDetPerfPlot_HitResidual::InDetPerfPlot_HitResidual
InDetPerfPlot_HitResidual(InDetPlotBase *pParent, const std::string &dirName, bool isITk)
Definition: InDetPerfPlot_HitResidual.cxx:15
InDetPerfPlot_HitResidual::ENDCAP
@ ENDCAP
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_residualy
std::vector< std::vector< TH1 * > > m_residualy
Definition: InDetPerfPlot_HitResidual.h:62
InDetPerfPlot_HitResidual::m_residualy_2ormorehits
std::vector< std::vector< TH1 * > > m_residualy_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:61
InDetPlotBase
Mixin class to give extra capabilities to plots such as ATH_MSG and an easier booking interface,...
Definition: InDetPlotBase.h:33
InDetPerfPlot_HitResidual::m_etaWidthEta
std::vector< TProfile * > m_etaWidthEta
Definition: InDetPerfPlot_HitResidual.h:76
InDetPlotBase.h
InDetPerfPlot_HitResidual::L0PIXBARR
@ L0PIXBARR
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::INVALID_REGION
@ INVALID_REGION
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_pully_eta
std::vector< std::vector< TH2 * > > m_pully_eta
Definition: InDetPerfPlot_HitResidual.h:68
InDetPerfPlot_HitResidual::m_residualx_1hit
std::vector< std::vector< TH1 * > > m_residualx_1hit
Definition: InDetPerfPlot_HitResidual.h:54
InDetPerfPlot_HitResidual::m_residualx_eta
std::vector< std::vector< TH2 * > > m_residualx_eta
Definition: InDetPerfPlot_HitResidual.h:57
InDetPerfPlot_HitResidual::m_phiWidth
std::vector< std::vector< TH1 * > > m_phiWidth
Definition: InDetPerfPlot_HitResidual.h:70
InDetPerfPlot_HitResidual::TRT
@ TRT
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::PIXEL
@ PIXEL
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::m_etaWidth
std::vector< std::vector< TH1 * > > m_etaWidth
Definition: InDetPerfPlot_HitResidual.h:71
InDetPerfPlot_HitResidual::SCT
@ SCT
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::m_pully
std::vector< std::vector< TH1 * > > m_pully
Definition: InDetPerfPlot_HitResidual.h:66
InDetPerfPlot_HitResidual::Region
Region
Definition: InDetPerfPlot_HitResidual.h:46
InDetPerfPlot_HitResidual::m_residualy_1hit
std::vector< std::vector< TH1 * > > m_residualy_1hit
Definition: InDetPerfPlot_HitResidual.h:60
TrackParticle.h
InDetPerfPlot_HitResidual::~InDetPerfPlot_HitResidual
~InDetPerfPlot_HitResidual()
Definition: InDetPerfPlot_HitResidual.h:38
InDetPerfPlot_HitResidual::m_pullx_eta
std::vector< std::vector< TH2 * > > m_pullx_eta
Definition: InDetPerfPlot_HitResidual.h:67
InDetPerfPlot_HitResidual::BARREL
@ BARREL
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_isITk
bool m_isITk
Definition: InDetPerfPlot_HitResidual.h:52
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
InDetPerfPlot_HitResidual::fill
void fill(const xAOD::TrackParticle &trkprt, float weight)
Definition: InDetPerfPlot_HitResidual.cxx:128
TruthParticle.h
InDetPerfPlot_HitResidual::m_residualx_2ormorehits
std::vector< std::vector< TH1 * > > m_residualx_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:55
InDetPerfPlot_HitResidual::INVALID_DETECTOR
@ INVALID_DETECTOR
Definition: InDetPerfPlot_HitResidual.h:44