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

#include <MuonValidationPlots.h>

Inheritance diagram for MuonValidationPlots:
Collaboration diagram for MuonValidationPlots:

Public Member Functions

 MuonValidationPlots (PlotBase *pParent, const std::string &sDir, std::vector< int > wps, std::vector< unsigned int > authors, bool isData, bool doBinnedResolutionPlots, bool doSplitSAFMuons, bool doMuonTree=false)
 
virtual ~MuonValidationPlots ()
 
void fill (const xAOD::Muon &mu, float weight=1.0)
 
bool isGoodTruthTrack (const xAOD::TruthParticle &truthMu)
 
void fill (const xAOD::TruthParticle &truthMu, float weight=1.0)
 
void fill (const xAOD::TruthParticle *truthMu, const xAOD::Muon *mu, const xAOD::TrackParticleContainer *MSTracks, float weight=1.0)
 
Muon::MuonTreegetMuonTree ()
 
void fillTreeBranches (const xAOD::Muon &mu)
 
void fillTreeBranches (const xAOD::TruthParticle &truthMu)
 
void fillTreeBranches (const xAOD::TruthParticle *truthMu, const xAOD::Muon *mu, const xAOD::TrackParticleContainer *MSTracks)
 
void fillTree (const xAOD::EventInfo *eventInfo, bool isData)
 
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...
 
std::string getDirectory ()
 

Public Attributes

std::vector< int > m_selectedWPs
 
std::vector< unsigned int > m_selectedAuthors
 
std::vector< std::string > m_truthSelections
 
std::unique_ptr< Muon::RecoMuonPlotOrganizerm_oRecoMuonPlots
 
std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizerm_oTruthRelatedMuonPlots
 
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perQuality
 
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perAuthor
 
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perQuality
 
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perAuthor
 
std::vector< std::unique_ptr< Muon::TruthMuonPlotOrganizer > > m_oTruthMuonPlots
 
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_SiAssocFwrdMu
 
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_SiAssocFwrdMu
 

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 fillRecoMuonPlots (const xAOD::Muon &mu, float weight=1.0)
 
void fillTruthMuonPlots (const xAOD::TruthParticle &truthMu, float weight=1.0)
 
virtual void initializePlots ()
 
virtual void finalizePlots ()
 

Static Private Member Functions

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

Private Attributes

bool m_isData
 
bool m_doSeparateSAFMuons
 
std::unique_ptr< Muon::MuonTreem_MuonTree
 

Detailed Description

Definition at line 17 of file MuonValidationPlots.h.

Constructor & Destructor Documentation

◆ MuonValidationPlots()

MuonValidationPlots::MuonValidationPlots ( PlotBase pParent,
const std::string &  sDir,
std::vector< int >  wps,
std::vector< unsigned int >  authors,
bool  isData,
bool  doBinnedResolutionPlots,
bool  doSplitSAFMuons,
bool  doMuonTree = false 
)

Definition at line 14 of file MuonValidationPlots.cxx.

16  :
17  PlotBase(pParent, sDir),
18  m_selectedWPs(std::move(wps)),
19  m_selectedAuthors(std::move(authors)),
20  m_truthSelections(2, ""),
21  m_oTruthRelatedMuonPlots(nullptr),
23  m_doSeparateSAFMuons(doSeparateSAFMuons),
24  m_MuonTree(nullptr) {
25  if (!m_isData) {
26  m_truthSelections[0] = "all"; // no selection on truth muons (minimum selection is |eta|<2.5, pt>5 GeV, defined in
27  // MuonPhysValMonitoringTool::handleTruthMuon()
28  m_truthSelections[1] = "MSAcceptance"; // truth muons in MS acceptance (at least 4 associated hits in the MS)
29 
30  // histogram classes for all muons
31  for (const auto& truthSelection : m_truthSelections) {
32  m_oTruthMuonPlots.emplace_back(new Muon::TruthMuonPlotOrganizer(this, "truth/" + truthSelection));
33  }
35  new Muon::TruthRelatedMuonPlotOrganizer(this, "matched/AllMuons", doBinnedResolutionPlots));
36  }
37 
38  std::vector<int> allPlotCategories(0);
39  std::vector<int> selectedPlotCategories(0);
40  for (unsigned int i = 0; i < Muon::MAX_RECOPLOTCLASS; i++) {
41  allPlotCategories.emplace_back(i);
42  if (i != Muon::MUON_CHARGEPARAM) selectedPlotCategories.emplace_back(i);
43  }
44 
45  // histogram classes for all muons
46  m_oRecoMuonPlots.reset(new Muon::RecoMuonPlotOrganizer(this, "reco/AllMuons", allPlotCategories));
47 
48  // define a histogram class for each of the selected muon qualities
49  for (unsigned int i = 0; i < m_selectedWPs.size(); i++) {
50  std::string sQuality = Muon::EnumDefs::toString((xAOD::Muon::Quality)m_selectedWPs[i]);
52  this, "reco/" + sQuality, (sQuality == "Medium" || sQuality == "Tight") ? allPlotCategories : selectedPlotCategories));
53 
54  if (!m_isData) {
55  bool doBinnedPlots = false;
56  if (sQuality == "Medium") doBinnedPlots = true;
58  new Muon::TruthRelatedMuonPlotOrganizer(this, "matched/" + sQuality, doBinnedPlots));
59  }
60  }
61 
62  // define a histogram class for each of the selected muon authors (+one inclusive for all authors)
63  for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
64  std::string sAuthor = Muon::EnumDefs::toString((xAOD::Muon::Author)m_selectedAuthors[i]);
65  if (sAuthor == "CaloTag") sAuthor = "CaloTagTight";
66  m_oRecoMuonPlots_perAuthor.emplace_back(
67  new Muon::RecoMuonPlotOrganizer(this, "reco/" + sAuthor, (sAuthor == "MuidCo") ? allPlotCategories : selectedPlotCategories));
68  if (!m_isData)
70  new Muon::TruthRelatedMuonPlotOrganizer(this, "matched/" + sAuthor, doBinnedResolutionPlots));
71  }
72 
73  // define histogram class for loose CaloTag and append to author plots, not very nice workaround though
74  for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
75  if ((xAOD::Muon::Author)m_selectedAuthors[i] == xAOD::Muon::CaloTag) { // found CaloTag in list, also do CaloTagLoose
76  m_oRecoMuonPlots_perAuthor.emplace_back(new Muon::RecoMuonPlotOrganizer(this, "reco/CaloTagLoose", selectedPlotCategories));
77  if (!m_isData)
79  new Muon::TruthRelatedMuonPlotOrganizer(this, "matched/CaloTagLoose", doBinnedResolutionPlots));
80  }
81  }
82 
83  // define histogram class for SiliconAssociatedForwardMuons
85  m_oRecoMuonPlots_SiAssocFwrdMu.emplace_back(new Muon::RecoMuonPlotOrganizer(this, "reco/SiAssocForward", selectedPlotCategories));
86  if (!m_isData)
88  new Muon::TruthRelatedMuonPlotOrganizer(this, "matched/SiAssocForward", doBinnedResolutionPlots));
89  }
90 
91  if (doMuonTree) m_MuonTree.reset(new Muon::MuonTree(this, "", !m_isData));
92 }

◆ ~MuonValidationPlots()

MuonValidationPlots::~MuonValidationPlots ( )
virtualdefault

Member Function Documentation

◆ Book1D() [1/2]

TH1F * 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 88 of file PlotBase.cxx.

89  {
90  std::string prefix = constructPrefix(m_sDirectory, prependDir);
91  Bool_t oldstat = TH1::AddDirectoryStatus();
92  TH1::AddDirectory(false);
93  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), nBins, start, end);
94  TH1::AddDirectory(oldstat);
95 
96  hist->Sumw2();
97  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
98  return hist;
99 }

◆ Book1D() [2/2]

TH1F * 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 102 of file PlotBase.cxx.

102  {
103  std::string prefix = constructPrefix(m_sDirectory, prependDir);
104  Bool_t oldstat = TH1::AddDirectoryStatus();
105  TH1::AddDirectory(false);
106  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
107  refHist->GetXaxis()->GetXbins()->GetArray());
108  hist->Sumw2();
109  TH1::AddDirectory(oldstat);
110 
111 
112  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
113  return hist;
114 }

◆ 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 TH2D histogram with variable x axis binning.

Definition at line 138 of file PlotBase.cxx.

139  {
140  std::string prefix = constructPrefix(m_sDirectory, prependDir);
141  Bool_t oldstat = TH2::AddDirectoryStatus();
142  TH2::AddDirectory(false);
143  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
144  hist->Sumw2();
145  TH2::AddDirectory(oldstat);
146  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
147  return hist;
148 }

◆ 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 TH2D histogram.

Definition at line 117 of file PlotBase.cxx.

118  {
119  std::string prefix = constructPrefix(m_sDirectory, prependDir);
120  Bool_t oldstat = TH2::AddDirectoryStatus();
121  TH2::AddDirectory(false);
122  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY);
123  hist->Sumw2();
124  TH2::AddDirectory(oldstat);
125 
126 
127  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
128  return hist;
129 }

◆ 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 132 of file PlotBase.cxx.

132  {
133  return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
134  refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
135 }

◆ 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 TH3D histogram.

Definition at line 151 of file PlotBase.cxx.

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

◆ Book3D() [2/2]

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

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

Definition at line 165 of file PlotBase.cxx.

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

◆ 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 251 of file PlotBase.cxx.

251  {
252  std::string prefix = constructPrefix(m_sDirectory, prependDir);
253  //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
254  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
255  //hist->SetAutoSave(0);
256  //hist->SetAtoFlush(0);
257  hist->SetDirectory(nullptr);
258  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
259  //TEfficiency::AddDirectory(oldstat);
260  return hist;
261 }

◆ 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 264 of file PlotBase.cxx.

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

◆ 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 198 of file PlotBase.cxx.

198  {
199  std::string prefix = constructPrefix(m_sDirectory, prependDir);
200  TProfile *hist(nullptr);
201  Bool_t oldstat = TProfile::AddDirectoryStatus();
202  TProfile::AddDirectory(false);
203 
204  hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, binsX);
205  TProfile::AddDirectory(oldstat);
206  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
207  return hist;
208 }

◆ 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 180 of file PlotBase.cxx.

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

◆ 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 225 of file PlotBase.cxx.

227  {
228  std::string prefix = constructPrefix(m_sDirectory, prependDir);
229  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
230  TProfile2D::AddDirectory(false);
231  std::string opt = useRMS ? "S" : "";
232  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
233  TProfile2D::AddDirectory(oldstat);
234  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
235  return hist;
236 }

◆ 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 239 of file PlotBase.cxx.

239  {
240  std::string prefix = constructPrefix(m_sDirectory, prependDir);
241  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
242  TProfile2D::AddDirectory(false);
243  std::string opt = useRMS ? "S" : "";
244  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
245  TProfile2D::AddDirectory(oldstat);
246  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
247  return hist;
248 }

◆ 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 211 of file PlotBase.cxx.

212  {
213  std::string prefix = constructPrefix(m_sDirectory, prependDir);
214  TProfile *hist(nullptr);
215  Bool_t oldstat = TProfile::AddDirectoryStatus();
216  TProfile::AddDirectory(false);
217 
218  hist = new TProfile((prefix + name).c_str(), labels.c_str(), (Int_t) nBinsX, binsX, startY, endY);
219  TProfile::AddDirectory(oldstat);
220  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
221  return hist;
222 }

◆ BookTree()

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

Book a TTree.

Definition at line 275 of file PlotBase.cxx.

275  {
276  std::string prefix = constructPrefix(m_sDirectory, prependDir);
277  TTree *tree = new TTree((prefix + name).c_str(), "");
278 
279  tree->SetAutoSave(0);
280  tree->SetAutoFlush(0);
281  tree->SetDirectory(nullptr);
282  m_vBookedTrees.emplace_back(tree, m_sDirectory);
283  return tree;
284 }

◆ constructPrefix()

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

Definition at line 287 of file PlotBase.cxx.

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

◆ fill() [1/3]

void MuonValidationPlots::fill ( const xAOD::Muon mu,
float  weight = 1.0 
)

Definition at line 137 of file MuonValidationPlots.cxx.

◆ fill() [2/3]

void MuonValidationPlots::fill ( const xAOD::TruthParticle truthMu,
float  weight = 1.0 
)

Definition at line 139 of file MuonValidationPlots.cxx.

139 { fillTruthMuonPlots(truthMu, weight); }

◆ fill() [3/3]

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

Definition at line 141 of file MuonValidationPlots.cxx.

142  {
143  if (truthMu) fillTruthMuonPlots(*truthMu, weight);
144  if (mu) fillRecoMuonPlots(*mu, weight);
145 
146  if ((mu) && (truthMu)) {
147  // plots for all
148  m_oTruthRelatedMuonPlots->fill(*truthMu, *mu, MSTracks, weight);
149  // fill SiliconAssociatedForwardMuons
150  for (unsigned int i = 0; i < m_oTruthRelatedMuonPlots_SiAssocFwrdMu.size(); i++) {
151  if (mu->muonType() == xAOD::Muon::SiliconAssociatedForwardMuon || !m_doSeparateSAFMuons)
152  m_oTruthRelatedMuonPlots_SiAssocFwrdMu[i]->fill(*truthMu, *mu, MSTracks, weight);
153  }
154 
155  // plots per quality
156  xAOD::Muon::Quality muqual = mu->quality();
157  for (unsigned int i = 0; i < m_selectedWPs.size(); i++) {
158  if (muqual <= (xAOD::Muon::Quality)m_selectedWPs[i]) {
159  m_oTruthRelatedMuonPlots_perQuality[i]->fill(*truthMu, *mu, MSTracks, weight);
160  }
161  }
162  // plots per author
163  for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
164  if (mu->isAuthor((xAOD::Muon::Author)m_selectedAuthors[i])) {
166  int ipar = 0;
167  if (mu->parameter(ipar, xAOD::Muon::CaloMuonIDTag)) { ; }
168  if (ipar < 11) continue;
169  }
170  // filter SilicionAssociatedForwardMuons
171  if (mu->muonType() != xAOD::Muon::SiliconAssociatedForwardMuon || !m_doSeparateSAFMuons)
172  m_oTruthRelatedMuonPlots_perAuthor[i]->fill(*truthMu, *mu, MSTracks, weight);
173  }
174  }
175  // fill CaloTagLoose (one additional plot in plot list)
176  unsigned int counter = m_selectedAuthors.size();
177  if (counter + 1 == m_oRecoMuonPlots_perAuthor.size()) {
178  if (mu->isAuthor(xAOD::Muon::CaloTag)) m_oTruthRelatedMuonPlots_perAuthor[counter]->fill(*truthMu, *mu, MSTracks, weight);
179  }
180  }
181 }

◆ fillRecoMuonPlots()

void MuonValidationPlots::fillRecoMuonPlots ( const xAOD::Muon mu,
float  weight = 1.0 
)
private

Definition at line 96 of file MuonValidationPlots.cxx.

96  {
97  // fill hists for all muons
98  m_oRecoMuonPlots->fill(mu, weight);
99  // fill separate hists for each muon quality
100  xAOD::Muon::Quality muqual = mu.quality();
101  for (unsigned int i = 0; i < m_selectedWPs.size(); i++) {
102  if (muqual <= (xAOD::Muon::Quality)m_selectedWPs[i]) { m_oRecoMuonPlots_perQuality[i]->fill(mu, weight); }
103  }
104  // fill separate hists for each author
105  for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
106  if (mu.isAuthor((xAOD::Muon::Author)m_selectedAuthors[i])) {
108  int ipar = 0;
109  if (mu.parameter(ipar, xAOD::Muon::CaloMuonIDTag)) { ; }
110  if (ipar < 11) continue;
111  }
112 
113  // filter SiliconAssociatedForwardMuons
114  if (mu.muonType() != (xAOD::Muon::MuonType)xAOD::Muon::SiliconAssociatedForwardMuon || !m_doSeparateSAFMuons)
116  }
117  }
118  // fill SiliconAssociatedForwardMuons
119  for (unsigned int i = 0; i < m_oTruthRelatedMuonPlots_SiAssocFwrdMu.size(); i++) {
120  if (mu.muonType() == (xAOD::Muon::MuonType)xAOD::Muon::SiliconAssociatedForwardMuon)
122  }
123  // fill CaloTagLoose (one additional plot in plot list)
124  unsigned int counter = m_selectedAuthors.size();
125  if (counter + 1 == m_oRecoMuonPlots_perAuthor.size()) {
127  }
128 }

◆ fillTree()

void MuonValidationPlots::fillTree ( const xAOD::EventInfo eventInfo,
bool  isData 
)

Definition at line 202 of file MuonValidationPlots.cxx.

202  {
203  if (!m_MuonTree) return;
204  m_MuonTree->fillEventBranches(eventInfo, isData);
205  m_MuonTree->getTree()->Fill();
206  m_MuonTree->postFillTreeActions();
207 }

◆ fillTreeBranches() [1/3]

void MuonValidationPlots::fillTreeBranches ( const xAOD::Muon mu)

Definition at line 185 of file MuonValidationPlots.cxx.

185  {
186  if (m_MuonTree) m_MuonTree->fillRecoMuonBranches(mu);
187 }

◆ fillTreeBranches() [2/3]

void MuonValidationPlots::fillTreeBranches ( const xAOD::TruthParticle truthMu)

Definition at line 189 of file MuonValidationPlots.cxx.

189  {
190  if (m_MuonTree) m_MuonTree->fillTruthMuonBranches(truthMu, isGoodTruthTrack(truthMu));
191 }

◆ fillTreeBranches() [3/3]

void MuonValidationPlots::fillTreeBranches ( const xAOD::TruthParticle truthMu,
const xAOD::Muon mu,
const xAOD::TrackParticleContainer MSTracks 
)

Definition at line 193 of file MuonValidationPlots.cxx.

194  {
195  if (!m_MuonTree) return;
196  if (mu) m_MuonTree->fillRecoMuonBranches(*mu);
197  if (truthMu) m_MuonTree->fillTruthMuonBranches(*truthMu, isGoodTruthTrack(*truthMu));
198 
199  if (truthMu && mu) { m_MuonTree->fillTruthMuonBranches(*truthMu, *mu, MSTracks, isGoodTruthTrack(*truthMu)); }
200 }

◆ fillTruthMuonPlots()

void MuonValidationPlots::fillTruthMuonPlots ( const xAOD::TruthParticle truthMu,
float  weight = 1.0 
)
private

Definition at line 130 of file MuonValidationPlots.cxx.

130  {
131  m_oTruthMuonPlots[0]->fill(truthMu, weight); // no selections
132  if (isGoodTruthTrack(truthMu)) { // in MS acceptance (minimum precision hits)
133  m_oTruthMuonPlots[1]->fill(truthMu, weight);
134  }
135 }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 41 of file PlotBase.cxx.

41  {
42  for (auto *subNode: m_vSubNodes) {
43  subNode->finalize();
44  }
45  finalizePlots();
46 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ getMuonTree()

Muon::MuonTree * MuonValidationPlots::getMuonTree ( )

Definition at line 183 of file MuonValidationPlots.cxx.

183 { return m_MuonTree.get(); }

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 33 of file PlotBase.cxx.

33  {
34  for (auto *subNode: m_vSubNodes) {
35  subNode->initialize();
36  }
38 }

◆ initializePlots()

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

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

Definition at line 90 of file PlotBase.h.

90 {;}

◆ isGoodTruthTrack()

bool MuonValidationPlots::isGoodTruthTrack ( const xAOD::TruthParticle truthMu)

Definition at line 209 of file MuonValidationPlots.cxx.

209  {
210  static const std::array<std::string,6> hitTypes{"innerSmallHits", "innerLargeHits", "middleSmallHits",
211  "middleLargeHits", "outerSmallHits", "outerLargeHits"}; // MDT + CSC
212  int minPrecHits = 5;
213 
214  int nPrecHits = 0;
215  bool hasEnoughPrecHits = false;
216 
217  for (const auto& hitTypeItr : hitTypes) {
218  if (truthMu.isAvailable<uint8_t>(hitTypeItr)) {
219  nPrecHits += truthMu.auxdata<uint8_t>(hitTypeItr);
220  if (nPrecHits >= minPrecHits) {
221  hasEnoughPrecHits = true;
222  break;
223  }
224  }
225  }
226  return (hasEnoughPrecHits);
227 }

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase pPlotBase)
inlineinherited

Definition at line 40 of file PlotBase.h.

40 {m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 77 of file PlotBase.cxx.

77  {
78  std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
79  for (const auto &subNode: m_vSubNodes) {
80  std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
81  vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
82  }
83  return vBookedEfficiencies;
84 }

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 57 of file PlotBase.cxx.

57  {
58  std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
59  for (const auto &subNode: m_vSubNodes) {
60  std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
61  vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
62  }
63  return vBookedHistograms;
64 }

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 67 of file PlotBase.cxx.

67  {
68  std::vector<TreeData> vBookedTrees = m_vBookedTrees;
69  for (auto *subNode: m_vSubNodes) {
70  std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
71  vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
72  }
73  return vBookedTrees;
74 }

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int  iDetailLevel)
inherited

Definition at line 49 of file PlotBase.cxx.

49  {
50  for (auto *subNode: m_vSubNodes) {
51  subNode->setDetailLevel(iDetailLevel);
52  }
53  m_iDetailLevel = iDetailLevel;
54 }

Member Data Documentation

◆ m_doSeparateSAFMuons

bool MuonValidationPlots::m_doSeparateSAFMuons
private

Definition at line 53 of file MuonValidationPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_isData

bool MuonValidationPlots::m_isData
private

Definition at line 52 of file MuonValidationPlots.h.

◆ m_MuonTree

std::unique_ptr<Muon::MuonTree> MuonValidationPlots::m_MuonTree
private

Definition at line 55 of file MuonValidationPlots.h.

◆ m_oRecoMuonPlots

std::unique_ptr<Muon::RecoMuonPlotOrganizer> MuonValidationPlots::m_oRecoMuonPlots

Definition at line 37 of file MuonValidationPlots.h.

◆ m_oRecoMuonPlots_perAuthor

std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer> > MuonValidationPlots::m_oRecoMuonPlots_perAuthor

Definition at line 40 of file MuonValidationPlots.h.

◆ m_oRecoMuonPlots_perQuality

std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer> > MuonValidationPlots::m_oRecoMuonPlots_perQuality

Definition at line 39 of file MuonValidationPlots.h.

◆ m_oRecoMuonPlots_SiAssocFwrdMu

std::vector<std::unique_ptr<Muon::RecoMuonPlotOrganizer> > MuonValidationPlots::m_oRecoMuonPlots_SiAssocFwrdMu

Definition at line 46 of file MuonValidationPlots.h.

◆ m_oTruthMuonPlots

std::vector<std::unique_ptr<Muon::TruthMuonPlotOrganizer> > MuonValidationPlots::m_oTruthMuonPlots

Definition at line 43 of file MuonValidationPlots.h.

◆ m_oTruthRelatedMuonPlots

std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer> MuonValidationPlots::m_oTruthRelatedMuonPlots

Definition at line 38 of file MuonValidationPlots.h.

◆ m_oTruthRelatedMuonPlots_perAuthor

std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer> > MuonValidationPlots::m_oTruthRelatedMuonPlots_perAuthor

Definition at line 42 of file MuonValidationPlots.h.

◆ m_oTruthRelatedMuonPlots_perQuality

std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer> > MuonValidationPlots::m_oTruthRelatedMuonPlots_perQuality

Definition at line 41 of file MuonValidationPlots.h.

◆ m_oTruthRelatedMuonPlots_SiAssocFwrdMu

std::vector<std::unique_ptr<Muon::TruthRelatedMuonPlotOrganizer> > MuonValidationPlots::m_oTruthRelatedMuonPlots_SiAssocFwrdMu

Definition at line 45 of file MuonValidationPlots.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_selectedAuthors

std::vector<unsigned int> MuonValidationPlots::m_selectedAuthors

Definition at line 34 of file MuonValidationPlots.h.

◆ m_selectedWPs

std::vector<int> MuonValidationPlots::m_selectedWPs

Definition at line 33 of file MuonValidationPlots.h.

◆ m_truthSelections

std::vector<std::string> MuonValidationPlots::m_truthSelections

Definition at line 35 of file MuonValidationPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 96 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 97 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 95 of file PlotBase.h.


The documentation for this class was generated from the following files:
MuonValidationPlots::fillRecoMuonPlots
void fillRecoMuonPlots(const xAOD::Muon &mu, float weight=1.0)
Definition: MuonValidationPlots.cxx:96
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:287
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:100
MuonValidationPlots::fillTruthMuonPlots
void fillTruthMuonPlots(const xAOD::TruthParticle &truthMu, float weight=1.0)
Definition: MuonValidationPlots.cxx:130
MuonValidationPlots::m_truthSelections
std::vector< std::string > m_truthSelections
Definition: MuonValidationPlots.h:35
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:96
MuonValidationPlots::m_selectedWPs
std::vector< int > m_selectedWPs
Definition: MuonValidationPlots.h:33
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
MuonValidationPlots::m_MuonTree
std::unique_ptr< Muon::MuonTree > m_MuonTree
Definition: MuonValidationPlots.h:55
TH2F
Definition: rootspy.cxx:420
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:90
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:99
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
tree
TChain * tree
Definition: tile_monitor.h:30
MuonValidationPlots::m_oRecoMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perQuality
Definition: MuonValidationPlots.h:39
TProfile2D
Definition: rootspy.cxx:531
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 TH2D histogram.
Definition: PlotBase.cxx:117
MuonValidationPlots::m_oRecoMuonPlots
std::unique_ptr< Muon::RecoMuonPlotOrganizer > m_oRecoMuonPlots
Definition: MuonValidationPlots.h:37
Muon::TruthMuonPlotOrganizer
Definition: TruthMuonPlotOrganizer.h:21
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
PlotBase::PlotBase
PlotBase(PlotBase *parent, const std::string &sDir)
Definition: PlotBase.cxx:23
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
MuonValidationPlots::m_isData
bool m_isData
Definition: MuonValidationPlots.h:52
MuonValidationPlots::m_oTruthRelatedMuonPlots
std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > m_oTruthRelatedMuonPlots
Definition: MuonValidationPlots.h:38
MuonValidationPlots::m_oRecoMuonPlots_perAuthor
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perAuthor
Definition: MuonValidationPlots.h:40
MuonValidationPlots::m_selectedAuthors
std::vector< unsigned int > m_selectedAuthors
Definition: MuonValidationPlots.h:34
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
lumiFormat.i
int i
Definition: lumiFormat.py:92
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
Muon::RecoMuonPlotOrganizer
Definition: RecoMuonPlotOrganizer.h:27
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
MuonValidationPlots::m_doSeparateSAFMuons
bool m_doSeparateSAFMuons
Definition: MuonValidationPlots.h:53
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
beamspotman.dir
string dir
Definition: beamspotman.py:623
Muon::TruthRelatedMuonPlotOrganizer
Definition: TruthRelatedMuonPlotOrganizer.h:27
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
TH3F
Definition: rootspy.cxx:495
TProfile
Definition: rootspy.cxx:515
xAOD::IParticle::isAvailable
bool isAvailable(const std::string &name, const std::string &clsname="") const
Check if a user property is available for reading or not.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:131
MuonValidationPlots::m_oTruthRelatedMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perQuality
Definition: MuonValidationPlots.h:41
TH1F
Definition: rootspy.cxx:320
Muon::MUON_CHARGEPARAM
@ MUON_CHARGEPARAM
Definition: RecoMuonPlotOrganizer.h:25
xAOD::IParticle::auxdata
T & auxdata(const std::string &name, const std::string &clsname="")
Fetch an aux data variable, as a non-const reference.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:96
MuonValidationPlots::m_oTruthRelatedMuonPlots_perAuthor
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perAuthor
Definition: MuonValidationPlots.h:42
python.grid.isData
def isData(dataset)
Definition: grid.py:491
MuonValidationPlots::m_oTruthRelatedMuonPlots_SiAssocFwrdMu
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_SiAssocFwrdMu
Definition: MuonValidationPlots.h:45
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
MuonValidationPlots::isGoodTruthTrack
bool isGoodTruthTrack(const xAOD::TruthParticle &truthMu)
Definition: MuonValidationPlots.cxx:209
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
test_pyathena.counter
counter
Definition: test_pyathena.py:15
ParticleJetParams::Author
Author
Definition: ParticleJetParamDefs.h:33
Muon::MAX_RECOPLOTCLASS
@ MAX_RECOPLOTCLASS
Definition: RecoMuonPlotOrganizer.h:25
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
Muon::MuonTree
Definition: MuonTree.h:20
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:97
MuonValidationPlots::m_oTruthMuonPlots
std::vector< std::unique_ptr< Muon::TruthMuonPlotOrganizer > > m_oTruthMuonPlots
Definition: MuonValidationPlots.h:43
MuonValidationPlots::m_oRecoMuonPlots_SiAssocFwrdMu
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_SiAssocFwrdMu
Definition: MuonValidationPlots.h:46