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

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 20 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_tree(nullptr),
16 m_isMC(mcFlag),
17 m_runNumber(-999),
18 m_lumiBlock(-999),
19 m_eventNumber(-999),
22 {
23 }
unsigned long long m_eventNumber
Definition MuonTree.h:44
uint32_t m_lumiBlock
Definition MuonTree.h:43
uint32_t m_mcChannelNumber
Definition MuonTree.h:45
uint32_t m_runNumber
Definition MuonTree.h:42
TTree * m_tree
Definition MuonTree.h:36
Float_t m_mcBeamSpotWeight
Definition MuonTree.h:46
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 25 of file MuonTree.cxx.

25 :
26 PlotBase(pParent, sDir),
27 m_tree(nullptr),
28 m_isMC(true),
29 m_runNumber(-999),
30 m_lumiBlock(-999),
31 m_eventNumber(-999),
34 {
35 }

◆ ~MuonTree()

Muon::MuonTree::~MuonTree ( )

Definition at line 37 of file MuonTree.cxx.

38 {
39 if(m_tree) delete m_tree;
40 }

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 142 of file MuonTree.cxx.

142 {
143 m_runNumber = eventInfo->runNumber();
144 if(isData) {
145 m_lumiBlock = eventInfo->lumiBlock();
146 m_eventNumber = eventInfo->eventNumber();
148 m_mcBeamSpotWeight = 1.0;
149 }
150 else {
151 m_lumiBlock = 0;
152 m_eventNumber = eventInfo->mcEventNumber();
153 m_mcChannelNumber = eventInfo->mcChannelNumber();
154 m_mcBeamSpotWeight = eventInfo->beamSpotWeight();
155 }
156 }
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 158 of file MuonTree.cxx.

158 {
159 //general properties
160 m_pt.push_back(mu.pt());
161 m_eta.push_back(mu.eta());
162 m_phi.push_back(mu.phi());
163 m_e.push_back(mu.e());
164 m_rapidity.push_back(mu.rapidity());
165
166 //authors and types
167 m_allAuthors.push_back(mu.allAuthors());
168 m_muonType.push_back(mu.muonType());
169
170 int8_t hitVal = 0;
171 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerSmallHits) ) hitVal=-1;
172 m_innerSmallHits.push_back(hitVal);
173 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerLargeHits) ) hitVal=-1;
174 m_innerLargeHits.push_back(hitVal);
175 if( !mu.summaryValue((uint8_t&)hitVal ,xAOD::MuonSummaryType::innerSmallHoles) ) hitVal=-1;
176 m_innerSmallHoles.push_back(hitVal);
177 if( !mu.summaryValue((uint8_t&)hitVal, xAOD::MuonSummaryType::innerLargeHoles) ) hitVal=-1;
178 m_innerLargeHoles.push_back(hitVal);
179
180 //parameters
181 float value;
182 int ivalue;
183 if( !(mu.parameter(value, xAOD::Muon::ParamDef::msInnerMatchChi2)) ) value=-999.;
184 m_msInnerMatchChi2.push_back(value);
185 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::msInnerMatchDOF)) ) ivalue=-999;
186 m_msInnerMatchDOF.push_back(ivalue);
187 if( !(mu.parameter(value, xAOD::Muon::ParamDef::msOuterMatchChi2)) ) value=-999.;
188 m_msOuterMatchChi2.push_back(value);
189 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::msOuterMatchDOF)) ) ivalue=-999;
190 m_msOuterMatchDOF.push_back(ivalue);
191 if( !(mu.parameter(value, xAOD::Muon::ParamDef::CaloLRLikelihood)) ) value=-999.;
192 m_CaloLRLikelihood.push_back(value);
193 if( !(mu.parameter(ivalue, xAOD::Muon::ParamDef::CaloMuonIDTag)) ) ivalue=-999;
194 m_CaloMuonIDTag.push_back(ivalue);
195 if( !(mu.parameter(value, xAOD::Muon::ParamDef::EnergyLoss)) ) value=-999.;
196 m_EnergyLoss.push_back(value);
197
198 //quality
199 m_Quality.push_back(mu.quality());
200
201 //isolation
202 if( !(mu.isolation(value, xAOD::Iso::IsolationType::ptcone20)) ) value=-999.;
203 m_iso_ptcone20.push_back(value);
204 if( !(mu.isolation(value, xAOD::Iso::IsolationType::topoetcone20)) ) value=-999.;
205 m_iso_topoetcon20.push_back(value);
206 if( !(mu.isolation(value, xAOD::Iso::IsolationType::ptvarcone20)) ) value=-999.;
207 m_iso_ptvarcon20.push_back(value);
208 if( !(mu.isolation(value, xAOD::Iso::IsolationType::neflowisol20)) ) value=-999.;
209 m_iso_neflowisol20.push_back(value);
210
211 //associated TrackParticle
212 m_trkp_d0.push_back( mu.primaryTrackParticle()->d0() );
213 m_trkp_z0.push_back( mu.primaryTrackParticle()->z0() );
214 m_trkp_qOverP.push_back( mu.primaryTrackParticle()->qOverP() );
215 m_trkp_chiSquared.push_back( mu.primaryTrackParticle()->chiSquared() );
216 m_trkp_numberDoF.push_back( mu.primaryTrackParticle()->numberDoF() );
217
218 //used MuonSegments
219 size_t nMuonSegments = mu.nMuonSegments();
220 m_nMuonSegments.push_back( nMuonSegments );
221 size_t muonIndx = m_nMuonSegments.size()-1;
222
223 m_museg_x.push_back( std::vector<float >() );
224 m_museg_y.push_back( std::vector<float >() );
225 m_museg_z.push_back( std::vector<float >() );
226 m_museg_sector.push_back( std::vector<int >() );
227 m_museg_chamberIndex.push_back( std::vector<unsigned int >() );
228 m_museg_technology.push_back( std::vector<unsigned int >() );
229 m_museg_nPrecisionHits.push_back( std::vector<int >() );
230 m_museg_nPhiLayers.push_back( std::vector<int >() );
231 m_museg_nTrigEtaLayers.push_back( std::vector<int >() );
232
233 for(int i=0; (size_t)i<nMuonSegments; i++ ) {
234 const xAOD::MuonSegment* muonSegment = mu.muonSegment(i);
235 m_museg_x[ muonIndx ].push_back(muonSegment->x());
236 m_museg_y[ muonIndx ].push_back(muonSegment->y());
237 m_museg_z[ muonIndx ].push_back(muonSegment->z());
238 m_museg_sector[ muonIndx ].push_back(muonSegment->sector());
239 m_museg_chamberIndex[ muonIndx ].push_back((int)muonSegment->chamberIndex());
240 m_museg_technology[ muonIndx ].push_back((int)muonSegment->technology());
241 m_museg_nPrecisionHits[ muonIndx ].push_back(muonSegment->nPrecisionHits());
242 m_museg_nPhiLayers[ muonIndx ].push_back(muonSegment->nPhiLayers());
243 m_museg_nTrigEtaLayers[ muonIndx ].push_back(muonSegment->nTrigEtaLayers());
244 }
245
246 }
std::vector< float > m_iso_ptvarcon20
Definition MuonTree.h:84
std::vector< std::vector< float > > m_museg_z
Definition MuonTree.h:98
std::vector< float > m_msInnerMatchChi2
Definition MuonTree.h:69
std::vector< float > m_trkp_z0
Definition MuonTree.h:89
std::vector< std::vector< unsigned int > > m_museg_technology
Definition MuonTree.h:101
std::vector< int8_t > m_innerSmallHoles
Definition MuonTree.h:65
std::vector< float > m_iso_topoetcon20
Definition MuonTree.h:83
std::vector< float > m_CaloLRLikelihood
Definition MuonTree.h:73
std::vector< int > m_msOuterMatchDOF
Definition MuonTree.h:72
std::vector< int > m_Quality
Definition MuonTree.h:78
std::vector< std::vector< int > > m_museg_nPhiLayers
Definition MuonTree.h:103
std::vector< float > m_iso_ptcone20
Definition MuonTree.h:82
std::vector< std::vector< int > > m_museg_sector
Definition MuonTree.h:99
std::vector< std::vector< int > > m_museg_nTrigEtaLayers
Definition MuonTree.h:104
std::vector< std::vector< float > > m_museg_x
Definition MuonTree.h:96
std::vector< int > m_CaloMuonIDTag
Definition MuonTree.h:74
std::vector< float > m_msOuterMatchChi2
Definition MuonTree.h:71
std::vector< int8_t > m_innerLargeHoles
Definition MuonTree.h:66
std::vector< float > m_pt
Definition MuonTree.h:52
std::vector< float > m_trkp_chiSquared
Definition MuonTree.h:91
std::vector< float > m_trkp_qOverP
Definition MuonTree.h:90
std::vector< std::vector< int > > m_museg_nPrecisionHits
Definition MuonTree.h:102
std::vector< float > m_trkp_d0
Definition MuonTree.h:88
std::vector< float > m_iso_neflowisol20
Definition MuonTree.h:85
std::vector< float > m_rapidity
Definition MuonTree.h:56
std::vector< float > m_eta
Definition MuonTree.h:53
std::vector< int > m_msInnerMatchDOF
Definition MuonTree.h:70
std::vector< size_t > m_nMuonSegments
Definition MuonTree.h:95
std::vector< std::vector< float > > m_museg_y
Definition MuonTree.h:97
std::vector< float > m_phi
Definition MuonTree.h:54
std::vector< int > m_muonType
Definition MuonTree.h:60
std::vector< float > m_EnergyLoss
Definition MuonTree.h:75
std::vector< int8_t > m_innerSmallHits
Definition MuonTree.h:63
std::vector< int8_t > m_innerLargeHits
Definition MuonTree.h:64
std::vector< std::vector< unsigned int > > m_museg_chamberIndex
Definition MuonTree.h:100
std::vector< float > m_e
Definition MuonTree.h:55
std::vector< uint16_t > m_allAuthors
Definition MuonTree.h:59
std::vector< float > m_trkp_numberDoF
Definition MuonTree.h:92
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 249 of file MuonTree.cxx.

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

337 {
338 // 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,
339 // then this observable can be calculated/retrieved like, e.g., it is done here:
340 //
341 // line:0175 athena/MuonSpectrometer/MuonValidation/MuonDQA/MuonPhysValMonitoring/src/MuonValidationPlots.cxx
342 // athena/MuonSpectrometer/MuonValidation/MuonHistogramming/MuonHistUtils/MuonHistUtils/TruthRelatedMuonPlotOrganizer.h
343 // line: 0090 athena/MuonSpectrometer/MuonValidation/MuonHistogramming/MuonHistUtils/Root/TruthRelatedMuonPlotOrganizer.cxx
344 //
345 //
346 // Meanwhile, use these useless statements to void compilation warnings
347 if(MSTracks) return;
348 if(isGoodTruthTrack) return;
349 if(mu.m()) return;
350 if(truthMu.status()) return;
351 }
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 443 of file MuonTree.cxx.

443{ return m_tree; }

◆ 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 42 of file MuonTree.cxx.

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

◆ postFillTreeActions()

void Muon::MuonTree::postFillTreeActions ( )

Definition at line 353 of file MuonTree.cxx.

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

◆ 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 59 of file MuonTree.h.

◆ m_CaloLRLikelihood

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

Definition at line 73 of file MuonTree.h.

◆ m_CaloMuonIDTag

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

Definition at line 74 of file MuonTree.h.

◆ m_e

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

Definition at line 55 of file MuonTree.h.

◆ m_EnergyLoss

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

Definition at line 75 of file MuonTree.h.

◆ m_eta

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

Definition at line 53 of file MuonTree.h.

◆ m_eventNumber

unsigned long long Muon::MuonTree::m_eventNumber
private

Definition at line 44 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 64 of file MuonTree.h.

◆ m_innerLargeHoles

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

Definition at line 66 of file MuonTree.h.

◆ m_innerSmallHits

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

Definition at line 63 of file MuonTree.h.

◆ m_innerSmallHoles

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

Definition at line 65 of file MuonTree.h.

◆ m_isMC

bool Muon::MuonTree::m_isMC
private

Definition at line 39 of file MuonTree.h.

◆ m_iso_etcone20

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

Definition at line 81 of file MuonTree.h.

◆ m_iso_neflowisol20

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

Definition at line 85 of file MuonTree.h.

◆ m_iso_ptcone20

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

Definition at line 82 of file MuonTree.h.

◆ m_iso_ptvarcon20

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

Definition at line 84 of file MuonTree.h.

◆ m_iso_topoetcon20

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

Definition at line 83 of file MuonTree.h.

◆ m_lumiBlock

uint32_t Muon::MuonTree::m_lumiBlock
private

Definition at line 43 of file MuonTree.h.

◆ m_mcBeamSpotWeight

Float_t Muon::MuonTree::m_mcBeamSpotWeight
private

Definition at line 46 of file MuonTree.h.

◆ m_mcChannelNumber

uint32_t Muon::MuonTree::m_mcChannelNumber
private

Definition at line 45 of file MuonTree.h.

◆ m_msInnerMatchChi2

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

Definition at line 69 of file MuonTree.h.

◆ m_msInnerMatchDOF

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

Definition at line 70 of file MuonTree.h.

◆ m_msOuterMatchChi2

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

Definition at line 71 of file MuonTree.h.

◆ m_msOuterMatchDOF

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

Definition at line 72 of file MuonTree.h.

◆ m_muonType

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

Definition at line 60 of file MuonTree.h.

◆ m_museg_chamberIndex

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

Definition at line 100 of file MuonTree.h.

◆ m_museg_nPhiLayers

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

Definition at line 103 of file MuonTree.h.

◆ m_museg_nPrecisionHits

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

Definition at line 102 of file MuonTree.h.

◆ m_museg_nTrigEtaLayers

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

Definition at line 104 of file MuonTree.h.

◆ m_museg_sector

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

Definition at line 99 of file MuonTree.h.

◆ m_museg_technology

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

Definition at line 101 of file MuonTree.h.

◆ m_museg_x

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

Definition at line 96 of file MuonTree.h.

◆ m_museg_y

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

Definition at line 97 of file MuonTree.h.

◆ m_museg_z

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

Definition at line 98 of file MuonTree.h.

◆ m_nMuonSegments

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

Definition at line 95 of file MuonTree.h.

◆ m_phi

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

Definition at line 54 of file MuonTree.h.

◆ m_pt

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

Definition at line 52 of file MuonTree.h.

◆ m_Quality

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

Definition at line 78 of file MuonTree.h.

◆ m_rapidity

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

Definition at line 56 of file MuonTree.h.

◆ m_runNumber

uint32_t Muon::MuonTree::m_runNumber
private

Definition at line 42 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 125 of file MuonTree.h.

◆ m_th_eta

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

Definition at line 115 of file MuonTree.h.

◆ m_th_isGoodTruthTrack

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

Definition at line 112 of file MuonTree.h.

◆ m_th_MuonEntry_p

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

Definition at line 126 of file MuonTree.h.

◆ m_th_MuonExit_p

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

Definition at line 127 of file MuonTree.h.

◆ m_th_nphiLayers

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

Definition at line 132 of file MuonTree.h.

◆ m_th_nprecLayers

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

Definition at line 131 of file MuonTree.h.

◆ m_th_ntrigEtaLayers

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

Definition at line 133 of file MuonTree.h.

◆ m_th_phi

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

Definition at line 116 of file MuonTree.h.

◆ m_th_pt

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

Definition at line 114 of file MuonTree.h.

◆ m_th_truthOrigin

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

Definition at line 121 of file MuonTree.h.

◆ m_th_truthType

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

Definition at line 120 of file MuonTree.h.

◆ m_tree

TTree* Muon::MuonTree::m_tree
private

Definition at line 36 of file MuonTree.h.

◆ m_trkp_chiSquared

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

Definition at line 91 of file MuonTree.h.

◆ m_trkp_d0

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

Definition at line 88 of file MuonTree.h.

◆ m_trkp_numberDoF

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

Definition at line 92 of file MuonTree.h.

◆ m_trkp_qOverP

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

Definition at line 90 of file MuonTree.h.

◆ m_trkp_z0

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

Definition at line 89 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: