ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonHitSummaryPlots Class Reference

#include <MuonHitSummaryPlots.h>

Inheritance diagram for Muon::MuonHitSummaryPlots:
Collaboration diagram for Muon::MuonHitSummaryPlots:

Public Member Functions

 MuonHitSummaryPlots (PlotBase *pParent, const std::string &sDir)
void fill (const xAOD::Muon &muon, float weight=1.0)
void fill (const xAOD::TruthParticle &truthprt, float weight=1.0)
void fillPlot (Trk::HitTypePlots &hitPlots, xAOD::MuonSummaryType info, const xAOD::Muon &muon, float weight=1.0)
void fillPlot (Trk::HitTypePlots &hitPlots, const std::string &sInfo, const xAOD::TruthParticle &truthprt, float weight=1.0)
void initialize ()
void finalize ()
void setDetailLevel (int iDetailLevel)
void RegisterSubPlot (PlotBase *pPlotBase)
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms.
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees.
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects.
TTree * BookTree (const std::string &name, bool prependDir=true)
 Book a TTree.
const std::string & getDirectory ()
Methods to book monitoring histograms

Note: methods starting with capitals should be deprecated in favour of camel-cased methods

TH1D * Book1D (const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (const std::string &name, TH1 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (const std::string &name, TH2 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (const std::string &name, const std::string &labels, int nBinsX, Double_t *binsX, int nBinsY, Double_t startY, Double_t endY, bool prependDir=true)
 Book a TH2F histogram with variable x axis binning.
TH3F * Book3D (const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, int nBinsZ, float startZ, float endZ, bool prependDir=true)
 Book a TH3F histogram.
TH3F * Book3D (const std::string &name, TH3 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
 Book a TProfile histogram.
TProfile * BookTProfile (const std::string &name, const std::string &labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (const std::string &name, const std::string &labels, int nBinsX, double *binsX, double startY, double endY, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (const std::string &name, const std::string &labels, const int nBinsX, const double xlo, const double xhi, const int nBinsY, const double ylo, const double yhi, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (const std::string &name, const std::string &labels, const int nBinsX, double *binsX, const int nBinsY, double *binsY, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TEfficiency * BookTEfficiency (const std::string &name, const std::string &labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (const std::string &name, const std::string &labels, const int nBinsX, const float xlo, const float xhi, const int nBinsy, const float ylo, const float yhi, const bool prependDir=true)
 Book a (2-D) TEfficiency histogram.

Public Attributes

Trk::MSHitPlots m_oMSHitPlots
Trk::HitTypePlots innerSmallHits
Trk::HitTypePlots innerLargeHits
Trk::HitTypePlots middleSmallHits
Trk::HitTypePlots middleLargeHits
Trk::HitTypePlots outerSmallHits
Trk::HitTypePlots outerLargeHits
Trk::HitTypePlots extendedSmallHits
Trk::HitTypePlots extendedLargeHits
Trk::HitTypePlots phiLayer1Hits
Trk::HitTypePlots phiLayer2Hits
Trk::HitTypePlots phiLayer3Hits
Trk::HitTypePlots phiLayer4Hits
Trk::HitTypePlots etaLayer1Hits
Trk::HitTypePlots etaLayer2Hits
Trk::HitTypePlots etaLayer3Hits
Trk::HitTypePlots etaLayer4Hits
Trk::HitTypePlots innerSmallHoles
Trk::HitTypePlots innerLargeHoles
Trk::HitTypePlots middleSmallHoles
Trk::HitTypePlots middleLargeHoles
Trk::HitTypePlots outerSmallHoles
Trk::HitTypePlots outerLargeHoles
Trk::HitTypePlots extendedSmallHoles
Trk::HitTypePlots extendedLargeHoles
Trk::HitTypePlots phiHoles
Trk::HitTypePlots etaHoles
Trk::HitTypePlots etaphiHoles

Protected Attributes

std::vector< PlotBase * > m_vSubNodes
std::vector< HistDatam_vBookedHistograms
std::vector< TreeDatam_vBookedTrees
std::vector< EfficiencyDatam_vBookedEfficiencies
std::string m_sDirectory
int m_iDetailLevel

Private Member Functions

virtual void initializePlots ()
virtual void finalizePlots ()

Static Private Member Functions

static std::string constructPrefix (std::string dir, bool prependDir)

Detailed Description

Definition at line 17 of file MuonHitSummaryPlots.h.

Constructor & Destructor Documentation

◆ MuonHitSummaryPlots()

Muon::MuonHitSummaryPlots::MuonHitSummaryPlots ( PlotBase * pParent,
const std::string & sDir )

Definition at line 11 of file MuonHitSummaryPlots.cxx.

11 :
12PlotBase(pParent, sDir),
13
14m_oMSHitPlots(this, ""),
15
16innerSmallHits(this, "innersmallhits", "inner small hits", 0, 20),
17innerLargeHits(this, "innerlargehits", "inner large hits", 0, 30),
18middleSmallHits(this, "middlesmallhits", "middle small hits", 0, 20),
19middleLargeHits(this, "middlelargehits", "middle large hits", 0, 20),
20outerSmallHits(this, "outersmallhits", "outer small hits", 0, 15),
21outerLargeHits(this, "outerlargehits", "outer large hits", 0, 20),
22extendedSmallHits(this, "extendedsmallhits", "extended small hits", 0, 15),
23extendedLargeHits(this, "extendedlargehits", "extended large hits", 0, 15),
24
25phiLayer1Hits(this, "phiLayer1hits", "phi Layer 1 hits", 0, 10),
26phiLayer2Hits(this, "phiLayer2hits", "phi Layer 2 hits", 0, 10),
27phiLayer3Hits(this, "phiLayer3hits", "phi Layer 3 hits", 0, 10),
28phiLayer4Hits(this, "phiLayer4hits", "phi Layer 4 hits", 0, 10),
29
30etaLayer1Hits(this, "etaLayer1hits", "eta Layer 1 hits", 0, 10),
31etaLayer2Hits(this, "etaLayer2hits", "eta Layer 2 hits", 0, 15), //more hits for this one
32etaLayer3Hits(this, "etaLayer3hits", "eta Layer 3 hits", 0, 10),
33etaLayer4Hits(this, "etaLayer4hits", "eta Layer 4 hits", 0, 10),
34
35innerSmallHoles(this, "innersmallholes", "inner small holes", 0, 5),
36innerLargeHoles(this, "innerlargeholes", "inner large holes", 0, 5),
37middleSmallHoles(this, "middlesmallholes", "middle small holes", 0, 5),
38middleLargeHoles(this, "middlelargeholes", "middle large holes", 0, 5),
39outerSmallHoles(this, "outersmallholes", "outer small holes", 0, 5),
40outerLargeHoles(this, "outerlargeholes", "outer large holes", 0, 5),
41extendedSmallHoles(this, "extendedsmallholes", "extended small holes", 0, 5),
42extendedLargeHoles(this, "extendedlargeholes", "extended large holes", 0, 5),
43
44phiHoles(this, "phiHoles", "phi holes", 0, 5),
45etaHoles(this, "etaHoles", "eta holes", 0, 5),
46etaphiHoles(this, "etaphiHoles", "eta+phi holes", 0, 5)
47
48// phiLayer1Holes(this, "phiLayer1holes", "phi Layer 1 holes", 0, 5),
49// phiLayer2Holes(this, "phiLayer2holes", "phi Layer 2 holes", 0, 5),
50// phiLayer3Holes(this, "phiLayer3holes", "phi Layer 3 holes", 0, 5),
51// phiLayer4Holes(this, "phiLayer4holes", "phi Layer 4 holes", 0, 5),
52
53// etaLayer1Holes(this, "etaLayer1holes", "eta Layer 1 holes", 0, 5),
54// etaLayer2Holes(this, "etaLayer2holes", "eta Layer 2 holes", 0, 5),
55// etaLayer3Holes(this, "etaLayer3holes", "eta Layer 3 holes", 0, 5),
56// etaLayer4Holes(this, "etaLayer4holes", "eta Layer 4 holes", 0, 5)
57
58{ }
Trk::HitTypePlots innerLargeHoles
Trk::HitTypePlots outerSmallHoles
Trk::HitTypePlots middleLargeHoles
Trk::HitTypePlots middleSmallHoles
Trk::HitTypePlots innerSmallHoles
Trk::HitTypePlots extendedLargeHoles
Trk::HitTypePlots extendedLargeHits
Trk::HitTypePlots middleSmallHits
Trk::HitTypePlots middleLargeHits
Trk::HitTypePlots outerLargeHoles
Trk::HitTypePlots extendedSmallHits
Trk::HitTypePlots extendedSmallHoles
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( const std::string & name,
const std::string & labels,
int nBins,
float start,
float end,
bool prependDir = true )
inherited

Book a TH1D histogram.

Definition at line 94 of file PlotBase.cxx.

95 {
96 std::string prefix = constructPrefix(m_sDirectory, prependDir);
97 Bool_t oldstat = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(false);
99 TH1D *hist = new TH1D((prefix + name).c_str(), labels.c_str(), nBins, start, end);
100 TH1::AddDirectory(oldstat);
101
102 hist->Sumw2();
103 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
104 return hist;
105}
static std::string constructPrefix(std::string dir, bool prependDir)
Definition PlotBase.cxx:293
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:97
std::string m_sDirectory
Definition PlotBase.h:100

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( const std::string & name,
TH1 * refHist,
const std::string & labels,
bool prependDir = true )
inherited

Book a TH1D histogram using refHist as reference for number of bins and axis range.

Definition at line 108 of file PlotBase.cxx.

108 {
109 std::string prefix = constructPrefix(m_sDirectory, prependDir);
110 Bool_t oldstat = TH1::AddDirectoryStatus();
111 TH1::AddDirectory(false);
112 TH1D *hist = new TH1D((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
113 refHist->GetXaxis()->GetXbins()->GetArray());
114 hist->Sumw2();
115 TH1::AddDirectory(oldstat);
116
117
118 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
119 return hist;
120}

◆ Book2D() [1/3]

TH2F * PlotBase::Book2D ( const std::string & name,
const std::string & labels,
int nBinsX,
Double_t * binsX,
int nBinsY,
Double_t startY,
Double_t endY,
bool prependDir = true )
inherited

Book a TH2F histogram with variable x axis binning.

Definition at line 144 of file PlotBase.cxx.

145 {
146 std::string prefix = constructPrefix(m_sDirectory, prependDir);
147 Bool_t oldstat = TH2::AddDirectoryStatus();
148 TH2::AddDirectory(false);
149 TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
150 hist->Sumw2();
151 TH2::AddDirectory(oldstat);
152 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153 return hist;
154}
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)

◆ Book2D() [2/3]

TH2F * PlotBase::Book2D ( const std::string & name,
const std::string & labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
bool prependDir = true )
inherited

Book a TH2F histogram.

Definition at line 123 of file PlotBase.cxx.

124 {
125 std::string prefix = constructPrefix(m_sDirectory, prependDir);
126 Bool_t oldstat = TH2::AddDirectoryStatus();
127 TH2::AddDirectory(false);
128 TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY);
129 hist->Sumw2();
130 TH2::AddDirectory(oldstat);
131
132
133 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
134 return hist;
135}

◆ Book2D() [3/3]

TH2F * PlotBase::Book2D ( const std::string & name,
TH2 * refHist,
const std::string & labels,
bool prependDir = true )
inherited

Book a TH2D histogram using refHist as reference for number of bins and axis range.

Definition at line 138 of file PlotBase.cxx.

138 {
139 return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
141}
TH2F * Book2D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition PlotBase.cxx:123

◆ Book3D() [1/2]

TH3F * PlotBase::Book3D ( const std::string & name,
const std::string & labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
int nBinsZ,
float startZ,
float endZ,
bool prependDir = true )
inherited

Book a TH3F histogram.

Definition at line 157 of file PlotBase.cxx.

158 {
159 std::string prefix = constructPrefix(m_sDirectory, prependDir);
160 Bool_t oldstat = TH3::AddDirectoryStatus();
161 TH3::AddDirectory(false);
162 TH3F *hist = new TH3F((prefix + name).c_str(),
163 labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
164 hist->Sumw2();
165 TH3::AddDirectory(oldstat);
166 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
167 return hist;
168}

◆ Book3D() [2/2]

TH3F * PlotBase::Book3D ( const std::string & name,
TH3 * refHist,
const std::string & labels,
bool prependDir = true )
inherited

Book a TH3F histogram using refHist as reference for number of bins and axis range.

Definition at line 171 of file PlotBase.cxx.

171 {
172 std::string prefix = constructPrefix(m_sDirectory, prependDir);
173 Bool_t oldstat = TH3::AddDirectoryStatus();
174 TH3::AddDirectory(false);
175 TH3F *hist = new TH3F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
176 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
177 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
178 refHist->GetZaxis()->GetXbins()->GetArray());
179 TH3::AddDirectory(oldstat);
180
181 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
182 return hist;
183}

◆ BookTEfficiency() [1/2]

TEfficiency * PlotBase::BookTEfficiency ( const std::string & name,
const std::string & labels,
const int nBinsX,
const float xlo,
const float xhi,
const bool prependDir = true )
inherited

Book a (1-D) TEfficiency histogram.

Definition at line 257 of file PlotBase.cxx.

257 {
258 std::string prefix = constructPrefix(m_sDirectory, prependDir);
259 //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
260 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
261 //hist->SetAutoSave(0);
262 //hist->SetAtoFlush(0);
263 hist->SetDirectory(nullptr);
264 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
265 //TEfficiency::AddDirectory(oldstat);
266 return hist;
267}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:99

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( const std::string & name,
const std::string & labels,
const int nBinsX,
const float xlo,
const float xhi,
const int nBinsy,
const float ylo,
const float yhi,
const bool prependDir = true )
inherited

Book a (2-D) TEfficiency histogram.

Definition at line 270 of file PlotBase.cxx.

270 {
271 std::string prefix = constructPrefix(m_sDirectory, prependDir);
272
273 TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
274 hist->SetDirectory(nullptr);
275 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
276
277 return hist;
278}

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( const std::string & name,
const std::string & labels,
int nBinsX,
float * binsX,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis.

Definition at line 204 of file PlotBase.cxx.

204 {
205 std::string prefix = constructPrefix(m_sDirectory, prependDir);
206 TProfile *hist(nullptr);
207 Bool_t oldstat = TProfile::AddDirectoryStatus();
208 TProfile::AddDirectory(false);
209
210 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( const std::string & name,
const std::string & labels,
int nBinsX,
float startX,
float endX,
float startY = -1,
float endY = -1,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile histogram.

Definition at line 186 of file PlotBase.cxx.

187 {
188 std::string prefix = constructPrefix(m_sDirectory, prependDir);
189 TProfile *hist(nullptr);
190 Bool_t oldstat = TProfile::AddDirectoryStatus();
191 TProfile::AddDirectory(false);
192 std::string opt = useRMS ? "S" : "";
193 if ((startY == -1) and (endY == -1)) {
194 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, startY, endY, opt.c_str());
197 }
198 TProfile::AddDirectory(oldstat);
199 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
200 return hist;
201}

◆ BookTProfile2D() [1/2]

TProfile2D * PlotBase::BookTProfile2D ( const std::string & name,
const std::string & labels,
const int nBinsX,
const double xlo,
const double xhi,
const int nBinsY,
const double ylo,
const double yhi,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 231 of file PlotBase.cxx.

233 {
234 std::string prefix = constructPrefix(m_sDirectory, prependDir);
235 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
236 TProfile2D::AddDirectory(false);
237 std::string opt = useRMS ? "S" : "";
238 TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
239 TProfile2D::AddDirectory(oldstat);
240 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
241 return hist;
242}

◆ BookTProfile2D() [2/2]

TProfile2D * PlotBase::BookTProfile2D ( const std::string & name,
const std::string & labels,
const int nBinsX,
double * binsX,
const int nBinsY,
double * binsY,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 245 of file PlotBase.cxx.

245 {
246 std::string prefix = constructPrefix(m_sDirectory, prependDir);
247 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
248 TProfile2D::AddDirectory(false);
249 std::string opt = useRMS ? "S" : "";
250 TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
251 TProfile2D::AddDirectory(oldstat);
252 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
253 return hist;
254}

◆ BookTProfileRangeY()

TProfile * PlotBase::BookTProfileRangeY ( const std::string & name,
const std::string & labels,
int nBinsX,
double * binsX,
double startY,
double endY,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis and limits in y-values.

Definition at line 217 of file PlotBase.cxx.

218 {
219 std::string prefix = constructPrefix(m_sDirectory, prependDir);
220 TProfile *hist(nullptr);
221 Bool_t oldstat = TProfile::AddDirectoryStatus();
222 TProfile::AddDirectory(false);
223
224 hist = new TProfile((prefix + name).c_str(), labels.c_str(), (Int_t) nBinsX, binsX, startY, endY);
225 TProfile::AddDirectory(oldstat);
226 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
227 return hist;
228}

◆ BookTree()

TTree * PlotBase::BookTree ( const std::string & name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 281 of file PlotBase.cxx.

281 {
282 std::string prefix = constructPrefix(m_sDirectory, prependDir);
283 TTree *tree = new TTree((prefix + name).c_str(), "");
284
285 tree->SetAutoSave(0);
286 tree->SetAutoFlush(0);
287 tree->SetDirectory(nullptr);
288 m_vBookedTrees.emplace_back(tree, m_sDirectory);
289 return tree;
290}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:98
TChain * tree

◆ constructPrefix()

std::string PlotBase::constructPrefix ( std::string dir,
bool prependDir )
staticprivateinherited

Definition at line 293 of file PlotBase.cxx.

293 {
294 if (!prependDir) {
295 return "";
296 }
297 std::replace(dir.begin(), dir.end(), '/', '_');
298 return dir;
299}

◆ fill() [1/2]

void Muon::MuonHitSummaryPlots::fill ( const xAOD::Muon & muon,
float weight = 1.0 )

Definition at line 61 of file MuonHitSummaryPlots.cxx.

61 {
62
63 const xAOD::TrackParticle *tp = (muon.muonType()==xAOD::Muon::SiliconAssociatedForwardMuon)? muon.trackParticle(xAOD::Muon::CombinedTrackParticle) : muon.trackParticle(xAOD::Muon::Primary);
64 if (tp) m_oMSHitPlots.fill(*tp);
65
82
91
92 int netaholes=0, nphiholes=0;
93 uint8_t hitval = 0;
94 if (muon.summaryValue(hitval,xAOD::etaLayer1Holes)) netaholes+=(int)hitval;
95 if (muon.summaryValue(hitval,xAOD::etaLayer2Holes)) netaholes+=(int)hitval;
96 if (muon.summaryValue(hitval,xAOD::etaLayer3Holes)) netaholes+=(int)hitval;
97 if (muon.summaryValue(hitval,xAOD::etaLayer4Holes)) netaholes+=(int)hitval;
98
99 if (muon.summaryValue(hitval,xAOD::phiLayer1Holes)) nphiholes+=(int)hitval;
100 if (muon.summaryValue(hitval,xAOD::phiLayer2Holes)) nphiholes+=(int)hitval;
101 if (muon.summaryValue(hitval,xAOD::phiLayer3Holes)) nphiholes+=(int)hitval;
102 if (muon.summaryValue(hitval,xAOD::phiLayer4Holes)) nphiholes+=(int)hitval;
103
104 etaHoles.fill(netaholes, muon.eta(), muon.phi(), weight);
105 phiHoles.fill(nphiholes, muon.eta(), muon.phi(), weight);
106 etaphiHoles.fill(netaholes+nphiholes, muon.eta(), muon.phi(), weight);
107
108 // fillPlot(phiLayer1Holes, xAOD::phiLayer1Holes, muon);
109 // fillPlot(phiLayer2Holes, xAOD::phiLayer2Holes, muon);
110 // fillPlot(phiLayer3Holes, xAOD::phiLayer3Holes, muon);
111 // fillPlot(phiLayer4Holes, xAOD::phiLayer4Holes, muon);
112 // fillPlot(etaLayer1Holes, xAOD::etaLayer1Holes, muon);
113 // fillPlot(etaLayer2Holes, xAOD::etaLayer2Holes, muon);
114 // //fillPlot(etaLayer3Holes, xAOD::etaLayer3Holes, muon);
115 // fillPlot(etaLayer4Holes, xAOD::etaLayer4Holes, muon);
116
117}
void fillPlot(Trk::HitTypePlots &hitPlots, xAOD::MuonSummaryType info, const xAOD::Muon &muon, float weight=1.0)
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ phiLayer3Hits
number of phi hits in the third trigger layer (BOL1 ot T2)
@ middleSmallHoles
number of precision holes in the middle small layer
@ 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
@ phiLayer4Holes
number of phi holes in the fourth trigger layer (T3)
@ phiLayer1Holes
number of phi holes in the first trigger layer (BML1 ot T4)
@ outerLargeHits
number of precision hits in the outer large layer
@ etaLayer3Hits
number of eta hits in the third trigger layer (BOL1 ot T2)
@ etaLayer3Holes
number of eta holes 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)
@ phiLayer2Holes
number of phi holes in the second trigger layer (BML2 ot T1)
@ phiLayer1Hits
number of phi hits in the first trigger layer (BML1 ot T4)
@ phiLayer3Holes
number of phi holes in the third trigger layer (BOL1 ot T2)
@ etaLayer4Holes
number of eta holes in the fourth trigger layer (T3)
@ 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)
@ outerLargeHoles
number of precision holes in the outer large layer
@ extendedSmallHoles
number of precision holes in the extended small layer
@ innerLargeHits
number of precision hits in the inner large layer
@ middleLargeHoles
number of precision holes in the middle large layer
@ innerLargeHoles
number of precision holes in the inner large layer
@ etaLayer4Hits
number of eta hits in the fourth trigger layer (T3)
@ etaLayer2Holes
number of eta holes in the second trigger layer (BML2 ot T1)
@ etaLayer2Hits
number of eta hits in the second trigger layer (BML2 ot T1)
@ innerSmallHoles
number of precision holes in the inner small layer
@ etaLayer1Holes
number of eta holes in the first trigger layer (BML1 ot T4)
@ extendedLargeHoles
number of precision holes in the extended large layer
@ outerSmallHoles
number of precision holes in the outer small layer
@ innerSmallHits
number of precision hits in the inner small layer

◆ fill() [2/2]

void Muon::MuonHitSummaryPlots::fill ( const xAOD::TruthParticle & truthprt,
float weight = 1.0 )

Definition at line 119 of file MuonHitSummaryPlots.cxx.

119 {
120
121 m_oMSHitPlots.fill(truthprt);
122
123 fillPlot(innerSmallHits, "innerSmallHits", truthprt, weight);
124 fillPlot(innerLargeHits, "innerLargeHits", truthprt, weight);
125 fillPlot(middleSmallHits, "middleSmallHits", truthprt, weight);
126 fillPlot(middleLargeHits, "middleLargeHits", truthprt, weight);
127 fillPlot(outerSmallHits, "outerSmallHits", truthprt, weight);
128 fillPlot(outerLargeHits, "outerLargeHits", truthprt, weight);
129 fillPlot(extendedSmallHits, "extendedSmallHits", truthprt, weight);
130 fillPlot(extendedLargeHits, "extendedLargeHits", truthprt, weight);
131 fillPlot(phiLayer1Hits, "phiLayer1Hits", truthprt, weight);
132 fillPlot(phiLayer2Hits, "phiLayer2Hits", truthprt, weight);
133 fillPlot(phiLayer3Hits, "phiLayer3Hits", truthprt, weight);
134 fillPlot(phiLayer4Hits, "phiLayer4Hits", truthprt, weight);
135 fillPlot(etaLayer1Hits, "etaLayer1Hits", truthprt, weight);
136 fillPlot(etaLayer2Hits, "etaLayer2Hits", truthprt, weight);
137 fillPlot(etaLayer3Hits, "etaLayer3Hits", truthprt, weight);
138 fillPlot(etaLayer4Hits, "etaLayer4Hits", truthprt, weight);
139}

◆ fillPlot() [1/2]

void Muon::MuonHitSummaryPlots::fillPlot ( Trk::HitTypePlots & hitPlots,
const std::string & sInfo,
const xAOD::TruthParticle & truthprt,
float weight = 1.0 )

Definition at line 147 of file MuonHitSummaryPlots.cxx.

147 {
148 SG::ConstAccessor<uint8_t> acc (sInfo);
149 if (!acc.isAvailable(truthprt)) return;
150 hitPlots.fill(acc(truthprt), truthprt.eta(), truthprt.phi(), weight);
151}
void fill(int iHits, float fEta, float fPhi, float weight=1.0)
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.

◆ fillPlot() [2/2]

void Muon::MuonHitSummaryPlots::fillPlot ( Trk::HitTypePlots & hitPlots,
xAOD::MuonSummaryType info,
const xAOD::Muon & muon,
float weight = 1.0 )

Definition at line 141 of file MuonHitSummaryPlots.cxx.

141 {
142 uint8_t hitval = 0;
143 if (!muon.summaryValue(hitval,info)) return;
144 hitPlots.fill(hitval, muon.eta(), muon.phi(),weight);
145}

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47 {
48 for (auto *subNode: m_vSubNodes) {
49 subNode->finalize();
50 }
52}
std::vector< PlotBase * > m_vSubNodes
Definition PlotBase.h:96
virtual void finalizePlots()
Definition PlotBase.h:92

◆ finalizePlots()

◆ getDirectory()

const std::string & PlotBase::getDirectory ( )
inlineinherited

Definition at line 88 of file PlotBase.h.

88{return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

39 {
40 for (auto *subNode: m_vSubNodes) {
41 subNode->initialize();
42 }
44}
virtual void initializePlots()
Definition PlotBase.h:91

◆ initializePlots()

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

Reimplemented in DiTau::CorePlots, DiTau::ResolutionPlots, Egamma::ClusMomentumPlots, Egamma::ElectronFrwdPlots, Egamma::ElectronPlots, Egamma::IsolationPlots, Egamma::KinematicsPlots, Egamma::LRTElectronPlots, Egamma::PhotonAmbPlots, Egamma::PhotonCnvPlots, Egamma::PhotonConversionPlots, Egamma::PhotonPlots, Egamma::ShowerShapesPlots, Egamma::TrackPlots, ElectronValidationPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, IDTPM::HitsOnTracksPlots, IDTPM::NtracksPlots, IDTPM::OfflineElectronPlots, IDTPM::ResolutionPlots, IDTPM::SummaryPlots, IDTPM::TrackParametersPlots, IDTPM::VertexParametersPlots, InDetBasicPlot, InDetPerfNtuple, InDetPerfPlot_Duplicate, InDetPerfPlot_Efficiency, InDetPerfPlot_FakeRate, InDetPerfPlot_HitEfficiency, InDetPerfPlot_HitResidual, InDetPerfPlot_Hits, InDetPerfPlot_nTracks, InDetPerfPlot_Resolution, InDetPerfPlot_TrackParameters, InDetPerfPlot_TrkInJet, InDetPerfPlot_TRTExtension, InDetPerfPlot_Vertex, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_VerticesVsMu, JetTagDQA::BTaggingValidationPlots, LRTElectronValidationPlots, Muon::BetaPlots, Muon::ChargeDepParamPlots, Muon::HitFracTypePlots, Muon::IsoCorrPlots, Muon::IsoPlots, Muon::MomentumPullPlots, Muon::MomentumTruthPullPlots, Muon::MuonParamElossPlots, Muon::MuonParamPlots, Muon::MuonTree, Muon::RecoInfoPlots, Muon::SlowMuonParamPlots, PFO::ClusterMomentPlots, PFO::ClusterPlots, PFO::FlowElement_LinkerPlots, PFO::LeptonFELinkerPlots, PFO::PFOAlgPropertyPlots, PFO::PFOAttributePlots, PFO::PFOCalibHitClusterMomentPlots, PFO::PFOClusterMomentPlots, PFO::PFOPlots, PFO::PFOPVMatchedPlots, PhotonValidationPlots, PhysVal::BTagPlots, PhysVal::EventInfoPlots, PhysVal::KinematicsPlots, PhysVal::METPlots, PhysVal::TrkAndVtxPlots, RecoLumiPlots, RecoMuonIDTrackPlots, RecoMuonPlots, RecoMuonSegmentPlots, RecoMuonTrackPlots, RecoPhysPlots, RecoVertexPlots, Tau::CorePlots, Tau::DecayModeMigration, Tau::EfficiencyPlots, Tau::EVetoPlots, Tau::GeneralTauPlots, Tau::ResolutionPlots, Tau::TauIDVariablesPlots, Tau::TauKinematicPlots, Tau::TauParticleFlowPlots, TCCPlots, Trk::DefParamPullPlots, Trk::EfficiencyPlots, Trk::ExtrLayerPlots, Trk::ExtrRegionPlots, Trk::HitResidualPlots, Trk::HitTypePlots, Trk::IDHitPlots, Trk::ImpactPlots, Trk::ParamPlots, Trk::RecoInfoPlots, Trk::ResolutionPlots, Trk::TruthInfoPlots, ZeeValidation::FWDZeePlots, ZeeValidation::ReconElectronsPlots, ZeeValidation::TrueElectronsPlots, ZeeValidation::TrueFwdElectronsPlots, and ZeeValidation::ZeePlots.

Definition at line 91 of file PlotBase.h.

91{;}

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 41 of file PlotBase.h.

41{m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

std::vector< EfficiencyData > PlotBase::retrieveBookedEfficiencies ( )
inherited

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

83 {
84 std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
85 for (const auto &subNode: m_vSubNodes) {
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
88 }
89 return vBookedEfficiencies;
90}

◆ retrieveBookedHistograms()

std::vector< HistData > PlotBase::retrieveBookedHistograms ( )
inherited

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

63 {
64 std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
65 for (const auto &subNode: m_vSubNodes) {
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
68 }
69 return vBookedHistograms;
70}

◆ retrieveBookedTrees()

std::vector< TreeData > PlotBase::retrieveBookedTrees ( )
inherited

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

73 {
74 std::vector<TreeData> vBookedTrees = m_vBookedTrees;
75 for (auto *subNode: m_vSubNodes) {
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
78 }
79 return vBookedTrees;
80}

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55 {
56 for (auto *subNode: m_vSubNodes) {
57 subNode->setDetailLevel(iDetailLevel);
58 }
59 m_iDetailLevel = iDetailLevel;
60}
int m_iDetailLevel
Definition PlotBase.h:101

Member Data Documentation

◆ etaHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaHoles

Definition at line 56 of file MuonHitSummaryPlots.h.

◆ etaLayer1Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaLayer1Hits

Definition at line 41 of file MuonHitSummaryPlots.h.

◆ etaLayer2Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaLayer2Hits

Definition at line 42 of file MuonHitSummaryPlots.h.

◆ etaLayer3Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaLayer3Hits

Definition at line 43 of file MuonHitSummaryPlots.h.

◆ etaLayer4Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaLayer4Hits

Definition at line 44 of file MuonHitSummaryPlots.h.

◆ etaphiHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::etaphiHoles

Definition at line 57 of file MuonHitSummaryPlots.h.

◆ extendedLargeHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::extendedLargeHits

Definition at line 34 of file MuonHitSummaryPlots.h.

◆ extendedLargeHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::extendedLargeHoles

Definition at line 53 of file MuonHitSummaryPlots.h.

◆ extendedSmallHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::extendedSmallHits

Definition at line 33 of file MuonHitSummaryPlots.h.

◆ extendedSmallHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::extendedSmallHoles

Definition at line 52 of file MuonHitSummaryPlots.h.

◆ innerLargeHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::innerLargeHits

Definition at line 28 of file MuonHitSummaryPlots.h.

◆ innerLargeHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::innerLargeHoles

Definition at line 47 of file MuonHitSummaryPlots.h.

◆ innerSmallHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::innerSmallHits

Definition at line 27 of file MuonHitSummaryPlots.h.

◆ innerSmallHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::innerSmallHoles

Definition at line 46 of file MuonHitSummaryPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_oMSHitPlots

Trk::MSHitPlots Muon::MuonHitSummaryPlots::m_oMSHitPlots

Definition at line 25 of file MuonHitSummaryPlots.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_vBookedEfficiencies

std::vector<EfficiencyData> PlotBase::m_vBookedEfficiencies
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_vBookedHistograms

std::vector<HistData> PlotBase::m_vBookedHistograms
protectedinherited

Definition at line 97 of file PlotBase.h.

◆ m_vBookedTrees

std::vector<TreeData> PlotBase::m_vBookedTrees
protectedinherited

Definition at line 98 of file PlotBase.h.

◆ m_vSubNodes

std::vector<PlotBase*> PlotBase::m_vSubNodes
protectedinherited

Definition at line 96 of file PlotBase.h.

◆ middleLargeHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::middleLargeHits

Definition at line 30 of file MuonHitSummaryPlots.h.

◆ middleLargeHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::middleLargeHoles

Definition at line 49 of file MuonHitSummaryPlots.h.

◆ middleSmallHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::middleSmallHits

Definition at line 29 of file MuonHitSummaryPlots.h.

◆ middleSmallHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::middleSmallHoles

Definition at line 48 of file MuonHitSummaryPlots.h.

◆ outerLargeHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::outerLargeHits

Definition at line 32 of file MuonHitSummaryPlots.h.

◆ outerLargeHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::outerLargeHoles

Definition at line 51 of file MuonHitSummaryPlots.h.

◆ outerSmallHits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::outerSmallHits

Definition at line 31 of file MuonHitSummaryPlots.h.

◆ outerSmallHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::outerSmallHoles

Definition at line 50 of file MuonHitSummaryPlots.h.

◆ phiHoles

Trk::HitTypePlots Muon::MuonHitSummaryPlots::phiHoles

Definition at line 55 of file MuonHitSummaryPlots.h.

◆ phiLayer1Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::phiLayer1Hits

Definition at line 36 of file MuonHitSummaryPlots.h.

◆ phiLayer2Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::phiLayer2Hits

Definition at line 37 of file MuonHitSummaryPlots.h.

◆ phiLayer3Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::phiLayer3Hits

Definition at line 38 of file MuonHitSummaryPlots.h.

◆ phiLayer4Hits

Trk::HitTypePlots Muon::MuonHitSummaryPlots::phiLayer4Hits

Definition at line 39 of file MuonHitSummaryPlots.h.


The documentation for this class was generated from the following files: