ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonTree Class Reference

#include <MuonTree.h>

Inheritance diagram for Muon::MuonTree:

Public Member Functions

 MuonTree (PlotBase *pParent, const std::string &sDir, bool mcFlag)
 MuonTree (PlotBase *pParent, const std::string &sDir)
 ~MuonTree ()
void initializePlots ()
void fillEventBranches (const xAOD::EventInfo *eventInfo, bool isData)
void fillRecoMuonBranches (const xAOD::Muon &mu)
void fillTruthMuonBranches (const xAOD::TruthParticle &truthMu, bool isGoodTruthTrack)
void fillTruthMuonBranches (const xAOD::TruthParticle &truthMu, const xAOD::Muon &mu, const xAOD::TrackParticleContainer *MSTracks, bool isGoodTruthTrack)
void postFillTreeActions ()
TTree * getTree ()
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 (const std::string &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 (const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (const std::string &name, TH1 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
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.
TH2F * Book2D (const std::string &name, TH2 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * 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)
 Book a TH2F histogram with variable x axis binning.
TH3F * 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)
 Book a TH3F histogram.
TH3F * Book3D (const std::string &name, TH3 *refHist, const std::string &labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * 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)
 Book a TProfile histogram.
TProfile * BookTProfile (const std::string &name, const std::string &labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (const std::string &name, const std::string &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 (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)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TProfile2D * 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)
 Book a TProfile 2D histogram with variable binning in x-axis and limits in y-values.
TEfficiency * BookTEfficiency (const std::string &name, const std::string &labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * 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)
 Book a (2-D) TEfficiency histogram.

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

virtual void finalizePlots ()

Static Private Member Functions

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

Private Attributes

std::unique_ptr< TTree > m_tree
bool m_isMC
uint32_t m_runNumber
uint32_t m_lumiBlock
unsigned long long m_eventNumber
uint32_t m_mcChannelNumber
Float_t m_mcBeamSpotWeight
std::vector< float > m_pt
std::vector< float > m_eta
std::vector< float > m_phi
std::vector< float > m_e
std::vector< float > m_rapidity
std::vector< uint16_t > m_allAuthors
std::vector< int > m_muonType
std::vector< int8_t > m_innerSmallHits
std::vector< int8_t > m_innerLargeHits
std::vector< int8_t > m_innerSmallHoles
std::vector< int8_t > m_innerLargeHoles
std::vector< float > m_msInnerMatchChi2
std::vector< int > m_msInnerMatchDOF
std::vector< float > m_msOuterMatchChi2
std::vector< int > m_msOuterMatchDOF
std::vector< float > m_CaloLRLikelihood
std::vector< int > m_CaloMuonIDTag
std::vector< float > m_EnergyLoss
std::vector< int > m_Quality
std::vector< float > m_iso_etcone20
std::vector< float > m_iso_ptcone20
std::vector< float > m_iso_topoetcon20
std::vector< float > m_iso_ptvarcon20
std::vector< float > m_iso_neflowisol20
std::vector< float > m_trkp_d0
std::vector< float > m_trkp_z0
std::vector< float > m_trkp_qOverP
std::vector< float > m_trkp_chiSquared
std::vector< float > m_trkp_numberDoF
std::vector< size_t > m_nMuonSegments
std::vector< std::vector< float > > m_museg_x
std::vector< std::vector< float > > m_museg_y
std::vector< std::vector< float > > m_museg_z
std::vector< std::vector< int > > m_museg_sector
std::vector< std::vector< unsigned int > > m_museg_chamberIndex
std::vector< std::vector< unsigned int > > m_museg_technology
std::vector< std::vector< int > > m_museg_nPrecisionHits
std::vector< std::vector< int > > m_museg_nPhiLayers
std::vector< std::vector< int > > m_museg_nTrigEtaLayers
std::vector< bool > m_th_isGoodTruthTrack
std::vector< double > m_th_pt
std::vector< double > m_th_eta
std::vector< double > m_th_phi
std::vector< int > m_th_truthType
std::vector< int > m_th_truthOrigin
std::vector< float > m_th_CaloEntry_p
std::vector< float > m_th_MuonEntry_p
std::vector< float > m_th_MuonExit_p
std::vector< int8_t > m_th_nprecLayers
std::vector< int8_t > m_th_nphiLayers
std::vector< int8_t > m_th_ntrigEtaLayers

Detailed Description

Definition at line 21 of file MuonTree.h.

Constructor & Destructor Documentation

◆ MuonTree() [1/2]

Muon::MuonTree::MuonTree ( PlotBase * pParent,
const std::string & sDir,
bool mcFlag )

Definition at line 13 of file MuonTree.cxx.

13 :
14 PlotBase(pParent, sDir),
15 m_isMC(mcFlag),
16 m_runNumber(-999),
17 m_lumiBlock(-999),
18 m_eventNumber(-999),
21 {
22 }
unsigned long long m_eventNumber
Definition MuonTree.h:45
uint32_t m_lumiBlock
Definition MuonTree.h:44
uint32_t m_mcChannelNumber
Definition MuonTree.h:46
uint32_t m_runNumber
Definition MuonTree.h:43
Float_t m_mcBeamSpotWeight
Definition MuonTree.h:47
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29

◆ MuonTree() [2/2]

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

Definition at line 24 of file MuonTree.cxx.

24 :
25 PlotBase(pParent, sDir),
26 m_isMC(true),
27 m_runNumber(-999),
28 m_lumiBlock(-999),
29 m_eventNumber(-999),
32 {
33 }

◆ ~MuonTree()

Muon::MuonTree::~MuonTree ( )

Definition at line 35 of file MuonTree.cxx.

36 {
37 }

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}
static std::string constructPrefix(std::string dir, bool prependDir)
Definition PlotBase.cxx:293
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:97
std::string m_sDirectory
Definition PlotBase.h:100

◆ 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}
TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)

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

◆ 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}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:99

◆ 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}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:98
TChain * tree

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

◆ fillEventBranches()

void Muon::MuonTree::fillEventBranches ( const xAOD::EventInfo * eventInfo,
bool isData )

Definition at line 139 of file MuonTree.cxx.

139 {
140 m_runNumber = eventInfo->runNumber();
141 if(isData) {
142 m_lumiBlock = eventInfo->lumiBlock();
143 m_eventNumber = eventInfo->eventNumber();
145 m_mcBeamSpotWeight = 1.0;
146 }
147 else {
148 m_lumiBlock = 0;
149 m_eventNumber = eventInfo->mcEventNumber();
150 m_mcChannelNumber = eventInfo->mcChannelNumber();
151 m_mcBeamSpotWeight = eventInfo->beamSpotWeight();
152 }
153 }
uint64_t mcEventNumber() const
The MC generator's event number.
uint32_t lumiBlock() const
The current event's luminosity block number.
float beamSpotWeight() const
Weight for beam spot size reweighting.
uint32_t runNumber() const
The current event's run number.
uint32_t mcChannelNumber() const
The MC generator's channel number.
uint64_t eventNumber() const
The current event's event number.

◆ fillRecoMuonBranches()

void Muon::MuonTree::fillRecoMuonBranches ( const xAOD::Muon & mu)

Definition at line 155 of file MuonTree.cxx.

155 {
156 //general properties
157 m_pt.push_back(mu.pt());
158 m_eta.push_back(mu.eta());
159 m_phi.push_back(mu.phi());
160 m_e.push_back(mu.e());
161 m_rapidity.push_back(mu.rapidity());
162
163 //authors and types
164 m_allAuthors.push_back(mu.allAuthors());
165 m_muonType.push_back(mu.muonType());
166
167 int8_t hitVal = 0;
168 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerSmallHits) ) hitVal=-1;
169 m_innerSmallHits.push_back(hitVal);
170 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerLargeHits) ) hitVal=-1;
171 m_innerLargeHits.push_back(hitVal);
172 if( !mu.summaryValue((uint8_t&)hitVal ,xAOD::MuonSummaryType::innerSmallHoles) ) hitVal=-1;
173 m_innerSmallHoles.push_back(hitVal);
174 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerLargeHoles) ) hitVal=-1;
175 m_innerLargeHoles.push_back(hitVal);
176
177 //parameters
178 float value;
179 int ivalue;
180 if( !(mu.parameter(value, xAOD::Muon::ParamDef::msInnerMatchChi2)) ) value=-999.;
181 m_msInnerMatchChi2.push_back(value);
182 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::msInnerMatchDOF)) ) ivalue=-999;
183 m_msInnerMatchDOF.push_back(ivalue);
184 if( !(mu.parameter(value, xAOD::Muon::ParamDef::msOuterMatchChi2)) ) value=-999.;
185 m_msOuterMatchChi2.push_back(value);
186 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::msOuterMatchDOF)) ) ivalue=-999;
187 m_msOuterMatchDOF.push_back(ivalue);
188 if( !(mu.parameter(value, xAOD::Muon::ParamDef::CaloLRLikelihood)) ) value=-999.;
189 m_CaloLRLikelihood.push_back(value);
190 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::CaloMuonIDTag)) ) ivalue=-999;
191 m_CaloMuonIDTag.push_back(ivalue);
192 if( !(mu.parameter(value, xAOD::Muon::ParamDef::EnergyLoss)) ) value=-999.;
193 m_EnergyLoss.push_back(value);
194
195 //quality
196 m_Quality.push_back(mu.quality());
197
198 //isolation
199 if( !(mu.isolation(value, xAOD::Iso::IsolationType::ptcone20)) ) value=-999.;
200 m_iso_ptcone20.push_back(value);
201 if( !(mu.isolation(value, xAOD::Iso::IsolationType::topoetcone20)) ) value=-999.;
202 m_iso_topoetcon20.push_back(value);
203 if( !(mu.isolation(value, xAOD::Iso::IsolationType::ptvarcone20)) ) value=-999.;
204 m_iso_ptvarcon20.push_back(value);
205 if( !(mu.isolation(value, xAOD::Iso::IsolationType::neflowisol20)) ) value=-999.;
206 m_iso_neflowisol20.push_back(value);
207
208 //associated TrackParticle
209 m_trkp_d0.push_back( mu.primaryTrackParticle()->d0() );
210 m_trkp_z0.push_back( mu.primaryTrackParticle()->z0() );
211 m_trkp_qOverP.push_back( mu.primaryTrackParticle()->qOverP() );
212 m_trkp_chiSquared.push_back( mu.primaryTrackParticle()->chiSquared() );
213 m_trkp_numberDoF.push_back( mu.primaryTrackParticle()->numberDoF() );
214
215 //used MuonSegments
216 size_t nMuonSegments = mu.nMuonSegments();
217 m_nMuonSegments.push_back( nMuonSegments );
218 size_t muonIndx = m_nMuonSegments.size()-1;
219
220 m_museg_x.push_back( std::vector<float >() );
221 m_museg_y.push_back( std::vector<float >() );
222 m_museg_z.push_back( std::vector<float >() );
223 m_museg_sector.push_back( std::vector<int >() );
224 m_museg_chamberIndex.push_back( std::vector<unsigned int >() );
225 m_museg_technology.push_back( std::vector<unsigned int >() );
226 m_museg_nPrecisionHits.push_back( std::vector<int >() );
227 m_museg_nPhiLayers.push_back( std::vector<int >() );
228 m_museg_nTrigEtaLayers.push_back( std::vector<int >() );
229
230 for(int i=0; (size_t)i<nMuonSegments; i++ ) {
231 const xAOD::MuonSegment* muonSegment = mu.muonSegment(i);
232 m_museg_x[ muonIndx ].push_back(muonSegment->x());
233 m_museg_y[ muonIndx ].push_back(muonSegment->y());
234 m_museg_z[ muonIndx ].push_back(muonSegment->z());
235 m_museg_sector[ muonIndx ].push_back(muonSegment->sector());
236 m_museg_chamberIndex[ muonIndx ].push_back((int)muonSegment->chamberIndex());
237 m_museg_technology[ muonIndx ].push_back((int)muonSegment->technology());
238 m_museg_nPrecisionHits[ muonIndx ].push_back(muonSegment->nPrecisionHits());
239 m_museg_nPhiLayers[ muonIndx ].push_back(muonSegment->nPhiLayers());
240 m_museg_nTrigEtaLayers[ muonIndx ].push_back(muonSegment->nTrigEtaLayers());
241 }
242
243 }
std::vector< float > m_iso_ptvarcon20
Definition MuonTree.h:85
std::vector< std::vector< float > > m_museg_z
Definition MuonTree.h:99
std::vector< float > m_msInnerMatchChi2
Definition MuonTree.h:70
std::vector< float > m_trkp_z0
Definition MuonTree.h:90
std::vector< std::vector< unsigned int > > m_museg_technology
Definition MuonTree.h:102
std::vector< int8_t > m_innerSmallHoles
Definition MuonTree.h:66
std::vector< float > m_iso_topoetcon20
Definition MuonTree.h:84
std::vector< float > m_CaloLRLikelihood
Definition MuonTree.h:74
std::vector< int > m_msOuterMatchDOF
Definition MuonTree.h:73
std::vector< int > m_Quality
Definition MuonTree.h:79
std::vector< std::vector< int > > m_museg_nPhiLayers
Definition MuonTree.h:104
std::vector< float > m_iso_ptcone20
Definition MuonTree.h:83
std::vector< std::vector< int > > m_museg_sector
Definition MuonTree.h:100
std::vector< std::vector< int > > m_museg_nTrigEtaLayers
Definition MuonTree.h:105
std::vector< std::vector< float > > m_museg_x
Definition MuonTree.h:97
std::vector< int > m_CaloMuonIDTag
Definition MuonTree.h:75
std::vector< float > m_msOuterMatchChi2
Definition MuonTree.h:72
std::vector< int8_t > m_innerLargeHoles
Definition MuonTree.h:67
std::vector< float > m_pt
Definition MuonTree.h:53
std::vector< float > m_trkp_chiSquared
Definition MuonTree.h:92
std::vector< float > m_trkp_qOverP
Definition MuonTree.h:91
std::vector< std::vector< int > > m_museg_nPrecisionHits
Definition MuonTree.h:103
std::vector< float > m_trkp_d0
Definition MuonTree.h:89
std::vector< float > m_iso_neflowisol20
Definition MuonTree.h:86
std::vector< float > m_rapidity
Definition MuonTree.h:57
std::vector< float > m_eta
Definition MuonTree.h:54
std::vector< int > m_msInnerMatchDOF
Definition MuonTree.h:71
std::vector< size_t > m_nMuonSegments
Definition MuonTree.h:96
std::vector< std::vector< float > > m_museg_y
Definition MuonTree.h:98
std::vector< float > m_phi
Definition MuonTree.h:55
std::vector< int > m_muonType
Definition MuonTree.h:61
std::vector< float > m_EnergyLoss
Definition MuonTree.h:76
std::vector< int8_t > m_innerSmallHits
Definition MuonTree.h:64
std::vector< int8_t > m_innerLargeHits
Definition MuonTree.h:65
std::vector< std::vector< unsigned int > > m_museg_chamberIndex
Definition MuonTree.h:101
std::vector< float > m_e
Definition MuonTree.h:56
std::vector< uint16_t > m_allAuthors
Definition MuonTree.h:60
std::vector< float > m_trkp_numberDoF
Definition MuonTree.h:93
float y() const
Returns the x position.
int nTrigEtaLayers() const
Returns the number of trigger eta layers.
int nPrecisionHits() const
::Muon::MuonStationIndex::TechnologyIndex technology() const
Returns the main technology of the segment.
::Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
int nPhiLayers() const
Returns the number of phi layers.
float z() const
Returns the y position.
@ neflowisol20
Neutral eflow isolation.
@ topoetcone20
Topo-cluster ET-sum.
@ ptcone20
Track isolation.
@ ptvarcone20
Mini-Isolation http://arxiv.org/abs/1007.2221.
MuonSegment_v1 MuonSegment
Reference the current persistent version:
@ innerLargeHits
number of precision hits in the inner large layer
@ innerLargeHoles
number of precision holes in the inner large layer
@ innerSmallHoles
number of precision holes in the inner small layer
@ innerSmallHits
number of precision hits in the inner small layer

◆ fillTruthMuonBranches() [1/2]

void Muon::MuonTree::fillTruthMuonBranches ( const xAOD::TruthParticle & truthMu,
bool isGoodTruthTrack )

Definition at line 246 of file MuonTree.cxx.

246 {
247
248 //
249 //Trk::Param
250 //
251 if(isGoodTruthTrack) { m_th_isGoodTruthTrack.push_back(true); }
252 else { m_th_isGoodTruthTrack.push_back(false); }
253
254 m_th_pt.push_back(truthMu.pt());
255 m_th_eta.push_back(truthMu.eta());
256 m_th_phi.push_back(truthMu.phi());
257
258 //
259 //Trk::TruthInfo
260 //
261 static const SG::ConstAccessor<int> truthTypeAcc("truthType");
262 static const SG::ConstAccessor<int> truthOriginAcc("truthOrigin");
263 if (truthTypeAcc.isAvailable(truthMu)) { m_th_truthType.push_back(truthTypeAcc(truthMu)); }
264 else { m_th_truthType.push_back(-999); }
265
266 if (truthOriginAcc.isAvailable(truthMu)) { m_th_truthOrigin.push_back(truthOriginAcc(truthMu)); }
267 else { m_th_truthOrigin.push_back(-999); }
268
269 //
270 //Trk::TruthTrkExtrapolation
271 //
272 static const SG::ConstAccessor<float> caloEnt_pxAcc("CaloEntryLayer_px");
273 static const SG::ConstAccessor<float> caloEnt_pyAcc("CaloEntryLayer_py");
274 static const SG::ConstAccessor<float> caloEnt_pzAcc("CaloEntryLayer_pz");
275 if (caloEnt_pxAcc.isAvailable(truthMu) &&
276 caloEnt_pyAcc.isAvailable(truthMu) &&
277 caloEnt_pzAcc.isAvailable(truthMu)) {
278 TVector3 v(caloEnt_pxAcc(truthMu),
279 caloEnt_pyAcc(truthMu),
280 caloEnt_pzAcc(truthMu));
281 m_th_CaloEntry_p.push_back(v.Mag()*0.001);
282 } else {
283 m_th_CaloEntry_p.push_back(-999.);
284 }
285
286 static const SG::ConstAccessor<float> muonEnt_pxAcc("MuonEntryLayer_px");
287 static const SG::ConstAccessor<float> muonEnt_pyAcc("MuonEntryLayer_py");
288 static const SG::ConstAccessor<float> muonEnt_pzAcc("MuonEntryLayer_pz");
289 if (muonEnt_pxAcc.isAvailable(truthMu) &&
290 muonEnt_pyAcc.isAvailable(truthMu) &&
291 muonEnt_pzAcc.isAvailable(truthMu)) {
292
293 TVector3 v(muonEnt_pxAcc(truthMu),
294 muonEnt_pyAcc(truthMu),
295 muonEnt_pzAcc(truthMu));
296 m_th_MuonEntry_p.push_back(v.Mag()*0.001);
297 } else {
298 m_th_MuonEntry_p.push_back(-999.);
299 }
300
301 static const SG::ConstAccessor<float> muonExit_pxAcc("MuonExitLayer_px");
302 static const SG::ConstAccessor<float> muonExit_pyAcc("MuonExitLayer_py");
303 static const SG::ConstAccessor<float> muonExit_pzAcc("MuonExitLayer_pz");
304 if (muonExit_pxAcc.isAvailable(truthMu) &&
305 muonExit_pyAcc.isAvailable(truthMu) &&
306 muonExit_pzAcc.isAvailable(truthMu)) {
307
308 TVector3 v(muonExit_pxAcc(truthMu),
309 muonExit_pyAcc(truthMu),
310 muonExit_pzAcc(truthMu));
311 m_th_MuonExit_p.push_back(v.Mag()*0.001);
312 } else {
313 m_th_MuonExit_p.push_back(-999.);
314 }
315
316 //
317 //Trk::MSHit
318 //
319 static const SG::ConstAccessor<uint8_t> nprecAcc("nprecLayers");
320 if (nprecAcc.isAvailable(truthMu)) { m_th_nprecLayers.push_back(nprecAcc(truthMu)); }
321 else { m_th_nprecLayers.push_back(-99); }
322
323 static const SG::ConstAccessor<uint8_t> nphiAcc("nphiLayers");
324 if (nphiAcc.isAvailable(truthMu)) { m_th_nphiLayers.push_back(nphiAcc(truthMu)); }
325 else { m_th_nphiLayers.push_back(-99); }
326
327 static const SG::ConstAccessor<uint8_t> ntrigEtaAcc("ntrigEtaLayers");
328 if (ntrigEtaAcc.isAvailable(truthMu)) { m_th_ntrigEtaLayers.push_back(ntrigEtaAcc(truthMu)); }
329 else { m_th_ntrigEtaLayers.push_back(-99); }
330
331 }
std::vector< int > m_th_truthType
Definition MuonTree.h:121
std::vector< bool > m_th_isGoodTruthTrack
Definition MuonTree.h:113
std::vector< float > m_th_MuonExit_p
Definition MuonTree.h:128
std::vector< double > m_th_eta
Definition MuonTree.h:116
std::vector< float > m_th_CaloEntry_p
Definition MuonTree.h:126
std::vector< double > m_th_phi
Definition MuonTree.h:117
std::vector< int8_t > m_th_nprecLayers
Definition MuonTree.h:132
std::vector< int8_t > m_th_ntrigEtaLayers
Definition MuonTree.h:134
std::vector< double > m_th_pt
Definition MuonTree.h:115
std::vector< int8_t > m_th_nphiLayers
Definition MuonTree.h:133
std::vector< float > m_th_MuonEntry_p
Definition MuonTree.h:127
std::vector< int > m_th_truthOrigin
Definition MuonTree.h:122
virtual double pt() const override final
The transverse momentum ( ) of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.

◆ fillTruthMuonBranches() [2/2]

void Muon::MuonTree::fillTruthMuonBranches ( const xAOD::TruthParticle & truthMu,
const xAOD::Muon & mu,
const xAOD::TrackParticleContainer * MSTracks,
bool isGoodTruthTrack )

Definition at line 334 of file MuonTree.cxx.

334 {
335 // If there is an interest to have an additional observable, which is derived from both reco and truth muon objects, stored in the validation tree,
336 // then this observable can be calculated/retrieved like, e.g., it is done here:
337 //
338 // line:0175 athena/MuonSpectrometer/MuonValidation/MuonDQA/MuonPhysValMonitoring/src/MuonValidationPlots.cxx
339 // athena/MuonSpectrometer/MuonValidation/MuonHistogramming/MuonHistUtils/MuonHistUtils/TruthRelatedMuonPlotOrganizer.h
340 // line: 0090 athena/MuonSpectrometer/MuonValidation/MuonHistogramming/MuonHistUtils/Root/TruthRelatedMuonPlotOrganizer.cxx
341 //
342 //
343 // Meanwhile, use these useless statements to void compilation warnings
344 if(MSTracks) return;
345 if(isGoodTruthTrack) return;
346 if(mu.m()) return;
347 if(truthMu.status()) return;
348 }
int status() const
Status code.

◆ 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:96
virtual void finalizePlots()
Definition PlotBase.h:92

◆ finalizePlots()

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

88{return m_sDirectory;}

◆ getTree()

TTree * Muon::MuonTree::getTree ( )

Definition at line 440 of file MuonTree.cxx.

440{ return m_tree.get(); }
std::unique_ptr< TTree > m_tree
Definition MuonTree.h:37

◆ 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:91

◆ initializePlots()

void Muon::MuonTree::initializePlots ( )
virtual

Reimplemented from PlotBase.

Definition at line 39 of file MuonTree.cxx.

40 {
41 m_tree.reset (BookTree("MuonTree"));
42
43 //EventInfo
44 m_tree->Branch("runNumber", &m_runNumber, "runNumber/i");
45 m_tree->Branch("lumiBlock", &m_lumiBlock, "lumiBlock/i");
46 m_tree->Branch("eventNumber", &m_eventNumber, "eventNumber/l");
47 m_tree->Branch("mcChannelNumber", &m_mcChannelNumber, "mcChannelNumber/i");
48 m_tree->Branch("mcBeamSpotWeight", &m_mcBeamSpotWeight, "mcBeamSpotWeight/f");
49
50 //
51 //Reco
52 //
53 //General properties
54 m_tree->Branch("pt", &m_pt);
55 m_tree->Branch("eta", &m_eta);
56 m_tree->Branch("phi", &m_phi);
57 m_tree->Branch("e", &m_e);
58 m_tree->Branch("rapidity", &m_rapidity);
59
60 //authors and types
61 m_tree->Branch("allAuthors", &m_allAuthors);
62 m_tree->Branch("muonType", &m_muonType);
63
64 //summary values
65 m_tree->Branch("innerSmallHits", &m_innerSmallHits);
66 m_tree->Branch("innerLargeHits", &m_innerLargeHits);
67 m_tree->Branch("innerSmallHoles", &m_innerSmallHoles);
68 m_tree->Branch("innerLargeHoles", &m_innerLargeHoles);
69
70 //parameters
71 m_tree->Branch("msInnerMatchChi2", &m_msInnerMatchChi2);
72 m_tree->Branch("msInnerMatchDOF", &m_msInnerMatchDOF);
73 m_tree->Branch("msOuterMatchChi2", &m_msOuterMatchChi2);
74 m_tree->Branch("msOuterMatchDOF", &m_msOuterMatchDOF);
75 m_tree->Branch("CaloLRLikelihood", &m_CaloLRLikelihood);
76 m_tree->Branch("CaloMuonIDTag", &m_CaloMuonIDTag);
77 m_tree->Branch("EnergyLoss", &m_EnergyLoss);
78
79 //quality
80 m_tree->Branch("Quality", &m_Quality);
81
82 //isolation
83 m_tree->Branch("iso_ptcone20", &m_iso_ptcone20);
84 m_tree->Branch("iso_topoetcon20", &m_iso_topoetcon20);
85 m_tree->Branch("iso_ptvarcon20", &m_iso_ptvarcon20);
86 m_tree->Branch("iso_neflowisol20",&m_iso_neflowisol20);
87
88 //associated TrackParticle
89 m_tree->Branch("trkp_d0", &m_trkp_d0);
90 m_tree->Branch("trkp_z0", &m_trkp_z0);
91 m_tree->Branch("trkp_qOverP", &m_trkp_qOverP);
92 m_tree->Branch("trkp_chiSquared", &m_trkp_chiSquared);
93 m_tree->Branch("trkp_numberDoF", &m_trkp_numberDoF);
94
95 //used MuonSegment
96 m_tree->Branch("nMuonSegments", &m_nMuonSegments);
97 m_tree->Branch("museg_x", &m_museg_x);
98 m_tree->Branch("museg_y", &m_museg_y);
99 m_tree->Branch("museg_z", &m_museg_z);
100 m_tree->Branch("museg_sector", &m_museg_sector);
101 m_tree->Branch("museg_chamberIndex", &m_museg_chamberIndex);
102 m_tree->Branch("museg_technology", &m_museg_technology);
103 m_tree->Branch("museg_nPrecisionHits", &m_museg_nPrecisionHits);
104 m_tree->Branch("museg_nPhiLayers", &m_museg_nPhiLayers);
105 m_tree->Branch("museg_nTrigEtaLayers", &m_museg_nTrigEtaLayers);
106
107 if(!m_isMC) return;
108
109 //
110 //Truth
111 //
112 //Trk::Param
113 // all TruthTrack
114 m_tree->Branch("th_isGoodTruthTrack", &m_th_isGoodTruthTrack);
115
116 m_tree->Branch("th_pt", &m_th_pt);
117 m_tree->Branch("th_eta", &m_th_eta);
118 m_tree->Branch("th_phi", &m_th_phi);
119
120 //Trk::TruthInfo
121 // all TruthTrack
122 m_tree->Branch("th_truthType", &m_th_truthType);
123 m_tree->Branch("th_truthOrigin", &m_th_truthOrigin);
124
125 //Trk::TruthTrkExtrapolation
126 // all TruthTrack
127 m_tree->Branch("th_CaloEntryLayer_p", &m_th_CaloEntry_p);
128 m_tree->Branch("th_MuonEntryLayer_p", &m_th_MuonEntry_p);
129 m_tree->Branch("th_MuonExitLayer_p", &m_th_MuonExit_p);
130
131 //Trk::MSHit
132 // all TruthTrack
133 m_tree->Branch("th_nprecLayers", &m_th_nprecLayers);
134 m_tree->Branch("th_nphiLayers", &m_th_nphiLayers);
135 m_tree->Branch("th_ntrigEtaLayers", &m_th_ntrigEtaLayers);
136
137 }
TTree * BookTree(const std::string &name, bool prependDir=true)
Book a TTree.
Definition PlotBase.cxx:281

◆ postFillTreeActions()

void Muon::MuonTree::postFillTreeActions ( )

Definition at line 350 of file MuonTree.cxx.

350 {
351
352 //
353 // Event Info
354 //
355 m_runNumber=-999;
356 m_lumiBlock=-999;
357 m_eventNumber=-999;
359
360 //
361 // Reco
362 //
363 m_pt.clear();
364 m_eta.clear();
365 m_phi.clear();
366 m_e.clear();
367 m_rapidity.clear();
368
369 //authors and types
370 m_allAuthors.clear();
371 m_muonType.clear();
372
373 //summary values
374 m_innerSmallHits.clear();
375 m_innerLargeHits.clear();
376 m_innerSmallHoles.clear();
377 m_innerLargeHoles.clear();
378
379 //parameters
380 m_msInnerMatchChi2.clear();
381 m_msInnerMatchDOF.clear();
382 m_msOuterMatchChi2.clear();
383 m_msOuterMatchDOF.clear();
384 m_CaloLRLikelihood.clear();
385 m_CaloMuonIDTag.clear();
386 m_EnergyLoss.clear();
387
388 //quality
389 m_Quality.clear();
390
391 //isolation
392 m_iso_ptcone20.clear();
393 m_iso_topoetcon20.clear();
394 m_iso_ptvarcon20.clear();
395 m_iso_neflowisol20.clear();
396
397 //associated TrackParticle
398 m_trkp_d0.clear();
399 m_trkp_z0.clear();
400 m_trkp_qOverP.clear();
401 m_trkp_chiSquared.clear();
402 m_trkp_numberDoF.clear();
403
404 //used MuonSegments
405 m_nMuonSegments.clear();
406 m_museg_x.clear();
407 m_museg_y.clear();
408 m_museg_z.clear();
409 m_museg_sector.clear();
410 m_museg_chamberIndex.clear();
411 m_museg_technology.clear();
413 m_museg_nPhiLayers.clear();
414 m_museg_nTrigEtaLayers.clear();
415
416 //
417 // Truth
418 //
419 //Trk::Param
420 m_th_isGoodTruthTrack.clear();
421 m_th_pt.clear();
422 m_th_eta.clear();
423 m_th_phi.clear();
424
425 //Trk::TruthInfo
426 m_th_truthType.clear();
427 m_th_truthOrigin.clear();
428
429 //Trk::TruthTrkExtrapolation
430 m_th_CaloEntry_p.clear();
431 m_th_MuonEntry_p.clear();
432 m_th_MuonExit_p.clear();
433
434 //Trk::MSHit
435 m_th_nprecLayers.clear();
436 m_th_nphiLayers.clear();
437 m_th_ntrigEtaLayers.clear();
438 }

◆ 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}
int m_iDetailLevel
Definition PlotBase.h:101

Member Data Documentation

◆ m_allAuthors

std::vector<uint16_t > Muon::MuonTree::m_allAuthors
private

Definition at line 60 of file MuonTree.h.

◆ m_CaloLRLikelihood

std::vector<float > Muon::MuonTree::m_CaloLRLikelihood
private

Definition at line 74 of file MuonTree.h.

◆ m_CaloMuonIDTag

std::vector<int > Muon::MuonTree::m_CaloMuonIDTag
private

Definition at line 75 of file MuonTree.h.

◆ m_e

std::vector<float > Muon::MuonTree::m_e
private

Definition at line 56 of file MuonTree.h.

◆ m_EnergyLoss

std::vector<float > Muon::MuonTree::m_EnergyLoss
private

Definition at line 76 of file MuonTree.h.

◆ m_eta

std::vector<float > Muon::MuonTree::m_eta
private

Definition at line 54 of file MuonTree.h.

◆ m_eventNumber

unsigned long long Muon::MuonTree::m_eventNumber
private

Definition at line 45 of file MuonTree.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_innerLargeHits

std::vector<int8_t > Muon::MuonTree::m_innerLargeHits
private

Definition at line 65 of file MuonTree.h.

◆ m_innerLargeHoles

std::vector<int8_t > Muon::MuonTree::m_innerLargeHoles
private

Definition at line 67 of file MuonTree.h.

◆ m_innerSmallHits

std::vector<int8_t > Muon::MuonTree::m_innerSmallHits
private

Definition at line 64 of file MuonTree.h.

◆ m_innerSmallHoles

std::vector<int8_t > Muon::MuonTree::m_innerSmallHoles
private

Definition at line 66 of file MuonTree.h.

◆ m_isMC

bool Muon::MuonTree::m_isMC
private

Definition at line 40 of file MuonTree.h.

◆ m_iso_etcone20

std::vector<float > Muon::MuonTree::m_iso_etcone20
private

Definition at line 82 of file MuonTree.h.

◆ m_iso_neflowisol20

std::vector<float > Muon::MuonTree::m_iso_neflowisol20
private

Definition at line 86 of file MuonTree.h.

◆ m_iso_ptcone20

std::vector<float > Muon::MuonTree::m_iso_ptcone20
private

Definition at line 83 of file MuonTree.h.

◆ m_iso_ptvarcon20

std::vector<float > Muon::MuonTree::m_iso_ptvarcon20
private

Definition at line 85 of file MuonTree.h.

◆ m_iso_topoetcon20

std::vector<float > Muon::MuonTree::m_iso_topoetcon20
private

Definition at line 84 of file MuonTree.h.

◆ m_lumiBlock

uint32_t Muon::MuonTree::m_lumiBlock
private

Definition at line 44 of file MuonTree.h.

◆ m_mcBeamSpotWeight

Float_t Muon::MuonTree::m_mcBeamSpotWeight
private

Definition at line 47 of file MuonTree.h.

◆ m_mcChannelNumber

uint32_t Muon::MuonTree::m_mcChannelNumber
private

Definition at line 46 of file MuonTree.h.

◆ m_msInnerMatchChi2

std::vector<float > Muon::MuonTree::m_msInnerMatchChi2
private

Definition at line 70 of file MuonTree.h.

◆ m_msInnerMatchDOF

std::vector<int > Muon::MuonTree::m_msInnerMatchDOF
private

Definition at line 71 of file MuonTree.h.

◆ m_msOuterMatchChi2

std::vector<float > Muon::MuonTree::m_msOuterMatchChi2
private

Definition at line 72 of file MuonTree.h.

◆ m_msOuterMatchDOF

std::vector<int > Muon::MuonTree::m_msOuterMatchDOF
private

Definition at line 73 of file MuonTree.h.

◆ m_muonType

std::vector<int > Muon::MuonTree::m_muonType
private

Definition at line 61 of file MuonTree.h.

◆ m_museg_chamberIndex

std::vector<std::vector<unsigned int> > Muon::MuonTree::m_museg_chamberIndex
private

Definition at line 101 of file MuonTree.h.

◆ m_museg_nPhiLayers

std::vector<std::vector<int> > Muon::MuonTree::m_museg_nPhiLayers
private

Definition at line 104 of file MuonTree.h.

◆ m_museg_nPrecisionHits

std::vector<std::vector<int> > Muon::MuonTree::m_museg_nPrecisionHits
private

Definition at line 103 of file MuonTree.h.

◆ m_museg_nTrigEtaLayers

std::vector<std::vector<int> > Muon::MuonTree::m_museg_nTrigEtaLayers
private

Definition at line 105 of file MuonTree.h.

◆ m_museg_sector

std::vector<std::vector<int> > Muon::MuonTree::m_museg_sector
private

Definition at line 100 of file MuonTree.h.

◆ m_museg_technology

std::vector<std::vector<unsigned int> > Muon::MuonTree::m_museg_technology
private

Definition at line 102 of file MuonTree.h.

◆ m_museg_x

std::vector<std::vector<float> > Muon::MuonTree::m_museg_x
private

Definition at line 97 of file MuonTree.h.

◆ m_museg_y

std::vector<std::vector<float> > Muon::MuonTree::m_museg_y
private

Definition at line 98 of file MuonTree.h.

◆ m_museg_z

std::vector<std::vector<float> > Muon::MuonTree::m_museg_z
private

Definition at line 99 of file MuonTree.h.

◆ m_nMuonSegments

std::vector<size_t > Muon::MuonTree::m_nMuonSegments
private

Definition at line 96 of file MuonTree.h.

◆ m_phi

std::vector<float > Muon::MuonTree::m_phi
private

Definition at line 55 of file MuonTree.h.

◆ m_pt

std::vector<float > Muon::MuonTree::m_pt
private

Definition at line 53 of file MuonTree.h.

◆ m_Quality

std::vector<int > Muon::MuonTree::m_Quality
private

Definition at line 79 of file MuonTree.h.

◆ m_rapidity

std::vector<float > Muon::MuonTree::m_rapidity
private

Definition at line 57 of file MuonTree.h.

◆ m_runNumber

uint32_t Muon::MuonTree::m_runNumber
private

Definition at line 43 of file MuonTree.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_th_CaloEntry_p

std::vector<float > Muon::MuonTree::m_th_CaloEntry_p
private

Definition at line 126 of file MuonTree.h.

◆ m_th_eta

std::vector<double > Muon::MuonTree::m_th_eta
private

Definition at line 116 of file MuonTree.h.

◆ m_th_isGoodTruthTrack

std::vector<bool > Muon::MuonTree::m_th_isGoodTruthTrack
private

Definition at line 113 of file MuonTree.h.

◆ m_th_MuonEntry_p

std::vector<float > Muon::MuonTree::m_th_MuonEntry_p
private

Definition at line 127 of file MuonTree.h.

◆ m_th_MuonExit_p

std::vector<float > Muon::MuonTree::m_th_MuonExit_p
private

Definition at line 128 of file MuonTree.h.

◆ m_th_nphiLayers

std::vector<int8_t > Muon::MuonTree::m_th_nphiLayers
private

Definition at line 133 of file MuonTree.h.

◆ m_th_nprecLayers

std::vector<int8_t > Muon::MuonTree::m_th_nprecLayers
private

Definition at line 132 of file MuonTree.h.

◆ m_th_ntrigEtaLayers

std::vector<int8_t > Muon::MuonTree::m_th_ntrigEtaLayers
private

Definition at line 134 of file MuonTree.h.

◆ m_th_phi

std::vector<double > Muon::MuonTree::m_th_phi
private

Definition at line 117 of file MuonTree.h.

◆ m_th_pt

std::vector<double > Muon::MuonTree::m_th_pt
private

Definition at line 115 of file MuonTree.h.

◆ m_th_truthOrigin

std::vector<int > Muon::MuonTree::m_th_truthOrigin
private

Definition at line 122 of file MuonTree.h.

◆ m_th_truthType

std::vector<int > Muon::MuonTree::m_th_truthType
private

Definition at line 121 of file MuonTree.h.

◆ m_tree

std::unique_ptr<TTree> Muon::MuonTree::m_tree
private

Definition at line 37 of file MuonTree.h.

◆ m_trkp_chiSquared

std::vector<float > Muon::MuonTree::m_trkp_chiSquared
private

Definition at line 92 of file MuonTree.h.

◆ m_trkp_d0

std::vector<float > Muon::MuonTree::m_trkp_d0
private

Definition at line 89 of file MuonTree.h.

◆ m_trkp_numberDoF

std::vector<float > Muon::MuonTree::m_trkp_numberDoF
private

Definition at line 93 of file MuonTree.h.

◆ m_trkp_qOverP

std::vector<float > Muon::MuonTree::m_trkp_qOverP
private

Definition at line 91 of file MuonTree.h.

◆ m_trkp_z0

std::vector<float > Muon::MuonTree::m_trkp_z0
private

Definition at line 90 of file MuonTree.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: