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

#include <MomentumTruthPullPlots.h>

Inheritance diagram for Muon::MomentumTruthPullPlots:
Collaboration diagram for Muon::MomentumTruthPullPlots:

Public Member Functions

 MomentumTruthPullPlots (PlotBase *pParent, const std::string &sDir, std::string sType)
 ~MomentumTruthPullPlots ()
void fill (const xAOD::Muon &muon, const xAOD::TrackParticle *muontpIP, const xAOD::TruthParticle &truthprt, float weight=1.0)
void initializePlots ()
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 (std::string_view 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 (std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (std::string_view name, TH1 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (std::string_view name, TH2 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, TH3 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (std::string_view name, std::string_view 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 (std::string_view name, std::string_view labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view 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

std::string m_sType
TH1 * dp_CB_truthIP {nullptr}
TH1 * dp_ME_truthIP {nullptr}
TH1 * dp_ME_truthIP_MS_truthMS {nullptr}
TH1 * dp_eloss {nullptr}
TH2 * dp_CB_truthIP_vs_pt {nullptr}
TH2 * dp_ME_truthIP_vs_pt {nullptr}
TH2 * dp_ME_truthIP_MS_truthMS_vs_pt {nullptr}
TH2 * dp_eloss_vs_pt {nullptr}
TH2 * dp_CB_truthIP_vs_eta {nullptr}
TH2 * dp_ME_truthIP_vs_eta {nullptr}
TH2 * dp_ME_truthIP_MS_truthMS_vs_eta {nullptr}
TH2 * dp_eloss_vs_eta {nullptr}

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 finalizePlots ()

Static Private Member Functions

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

Detailed Description

Definition at line 14 of file MomentumTruthPullPlots.h.

Constructor & Destructor Documentation

◆ MomentumTruthPullPlots()

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

Definition at line 16 of file MomentumTruthPullPlots.cxx.

19 : PlotBase(pParent, sDir), m_sType(std::move(sType)) {}
PlotBase(PlotBase *parent, std::string_view sDir)
Definition PlotBase.cxx:29

◆ ~MomentumTruthPullPlots()

Muon::MomentumTruthPullPlots::~MomentumTruthPullPlots ( )

Definition at line 21 of file MomentumTruthPullPlots.cxx.

21{}

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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:289
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:98
std::string m_sDirectory
Definition PlotBase.h:101

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( std::string_view name,
TH1 * refHist,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
TH2 * refHist,
std::string_view 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(std::string_view name, std::string_view 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 ( std::string_view name,
std::string_view 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.append(name).c_str(),
163 labels.data(), 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 ( std::string_view name,
TH3 * refHist,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi);
260 hist->SetDirectory(nullptr);
261 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
262 return hist;
263}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:100

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view 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 266 of file PlotBase.cxx.

266 {
267 std::string prefix = constructPrefix(m_sDirectory, prependDir);
268
269 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
270 hist->SetDirectory(nullptr);
271 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
272
273 return hist;
274}

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile(prefix.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), (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 ( std::string_view name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 277 of file PlotBase.cxx.

277 {
278 std::string prefix = constructPrefix(m_sDirectory, prependDir);
279 TTree *tree = new TTree(prefix.append(name).c_str(), "");
280
281 tree->SetAutoSave(0);
282 tree->SetAutoFlush(0);
283 tree->SetDirectory(nullptr);
284 m_vBookedTrees.emplace_back(tree, m_sDirectory);
285 return tree;
286}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:99
TChain * tree

◆ constructPrefix()

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

Definition at line 289 of file PlotBase.cxx.

289 {
290 if (!prependDir) {
291 return "";
292 }
293 std::replace(dir.begin(), dir.end(), '/', '_');
294 return dir;
295}

◆ fill()

void Muon::MomentumTruthPullPlots::fill ( const xAOD::Muon & muon,
const xAOD::TrackParticle * muontpIP,
const xAOD::TruthParticle & truthprt,
float weight = 1.0 )

Definition at line 74 of file MomentumTruthPullPlots.cxx.

77 {
78 if (!(muon.muonType() == xAOD::Muon::MuonType::Combined ||
79 muon.muonType() == xAOD::Muon::MuonType::SegmentTagged ||
80 muon.muonType() == xAOD::Muon::MuonType::MuonStandAlone)) {
81 return;
82 }
83
84 using enum xAOD::Muon::TrackParticleType;
85 const xAOD::TrackParticle* muPrimaryTrk = muon.trackParticle(Primary);
86
87 const xAOD::TrackParticle* msExtrapTrk = muon.trackParticle(ExtrapolatedMuonSpectrometerTrackParticle);
88 if (!msExtrapTrk) {
89 msExtrapTrk = muon.trackParticle(MuonSpectrometerTrackParticle);
90 }
91
92 float eta = truthMu.eta();
93 float pt = 0.001 * truthMu.pt();
94
95 float pTruth = truthMu.p4().P();
96 float pCB = muPrimaryTrk->p4().P();
97 float pME = 0;
98 if (msExtrapTrk) {
99 pME = msExtrapTrk->p4().P(); // muon extrapolated
100 }
101 float pMS = 0;
102 if (msTrk) {
103 pMS = msTrk->p4().P(); // at muon spectrometer entry//@@@
104 }
105
106 float eloss = 0;
107 if (muon.parameter(eloss, xAOD::Muon::ParamDef::MeasEnergyLoss)) {
108 ;
109 }
110 float pTruthMS = 0; // p truth at MS entry
111 static const SG::ConstAccessor<float> entpxAcc("MuonEntryLayer_px");
112 static const SG::ConstAccessor<float> entpyAcc("MuonEntryLayer_py");
113 static const SG::ConstAccessor<float> entpzAcc("MuonEntryLayer_pz");
114 if (entpxAcc.isAvailable(truthMu) && entpyAcc.isAvailable(truthMu) &&
115 entpzAcc.isAvailable(truthMu)) {
116 Amg::Vector3D pvecTruthMS{entpxAcc(truthMu), entpyAcc(truthMu),
117 entpzAcc(truthMu)};
118 pTruthMS = pvecTruthMS.mag();
119 }
120
121 if (muon.muonType() != xAOD::Muon::MuonType::SegmentTagged) {
122 if (pTruth) {
123 float dpCB = 0.001 * (pCB - pTruth);
124 dp_CB_truthIP->Fill(dpCB, weight);
125 dp_CB_truthIP_vs_pt->Fill(pt, dpCB, weight);
126 dp_CB_truthIP_vs_eta->Fill(eta, dpCB, weight);
127 if (pME) {
128 float dpME = 0.001 * (pME - pTruth);
129 dp_ME_truthIP->Fill(dpME, weight);
130 dp_ME_truthIP_vs_pt->Fill(pt, dpME, weight);
131 dp_ME_truthIP_vs_eta->Fill(eta, dpME, weight);
132 if (pMS && pTruthMS) {
133 float dpMS = 0.001 * (pME - pMS - pTruth + pTruthMS);
134 dp_ME_truthIP_MS_truthMS->Fill(dpMS, weight);
135 dp_ME_truthIP_MS_truthMS_vs_pt->Fill(pt, dpMS, weight);
136 dp_ME_truthIP_MS_truthMS_vs_eta->Fill(eta, dpMS, weight);
137 }
138 }
139 }
140 }
141
142 if (eloss > 2000 && pTruthMS && pTruth) {
143 float dpEloss = 0.001 * (pTruth - pTruthMS - eloss);
144 dp_eloss->Fill(dpEloss, weight);
145 dp_eloss_vs_pt->Fill(pt, dpEloss, weight);
146 dp_eloss_vs_eta->Fill(eta, dpEloss, weight);
147 }
148}
Scalar eta() const
pseudorapidity method
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
Eigen::Matrix< double, 3, 1 > Vector3D
TrackParticle_v1 TrackParticle
Reference the current persistent version:

◆ 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:97
virtual void finalizePlots()
Definition PlotBase.h:93

◆ finalizePlots()

◆ getDirectory()

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

Definition at line 89 of file PlotBase.h.

89{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:92

◆ initializePlots()

void Muon::MomentumTruthPullPlots::initializePlots ( )
virtual

Reimplemented from PlotBase.

Definition at line 23 of file MomentumTruthPullPlots.cxx.

23 {
25 Book1D("dp_CB_truthIP_" + m_sType,
26 m_sType + " pCB-ptruthIP;#Delta p;Entries", 200, -10, 10);
28 Book1D("dp_ME_truthIP_" + m_sType,
29 m_sType + " pME-ptruthIP;#Delta p;Entries", 200, -10, 10);
31 Book1D("dp_ME_truthIP_MS_truthMS_" + m_sType,
32 m_sType + " (pME-ptruthIP) - (pMS-ptruthMS);#Delta p;Entries",
33 200, -10, 10);
34 dp_eloss = Book1D("dp_eloss_" + m_sType,
35 m_sType + " dp_eloss;#Delta p;Entries", 200, -10, 10);
36
37 Double_t ptBins[] = {5, 10, 25, 60, 100, 200, 1000};
38 Double_t etaBins[] = {-2.7, -2.5, -1.7, -1.05, -0.1,
39 0.1, 1.05, 1.7, 2.5, 2.7};
40 // Double_t phiBins[] = {-3.15, -2.4, -1.6, -0.8, 0, 0.8, 1.6, 2.4, 3.15};
41
42 const unsigned int nptBins = sizeof(ptBins) / sizeof(ptBins[0]) - 1;
43 const unsigned int netaBins = sizeof(etaBins) / sizeof(etaBins[0]) - 1;
44
45 dp_CB_truthIP_vs_pt = Book2D("dp_CB_truthIP_vs_pt_" + m_sType,
46 m_sType + " pCB-ptruthIP vs pt;pt;#Delta p",
47 nptBins, ptBins, 100, -10., 10.);
48 dp_ME_truthIP_vs_pt = Book2D("dp_ME_truthIP_vs_pt_" + m_sType,
49 m_sType + " pME-ptruthIP vs pt;pt;#Delta p",
50 nptBins, ptBins, 100, -10., 10.);
52 Book2D("dp_ME_truthIP_MS_truthMS_vs_pt_" + m_sType,
53 m_sType + " (pME-ptruthIP) - (pMS-ptruthMS) vs pt;pt;#Delta p",
54 nptBins, ptBins, 200, -10., 10.);
55 dp_eloss_vs_pt = Book2D("dp_eloss_vs_pt_" + m_sType,
56 m_sType + " dp_eloss vs pt;pt [GeV]; #Delta p",
57 nptBins, ptBins, 100, -10., 10.);
58
59 dp_CB_truthIP_vs_eta = Book2D("dp_CB_truthIP_vs_eta_" + m_sType,
60 m_sType + " pCB-ptruthIP vs eta;eta;#Delta p",
61 netaBins, etaBins, 100, -10., 10.);
62 dp_ME_truthIP_vs_eta = Book2D("dp_ME_truthIP_vs_eta_" + m_sType,
63 m_sType + " pME-ptruthIP vs eta;eta;#Delta p",
64 netaBins, etaBins, 100, -10., 10.);
66 Book2D("dp_ME_truthIP_MS_truthMS_vs_eta_" + m_sType,
67 m_sType + " (pME-ptruthIP) - (pMS-ptruthMS) vs eta;eta;#Delta p",
68 netaBins, etaBins, 200, -10., 10.);
69 dp_eloss_vs_eta = Book2D("dp_eloss_vs_eta_" + m_sType,
70 m_sType + " dp_eloss vs eta;eta; #Delta p",
71 netaBins, etaBins, 100, -10., 10.);
72}
TH1D * Book1D(std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 42 of file PlotBase.h.

42{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:102

Member Data Documentation

◆ dp_CB_truthIP

TH1* Muon::MomentumTruthPullPlots::dp_CB_truthIP {nullptr}

Definition at line 22 of file MomentumTruthPullPlots.h.

22{nullptr};

◆ dp_CB_truthIP_vs_eta

TH2* Muon::MomentumTruthPullPlots::dp_CB_truthIP_vs_eta {nullptr}

Definition at line 32 of file MomentumTruthPullPlots.h.

32{nullptr};

◆ dp_CB_truthIP_vs_pt

TH2* Muon::MomentumTruthPullPlots::dp_CB_truthIP_vs_pt {nullptr}

Definition at line 27 of file MomentumTruthPullPlots.h.

27{nullptr};

◆ dp_eloss

TH1* Muon::MomentumTruthPullPlots::dp_eloss {nullptr}

Definition at line 25 of file MomentumTruthPullPlots.h.

25{nullptr};

◆ dp_eloss_vs_eta

TH2* Muon::MomentumTruthPullPlots::dp_eloss_vs_eta {nullptr}

Definition at line 35 of file MomentumTruthPullPlots.h.

35{nullptr};

◆ dp_eloss_vs_pt

TH2* Muon::MomentumTruthPullPlots::dp_eloss_vs_pt {nullptr}

Definition at line 30 of file MomentumTruthPullPlots.h.

30{nullptr};

◆ dp_ME_truthIP

TH1* Muon::MomentumTruthPullPlots::dp_ME_truthIP {nullptr}

Definition at line 23 of file MomentumTruthPullPlots.h.

23{nullptr};

◆ dp_ME_truthIP_MS_truthMS

TH1* Muon::MomentumTruthPullPlots::dp_ME_truthIP_MS_truthMS {nullptr}

Definition at line 24 of file MomentumTruthPullPlots.h.

24{nullptr};

◆ dp_ME_truthIP_MS_truthMS_vs_eta

TH2* Muon::MomentumTruthPullPlots::dp_ME_truthIP_MS_truthMS_vs_eta {nullptr}

Definition at line 34 of file MomentumTruthPullPlots.h.

34{nullptr};

◆ dp_ME_truthIP_MS_truthMS_vs_pt

TH2* Muon::MomentumTruthPullPlots::dp_ME_truthIP_MS_truthMS_vs_pt {nullptr}

Definition at line 29 of file MomentumTruthPullPlots.h.

29{nullptr};

◆ dp_ME_truthIP_vs_eta

TH2* Muon::MomentumTruthPullPlots::dp_ME_truthIP_vs_eta {nullptr}

Definition at line 33 of file MomentumTruthPullPlots.h.

33{nullptr};

◆ dp_ME_truthIP_vs_pt

TH2* Muon::MomentumTruthPullPlots::dp_ME_truthIP_vs_pt {nullptr}

Definition at line 28 of file MomentumTruthPullPlots.h.

28{nullptr};

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 102 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_sType

std::string Muon::MomentumTruthPullPlots::m_sType

Definition at line 20 of file MomentumTruthPullPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 100 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 99 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 97 of file PlotBase.h.


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