13 const std::string& sDir)
19 "inner match #chi^{2};inner match #chi^{2};;Entries", 100, 0., 100.);
22 "outer match #chi^{2};outer match #chi^{2};;Entries", 100, 0., 100.);
24 ELoss =
Book1D(
"ELoss",
"ELoss;ELoss [GeV];Entries", 50, 0, 10);
27 "Difference ELoss to truth ELoss);#Delta(fitted - truth) [GeV];Entries",
30 Book1D(
"ELossDiffTruthEta0_1p35",
31 "Difference ELoss to truth ELoss for "
32 "0<|#eta|<1.35;#Delta(fitted - truth) [GeV];Entries",
35 Book1D(
"ELossDiffTruthEta1p35_1p55",
36 "Difference ELoss to truth ELoss for "
37 "1.35<|#eta|<1.55;#Delta(fitted - truth) [GeV];Entries",
40 Book1D(
"ELossDiffTruthEta1p55_end",
41 "Difference ELoss to truth ELoss for 1.55<|#eta|;#Delta(fitted "
42 "- truth) [GeV];Entries",
45 Book1D(
"ELossSigma",
"ELossSigma;ELossSgima [GeV];Entries", 50, 0, 5);
48 Book1D(
"paramELoss",
"paramELoss;paramELoss [GeV];Entries", 50, 0, 10);
50 "Difference paramELoss to fitted "
51 "ELoss;#Delta(param-fitted) [GeV];Entries",
54 "Difference paramELoss to truth "
55 "ELoss;#Delta(param-truth) [GeV];Entries",
58 Book1D(
"paramELossDiffTruthEta0_1p35",
59 "Difference paramELoss to truth ELoss for "
60 "0<|#eta|<1.35;#Delta(param-truth) [GeV];Entries",
63 Book1D(
"paramELossDiffTruthEta1p35_1p55",
64 "Difference paramELoss to truth ELoss for "
65 "1.35<|#eta|<1.55;#Delta(param-truth) [GeV];Entries",
68 Book1D(
"paramELossDiffTruthhEta1p55_end",
69 "Difference paramELoss to truth ELoss for "
70 "1.55<|#eta|;#Delta(param-truth) [GeV];Entries",
74 Book1D(
"measELoss",
"measELoss;measELoss [GeV];Entries", 50, 0, 10);
76 "Difference measELoss to fitted ELoss);#Delta(meas- "
77 "fitted) [GeV];Entries",
80 "Difference measELoss to truth "
81 "ELoss);#Delta(meas- truth) [GeV];Entries",
84 Book1D(
"measELossDiffTruthEta0_1p35",
85 "Difference measELoss to truth ELoss for "
86 "0<|#eta|<1.35;#Delta(meas- truth) [GeV];Entries",
89 Book1D(
"measELossDiffTruthEta1p35_1p55",
90 "Difference measELoss to truth ELoss for "
91 "1.35<|#eta|<1.55;#Delta(meas- truth) [GeV];Entries",
94 Book1D(
"measELossDiffTruthEta1p55_end",
95 "Difference measELoss to truth ELoss for "
96 "1.55<|#eta|;#Delta(meas- truth) [GeV];Entries",
99 ELossType =
Book1D(
"ELossType",
"ELossType;Type;Entries", 5, -0.5, 4.5);
101 Book1D(
"ELossTypeParametrPt",
102 "ELossType:Parametrized Pt;Pt [GeV];Entries", 50, 0, 500);
104 Book1D(
"ELossTypeNotIsoPt",
"ELossType:NotIsolated Pt;Pt [GeV];Entries",
107 "ELossType:Tail Pt;Pt [GeV];Entries", 50, 0, 500);
109 "All ELossTypes Pt;Pt [GeV];Entries", 50, 0, 500);
119 xAOD::Muon::ParamDef::EnergyLoss, 0.001, weight);
122 truthmu, mu, xAOD::Muon::ParamDef::MeasEnergyLoss, 0.001, weight);
126 truthmu, mu, xAOD::Muon::ParamDef::ParamEnergyLoss, 0.001, weight);
136 const xAOD::Muon::ParamDef paramDef,
137 float scale,
float weight) {
138 if (mu.muonType() == xAOD::Muon::MuonType::CaloTagged) {
144 if (mu.parameter(fpar, paramDef)) {
145 hist->Fill(scale * fpar, weight);
151 TH1* hist, TH1* hist_DiffTruth, TH1* hist_DiffTruthEta0_1p35,
152 TH1* hist_DiffTruthEta1p35_1p55, TH1* hist_DiffTruthEta1p55_end,
154 const xAOD::Muon::ParamDef paramDef,
float scale,
float weight) {
155 if (mu.muonType() == xAOD::Muon::MuonType::CaloTagged) {
161 if (mu.parameter(fpar, paramDef)) {
162 hist->Fill(scale * fpar, weight);
170 "MuonEntryLayer_px");
172 "MuonEntryLayer_py");
174 "MuonEntryLayer_pz");
188 muonEnt_pyAcc(truthprt),
189 muonEnt_pzAcc(truthprt)};
190 float dpTruth = vecCaloEntry.mag() - vecMuonExit.mag();
191 hist_DiffTruth->Fill(scale * (fpar - dpTruth),
194 if (std::abs(mu.eta()) < 1.35) {
195 hist_DiffTruthEta0_1p35->Fill(scale * (fpar - dpTruth), weight);
197 if (std::abs(mu.eta()) < 1.55) {
198 hist_DiffTruthEta1p35_1p55->Fill(scale * (fpar - dpTruth),
201 hist_DiffTruthEta1p55_end->Fill(scale * (fpar - dpTruth),
209 float scale,
float weight) {
210 if (mu.muonType() == xAOD::Muon::MuonType::CaloTagged) {
215 hist->Fill(
static_cast<int>(mu.energyLossType()), weight);
218 float meas = -100000;
219 float param = -100000;
220 if (mu.parameter(
used, xAOD::Muon::ParamDef::EnergyLoss) &&
221 mu.parameter(param, xAOD::Muon::ParamDef::ParamEnergyLoss) &&
222 mu.parameter(meas, xAOD::Muon::ParamDef::MeasEnergyLoss)) {
224 if (mu.energyLossType() == xAOD::Muon::EnergyLossType::Parametrized) {
227 if (mu.energyLossType() == xAOD::Muon::EnergyLossType::Tail) {
235 TH1* hist,
const xAOD::Muon& mu,
const xAOD::Muon::EnergyLossType
type,
236 float scale,
float weight) {
237 if (mu.muonType() == xAOD::Muon::MuonType::CaloTagged) {
242 if (mu.energyLossType() ==
type) {
243 hist->Fill(mu.pt() * scale, weight);
Helper class to provide constant type-safe access to aux data.
TH1 * paramELossDiffTruthEta1p55_end
void FillPlotELossType(TH1 *hist, const xAOD::Muon &mu, float scale=1, float weight=1.0)
TH1 * paramELossDiffTruth
TH1 * measELossDiffTruthEta1p55_end
MuonParamElossPlots(PlotBase *pParent, const std::string &sDir)
TH1 * paramELossDiffTruthEta1p35_1p55
void FillPlot(TH1 *hist, const xAOD::Muon &mu, const xAOD::Muon::ParamDef paramDef, float scale=1, float weight=1.0)
TH1 * ELossDiffTruthEta1p55_end
TH1 * measELossDiffTruthEta1p35_1p55
TH1 * measELossDiffTruthEta0_1p35
TH1 * ELossDiffTruthEta0_1p35
TH1 * ELossDiffTruthEta1p35_1p55
TH1 * ELossTypeParametrPt
void fill(const xAOD::TruthParticle &truthMu, const xAOD::Muon &mu, float weight=1.0)
TH1 * paramELossDiffTruthEta0_1p35
TH1D * Book1D(std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
PlotBase(PlotBase *parent, std::string_view sDir)
Helper class to provide constant type-safe access to aux data.
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
holding In fact this class is here in order to allow STL container for all features This class is sho...
Eigen::Matrix< double, 3, 1 > Vector3D
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: