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...
 
const 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 15 of file MuonValidationPlots.cxx.

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

◆ ~MuonValidationPlots()

MuonValidationPlots::~MuonValidationPlots ( )
virtualdefault

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() [1/3]

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

Definition at line 138 of file MuonValidationPlots.cxx.

◆ fill() [2/3]

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

Definition at line 140 of file MuonValidationPlots.cxx.

140 { 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 142 of file MuonValidationPlots.cxx.

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

◆ fillRecoMuonPlots()

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

Definition at line 97 of file MuonValidationPlots.cxx.

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

◆ fillTree()

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

Definition at line 203 of file MuonValidationPlots.cxx.

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

◆ fillTreeBranches() [1/3]

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

Definition at line 186 of file MuonValidationPlots.cxx.

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

◆ fillTreeBranches() [2/3]

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

Definition at line 190 of file MuonValidationPlots.cxx.

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

◆ fillTreeBranches() [3/3]

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

Definition at line 194 of file MuonValidationPlots.cxx.

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

◆ fillTruthMuonPlots()

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

Definition at line 131 of file MuonValidationPlots.cxx.

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

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

◆ getMuonTree()

Muon::MuonTree * MuonValidationPlots::getMuonTree ( )

Definition at line 184 of file MuonValidationPlots.cxx.

184 { return m_MuonTree.get(); }

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

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

Reimplemented in TCCPlots, JetTagDQA::BTaggingValidationPlots, InDetPerfPlot_VertexTruthMatching, InDetPerfPlot_Hits, Egamma::LRTElectronPlots, Egamma::ElectronPlots, ZeeValidation::ReconElectronsPlots, RecoMuonPlots, InDetPerfPlot_Efficiency, Tau::NewCorePlots, Egamma::ShowerShapesPlots, PFO::PFOClusterMomentPlots, InDetPerfPlot_Vertex, InDetPerfPlot_Resolution, Trk::ExtrRegionPlots, InDetPerfPlot_TRTExtension, InDetPerfPlot_TrackParameters, Egamma::TrackPlots, RecoPhysPlots, Tau::Migration, PhotonValidationPlots, ZeeValidation::TrueElectronsPlots, PFO::FlowElement_LinkerPlots, Tau::GeneralTauPlots, IDTPM::HitsOnTracksPlots, Muon::IsoPlots, ZeeValidation::ZeePlots, ZeeValidation::TrueFwdElectronsPlots, Tau::RecoTauPlots, InDetPerfPlot_HitResidual, InDetPerfPlot_HitEfficiency, Muon::MuonParamElossPlots, Trk::IDHitPlots, PFO::ClusterPlots, PFO::LeptonFELinkerPlots, PFO::PFOCalibHitClusterMomentPlots, InDetPerfPlot_FakeRate, IDTPM::NtracksPlots, Muon::SlowMuonParamPlots, PFO::ClusterMomentPlots, IDTPM::DuplicateRatePlots, IDTPM::EfficiencyPlots, IDTPM::FakeRatePlots, Egamma::PhotonPlots, RecoLumiPlots, ElectronValidationPlots, PFO::PFOPlots, InDetPerfPlot_nTracks, IDTPM::ResolutionPlots, Tau::Had1ProngPlots, RecoMuonTrackPlots, ZeeValidation::FWDZeePlots, PhysVal::KinematicsPlots, RecoMuonSegmentPlots, Egamma::PhotonCnvPlots, PFO::PFOAlgPropertyPlots, InDetPerfPlot_VerticesVsMu, RecoMuonIDTrackPlots, Muon::MomentumTruthPullPlots, Egamma::ElectronFrwdPlots, Trk::ExtrLayerPlots, IDTPM::OfflineElectronPlots, LRTElectronValidationPlots, IDTPM::VertexParametersPlots, Tau::Had3ProngPlots, 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, PFO::PFOAttributePlots, PhysVal::METPlots, Trk::EfficiencyPlots, Muon::ChargeDepParamPlots, Tau::ParamPlots, 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 91 of file PlotBase.h.

91 {;}

◆ isGoodTruthTrack()

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

Definition at line 210 of file MuonValidationPlots.cxx.

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

◆ 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

◆ 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 101 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 100 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 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.


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:97
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:293
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
MuonValidationPlots::fillTruthMuonPlots
void fillTruthMuonPlots(const xAOD::TruthParticle &truthMu, float weight=1.0)
Definition: MuonValidationPlots.cxx:131
MuonValidationPlots::m_truthSelections
std::vector< std::string > m_truthSelections
Definition: MuonValidationPlots.h:35
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:97
MuonValidationPlots::m_selectedWPs
std::vector< int > m_selectedWPs
Definition: MuonValidationPlots.h:33
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
MuonValidationPlots::m_MuonTree
std::unique_ptr< Muon::MuonTree > m_MuonTree
Definition: MuonValidationPlots.h:55
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
MuonValidationPlots::m_oRecoMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::RecoMuonPlotOrganizer > > m_oRecoMuonPlots_perQuality
Definition: MuonValidationPlots.h:39
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
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
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:29
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
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:96
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
lumiFormat.i
int i
Definition: lumiFormat.py:85
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
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
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:228
MuonValidationPlots::m_oTruthRelatedMuonPlots_perQuality
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perQuality
Definition: MuonValidationPlots.h:41
Muon::MUON_CHARGEPARAM
@ MUON_CHARGEPARAM
Definition: RecoMuonPlotOrganizer.h:25
MuonValidationPlots::m_oTruthRelatedMuonPlots_perAuthor
std::vector< std::unique_ptr< Muon::TruthRelatedMuonPlotOrganizer > > m_oTruthRelatedMuonPlots_perAuthor
Definition: MuonValidationPlots.h:42
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:210
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:92
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:98
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