ATLAS Offline Software
Loading...
Searching...
No Matches
MuonHitDiffSummaryPlots.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
9
10namespace Muon {
11
13 const std::string& sDir)
14 : PlotBase(pParent, sDir),
15 innerSmallHits(this, "diff_innersmallhits",
16 "diff(reco - truth) inner small hits", -10, 10),
17 innerLargeHits(this, "diff_innerlargehits",
18 "diff(reco - truth) inner large hits", -10, 10),
19 middleSmallHits(this, "diff_middlesmallhits",
20 "diff(reco - truth) middle small hits", -10, 10),
21 middleLargeHits(this, "diff_middlelargehits",
22 "diff(reco - truth) middle large hits", -10, 10),
23 outerSmallHits(this, "diff_outersmallhits",
24 "diff(reco - truth) outer small hits", -10, 10),
25 outerLargeHits(this, "diff_outerlargehits",
26 "diff(reco - truth) outer large hits", -10, 10),
27 extendedSmallHits(this, "diff_extendedsmallhits",
28 "diff(reco - truth) extended small hits", -10, 10),
29 extendedLargeHits(this, "diff_extendedlargehits",
30 "diff(reco - truth) extended large hits", -10, 10),
31
32 phiLayer1Hits(this, "diff_phiLayer1hits",
33 "diff(reco - truth) phi Layer 1 hits", -10, 10),
34 phiLayer2Hits(this, "diff_phiLayer2hits",
35 "diff(reco - truth) phi Layer 2 hits", -10, 10),
36 phiLayer3Hits(this, "diff_phiLayer3hits",
37 "diff(reco - truth) phi Layer 3 hits", -10, 10),
38 phiLayer4Hits(this, "diff_phiLayer4hits",
39 "diff(reco - truth) phi Layer 4 hits", -10, 10),
40
41 etaLayer1Hits(this, "diff_etaLayer1hits",
42 "diff(reco - truth) eta Layer 1 hits", -10, 10),
43 etaLayer2Hits(this, "diff_etaLayer2hits",
44 "diff(reco - truth) eta Layer 2 hits", -10, 10),
45 etaLayer3Hits(this, "diff_etaLayer3hits",
46 "diff(reco - truth) eta Layer 3 hits", -10, 10),
47 etaLayer4Hits(this, "diff_etaLayer4hits",
48 "diff(reco - truth) eta Layer 4 hits", -10, 10) {}
49
51 const xAOD::TruthParticle& truthprt,
52 float weight) {
53 fillPlot(innerSmallHits, xAOD::innerSmallHits, muon, "innerSmallHits",
54 truthprt, weight);
55 fillPlot(innerLargeHits, xAOD::innerLargeHits, muon, "innerLargeHits",
56 truthprt, weight);
57 fillPlot(middleSmallHits, xAOD::middleSmallHits, muon, "middleSmallHits",
58 truthprt, weight);
59 fillPlot(middleLargeHits, xAOD::middleLargeHits, muon, "middleLargeHits",
60 truthprt, weight);
61 fillPlot(outerSmallHits, xAOD::outerSmallHits, muon, "outerSmallHits",
62 truthprt, weight);
63 fillPlot(outerLargeHits, xAOD::outerLargeHits, muon, "outerLargeHits",
64 truthprt, weight);
66 "extendedSmallHits", truthprt, weight);
68 "extendedLargeHits", truthprt, weight);
69 fillPlot(phiLayer1Hits, xAOD::phiLayer1Hits, muon, "phiLayer1Hits",
70 truthprt, weight);
71 fillPlot(phiLayer2Hits, xAOD::phiLayer2Hits, muon, "phiLayer2Hits",
72 truthprt, weight);
73 fillPlot(phiLayer3Hits, xAOD::phiLayer3Hits, muon, "phiLayer3Hits",
74 truthprt, weight);
75 fillPlot(phiLayer4Hits, xAOD::phiLayer4Hits, muon, "phiLayer4Hits",
76 truthprt, weight);
77 fillPlot(etaLayer1Hits, xAOD::etaLayer1Hits, muon, "etaLayer1Hits",
78 truthprt, weight);
79 fillPlot(etaLayer2Hits, xAOD::etaLayer2Hits, muon, "etaLayer2Hits",
80 truthprt, weight);
81 fillPlot(etaLayer3Hits, xAOD::etaLayer3Hits, muon, "etaLayer3Hits",
82 truthprt, weight);
83 fillPlot(etaLayer4Hits, xAOD::etaLayer4Hits, muon, "etaLayer4Hits",
84 truthprt, weight);
85}
86
89 const xAOD::Muon& muon,
90 const std::string& sInfo,
91 const xAOD::TruthParticle& truthprt,
92 float weight) {
93 uint8_t hitval = 0;
94 if (!muon.summaryValue(hitval, info)) {
95 return;
96 }
97 static const SG::ConstAccessor<uint8_t> acc(sInfo);
98 if (!acc.isAvailable(truthprt)) {
99 return;
100 }
101 hitPlots.fill(hitval - acc(truthprt), muon.eta(), muon.phi(), weight);
102}
103
104} // namespace Muon
Helper class to provide constant type-safe access to aux data.
MuonHitDiffSummaryPlots(PlotBase *pParent, const std::string &sDir)
void fill(const xAOD::Muon &muon, const xAOD::TruthParticle &truthprt, float weight=1.0)
void fillPlot(Trk::HitTypePlots &hitPlots, xAOD::MuonSummaryType info, const xAOD::Muon &muon, const std::string &sInfo, const xAOD::TruthParticle &truthprt, float weight=1.0)
PlotBase(PlotBase *parent, std::string_view sDir)
Definition PlotBase.cxx:29
Helper class to provide constant type-safe access to aux data.
void fill(int iHits, float fEta, float fPhi, float weight=1.0)
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
TruthParticle_v1 TruthParticle
Typedef to implementation.
Muon_v1 Muon
Reference the current persistent version:
MuonSummaryType
Enumerates the different types of information stored in Summary.
@ phiLayer3Hits
number of phi hits in the third trigger layer (BOL1 ot T2)
@ outerSmallHits
number of precision hits in the outer small layer
@ phiLayer2Hits
number of phi hits in the second trigger layer (BML2 ot T1)
@ middleSmallHits
number of precision hits in the middle small layer
@ outerLargeHits
number of precision hits in the outer large layer
@ etaLayer3Hits
number of eta hits in the third trigger layer (BOL1 ot T2)
@ middleLargeHits
number of precision hits in the middle large layer
@ etaLayer1Hits
number of eta hits in the first trigger layer (BML1 ot T4)
@ phiLayer1Hits
number of phi hits in the first trigger layer (BML1 ot T4)
@ extendedSmallHits
number of precision hits in the extended small layer
@ extendedLargeHits
number of precision hits in the extended large layer
@ phiLayer4Hits
number of phi hits in the fourth trigger layer (T3)
@ innerLargeHits
number of precision hits in the inner large layer
@ etaLayer4Hits
number of eta hits in the fourth trigger layer (T3)
@ etaLayer2Hits
number of eta hits in the second trigger layer (BML2 ot T1)
@ innerSmallHits
number of precision hits in the inner small layer