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

#include <MuonTree.h>

Inheritance diagram for Muon::MuonTree:
Collaboration 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. More...
 
std::vector< TreeDataretrieveBookedTrees ()
 Retrieve all booked trees. More...
 
std::vector< EfficiencyDataretrieveBookedEfficiencies ()
 Retrieve all booked efficiency objects. More...
 
TTree * BookTree (const std::string &name, bool prependDir=true)
 Book a TTree. More...
 
const std::string & getDirectory ()
 

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),
20  m_mcChannelNumber(-999),
22  {
23  }

◆ 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),
32  m_mcChannelNumber(-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 }

◆ Book1D() [2/2]

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

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

Definition at line 108 of file PlotBase.cxx.

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

◆ Book2D() [1/3]

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

Book a TH2F histogram with variable x axis binning.

Definition at line 144 of file PlotBase.cxx.

145  {
146  std::string prefix = constructPrefix(m_sDirectory, prependDir);
147  Bool_t oldstat = TH2::AddDirectoryStatus();
148  TH2::AddDirectory(false);
149  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
150  hist->Sumw2();
151  TH2::AddDirectory(oldstat);
152  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
153  return hist;
154 }

◆ Book2D() [2/3]

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

Book a TH2F histogram.

Definition at line 123 of file PlotBase.cxx.

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

◆ Book2D() [3/3]

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

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

Definition at line 138 of file PlotBase.cxx.

138  {
139  return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
140  refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
141 }

◆ Book3D() [1/2]

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

Book a TH3F histogram.

Definition at line 157 of file PlotBase.cxx.

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

◆ Book3D() [2/2]

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

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

Definition at line 171 of file PlotBase.cxx.

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

◆ BookTEfficiency() [1/2]

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

Book a (1-D) TEfficiency histogram.

Definition at line 257 of file PlotBase.cxx.

257  {
258  std::string prefix = constructPrefix(m_sDirectory, prependDir);
259  //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
260  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
261  //hist->SetAutoSave(0);
262  //hist->SetAtoFlush(0);
263  hist->SetDirectory(nullptr);
264  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
265  //TEfficiency::AddDirectory(oldstat);
266  return hist;
267 }

◆ BookTEfficiency() [2/2]

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

Book a (2-D) TEfficiency histogram.

Definition at line 270 of file PlotBase.cxx.

270  {
271  std::string prefix = constructPrefix(m_sDirectory, prependDir);
272 
273  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi);
274  hist->SetDirectory(nullptr);
275  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
276 
277  return hist;
278 }

◆ BookTProfile() [1/2]

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

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

Definition at line 204 of file PlotBase.cxx.

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

◆ BookTProfile() [2/2]

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

Book a TProfile histogram.

Definition at line 186 of file PlotBase.cxx.

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

◆ BookTProfile2D() [1/2]

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

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

Definition at line 231 of file PlotBase.cxx.

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

◆ BookTProfile2D() [2/2]

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

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

Definition at line 245 of file PlotBase.cxx.

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

◆ BookTProfileRangeY()

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

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

Definition at line 217 of file PlotBase.cxx.

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

◆ BookTree()

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

Book a TTree.

Definition at line 281 of file PlotBase.cxx.

281  {
282  std::string prefix = constructPrefix(m_sDirectory, prependDir);
283  TTree *tree = new TTree((prefix + name).c_str(), "");
284 
285  tree->SetAutoSave(0);
286  tree->SetAutoFlush(0);
287  tree->SetDirectory(nullptr);
288  m_vBookedTrees.emplace_back(tree, m_sDirectory);
289  return tree;
290 }

◆ constructPrefix()

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

Definition at line 293 of file PlotBase.cxx.

293  {
294  if (!prependDir) {
295  return "";
296  }
297  std::replace(dir.begin(), dir.end(), '/', '_');
298  return dir;
299 }

◆ 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();
147  m_mcChannelNumber = 0;
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  }

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

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

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

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 47 of file PlotBase.cxx.

47  {
48  for (auto *subNode: m_vSubNodes) {
49  subNode->finalize();
50  }
51  finalizePlots();
52 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

88 {return m_sDirectory;}

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

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

◆ 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;
361  m_mcChannelNumber=-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();
415  m_museg_nPrecisionHits.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 }

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:
Muon::MuonTree::m_rapidity
std::vector< float > m_rapidity
Definition: MuonTree.h:56
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:293
WritePulseShapeToCool.yhi
yhi
Definition: WritePulseShapeToCool.py:153
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
PlotBase::m_iDetailLevel
int m_iDetailLevel
Definition: PlotBase.h:101
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:97
Muon::MuonTree::m_th_isGoodTruthTrack
std::vector< bool > m_th_isGoodTruthTrack
Definition: MuonTree.h:112
Muon::MuonTree::m_th_truthOrigin
std::vector< int > m_th_truthOrigin
Definition: MuonTree.h:121
xAOD::Iso::topoetcone20
@ topoetcone20
Topo-cluster ET-sum.
Definition: IsolationType.h:48
xAOD::MuonSegment_v1::x
float x() const
Muon::MuonTree::m_museg_chamberIndex
std::vector< std::vector< unsigned int > > m_museg_chamberIndex
Definition: MuonTree.h:100
Muon::MuonTree::m_th_ntrigEtaLayers
std::vector< int8_t > m_th_ntrigEtaLayers
Definition: MuonTree.h:133
xAOD::Iso::ptvarcone20
@ ptvarcone20
Mini-Isolation http://arxiv.org/abs/1007.2221.
Definition: IsolationType.h:55
PlotBase::BookTree
TTree * BookTree(const std::string &name, bool prependDir=true)
Book a TTree.
Definition: PlotBase.cxx:281
xAOD::Iso::neflowisol20
@ neflowisol20
Neutral eflow isolation.
Definition: IsolationType.h:64
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
make_coralServer_rep.opt
opt
Definition: make_coralServer_rep.py:19
Muon::MuonTree::m_museg_technology
std::vector< std::vector< unsigned int > > m_museg_technology
Definition: MuonTree.h:101
Muon::MuonTree::m_trkp_chiSquared
std::vector< float > m_trkp_chiSquared
Definition: MuonTree.h:91
xAOD::MuonSegment_v1::nTrigEtaLayers
int nTrigEtaLayers() const
Returns the number of trigger eta layers.
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
Muon::MuonTree::m_innerSmallHits
std::vector< int8_t > m_innerSmallHits
Definition: MuonTree.h:63
Muon::MuonTree::m_eventNumber
unsigned long long m_eventNumber
Definition: MuonTree.h:44
plotmaker.hist
hist
Definition: plotmaker.py:148
Muon::MuonTree::m_th_nphiLayers
std::vector< int8_t > m_th_nphiLayers
Definition: MuonTree.h:132
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:91
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:100
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:99
tree
TChain * tree
Definition: tile_monitor.h:30
Muon::MuonTree::m_iso_ptvarcon20
std::vector< float > m_iso_ptvarcon20
Definition: MuonTree.h:84
Muon::MuonTree::m_museg_y
std::vector< std::vector< float > > m_museg_y
Definition: MuonTree.h:97
Muon::MuonTree::m_mcChannelNumber
uint32_t m_mcChannelNumber
Definition: MuonTree.h:45
xAOD::Iso::ptcone20
@ ptcone20
Track isolation.
Definition: IsolationType.h:40
PlotBase::Book2D
TH2F * Book2D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition: PlotBase.cxx:123
xAOD::MuonSegment_v1
Class describing a MuonSegment.
Definition: MuonSegment_v1.h:33
Muon::MuonTree::m_isMC
bool m_isMC
Definition: MuonTree.h:39
Muon::MuonTree::m_museg_sector
std::vector< std::vector< int > > m_museg_sector
Definition: MuonTree.h:99
athena.value
value
Definition: athena.py:124
SG::ConstAccessor< int >
Muon::MuonTree::m_th_phi
std::vector< double > m_th_phi
Definition: MuonTree.h:116
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
Muon::MuonTree::m_museg_nTrigEtaLayers
std::vector< std::vector< int > > m_museg_nTrigEtaLayers
Definition: MuonTree.h:104
PlotBase::PlotBase
PlotBase(PlotBase *parent, const std::string &sDir)
Definition: PlotBase.cxx:29
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
xAOD::innerLargeHits
@ innerLargeHits
number of precision hits in the inner large layer
Definition: TrackingPrimitives.h:331
Muon::MuonTree::m_iso_neflowisol20
std::vector< float > m_iso_neflowisol20
Definition: MuonTree.h:85
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
Muon::MuonTree::m_nMuonSegments
std::vector< size_t > m_nMuonSegments
Definition: MuonTree.h:95
xAOD::EventInfo_v1::mcChannelNumber
uint32_t mcChannelNumber() const
The MC generator's channel number.
Muon::MuonTree::m_innerLargeHits
std::vector< int8_t > m_innerLargeHits
Definition: MuonTree.h:64
Muon::MuonTree::m_e
std::vector< float > m_e
Definition: MuonTree.h:55
Muon::MuonTree::m_trkp_d0
std::vector< float > m_trkp_d0
Definition: MuonTree.h:88
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
xAOD::innerLargeHoles
@ innerLargeHoles
number of precision holes in the inner large layer
Definition: TrackingPrimitives.h:340
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:96
Muon::MuonTree::m_museg_nPrecisionHits
std::vector< std::vector< int > > m_museg_nPrecisionHits
Definition: MuonTree.h:102
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
lumiFormat.i
int i
Definition: lumiFormat.py:85
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
Muon::MuonTree::m_museg_z
std::vector< std::vector< float > > m_museg_z
Definition: MuonTree.h:98
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
Muon::MuonTree::m_trkp_qOverP
std::vector< float > m_trkp_qOverP
Definition: MuonTree.h:90
Muon::MuonTree::m_museg_nPhiLayers
std::vector< std::vector< int > > m_museg_nPhiLayers
Definition: MuonTree.h:103
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
Muon::MuonTree::m_museg_x
std::vector< std::vector< float > > m_museg_x
Definition: MuonTree.h:96
Muon::MuonTree::m_th_MuonExit_p
std::vector< float > m_th_MuonExit_p
Definition: MuonTree.h:127
Muon::MuonTree::m_th_truthType
std::vector< int > m_th_truthType
Definition: MuonTree.h:120
Muon::MuonTree::m_th_nprecLayers
std::vector< int8_t > m_th_nprecLayers
Definition: MuonTree.h:131
Muon::MuonTree::m_pt
std::vector< float > m_pt
Definition: MuonTree.h:52
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
xAOD::MuonSegment_v1::technology
::Muon::MuonStationIndex::TechnologyIndex technology() const
Returns the main technology of the segment.
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
xAOD::MuonSegment_v1::nPhiLayers
int nPhiLayers() const
Returns the number of phi layers.
xAOD::EventInfo_v1::lumiBlock
uint32_t lumiBlock() const
The current event's luminosity block number.
Muon::MuonTree::m_msOuterMatchChi2
std::vector< float > m_msOuterMatchChi2
Definition: MuonTree.h:71
beamspotman.dir
string dir
Definition: beamspotman.py:623
Muon::MuonTree::m_lumiBlock
uint32_t m_lumiBlock
Definition: MuonTree.h:43
xAOD::MuonSegment_v1::nPrecisionHits
int nPrecisionHits() const
Muon::MuonTree::m_eta
std::vector< float > m_eta
Definition: MuonTree.h:53
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
xAOD::innerSmallHoles
@ innerSmallHoles
number of precision holes in the inner small layer
Definition: TrackingPrimitives.h:339
Muon::MuonTree::m_tree
TTree * m_tree
Definition: MuonTree.h:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Muon::MuonTree::m_msInnerMatchDOF
std::vector< int > m_msInnerMatchDOF
Definition: MuonTree.h:70
Muon::MuonTree::m_allAuthors
std::vector< uint16_t > m_allAuthors
Definition: MuonTree.h:59
Muon::MuonTree::m_msOuterMatchDOF
std::vector< int > m_msOuterMatchDOF
Definition: MuonTree.h:72
Muon::MuonTree::m_trkp_z0
std::vector< float > m_trkp_z0
Definition: MuonTree.h:89
xAOD::TruthParticle_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: TruthParticle_v1.cxx:174
Muon::MuonTree::m_iso_ptcone20
std::vector< float > m_iso_ptcone20
Definition: MuonTree.h:82
Muon::MuonTree::m_th_eta
std::vector< double > m_th_eta
Definition: MuonTree.h:115
xAOD::MuonSegment_v1::z
float z() const
Returns the y position.
python.PyAthena.v
v
Definition: PyAthena.py:154
Muon::MuonTree::m_phi
std::vector< float > m_phi
Definition: MuonTree.h:54
xAOD::TruthParticle_v1::status
int status() const
Status code.
Muon::MuonTree::m_msInnerMatchChi2
std::vector< float > m_msInnerMatchChi2
Definition: MuonTree.h:69
xAOD::MuonSegment_v1::sector
int sector() const
xAOD::MuonSegment_v1::y
float y() const
Returns the x position.
xAOD::TruthParticle_v1::phi
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
Definition: TruthParticle_v1.cxx:181
Muon::MuonTree::m_th_pt
std::vector< double > m_th_pt
Definition: MuonTree.h:114
Muon::MuonTree::m_th_CaloEntry_p
std::vector< float > m_th_CaloEntry_p
Definition: MuonTree.h:125
Muon::MuonTree::m_runNumber
uint32_t m_runNumber
Definition: MuonTree.h:42
xAOD::TruthParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TruthParticle_v1.cxx:166
Muon::MuonTree::m_innerLargeHoles
std::vector< int8_t > m_innerLargeHoles
Definition: MuonTree.h:66
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
Muon::MuonTree::m_EnergyLoss
std::vector< float > m_EnergyLoss
Definition: MuonTree.h:75
Muon::MuonTree::m_muonType
std::vector< int > m_muonType
Definition: MuonTree.h:60
Muon::MuonTree::m_trkp_numberDoF
std::vector< float > m_trkp_numberDoF
Definition: MuonTree.h:92
Muon::MuonTree::m_CaloMuonIDTag
std::vector< int > m_CaloMuonIDTag
Definition: MuonTree.h:74
xAOD::innerSmallHits
@ innerSmallHits
number of precision hits in the inner small layer
Definition: TrackingPrimitives.h:330
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
Muon::MuonTree::m_iso_topoetcon20
std::vector< float > m_iso_topoetcon20
Definition: MuonTree.h:83
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:92
xAOD::EventInfo_v1::beamSpotWeight
float beamSpotWeight() const
Weight for beam spot size reweighting.
Definition: EventInfo_v1.cxx:970
PlotBase::m_vBookedTrees
std::vector< TreeData > m_vBookedTrees
Definition: PlotBase.h:98
xAOD::MuonSegment_v1::chamberIndex
::Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
Muon::MuonTree::m_innerSmallHoles
std::vector< int8_t > m_innerSmallHoles
Definition: MuonTree.h:65
Muon::MuonTree::m_mcBeamSpotWeight
Float_t m_mcBeamSpotWeight
Definition: MuonTree.h:46
Muon::MuonTree::m_CaloLRLikelihood
std::vector< float > m_CaloLRLikelihood
Definition: MuonTree.h:73
Muon::MuonTree::m_th_MuonEntry_p
std::vector< float > m_th_MuonEntry_p
Definition: MuonTree.h:126
xAOD::EventInfo_v1::mcEventNumber
uint64_t mcEventNumber() const
The MC generator's event number.
Muon::MuonTree::m_Quality
std::vector< int > m_Quality
Definition: MuonTree.h:78