ATLAS Offline Software
InDetPerfPlot_HitResidual.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 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);
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  std::vector<std::vector<TH1*>> m_residualx_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
53  std::vector<std::vector<TH1*>> m_residualx_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
54  std::vector<std::vector<TH1*>> m_residualx = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
55  std::vector<std::vector<TH2*>> m_residualx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
56 
57  //
58  std::vector<std::vector<TH1*>> m_residualy_1hit = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
59  std::vector<std::vector<TH1*>> m_residualy_2ormorehits = {N_SUBDETECTORS, {N_REGIONS, nullptr}}; // excludes TRT, DBM
60  std::vector<std::vector<TH1*>> m_residualy = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
61  std::vector<std::vector<TH2*>> m_residualy_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
62  //
63  std::vector<std::vector<TH1*>> m_pullx = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
64  std::vector<std::vector<TH1*>> m_pully = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
65  std::vector<std::vector<TH2*>> m_pullx_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
66  std::vector<std::vector<TH2*>> m_pully_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
67 
68  std::vector<std::vector<TH1*>> m_phiWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
69  std::vector<std::vector<TH1*>> m_etaWidth = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
70  std::vector<std::vector<TH2*>> m_phiWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
71  std::vector<std::vector<TH2*>> m_etaWidth_eta = {N_SUBDETECTORS, {N_REGIONS, nullptr}};
72 
73  std::vector<TProfile*> m_phiWidthEta = {N_SUBDETECTORS, nullptr};
74  std::vector<TProfile*> m_etaWidthEta = {N_SUBDETECTORS, nullptr};
75 
76  mutable std::atomic<int> m_warnCount{0};
77 };
78 
79 
80 #endif
InDetPerfPlot_HitResidual::N_REGIONS
@ N_REGIONS
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::initializePlots
void initializePlots()
Definition: InDetPerfPlot_HitResidual.cxx:21
InDetPerfPlot_HitResidual::m_residualy_eta
std::vector< std::vector< TH2 * > > m_residualy_eta
Definition: InDetPerfPlot_HitResidual.h:61
InDetPerfPlot_HitResidual::m_residualx
std::vector< std::vector< TH1 * > > m_residualx
Definition: InDetPerfPlot_HitResidual.h:54
InDetPerfPlot_HitResidual::m_etaWidth_eta
std::vector< std::vector< TH2 * > > m_etaWidth_eta
Definition: InDetPerfPlot_HitResidual.h:71
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:76
InDetPerfPlot_HitResidual::m_pullx
std::vector< std::vector< TH1 * > > m_pullx
Definition: InDetPerfPlot_HitResidual.h:63
InDetPerfPlot_HitResidual::m_phiWidthEta
std::vector< TProfile * > m_phiWidthEta
Definition: InDetPerfPlot_HitResidual.h:73
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:200
InDetPerfPlot_HitResidual::m_phiWidth_eta
std::vector< std::vector< TH2 * > > m_phiWidth_eta
Definition: InDetPerfPlot_HitResidual.h:70
InDetPerfPlot_HitResidual::ENDCAP
@ ENDCAP
Definition: InDetPerfPlot_HitResidual.h:47
InDetPerfPlot_HitResidual::m_residualy
std::vector< std::vector< TH1 * > > m_residualy
Definition: InDetPerfPlot_HitResidual.h:60
InDetPerfPlot_HitResidual::m_residualy_2ormorehits
std::vector< std::vector< TH1 * > > m_residualy_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:59
InDetPlotBase
Mixin class to give extra capabilities to plots such as ATH_MSG and an easier booking interface,...
Definition: InDetPlotBase.h:31
InDetPerfPlot_HitResidual::m_etaWidthEta
std::vector< TProfile * > m_etaWidthEta
Definition: InDetPerfPlot_HitResidual.h:74
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:66
InDetPerfPlot_HitResidual::m_residualx_1hit
std::vector< std::vector< TH1 * > > m_residualx_1hit
Definition: InDetPerfPlot_HitResidual.h:52
InDetPerfPlot_HitResidual::m_residualx_eta
std::vector< std::vector< TH2 * > > m_residualx_eta
Definition: InDetPerfPlot_HitResidual.h:55
InDetPerfPlot_HitResidual::m_phiWidth
std::vector< std::vector< TH1 * > > m_phiWidth
Definition: InDetPerfPlot_HitResidual.h:68
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:69
InDetPerfPlot_HitResidual::SCT
@ SCT
Definition: InDetPerfPlot_HitResidual.h:44
InDetPerfPlot_HitResidual::m_pully
std::vector< std::vector< TH1 * > > m_pully
Definition: InDetPerfPlot_HitResidual.h:64
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:58
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:65
InDetPerfPlot_HitResidual::BARREL
@ BARREL
Definition: InDetPerfPlot_HitResidual.h:47
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
InDetPerfPlot_HitResidual::InDetPerfPlot_HitResidual
InDetPerfPlot_HitResidual(InDetPlotBase *pParent, const std::string &dirName)
Definition: InDetPerfPlot_HitResidual.cxx:15
InDetPerfPlot_HitResidual::fill
void fill(const xAOD::TrackParticle &trkprt, float weight)
Definition: InDetPerfPlot_HitResidual.cxx:130
TruthParticle.h
InDetPerfPlot_HitResidual::m_residualx_2ormorehits
std::vector< std::vector< TH1 * > > m_residualx_2ormorehits
Definition: InDetPerfPlot_HitResidual.h:53
InDetPerfPlot_HitResidual::INVALID_DETECTOR
@ INVALID_DETECTOR
Definition: InDetPerfPlot_HitResidual.h:44