ATLAS Offline Software
Loading...
Searching...
No Matches
TriggerMuonValidationPlots Class Reference

#include <TriggerMuonValidationPlots.h>

Inheritance diagram for TriggerMuonValidationPlots:
Collaboration diagram for TriggerMuonValidationPlots:

Public Member Functions

 TriggerMuonValidationPlots (PlotBase *pParent, const std::string &sDir, std::set< int > authors, bool isData, bool doTrigMuonL1Validation, bool doTrigMuonL2Validation, bool doTrigMuonEFValidation, std::vector< std::vector< std::string > > ChainSeed, std::vector< std::string > L1MuonItems)
virtual ~TriggerMuonValidationPlots ()
void fill (const xAOD::MuonRoI &TrigL1mu)
void fill (const xAOD::L2StandAloneMuon &L2SAmu)
void fill (const xAOD::L2CombinedMuon &L2CBmu)
void fill (const xAOD::Muon &Trigmu)
void fill (const xAOD::Muon &Trigmu, const xAOD::Muon &Recomu)
void fill (const xAOD::L2StandAloneMuon &L2SAmu, const xAOD::Muon &Recomu)
void fill (const xAOD::L2CombinedMuon &L2CBmu, const xAOD::Muon &Recomu)
void fillNumEff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillDenEff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillNumL1Eff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillDenL1Eff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillFeatPlots (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillFeatPlots (const xAOD::MuonRoI &TrigL1mu, const std::string &selectedChain)
void fillDenRELEff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void fillNumRELEff (const xAOD::Muon &Trigmu, const std::string &selectedChain)
void initialize ()
void finalize ()
void setDetailLevel (int iDetailLevel)
void RegisterSubPlot (PlotBase *pPlotBase)
std::vector< HistDataretrieveBookedHistograms ()
 Retrieve all booked histograms.
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees.
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects.
TTree * BookTree (std::string_view name, bool prependDir=true)
 Book a TTree.
const std::string & getDirectory ()
Methods to book monitoring histograms

Note: methods starting with capitals should be deprecated in favour of camel-cased methods

TH1D * Book1D (std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (std::string_view name, TH1 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (std::string_view name, TH2 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, Double_t *binsX, int nBinsY, Double_t startY, Double_t endY, bool prependDir=true)
 Book a TH2F histogram with variable x axis binning.
TH3F * Book3D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, int nBinsZ, float startZ, float endZ, bool prependDir=true)
 Book a TH3F histogram.
TH3F * Book3D (std::string_view name, TH3 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
 Book a TProfile histogram.
TProfile * BookTProfile (std::string_view name, std::string_view labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (std::string_view name, std::string_view labels, int nBinsX, double *binsX, double startY, double endY, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (std::string_view name, std::string_view labels, const int nBinsX, const double xlo, const double xhi, const int nBinsY, const double ylo, const double yhi, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TProfile2D * BookTProfile2D (std::string_view name, std::string_view labels, const int nBinsX, double *binsX, const int nBinsY, double *binsY, bool prependDir=true, bool useRMS=false)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const int nBinsy, const float ylo, const float yhi, const bool prependDir=true)
 Book a (2-D) TEfficiency histogram.

Public Attributes

float PlateauTreshold
std::vector< unsigned int > m_selectedAuthors
std::vector< std::string > m_chains
std::vector< std::string > m_seeds
std::unique_ptr< L1TriggerMuonPlotsm_oL1TriggerMuonPlots {}
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oEFTriggerMuonPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oL2TriggerMuonPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonResolutionPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEndcapsEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainRELEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelRELEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsRELEfficiencyPlots

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 fillTriggerMuonPlots (const xAOD::Muon &Trigmu)
void fillTriggerMuonPlots (const xAOD::Muon &Trigmu, const xAOD::Muon &Recomu)
void fillTriggerMuonPlots (const xAOD::L2StandAloneMuon &L2SAmu, const xAOD::Muon &Recomu)
void fillTriggerMuonPlots (const xAOD::L2CombinedMuon &L2CBmu, const xAOD::Muon &Recomu)
void fillTriggerMuonPlots (const xAOD::MuonRoI &TrigL1mu)
void fillTriggerMuonPlots (const xAOD::L2StandAloneMuon &L2SAmu)
void fillTriggerMuonPlots (const xAOD::L2CombinedMuon &L2CBmu)
float findTrigTreshold (const TString &chain)
virtual void initializePlots ()
virtual void finalizePlots ()

Static Private Member Functions

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

Private Attributes

bool m_doTrigMuonL1Validation
bool m_doTrigMuonL2Validation
bool m_doTrigMuonEFValidation
std::vector< std::vector< std::string > > m_ChainSeed
std::vector< std::string > m_L1MuonItems

Detailed Description

Definition at line 19 of file TriggerMuonValidationPlots.h.

Constructor & Destructor Documentation

◆ TriggerMuonValidationPlots()

TriggerMuonValidationPlots::TriggerMuonValidationPlots ( PlotBase * pParent,
const std::string & sDir,
std::set< int > authors,
bool isData,
bool doTrigMuonL1Validation,
bool doTrigMuonL2Validation,
bool doTrigMuonEFValidation,
std::vector< std::vector< std::string > > ChainSeed,
std::vector< std::string > L1MuonItems )

Definition at line 11 of file TriggerMuonValidationPlots.cxx.

14 :
15 PlotBase(pParent, sDir),
16 m_selectedAuthors(authors.begin(), authors.end()),
17 m_doTrigMuonL1Validation(doTrigMuonL1Validation),
18 m_doTrigMuonL2Validation(doTrigMuonL2Validation),
19 m_doTrigMuonEFValidation(doTrigMuonEFValidation),
20 m_ChainSeed(std::move(ChainSeed)),
21 m_L1MuonItems(std::move(L1MuonItems)) {
22 for (unsigned int i = 0; i < m_ChainSeed.size(); i++) {
23 m_chains.push_back(m_ChainSeed[i][0]);
24 m_seeds.push_back(m_ChainSeed[i][1]);
25 }
26
27 if (m_doTrigMuonL1Validation) m_oL1TriggerMuonPlots = std::make_unique<L1TriggerMuonPlots>(this, "trigger/L1");
29 m_oL2TriggerMuonPlots.push_back(std::make_unique<HLTriggerMuonPlots>(this, "trigger/L2/StandAlone"));
30 m_oL2TriggerMuonPlots.push_back(std::make_unique<HLTriggerMuonPlots>(this, "trigger/L2/Combined"));
32 std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/StandAlone/Resolution/BARREL/", ""));
33 m_oL2TriggerMuonBarrelResolutionPlots.push_back(std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/Combined/Resolution/BARREL/", ""));
35 std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/StandAlone/Resolution/ENDCAPS/", ""));
37 std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/Combined/Resolution/ENDCAPS/", ""));
39 std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/StandAlone/Resolution/WHOLE_DETECT/", ""));
40 m_oL2TriggerMuonResolutionPlots.push_back(std::make_unique<ResoTriggerMuonPlots>(this, "trigger/L2/Combined/Resolution/WHOLE_DETECT/", ""));
41 }
42
43 // define a histogram class for each of the selected muon authors
44 for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
45 auto sAuthor = xAOD::Muon::toString(static_cast<xAOD::Muon::Author>(m_selectedAuthors[i]));
46 if (m_doTrigMuonEFValidation) m_oEFTriggerMuonPlots.push_back(std::make_unique<HLTriggerMuonPlots>(this, std::format("trigger/EF/{:}", sAuthor)));
49 std::make_unique<ResoTriggerMuonPlots>(this, std::format("trigger/EF/{:}/Resolution/BARREL/", sAuthor ), ""));
52 std::make_unique<ResoTriggerMuonPlots>(this, std::format("trigger/EF/{:}/Resolution/ENDCAPS/", sAuthor), ""));
55 std::make_unique<ResoTriggerMuonPlots>(this, std::format("trigger/EF/{:}/Resolution/WHOLE_DETECT/", sAuthor), ""));
56 }
57
58 for (unsigned int i = 0; i < m_L1MuonItems.size(); i++) {
61 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_L1MuonItems[i] + "_Efficiency/BARREL/"));
64 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_L1MuonItems[i] + "_Efficiency/ENDCAPS/"));
67 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_L1MuonItems[i] + "_Efficiency/WHOLE_DETECT/"));
68 }
69 for (unsigned int i = 0; i < m_chains.size(); i++) {
72 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_Efficiency/BARREL/"));
75 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_Efficiency/ENDCAPS/"));
78 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_Efficiency/WHOLE_DETECT/"));
79 }
80 for (unsigned int i = 0; i < m_chains.size(); i++) {
83 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_wrt_" + m_seeds[i] + "_Efficiency/BARREL/"));
86 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_wrt_" + m_seeds[i] + "_Efficiency/ENDCAPS/"));
89 std::make_unique<TriggerEfficiencyPlots>(this, "trigger/" + m_chains[i] + "_wrt_" + m_seeds[i] + "_Efficiency/WHOLE_DETECT/"));
90 }
91 PlateauTreshold = 0.;
92}
PlotBase(PlotBase *parent, std::string_view sDir)
Definition PlotBase.cxx:29
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonBarrelResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonResolutionPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonEndcapsResolutionPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oL2TriggerMuonPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainRELEfficiencyPlots
std::vector< std::unique_ptr< HLTriggerMuonPlots > > m_oEFTriggerMuonPlots
std::vector< std::string > m_seeds
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEfficiencyPlots
std::vector< unsigned int > m_selectedAuthors
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsEfficiencyPlots
std::vector< std::string > m_chains
std::vector< std::vector< std::string > > m_ChainSeed
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEndcapsEfficiencyPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainEndcapsRELEfficiencyPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oEFTriggerMuonEndcapsResolutionPlots
std::vector< std::string > m_L1MuonItems
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oL1TriggerChainEfficiencyPlots
std::unique_ptr< L1TriggerMuonPlots > m_oL1TriggerMuonPlots
std::vector< std::unique_ptr< ResoTriggerMuonPlots > > m_oL2TriggerMuonResolutionPlots
std::vector< std::unique_ptr< TriggerEfficiencyPlots > > m_oEFTriggerChainBarrelRELEfficiencyPlots

◆ ~TriggerMuonValidationPlots()

TriggerMuonValidationPlots::~TriggerMuonValidationPlots ( )
virtualdefault

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( std::string_view name,
std::string_view labels,
int nBins,
float start,
float end,
bool prependDir = true )
inherited

Book a TH1D histogram.

Definition at line 94 of file PlotBase.cxx.

95 {
96 std::string prefix = constructPrefix(m_sDirectory, prependDir);
97 Bool_t oldstat = TH1::AddDirectoryStatus();
98 TH1::AddDirectory(false);
99 TH1D *hist = new TH1D(prefix.append(name).c_str(), labels.data(), nBins, start, end);
100 TH1::AddDirectory(oldstat);
101
102 hist->Sumw2();
103 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
104 return hist;
105}
static std::string constructPrefix(std::string dir, bool prependDir)
Definition PlotBase.cxx:289
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:98
std::string m_sDirectory
Definition PlotBase.h:101

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( std::string_view name,
TH1 * refHist,
std::string_view labels,
bool prependDir = true )
inherited

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

Definition at line 108 of file PlotBase.cxx.

108 {
109 std::string prefix = constructPrefix(m_sDirectory, prependDir);
110 Bool_t oldstat = TH1::AddDirectoryStatus();
111 TH1::AddDirectory(false);
112 TH1D *hist = new TH1D(prefix.append(name).c_str(), labels.data(), refHist->GetNbinsX(),
113 refHist->GetXaxis()->GetXbins()->GetArray());
114 hist->Sumw2();
115 TH1::AddDirectory(oldstat);
116
117
118 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
119 return hist;
120}

◆ Book2D() [1/3]

TH2F * PlotBase::Book2D ( std::string_view name,
std::string_view labels,
int nBinsX,
Double_t * binsX,
int nBinsY,
Double_t startY,
Double_t endY,
bool prependDir = true )
inherited

Book a TH2F histogram with variable x axis binning.

Definition at line 144 of file PlotBase.cxx.

145 {
146 std::string prefix = constructPrefix(m_sDirectory, prependDir);
147 Bool_t oldstat = TH2::AddDirectoryStatus();
148 TH2::AddDirectory(false);
149 TH2F *hist = new TH2F(prefix.append(name).c_str(), labels.data(), nBinsX, binsX, nBinsY, startY, endY);
150 hist->Sumw2();
151 TH2::AddDirectory(oldstat);
152 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153 return hist;
154}
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)

◆ Book2D() [2/3]

TH2F * PlotBase::Book2D ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
bool prependDir = true )
inherited

Book a TH2F histogram.

Definition at line 123 of file PlotBase.cxx.

124 {
125 std::string prefix = constructPrefix(m_sDirectory, prependDir);
126 Bool_t oldstat = TH2::AddDirectoryStatus();
127 TH2::AddDirectory(false);
128 TH2F *hist = new TH2F(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, nBinsY, startY, endY);
129 hist->Sumw2();
130 TH2::AddDirectory(oldstat);
131
132
133 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
134 return hist;
135}

◆ Book2D() [3/3]

TH2F * PlotBase::Book2D ( std::string_view name,
TH2 * refHist,
std::string_view labels,
bool prependDir = true )
inherited

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

Definition at line 138 of file PlotBase.cxx.

138 {
139 return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140 refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
141}
TH2F * Book2D(std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition PlotBase.cxx:123

◆ Book3D() [1/2]

TH3F * PlotBase::Book3D ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
int nBinsY,
float startY,
float endY,
int nBinsZ,
float startZ,
float endZ,
bool prependDir = true )
inherited

Book a TH3F histogram.

Definition at line 157 of file PlotBase.cxx.

158 {
159 std::string prefix = constructPrefix(m_sDirectory, prependDir);
160 Bool_t oldstat = TH3::AddDirectoryStatus();
161 TH3::AddDirectory(false);
162 TH3F *hist = new TH3F(prefix.append(name).c_str(),
163 labels.data(), nBinsX, startX, endX, nBinsY, startY, endY, nBinsZ, startZ, endZ);
164 hist->Sumw2();
165 TH3::AddDirectory(oldstat);
166 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
167 return hist;
168}

◆ Book3D() [2/2]

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

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

Definition at line 171 of file PlotBase.cxx.

171 {
172 std::string prefix = constructPrefix(m_sDirectory, prependDir);
173 Bool_t oldstat = TH3::AddDirectoryStatus();
174 TH3::AddDirectory(false);
175 TH3F *hist = new TH3F(prefix.append(name).c_str(), labels.data(), refHist->GetNbinsX(),
176 refHist->GetXaxis()->GetXbins()->GetArray(), refHist->GetNbinsY(),
177 refHist->GetYaxis()->GetXbins()->GetArray(), refHist->GetNbinsZ(),
178 refHist->GetZaxis()->GetXbins()->GetArray());
179 TH3::AddDirectory(oldstat);
180
181 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
182 return hist;
183}

◆ BookTEfficiency() [1/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view labels,
const int nBinsX,
const float xlo,
const float xhi,
const bool prependDir = true )
inherited

Book a (1-D) TEfficiency histogram.

Definition at line 257 of file PlotBase.cxx.

257 {
258 std::string prefix = constructPrefix(m_sDirectory, prependDir);
259 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi);
260 hist->SetDirectory(nullptr);
261 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
262 return hist;
263}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:100

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view labels,
const int nBinsX,
const float xlo,
const float xhi,
const int nBinsy,
const float ylo,
const float yhi,
const bool prependDir = true )
inherited

Book a (2-D) TEfficiency histogram.

Definition at line 266 of file PlotBase.cxx.

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

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view labels,
int nBinsX,
float * binsX,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis.

Definition at line 204 of file PlotBase.cxx.

204 {
205 std::string prefix = constructPrefix(m_sDirectory, prependDir);
206 TProfile *hist(nullptr);
207 Bool_t oldstat = TProfile::AddDirectoryStatus();
208 TProfile::AddDirectory(false);
209
210 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view labels,
int nBinsX,
float startX,
float endX,
float startY = -1,
float endY = -1,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile histogram.

Definition at line 186 of file PlotBase.cxx.

187 {
188 std::string prefix = constructPrefix(m_sDirectory, prependDir);
189 TProfile *hist(nullptr);
190 Bool_t oldstat = TProfile::AddDirectoryStatus();
191 TProfile::AddDirectory(false);
192 std::string opt = useRMS ? "S" : "";
193 if ((startY == -1) and (endY == -1)) {
194 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile(prefix.append(name).c_str(), labels.data(), nBinsX, startX, endX, startY, endY, opt.c_str());
197 }
198 TProfile::AddDirectory(oldstat);
199 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
200 return hist;
201}

◆ BookTProfile2D() [1/2]

TProfile2D * PlotBase::BookTProfile2D ( std::string_view name,
std::string_view labels,
const int nBinsX,
const double xlo,
const double xhi,
const int nBinsY,
const double ylo,
const double yhi,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 231 of file PlotBase.cxx.

233 {
234 std::string prefix = constructPrefix(m_sDirectory, prependDir);
235 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
236 TProfile2D::AddDirectory(false);
237 std::string opt = useRMS ? "S" : "";
238 TProfile2D *hist = new TProfile2D(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
239 TProfile2D::AddDirectory(oldstat);
240 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
241 return hist;
242}

◆ BookTProfile2D() [2/2]

TProfile2D * PlotBase::BookTProfile2D ( std::string_view name,
std::string_view labels,
const int nBinsX,
double * binsX,
const int nBinsY,
double * binsY,
bool prependDir = true,
bool useRMS = false )
inherited

Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.

Definition at line 245 of file PlotBase.cxx.

245 {
246 std::string prefix = constructPrefix(m_sDirectory, prependDir);
247 Bool_t oldstat = TProfile2D::AddDirectoryStatus();
248 TProfile2D::AddDirectory(false);
249 std::string opt = useRMS ? "S" : "";
250 TProfile2D *hist = new TProfile2D(prefix.append(name).c_str(), labels.data(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
251 TProfile2D::AddDirectory(oldstat);
252 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
253 return hist;
254}

◆ BookTProfileRangeY()

TProfile * PlotBase::BookTProfileRangeY ( std::string_view name,
std::string_view labels,
int nBinsX,
double * binsX,
double startY,
double endY,
bool prependDir = true )
inherited

Book a TProfile histogram with variable binning in x-axis and limits in y-values.

Definition at line 217 of file PlotBase.cxx.

218 {
219 std::string prefix = constructPrefix(m_sDirectory, prependDir);
220 TProfile *hist(nullptr);
221 Bool_t oldstat = TProfile::AddDirectoryStatus();
222 TProfile::AddDirectory(false);
223
224 hist = new TProfile(prefix.append(name).c_str(), labels.data(), (Int_t) nBinsX, binsX, startY, endY);
225 TProfile::AddDirectory(oldstat);
226 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
227 return hist;
228}

◆ BookTree()

TTree * PlotBase::BookTree ( std::string_view name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 277 of file PlotBase.cxx.

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

◆ constructPrefix()

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

Definition at line 289 of file PlotBase.cxx.

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

◆ fill() [1/7]

void TriggerMuonValidationPlots::fill ( const xAOD::L2CombinedMuon & L2CBmu)

Definition at line 150 of file TriggerMuonValidationPlots.cxx.

150{ fillTriggerMuonPlots(L2CBmu); }
void fillTriggerMuonPlots(const xAOD::Muon &Trigmu)

◆ fill() [2/7]

void TriggerMuonValidationPlots::fill ( const xAOD::L2CombinedMuon & L2CBmu,
const xAOD::Muon & Recomu )

Definition at line 142 of file TriggerMuonValidationPlots.cxx.

142 {
143 fillTriggerMuonPlots(L2CBmu, Recomu);
144}

◆ fill() [3/7]

void TriggerMuonValidationPlots::fill ( const xAOD::L2StandAloneMuon & L2SAmu)

Definition at line 148 of file TriggerMuonValidationPlots.cxx.

148{ fillTriggerMuonPlots(L2SAmu); }

◆ fill() [4/7]

void TriggerMuonValidationPlots::fill ( const xAOD::L2StandAloneMuon & L2SAmu,
const xAOD::Muon & Recomu )

Definition at line 138 of file TriggerMuonValidationPlots.cxx.

138 {
139 fillTriggerMuonPlots(L2SAmu, Recomu);
140}

◆ fill() [5/7]

void TriggerMuonValidationPlots::fill ( const xAOD::Muon & Trigmu)

Definition at line 134 of file TriggerMuonValidationPlots.cxx.

134{ fillTriggerMuonPlots(Trigmu); }

◆ fill() [6/7]

void TriggerMuonValidationPlots::fill ( const xAOD::Muon & Trigmu,
const xAOD::Muon & Recomu )

Definition at line 136 of file TriggerMuonValidationPlots.cxx.

136{ fillTriggerMuonPlots(Trigmu, Recomu); }

◆ fill() [7/7]

void TriggerMuonValidationPlots::fill ( const xAOD::MuonRoI & TrigL1mu)

Definition at line 146 of file TriggerMuonValidationPlots.cxx.

146{ fillTriggerMuonPlots(TrigL1mu); }

◆ fillDenEff()

void TriggerMuonValidationPlots::fillDenEff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 164 of file TriggerMuonValidationPlots.cxx.

164 {
165 float PlateauTreshold = findTrigTreshold(selectedChain);
166 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
167 for (unsigned int i = 0; i < m_chains.size(); i++) {
168 if (m_chains[i] == selectedChain) {
170 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05))
172 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05))
174 }
175 }
176}
float findTrigTreshold(const TString &chain)

◆ fillDenL1Eff()

void TriggerMuonValidationPlots::fillDenL1Eff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 202 of file TriggerMuonValidationPlots.cxx.

202 {
203 float PlateauTreshold = findTrigTreshold(selectedL1MuonItem);
204 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
205 for (unsigned int i = 0; i < m_L1MuonItems.size(); i++) {
206 if (m_L1MuonItems[i] == selectedL1MuonItem) {
208 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05))
210 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05))
212 }
213 }
214}

◆ fillDenRELEff()

void TriggerMuonValidationPlots::fillDenRELEff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 238 of file TriggerMuonValidationPlots.cxx.

238 {
239 float PlateauTreshold = findTrigTreshold(selectedChain);
240 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
241 for (unsigned int i = 0; i < m_chains.size(); i++) {
242 if (m_chains[i] == selectedChain) {
244 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05))
246 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05))
248 }
249 }
250}

◆ fillFeatPlots() [1/2]

void TriggerMuonValidationPlots::fillFeatPlots ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 178 of file TriggerMuonValidationPlots.cxx.

178 {
179 float PlateauTreshold = findTrigTreshold(selectedChain);
180 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
181 for (unsigned int i = 0; i < m_chains.size(); i++) {
182 if (m_chains[i] == selectedChain) {
184 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05)) m_oEFTriggerChainBarrelEfficiencyPlots[i]->fillFeatures(mu, PlateauTreshold);
185 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05)) m_oEFTriggerChainEndcapsEfficiencyPlots[i]->fillFeatures(mu, PlateauTreshold);
186 }
187 }
188}

◆ fillFeatPlots() [2/2]

void TriggerMuonValidationPlots::fillFeatPlots ( const xAOD::MuonRoI & TrigL1mu,
const std::string & selectedChain )

Definition at line 215 of file TriggerMuonValidationPlots.cxx.

215 {
216 float PlateauTreshold = findTrigTreshold(selectedL1MuonItem);
217 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
220 ROIinMuons->setStore(ROIinMuonsAux);
221 xAOD::Muon* myROI = new xAOD::Muon();
222 ROIinMuons->push_back(myROI);
223 myROI->setP4(TrigL1mu.thrValue(), TrigL1mu.eta(), TrigL1mu.phi());
224
225 for (unsigned int i = 0; i < m_L1MuonItems.size(); i++) {
226 if (m_L1MuonItems[i] == selectedL1MuonItem) {
227 m_oL1TriggerChainEfficiencyPlots[i]->fillFeatures(*myROI, PlateauTreshold);
228 if (((TrigL1mu.eta()) > -1.05) && ((TrigL1mu.eta()) < 1.05))
230 if (((TrigL1mu.eta()) < -1.05) || ((TrigL1mu.eta()) > 1.05))
232 }
233 }
234 delete ROIinMuons;
235 delete ROIinMuonsAux;
236}
value_type push_back(value_type pElem)
Add an element to the end of the collection.
float eta() const
The pseudorapidity ( ) of the muon candidate.
float thrValue() const
The highest threshold value (in MeV) passed by the muon candidate.
float phi() const
The azimuthal angle ( ) of the muon candidate.
void setP4(double pt, double eta, double phi)
Set method for IParticle values.
Definition Muon_v1.cxx:58
MuonAuxContainer_v5 MuonAuxContainer
Definition of the current Muon auxiliary container.
Muon_v1 Muon
Reference the current persistent version:
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".

◆ fillNumEff()

void TriggerMuonValidationPlots::fillNumEff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 152 of file TriggerMuonValidationPlots.cxx.

152 {
153 float PlateauTreshold = findTrigTreshold(selectedChain);
154 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
155 for (unsigned int i = 0; i < m_chains.size(); i++) {
156 if (m_chains[i] == selectedChain) {
158 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05)) m_oEFTriggerChainBarrelEfficiencyPlots[i]->fillNumerator(mu, PlateauTreshold);
159 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05)) m_oEFTriggerChainEndcapsEfficiencyPlots[i]->fillNumerator(mu, PlateauTreshold);
160 }
161 }
162}

◆ fillNumL1Eff()

void TriggerMuonValidationPlots::fillNumL1Eff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 190 of file TriggerMuonValidationPlots.cxx.

190 {
191 float PlateauTreshold = findTrigTreshold(selectedL1MuonItem);
192 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
193 for (unsigned int i = 0; i < m_L1MuonItems.size(); i++) {
194 if (m_L1MuonItems[i] == selectedL1MuonItem) {
196 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05)) m_oL1TriggerChainBarrelEfficiencyPlots[i]->fillNumerator(mu, PlateauTreshold);
197 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05)) m_oL1TriggerChainEndcapsEfficiencyPlots[i]->fillNumerator(mu, PlateauTreshold);
198 }
199 }
200}

◆ fillNumRELEff()

void TriggerMuonValidationPlots::fillNumRELEff ( const xAOD::Muon & Trigmu,
const std::string & selectedChain )

Definition at line 252 of file TriggerMuonValidationPlots.cxx.

252 {
253 float PlateauTreshold = findTrigTreshold(selectedChain);
254 PlateauTreshold = PlateauTreshold * 1000. * 1.05;
255 for (unsigned int i = 0; i < m_chains.size(); i++) {
256 if (m_chains[i] == selectedChain) {
258 if (((mu.eta()) > -1.05) && ((mu.eta()) < 1.05))
260 if (((mu.eta()) < -1.05) || ((mu.eta()) > 1.05))
262 }
263 }
264}

◆ fillTriggerMuonPlots() [1/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::L2CombinedMuon & L2CBmu)
private

Definition at line 100 of file TriggerMuonValidationPlots.cxx.

100{ m_oL2TriggerMuonPlots[1]->fill(L2CBmu); }

◆ fillTriggerMuonPlots() [2/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::L2CombinedMuon & L2CBmu,
const xAOD::Muon & Recomu )
private

Definition at line 128 of file TriggerMuonValidationPlots.cxx.

128 {
129 m_oL2TriggerMuonResolutionPlots[1]->fill(L2CBmu, Recomu);
130 if (std::abs(Recomu.eta()) < 1.05) m_oL2TriggerMuonBarrelResolutionPlots[1]->fill(L2CBmu, Recomu);
131 if (std::abs(Recomu.eta()) > 1.05) m_oL2TriggerMuonEndcapsResolutionPlots[1]->fill(L2CBmu, Recomu);
132}
virtual double eta() const override
The pseudorapidity ( ) of the particle.

◆ fillTriggerMuonPlots() [3/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::L2StandAloneMuon & L2SAmu)
private

Definition at line 98 of file TriggerMuonValidationPlots.cxx.

98{ m_oL2TriggerMuonPlots[0]->fill(L2SAmu); }

◆ fillTriggerMuonPlots() [4/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::L2StandAloneMuon & L2SAmu,
const xAOD::Muon & Recomu )
private

Definition at line 122 of file TriggerMuonValidationPlots.cxx.

122 {
123 m_oL2TriggerMuonResolutionPlots[0]->fill(L2SAmu, Recomu);
124 if (std::abs(Recomu.eta()) < 1.05) m_oL2TriggerMuonBarrelResolutionPlots[0]->fill(L2SAmu, Recomu);
125 if (std::abs(Recomu.eta()) > 1.05) m_oL2TriggerMuonEndcapsResolutionPlots[0]->fill(L2SAmu, Recomu);
126}

◆ fillTriggerMuonPlots() [5/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::Muon & Trigmu)
private

Definition at line 102 of file TriggerMuonValidationPlots.cxx.

102 {
103 for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
104 if (Trigmu.isAuthor(static_cast<xAOD::Muon::Author>(m_selectedAuthors[i]))) {
105 // if (Trigmu.isAuthor( (xAOD::Muon::Author)m_selectedAuthors[i] ) || m_selectedAuthors[i]==xAOD::Muon::NumberOfMuonAuthors) {
106 m_oEFTriggerMuonPlots[i]->fill(Trigmu);
107 }
108 }
109}
bool isAuthor(const Author author) const
Returns 'true' if 'author' is the an author of this muon.
Definition Muon_v1.cxx:97

◆ fillTriggerMuonPlots() [6/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::Muon & Trigmu,
const xAOD::Muon & Recomu )
private

Definition at line 111 of file TriggerMuonValidationPlots.cxx.

111 {
112 for (unsigned int i = 0; i < m_selectedAuthors.size(); i++) {
113 if (Trigmu.isAuthor((xAOD::Muon::Author)m_selectedAuthors[i])) {
114 // if (Trigmu.isAuthor( (xAOD::Muon::Author)m_selectedAuthors[i] ) || m_selectedAuthors[i]==xAOD::Muon::NumberOfMuonAuthors) {
115 m_oEFTriggerMuonResolutionPlots[i]->fill(Trigmu, Recomu);
116 if (std::abs(Recomu.eta()) < 1.05) m_oEFTriggerMuonBarrelResolutionPlots[i]->fill(Trigmu, Recomu);
117 if (std::abs(Recomu.eta()) > 1.05) m_oEFTriggerMuonEndcapsResolutionPlots[i]->fill(Trigmu, Recomu);
118 }
119 }
120}

◆ fillTriggerMuonPlots() [7/7]

void TriggerMuonValidationPlots::fillTriggerMuonPlots ( const xAOD::MuonRoI & TrigL1mu)
private

Definition at line 96 of file TriggerMuonValidationPlots.cxx.

96{ m_oL1TriggerMuonPlots->fill(TrigL1mu); }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47 {
48 for (auto *subNode: m_vSubNodes) {
49 subNode->finalize();
50 }
52}
std::vector< PlotBase * > m_vSubNodes
Definition PlotBase.h:97
virtual void finalizePlots()
Definition PlotBase.h:93

◆ finalizePlots()

◆ findTrigTreshold()

float TriggerMuonValidationPlots::findTrigTreshold ( const TString & chain)
private

Definition at line 266 of file TriggerMuonValidationPlots.cxx.

266 {
267 float PlateauTreshold;
268 std::string str(chain);
269 TString temp;
270 if (str.find("HLT_") != std::string::npos) {
271 for (unsigned int l = 0; l < str.size(); l++) {
272 if (isdigit(str[l])) {
273 for (unsigned int a = l; a < str.size(); a++) {
274 // if (str[a]=='_') break;
275 if ((isdigit(str[a])) == 0) break;
276 temp += str[a];
277 }
278 break;
279 }
280 }
281 }
282 if (str.find("L1_MU") != std::string::npos) {
283 for (unsigned int l = 0; l < str.size(); l++) {
284 if ((str[l]) == 'U') {
285 for (unsigned int a = l + 1; a < str.size(); a++) {
286 // if (str[a]=='_') break;
287 temp += str[a];
288 }
289 break;
290 }
291 }
292 }
293 PlateauTreshold = temp.Atof();
294 return PlateauTreshold;
295}
static Double_t a
l
Printing final latex table to .tex output file.

◆ getDirectory()

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

Definition at line 89 of file PlotBase.h.

89{return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

39 {
40 for (auto *subNode: m_vSubNodes) {
41 subNode->initialize();
42 }
44}
virtual void initializePlots()
Definition PlotBase.h:92

◆ initializePlots()

virtual void PlotBase::initializePlots ( )
inlineprivatevirtualinherited

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

Definition at line 92 of file PlotBase.h.

92{;}

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 42 of file PlotBase.h.

42{m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

83 {
84 std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
85 for (const auto &subNode: m_vSubNodes) {
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
88 }
89 return vBookedEfficiencies;
90}

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

63 {
64 std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
65 for (const auto &subNode: m_vSubNodes) {
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
68 }
69 return vBookedHistograms;
70}

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

73 {
74 std::vector<TreeData> vBookedTrees = m_vBookedTrees;
75 for (auto *subNode: m_vSubNodes) {
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
78 }
79 return vBookedTrees;
80}

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55 {
56 for (auto *subNode: m_vSubNodes) {
57 subNode->setDetailLevel(iDetailLevel);
58 }
59 m_iDetailLevel = iDetailLevel;
60}
int m_iDetailLevel
Definition PlotBase.h:102

Member Data Documentation

◆ m_chains

std::vector<std::string> TriggerMuonValidationPlots::m_chains

Definition at line 44 of file TriggerMuonValidationPlots.h.

◆ m_ChainSeed

std::vector<std::vector<std::string> > TriggerMuonValidationPlots::m_ChainSeed
private

Definition at line 78 of file TriggerMuonValidationPlots.h.

◆ m_doTrigMuonEFValidation

bool TriggerMuonValidationPlots::m_doTrigMuonEFValidation
private

Definition at line 77 of file TriggerMuonValidationPlots.h.

◆ m_doTrigMuonL1Validation

bool TriggerMuonValidationPlots::m_doTrigMuonL1Validation
private

Definition at line 75 of file TriggerMuonValidationPlots.h.

◆ m_doTrigMuonL2Validation

bool TriggerMuonValidationPlots::m_doTrigMuonL2Validation
private

Definition at line 76 of file TriggerMuonValidationPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 102 of file PlotBase.h.

◆ m_L1MuonItems

std::vector<std::string> TriggerMuonValidationPlots::m_L1MuonItems
private

Definition at line 79 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainBarrelEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainBarrelEfficiencyPlots

Definition at line 59 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainBarrelRELEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainBarrelRELEfficiencyPlots

Definition at line 62 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainEfficiencyPlots

Definition at line 58 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainEndcapsEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainEndcapsEfficiencyPlots

Definition at line 60 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainEndcapsRELEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainEndcapsRELEfficiencyPlots

Definition at line 63 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerChainRELEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oEFTriggerChainRELEfficiencyPlots

Definition at line 61 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerMuonBarrelResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oEFTriggerMuonBarrelResolutionPlots

Definition at line 49 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerMuonEndcapsResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oEFTriggerMuonEndcapsResolutionPlots

Definition at line 50 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerMuonPlots

std::vector<std::unique_ptr<HLTriggerMuonPlots> > TriggerMuonValidationPlots::m_oEFTriggerMuonPlots

Definition at line 47 of file TriggerMuonValidationPlots.h.

◆ m_oEFTriggerMuonResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oEFTriggerMuonResolutionPlots

Definition at line 51 of file TriggerMuonValidationPlots.h.

◆ m_oL1TriggerChainBarrelEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oL1TriggerChainBarrelEfficiencyPlots

Definition at line 56 of file TriggerMuonValidationPlots.h.

◆ m_oL1TriggerChainEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oL1TriggerChainEfficiencyPlots

Definition at line 55 of file TriggerMuonValidationPlots.h.

◆ m_oL1TriggerChainEndcapsEfficiencyPlots

std::vector<std::unique_ptr<TriggerEfficiencyPlots> > TriggerMuonValidationPlots::m_oL1TriggerChainEndcapsEfficiencyPlots

Definition at line 57 of file TriggerMuonValidationPlots.h.

◆ m_oL1TriggerMuonPlots

std::unique_ptr<L1TriggerMuonPlots> TriggerMuonValidationPlots::m_oL1TriggerMuonPlots {}

Definition at line 46 of file TriggerMuonValidationPlots.h.

46{};

◆ m_oL2TriggerMuonBarrelResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oL2TriggerMuonBarrelResolutionPlots

Definition at line 52 of file TriggerMuonValidationPlots.h.

◆ m_oL2TriggerMuonEndcapsResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oL2TriggerMuonEndcapsResolutionPlots

Definition at line 53 of file TriggerMuonValidationPlots.h.

◆ m_oL2TriggerMuonPlots

std::vector<std::unique_ptr<HLTriggerMuonPlots> > TriggerMuonValidationPlots::m_oL2TriggerMuonPlots

Definition at line 48 of file TriggerMuonValidationPlots.h.

◆ m_oL2TriggerMuonResolutionPlots

std::vector<std::unique_ptr<ResoTriggerMuonPlots> > TriggerMuonValidationPlots::m_oL2TriggerMuonResolutionPlots

Definition at line 54 of file TriggerMuonValidationPlots.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_seeds

std::vector<std::string> TriggerMuonValidationPlots::m_seeds

Definition at line 45 of file TriggerMuonValidationPlots.h.

◆ m_selectedAuthors

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

Definition at line 43 of file TriggerMuonValidationPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 100 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 99 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 97 of file PlotBase.h.

◆ PlateauTreshold

float TriggerMuonValidationPlots::PlateauTreshold

Definition at line 25 of file TriggerMuonValidationPlots.h.


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