ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
Muon::MuonParamElossPlots Class Reference

#include <MuonParamElossPlots.h>

Inheritance diagram for Muon::MuonParamElossPlots:
Collaboration diagram for Muon::MuonParamElossPlots:

Public Member Functions

 MuonParamElossPlots (PlotBase *pParent, const std::string &sDir)
 
void fill (const xAOD::TruthParticle &truthMu, const xAOD::Muon &mu, float weight=1.0)
 
void initialize ()
 
void finalize ()
 
void setDetailLevel (int iDetailLevel)
 
void RegisterSubPlot (PlotBase *pPlotBase)
 
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms. More...
 
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees. More...
 
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects. More...
 
TTree * BookTree (const std::string &name, bool prependDir=true)
 Book a TTree. More...
 
const std::string & getDirectory ()
 

Public Attributes

TH1 * msInnerMatchChi2 {nullptr}
 
TH1 * msOuterMatchChi2 {nullptr}
 
TH1 * ELoss {nullptr}
 
TH1 * ELossDiffTruth {nullptr}
 
TH1 * ELossDiffTruthEta0_1p35 {nullptr}
 
TH1 * ELossDiffTruthEta1p35_1p55 {nullptr}
 
TH1 * ELossDiffTruthEta1p55_end {nullptr}
 
TH1 * ELossSigma {nullptr}
 
TH1 * paramELoss {nullptr}
 
TH1 * paramELossDiff {nullptr}
 
TH1 * paramELossDiffTruth {nullptr}
 
TH1 * paramELossDiffTruthEta0_1p35 {nullptr}
 
TH1 * paramELossDiffTruthEta1p35_1p55 {nullptr}
 
TH1 * paramELossDiffTruthEta1p55_end {nullptr}
 
TH1 * measELoss {nullptr}
 
TH1 * measELossDiff {nullptr}
 
TH1 * measELossDiffTruth {nullptr}
 
TH1 * measELossDiffTruthEta0_1p35 {nullptr}
 
TH1 * measELossDiffTruthEta1p35_1p55 {nullptr}
 
TH1 * measELossDiffTruthEta1p55_end {nullptr}
 
TH1 * ELossType {nullptr}
 
TH1 * ELossTypeParametrPt {nullptr}
 
TH1 * ELossTypeNotIsoPt {nullptr}
 
TH1 * ELossTypeTailPt {nullptr}
 
TH1 * ELossTypeAllPt {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

void initializePlots ()
 
void FillPlot (TH1 *hist, const xAOD::Muon &mu, const xAOD::Muon::ParamDef paramDef, float scale=1, float weight=1.0)
 
void FillPlot (TH1 *hist, TH1 *hist_DiffTruth, TH1 *hist_DiffTruthEta0_1p35, TH1 *hist_DiffTruthEta1p35_1p55, TH1 *hist_DiffTruthEta1p55_endd, const xAOD::TruthParticle &truthMu, const xAOD::Muon &mu, const xAOD::Muon::ParamDef paramDef, float scale=1, float weight=1.0)
 
void FillPlotELossType (TH1 *hist, const xAOD::Muon &mu, float scale=1, float weight=1.0)
 
void FillPlotELossType (TH1 *hist, const xAOD::Muon &mu, xAOD::Muon::EnergyLossType type, float scale=1, float weight=1.0)
 
virtual void finalizePlots ()
 

Static Private Member Functions

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

Detailed Description

Definition at line 15 of file MuonParamElossPlots.h.

Constructor & Destructor Documentation

◆ MuonParamElossPlots()

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

Definition at line 11 of file MuonParamElossPlots.cxx.

11 :PlotBase(pParent, sDir) {}

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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

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

void Muon::MuonParamElossPlots::fill ( const xAOD::TruthParticle truthMu,
const xAOD::Muon mu,
float  weight = 1.0 
)

Definition at line 46 of file MuonParamElossPlots.cxx.

47 {
48  FillPlot(msInnerMatchChi2,mu,xAOD::Muon::msInnerMatchChi2,weight);
49  FillPlot(msOuterMatchChi2,mu,xAOD::Muon::msOuterMatchChi2, weight);
50 #ifndef XAOD_ANALYSIS
53  FillPlot(ELossSigma,mu,xAOD::Muon::EnergyLossSigma,0.001,weight);
56  FillPlotELossType(ELossTypeNotIsoPt,mu,xAOD::Muon::NotIsolated,0.001,weight);
57  FillPlotELossType(ELossTypeParametrPt,mu,xAOD::Muon::Parametrized,0.001,weight);
58  FillPlotELossType(ELossTypeTailPt,mu,xAOD::Muon::Tail,0.001,weight);
59 #endif // not XAOD_ANALYSIS
60 }

◆ FillPlot() [1/2]

void Muon::MuonParamElossPlots::FillPlot ( TH1 *  hist,
const xAOD::Muon mu,
const xAOD::Muon::ParamDef  paramDef,
float  scale = 1,
float  weight = 1.0 
)
private

Definition at line 61 of file MuonParamElossPlots.cxx.

61  {
62  if (mu.author()==xAOD::Muon::CaloTag || mu.author()==xAOD::Muon::CaloLikelihood || mu.author()==xAOD::Muon::ExtrapolateMuonToIP) return; //protection
63  float fpar = 0;
64  static const SG::ConstAccessor<float> elossAcc ("EnergyLoss");
65  if (elossAcc.isAvailable(mu)) {
66  if (mu.parameter(fpar, paramDef))
67  hist->Fill(scale*fpar,weight); //scale to GeV, if needed
68  }
69  return;
70 }

◆ FillPlot() [2/2]

void Muon::MuonParamElossPlots::FillPlot ( TH1 *  hist,
TH1 *  hist_DiffTruth,
TH1 *  hist_DiffTruthEta0_1p35,
TH1 *  hist_DiffTruthEta1p35_1p55,
TH1 *  hist_DiffTruthEta1p55_endd,
const xAOD::TruthParticle truthMu,
const xAOD::Muon mu,
const xAOD::Muon::ParamDef  paramDef,
float  scale = 1,
float  weight = 1.0 
)
private

Definition at line 71 of file MuonParamElossPlots.cxx.

71  {
72  if (mu.author()==xAOD::Muon::CaloTag || mu.author()==xAOD::Muon::CaloLikelihood || mu.author()==xAOD::Muon::ExtrapolateMuonToIP) return; //protection
73  float fpar = 0;
74  static const SG::ConstAccessor<float> elossAcc("EnergyLoss");
75  if (elossAcc.isAvailable(mu)) {
76  if (mu.parameter(fpar, paramDef))
77  hist->Fill(scale*fpar,weight); //scale to GeV, if needed
78 
79  //get true energy loss
80  static const SG::ConstAccessor<float> pxAcc("px");
81  static const SG::ConstAccessor<float> pyAcc("py");
82  static const SG::ConstAccessor<float> pzAcc("pz");
83  static const SG::ConstAccessor<float> muonEnt_pxAcc("MuonEntryLayer_px");
84  static const SG::ConstAccessor<float> muonEnt_pyAcc("MuonEntryLayer_py");
85  static const SG::ConstAccessor<float> muonEnt_pzAcc("MuonEntryLayer_pz");
86  if (!pxAcc.isAvailable(truthprt) ||
87  !pyAcc.isAvailable(truthprt) ||
88  !pzAcc.isAvailable(truthprt) ||
89  !muonEnt_pxAcc.isAvailable(truthprt) ||
90  !muonEnt_pyAcc.isAvailable(truthprt) ||
91  !muonEnt_pzAcc.isAvailable(truthprt)) return;
92 
93  //workaround for missing caloentry
94  Amg::Vector3D vecCaloEntry{pxAcc(truthprt),
95  pyAcc(truthprt),
96  pzAcc(truthprt)};
97 
98  Amg::Vector3D vecMuonExit{muonEnt_pxAcc(truthprt),
99  muonEnt_pyAcc(truthprt),
100  muonEnt_pzAcc(truthprt)};
101  float dpTruth=vecCaloEntry.mag()-vecMuonExit.mag();
102  hist_DiffTruth->Fill(scale*(fpar-dpTruth),weight); //scale to GeV, if needed
103  //again in eta ranges
104  if (std::abs(mu.eta())<1.35) hist_DiffTruthEta0_1p35->Fill(scale*(fpar-dpTruth),weight);
105  else {
106  if (std::abs(mu.eta())<1.55) hist_DiffTruthEta1p35_1p55->Fill(scale*(fpar-dpTruth),weight);
107  else hist_DiffTruthEta1p55_end->Fill(scale*(fpar-dpTruth),weight);
108  }
109  }
110  return;
111 }

◆ FillPlotELossType() [1/2]

void Muon::MuonParamElossPlots::FillPlotELossType ( TH1 *  hist,
const xAOD::Muon mu,
float  scale = 1,
float  weight = 1.0 
)
private

Definition at line 112 of file MuonParamElossPlots.cxx.

112  {
113  if (mu.author()==xAOD::Muon::CaloTag || mu.author()==xAOD::Muon::CaloLikelihood || mu.author()==xAOD::Muon::ExtrapolateMuonToIP) return; //protection
114  static const SG::ConstAccessor<float> elossAcc("EnergyLoss");
115  if (elossAcc.isAvailable(mu)) {
116  hist->Fill(mu.energyLossType(), weight);
117  ELossTypeAllPt->Fill(mu.pt()*scale, weight);
118  float used=0;
119  float meas=-100000;
120  float param=-100000;
121  if (mu.parameter(used, xAOD::Muon::EnergyLoss) && mu.parameter(param, xAOD::Muon::ParamEnergyLoss) && mu.parameter(meas, xAOD::Muon::MeasEnergyLoss ) ){
122  //fill diff plots
123  if (mu.energyLossType()==xAOD::Muon::Parametrized){
124  paramELossDiff->Fill((param-used)*scale, weight);
125  }
126  if (mu.energyLossType()==xAOD::Muon::Tail){
127  measELossDiff->Fill((meas-used)*scale, weight);
128  }
129  }
130  }
131  return;
132 }

◆ FillPlotELossType() [2/2]

void Muon::MuonParamElossPlots::FillPlotELossType ( TH1 *  hist,
const xAOD::Muon mu,
xAOD::Muon::EnergyLossType  type,
float  scale = 1,
float  weight = 1.0 
)
private

Definition at line 133 of file MuonParamElossPlots.cxx.

133  {
134  if (mu.author()==xAOD::Muon::CaloTag || mu.author()==xAOD::Muon::CaloLikelihood || mu.author()==xAOD::Muon::ExtrapolateMuonToIP) return; //protection
135  static const SG::ConstAccessor<float> elossAcc("EnergyLoss");
136  if (elossAcc.isAvailable(mu)) {
137  if (mu.energyLossType()==type) hist->Fill(mu.pt()*scale,weight); //scale to GeV, if needed
138  }
139  return;
140 }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47  {
48  for (auto *subNode: m_vSubNodes) {
49  subNode->finalize();
50  }
51  finalizePlots();
52 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ 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 }

◆ initializePlots()

void Muon::MuonParamElossPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 13 of file MuonParamElossPlots.cxx.

14 {
15  msInnerMatchChi2 = Book1D("msInnerMatchChi2","inner match #chi^{2};inner match #chi^{2};;Entries",100,0.,100.);
16  msOuterMatchChi2 = Book1D("msOuterMatchChi2","outer match #chi^{2};outer match #chi^{2};;Entries",100,0.,100.);
17 
18  ELoss = Book1D("ELoss","ELoss;ELoss [GeV];Entries",50,0,10);
19  ELossDiffTruth = Book1D("ELossDiffTruth","Difference ELoss to truth ELoss);#Delta(fitted - truth) [GeV];Entries",100,-10.,10.);
20  ELossDiffTruthEta0_1p35 = Book1D("ELossDiffTruthEta0_1p35","Difference ELoss to truth ELoss for 0<|#eta|<1.35;#Delta(fitted - truth) [GeV];Entries",100,-10.,10.);
21  ELossDiffTruthEta1p35_1p55 = Book1D("ELossDiffTruthEta1p35_1p55","Difference ELoss to truth ELoss for 1.35<|#eta|<1.55;#Delta(fitted - truth) [GeV];Entries",100,-10.,10.);
22  ELossDiffTruthEta1p55_end = Book1D("ELossDiffTruthEta1p55_end","Difference ELoss to truth ELoss for 1.55<|#eta|;#Delta(fitted - truth) [GeV];Entries",100,-10.,10.);
23  ELossSigma = Book1D("ELossSigma","ELossSigma;ELossSgima [GeV];Entries",50,0,5);
24 
25  paramELoss = Book1D("paramELoss","paramELoss;paramELoss [GeV];Entries",50,0,10);
26  paramELossDiff = Book1D("paramELossDiff","Difference paramELoss to fitted ELoss;#Delta(param-fitted) [GeV];Entries",100,-3.,1.);
27  paramELossDiffTruth = Book1D("paramELossDiffTruth","Difference paramELoss to truth ELoss;#Delta(param-truth) [GeV];Entries",100,-10.,10.);
28  paramELossDiffTruthEta0_1p35 = Book1D("paramELossDiffTruthEta0_1p35","Difference paramELoss to truth ELoss for 0<|#eta|<1.35;#Delta(param-truth) [GeV];Entries",100,-10.,10.);
29  paramELossDiffTruthEta1p35_1p55 = Book1D("paramELossDiffTruthEta1p35_1p55","Difference paramELoss to truth ELoss for 1.35<|#eta|<1.55;#Delta(param-truth) [GeV];Entries",100,-10.,10.);
30  paramELossDiffTruthEta1p55_end = Book1D("paramELossDiffTruthhEta1p55_end","Difference paramELoss to truth ELoss for 1.55<|#eta|;#Delta(param-truth) [GeV];Entries",100,-10.,10.);
31 
32  measELoss = Book1D("measELoss","measELoss;measELoss [GeV];Entries",50,0,10);
33  measELossDiff = Book1D("measELossDiff","Difference measELoss to fitted ELoss);#Delta(meas- fitted) [GeV];Entries",100,-3.,1.);
34  measELossDiffTruth = Book1D("measELossDiffTruth","Difference measELoss to truth ELoss);#Delta(meas- truth) [GeV];Entries",100,-10.,10.);
35  measELossDiffTruthEta0_1p35 = Book1D("measELossDiffTruthEta0_1p35","Difference measELoss to truth ELoss for 0<|#eta|<1.35;#Delta(meas- truth) [GeV];Entries",100,-10.,10.);
36  measELossDiffTruthEta1p35_1p55 = Book1D("measELossDiffTruthEta1p35_1p55","Difference measELoss to truth ELoss for 1.35<|#eta|<1.55;#Delta(meas- truth) [GeV];Entries",100,-10.,10.);
37  measELossDiffTruthEta1p55_end = Book1D("measELossDiffTruthEta1p55_end","Difference measELoss to truth ELoss for 1.55<|#eta|;#Delta(meas- truth) [GeV];Entries",100,-10.,10.);
38 
39  ELossType = Book1D("ELossType","ELossType;Type;Entries",5,-0.5,4.5);
40  ELossTypeParametrPt = Book1D("ELossTypeParametrPt","ELossType:Parametrized Pt;Pt [GeV];Entries",50,0,500);
41  ELossTypeNotIsoPt = Book1D("ELossTypeNotIsoPt","ELossType:NotIsolated Pt;Pt [GeV];Entries",50,0,500);
42  ELossTypeTailPt = Book1D("ELossTypeTailPt","ELossType:Tail Pt;Pt [GeV];Entries",50,0,500);
43  ELossTypeAllPt = Book1D("ELossTypeAllPt","All ELossTypes Pt;Pt [GeV];Entries",50,0,500);
44 }

◆ 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 }

Member Data Documentation

◆ ELoss

TH1* Muon::MuonParamElossPlots::ELoss {nullptr}

Definition at line 24 of file MuonParamElossPlots.h.

◆ ELossDiffTruth

TH1* Muon::MuonParamElossPlots::ELossDiffTruth {nullptr}

Definition at line 25 of file MuonParamElossPlots.h.

◆ ELossDiffTruthEta0_1p35

TH1* Muon::MuonParamElossPlots::ELossDiffTruthEta0_1p35 {nullptr}

Definition at line 26 of file MuonParamElossPlots.h.

◆ ELossDiffTruthEta1p35_1p55

TH1* Muon::MuonParamElossPlots::ELossDiffTruthEta1p35_1p55 {nullptr}

Definition at line 27 of file MuonParamElossPlots.h.

◆ ELossDiffTruthEta1p55_end

TH1* Muon::MuonParamElossPlots::ELossDiffTruthEta1p55_end {nullptr}

Definition at line 28 of file MuonParamElossPlots.h.

◆ ELossSigma

TH1* Muon::MuonParamElossPlots::ELossSigma {nullptr}

Definition at line 29 of file MuonParamElossPlots.h.

◆ ELossType

TH1* Muon::MuonParamElossPlots::ELossType {nullptr}

Definition at line 42 of file MuonParamElossPlots.h.

◆ ELossTypeAllPt

TH1* Muon::MuonParamElossPlots::ELossTypeAllPt {nullptr}

Definition at line 46 of file MuonParamElossPlots.h.

◆ ELossTypeNotIsoPt

TH1* Muon::MuonParamElossPlots::ELossTypeNotIsoPt {nullptr}

Definition at line 44 of file MuonParamElossPlots.h.

◆ ELossTypeParametrPt

TH1* Muon::MuonParamElossPlots::ELossTypeParametrPt {nullptr}

Definition at line 43 of file MuonParamElossPlots.h.

◆ ELossTypeTailPt

TH1* Muon::MuonParamElossPlots::ELossTypeTailPt {nullptr}

Definition at line 45 of file MuonParamElossPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.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.

◆ measELoss

TH1* Muon::MuonParamElossPlots::measELoss {nullptr}

Definition at line 36 of file MuonParamElossPlots.h.

◆ measELossDiff

TH1* Muon::MuonParamElossPlots::measELossDiff {nullptr}

Definition at line 37 of file MuonParamElossPlots.h.

◆ measELossDiffTruth

TH1* Muon::MuonParamElossPlots::measELossDiffTruth {nullptr}

Definition at line 38 of file MuonParamElossPlots.h.

◆ measELossDiffTruthEta0_1p35

TH1* Muon::MuonParamElossPlots::measELossDiffTruthEta0_1p35 {nullptr}

Definition at line 39 of file MuonParamElossPlots.h.

◆ measELossDiffTruthEta1p35_1p55

TH1* Muon::MuonParamElossPlots::measELossDiffTruthEta1p35_1p55 {nullptr}

Definition at line 40 of file MuonParamElossPlots.h.

◆ measELossDiffTruthEta1p55_end

TH1* Muon::MuonParamElossPlots::measELossDiffTruthEta1p55_end {nullptr}

Definition at line 41 of file MuonParamElossPlots.h.

◆ msInnerMatchChi2

TH1* Muon::MuonParamElossPlots::msInnerMatchChi2 {nullptr}

Definition at line 21 of file MuonParamElossPlots.h.

◆ msOuterMatchChi2

TH1* Muon::MuonParamElossPlots::msOuterMatchChi2 {nullptr}

Definition at line 22 of file MuonParamElossPlots.h.

◆ paramELoss

TH1* Muon::MuonParamElossPlots::paramELoss {nullptr}

Definition at line 30 of file MuonParamElossPlots.h.

◆ paramELossDiff

TH1* Muon::MuonParamElossPlots::paramELossDiff {nullptr}

Definition at line 31 of file MuonParamElossPlots.h.

◆ paramELossDiffTruth

TH1* Muon::MuonParamElossPlots::paramELossDiffTruth {nullptr}

Definition at line 32 of file MuonParamElossPlots.h.

◆ paramELossDiffTruthEta0_1p35

TH1* Muon::MuonParamElossPlots::paramELossDiffTruthEta0_1p35 {nullptr}

Definition at line 33 of file MuonParamElossPlots.h.

◆ paramELossDiffTruthEta1p35_1p55

TH1* Muon::MuonParamElossPlots::paramELossDiffTruthEta1p35_1p55 {nullptr}

Definition at line 34 of file MuonParamElossPlots.h.

◆ paramELossDiffTruthEta1p55_end

TH1* Muon::MuonParamElossPlots::paramELossDiffTruthEta1p55_end {nullptr}

Definition at line 35 of file MuonParamElossPlots.h.


The documentation for this class was generated from the following files:
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:293
used
Muon::MuonParamElossPlots::measELossDiffTruth
TH1 * measELossDiffTruth
Definition: MuonParamElossPlots.h:38
WritePulseShapeToCool.yhi
yhi
Definition: WritePulseShapeToCool.py:153
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:101
Muon::MuonParamElossPlots::paramELossDiff
TH1 * paramELossDiff
Definition: MuonParamElossPlots.h:31
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:97
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
Muon::MuonParamElossPlots::ELoss
TH1 * ELoss
Definition: MuonParamElossPlots.h:24
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
plotmaker.hist
hist
Definition: plotmaker.py:148
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:91
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:100
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:99
tree
TChain * tree
Definition: tile_monitor.h:30
PlotBase::Book2D
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
SG::ConstAccessor< float >
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
MuonParameters::CaloTag
@ CaloTag
Definition: MuonParamDefs.h:64
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
Muon::MuonParamElossPlots::ELossTypeAllPt
TH1 * ELossTypeAllPt
Definition: MuonParamElossPlots.h:46
Muon::MuonParamElossPlots::ELossTypeTailPt
TH1 * ELossTypeTailPt
Definition: MuonParamElossPlots.h:45
PlotBase::PlotBase
PlotBase(PlotBase *parent, const std::string &sDir)
Definition: PlotBase.cxx:29
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
PlotBase::Book1D
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:94
Muon::MuonParamElossPlots::paramELossDiffTruthEta1p55_end
TH1 * paramELossDiffTruthEta1p55_end
Definition: MuonParamElossPlots.h:35
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:96
Muon::MuonParamElossPlots::ELossTypeParametrPt
TH1 * ELossTypeParametrPt
Definition: MuonParamElossPlots.h:43
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
Muon::MuonParamElossPlots::measELossDiffTruthEta0_1p35
TH1 * measELossDiffTruthEta0_1p35
Definition: MuonParamElossPlots.h:39
Muon::MuonParamElossPlots::paramELoss
TH1 * paramELoss
Definition: MuonParamElossPlots.h:30
Muon::MuonParamElossPlots::FillPlotELossType
void FillPlotELossType(TH1 *hist, const xAOD::Muon &mu, float scale=1, float weight=1.0)
Definition: MuonParamElossPlots.cxx:112
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
Muon::MuonParamElossPlots::ELossDiffTruthEta1p35_1p55
TH1 * ELossDiffTruthEta1p35_1p55
Definition: MuonParamElossPlots.h:27
Muon::MuonParamElossPlots::ELossDiffTruth
TH1 * ELossDiffTruth
Definition: MuonParamElossPlots.h:25
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
Muon::MuonParamElossPlots::paramELossDiffTruth
TH1 * paramELossDiffTruth
Definition: MuonParamElossPlots.h:32
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
Muon::MuonParamElossPlots::ELossTypeNotIsoPt
TH1 * ELossTypeNotIsoPt
Definition: MuonParamElossPlots.h:44
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
Muon::MuonParamElossPlots::measELossDiffTruthEta1p55_end
TH1 * measELossDiffTruthEta1p55_end
Definition: MuonParamElossPlots.h:41
beamspotman.dir
string dir
Definition: beamspotman.py:623
Muon::MuonParamElossPlots::ELossType
TH1 * ELossType
Definition: MuonParamElossPlots.h:42
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
Muon::MuonParamElossPlots::measELossDiff
TH1 * measELossDiff
Definition: MuonParamElossPlots.h:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MuonParameters::ExtrapolateMuonToIP
@ ExtrapolateMuonToIP
Definition: MuonParamDefs.h:68
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Muon::MuonParamElossPlots::msInnerMatchChi2
TH1 * msInnerMatchChi2
Definition: MuonParamElossPlots.h:21
Muon::MuonParamElossPlots::msOuterMatchChi2
TH1 * msOuterMatchChi2
Definition: MuonParamElossPlots.h:22
Muon::MuonParamElossPlots::paramELossDiffTruthEta0_1p35
TH1 * paramELossDiffTruthEta0_1p35
Definition: MuonParamElossPlots.h:33
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::MuonParamElossPlots::paramELossDiffTruthEta1p35_1p55
TH1 * paramELossDiffTruthEta1p35_1p55
Definition: MuonParamElossPlots.h:34
Muon::MuonParamElossPlots::ELossDiffTruthEta0_1p35
TH1 * ELossDiffTruthEta0_1p35
Definition: MuonParamElossPlots.h:26
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
Muon::MuonParamElossPlots::ELossSigma
TH1 * ELossSigma
Definition: MuonParamElossPlots.h:29
MuonParameters::CaloLikelihood
@ CaloLikelihood
Definition: MuonParamDefs.h:65
Muon::MuonParamElossPlots::measELossDiffTruthEta1p35_1p55
TH1 * measELossDiffTruthEta1p35_1p55
Definition: MuonParamElossPlots.h:40
Muon::MuonParamElossPlots::measELoss
TH1 * measELoss
Definition: MuonParamElossPlots.h:36
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
Muon::MuonParamElossPlots::ELossDiffTruthEta1p55_end
TH1 * ELossDiffTruthEta1p55_end
Definition: MuonParamElossPlots.h:28
Muon::MuonParamElossPlots::FillPlot
void FillPlot(TH1 *hist, const xAOD::Muon &mu, const xAOD::Muon::ParamDef paramDef, float scale=1, float weight=1.0)
Definition: MuonParamElossPlots.cxx:61
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:92
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:98