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

#include <TrackPlots.h>

Inheritance diagram for Egamma::TrackPlots:
Collaboration diagram for Egamma::TrackPlots:

Public Member Functions

 TrackPlots (PlotBase *pParent, const std::string &sDir, std::string sParticleType)
 
void fill (const xAOD::Electron &electron, const xAOD::EventInfo &eventInfo)
 
void Set_d0_nBins (unsigned d0_nBins)
 
void Set_d0sig_nBins (unsigned d0sig_nBins)
 
void Set_z0_nBins (unsigned z0_nBins)
 
void Set_d0_Bins (const std::vector< double > &d0Range)
 
void Set_d0sig_Bins (const std::vector< double > &d0sigRange)
 
void Set_z0_Bins (const std::vector< double > &z0Range)
 
unsigned Get_d0_nBins ()
 
unsigned Get_d0sig_nBins ()
 
unsigned Get_z0_nBins ()
 
const std::vector< double > & Get_d0_Bins ()
 
const std::vector< double > & Get_d0sig_Bins ()
 
const std::vector< double > & Get_z0_Bins ()
 
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...
 
std::string getDirectory ()
 

Public Attributes

std::string m_sParticleType
 
TH1deta
 
TH1dphi
 
TH1d0
 
TH1z0
 
TH1d0significance
 
TH1blayer
 
TH1pixel
 
TH1sct
 
TH1si
 
TH1trt
 
TH1trt_xe
 
TH1trt_total
 
TH1trt_ht
 
TH1trt_ht_total
 
TH1dphirescaled
 
TH1eProbHT
 
TH1deltaPoverP
 
TH1EoverP
 
TH2trtratio
 
TH2trtvseta
 
TH2trthtvseta
 
unsigned m_d0_nBins = 200
 
unsigned m_d0sig_nBins = 50
 
unsigned m_z0_nBins = 200
 
std::vector< double > m_d0Range = {-100.0,100.0}
 
std::vector< double > m_d0sigRange = {-25.0,25.0}
 
std::vector< double > m_z0Range = {-100.0,100.0}
 

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 initializePlots ()
 
virtual void finalizePlots ()
 

Static Private Member Functions

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

Detailed Description

Definition at line 16 of file TrackPlots.h.

Constructor & Destructor Documentation

◆ TrackPlots()

Egamma::TrackPlots::TrackPlots ( PlotBase pParent,
const std::string &  sDir,
std::string  sParticleType 
)

Definition at line 12 of file TrackPlots.cxx.

12  :PlotBase(pParent, sDir),
13  m_sParticleType(std::move(sParticleType)),
14  deta(nullptr),
15  dphi(nullptr),
16  d0(nullptr),
17  z0(nullptr),
18  d0significance(nullptr),
19  blayer(nullptr),
20  pixel(nullptr),
21  sct(nullptr),
22  si(nullptr),
23  trt(nullptr),
24  trt_xe(nullptr),
25  trt_total(nullptr),
26  trt_ht(nullptr),
27  trt_ht_total(nullptr),
28  dphirescaled(nullptr),
29  eProbHT(nullptr),
30  deltaPoverP(nullptr),
31  EoverP(nullptr),
32  trtratio(nullptr),
33  trtvseta(nullptr),
34  trthtvseta(nullptr)
35 
36 {}

Member Function Documentation

◆ Book1D() [1/2]

TH1F * 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 88 of file PlotBase.cxx.

89  {
90  std::string prefix = constructPrefix(m_sDirectory, prependDir);
91  Bool_t oldstat = TH1::AddDirectoryStatus();
92  TH1::AddDirectory(false);
93  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), nBins, start, end);
94  TH1::AddDirectory(oldstat);
95 
96  hist->Sumw2();
97  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
98  return hist;
99 }

◆ Book1D() [2/2]

TH1F * 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 102 of file PlotBase.cxx.

102  {
103  std::string prefix = constructPrefix(m_sDirectory, prependDir);
104  Bool_t oldstat = TH1::AddDirectoryStatus();
105  TH1::AddDirectory(false);
106  TH1F *hist = new TH1F((prefix + name).c_str(), labels.c_str(), refHist->GetNbinsX(),
107  refHist->GetXaxis()->GetXbins()->GetArray());
108  hist->Sumw2();
109  TH1::AddDirectory(oldstat);
110 
111 
112  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
113  return hist;
114 }

◆ 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 TH2D histogram with variable x axis binning.

Definition at line 138 of file PlotBase.cxx.

139  {
140  std::string prefix = constructPrefix(m_sDirectory, prependDir);
141  Bool_t oldstat = TH2::AddDirectoryStatus();
142  TH2::AddDirectory(false);
143  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, startY, endY);
144  hist->Sumw2();
145  TH2::AddDirectory(oldstat);
146  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
147  return hist;
148 }

◆ 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 TH2D histogram.

Definition at line 117 of file PlotBase.cxx.

118  {
119  std::string prefix = constructPrefix(m_sDirectory, prependDir);
120  Bool_t oldstat = TH2::AddDirectoryStatus();
121  TH2::AddDirectory(false);
122  TH2F *hist = new TH2F((prefix + name).c_str(), labels.c_str(), nBinsX, startX, endX, nBinsY, startY, endY);
123  hist->Sumw2();
124  TH2::AddDirectory(oldstat);
125 
126 
127  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
128  return hist;
129 }

◆ 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 132 of file PlotBase.cxx.

132  {
133  return Book2D(name, labels, refHist->GetNbinsX(), refHist->GetXaxis()->GetXmin(), refHist->GetXaxis()->GetXmax(),
134  refHist->GetNbinsY(), refHist->GetYaxis()->GetXmin(), refHist->GetYaxis()->GetXmax(), prependDir);
135 }

◆ 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 TH3D histogram.

Definition at line 151 of file PlotBase.cxx.

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

◆ Book3D() [2/2]

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

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

Definition at line 165 of file PlotBase.cxx.

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

◆ 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 251 of file PlotBase.cxx.

251  {
252  std::string prefix = constructPrefix(m_sDirectory, prependDir);
253  //Bool_t oldstat = TEfficiency::AddDirectoryStatus();
254  TEfficiency *hist = new TEfficiency((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi);
255  //hist->SetAutoSave(0);
256  //hist->SetAtoFlush(0);
257  hist->SetDirectory(nullptr);
258  m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
259  //TEfficiency::AddDirectory(oldstat);
260  return hist;
261 }

◆ 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 264 of file PlotBase.cxx.

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

◆ 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 198 of file PlotBase.cxx.

198  {
199  std::string prefix = constructPrefix(m_sDirectory, prependDir);
200  TProfile *hist(nullptr);
201  Bool_t oldstat = TProfile::AddDirectoryStatus();
202  TProfile::AddDirectory(false);
203 
204  hist = new TProfile((prefix + name).c_str(), labels.c_str(), nBinsX, binsX);
205  TProfile::AddDirectory(oldstat);
206  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
207  return hist;
208 }

◆ 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 180 of file PlotBase.cxx.

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

◆ 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 225 of file PlotBase.cxx.

227  {
228  std::string prefix = constructPrefix(m_sDirectory, prependDir);
229  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
230  TProfile2D::AddDirectory(false);
231  std::string opt = useRMS ? "S" : "";
232  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, xlo, xhi, nBinsY, ylo, yhi, opt.c_str());
233  TProfile2D::AddDirectory(oldstat);
234  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
235  return hist;
236 }

◆ 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 239 of file PlotBase.cxx.

239  {
240  std::string prefix = constructPrefix(m_sDirectory, prependDir);
241  Bool_t oldstat = TProfile2D::AddDirectoryStatus();
242  TProfile2D::AddDirectory(false);
243  std::string opt = useRMS ? "S" : "";
244  TProfile2D *hist = new TProfile2D((prefix + name).c_str(), labels.c_str(), nBinsX, binsX, nBinsY, binsY, opt.c_str());
245  TProfile2D::AddDirectory(oldstat);
246  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
247  return hist;
248 }

◆ 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 211 of file PlotBase.cxx.

212  {
213  std::string prefix = constructPrefix(m_sDirectory, prependDir);
214  TProfile *hist(nullptr);
215  Bool_t oldstat = TProfile::AddDirectoryStatus();
216  TProfile::AddDirectory(false);
217 
218  hist = new TProfile((prefix + name).c_str(), labels.c_str(), (Int_t) nBinsX, binsX, startY, endY);
219  TProfile::AddDirectory(oldstat);
220  m_vBookedHistograms.emplace_back(hist, m_sDirectory);
221  return hist;
222 }

◆ BookTree()

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

Book a TTree.

Definition at line 275 of file PlotBase.cxx.

275  {
276  std::string prefix = constructPrefix(m_sDirectory, prependDir);
277  TTree *tree = new TTree((prefix + name).c_str(), "");
278 
279  tree->SetAutoSave(0);
280  tree->SetAutoFlush(0);
281  tree->SetDirectory(nullptr);
282  m_vBookedTrees.emplace_back(tree, m_sDirectory);
283  return tree;
284 }

◆ constructPrefix()

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

Definition at line 287 of file PlotBase.cxx.

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

◆ fill()

void Egamma::TrackPlots::fill ( const xAOD::Electron electron,
const xAOD::EventInfo eventInfo 
)

Definition at line 93 of file TrackPlots.cxx.

93  {
94 
95  float deta1(0);
96  float dphi2 (0);
97  float dphirescaled2(0);
98  float eprobht(0);
99  float trackqoverp(0);
100  float eoverp(0);
101  double dpOverp(0);
102 
103  float weight = 1.;
104  weight = eventInfo.beamSpotWeight();
105 
106  if(electron.trackCaloMatchValue(deta1, xAOD::EgammaParameters::deltaEta1 )){
107  deta->Fill(deta1, weight);
108  }
109  if(electron.trackCaloMatchValue(dphi2, xAOD::EgammaParameters::deltaPhi2 )){
110  dphi->Fill(dphi2*electron.trackParticle()->charge(), weight);
111  }
112  if(electron.trackCaloMatchValue(dphirescaled2, xAOD::EgammaParameters::deltaPhiRescaled2 )){
113  dphirescaled->Fill(dphirescaled2, weight);
114  }
115  if(!electron.trackParticle()) return;
116  trackqoverp = electron.trackParticle()->qOverP();
117 
118  if(electron.caloCluster()){
119  const double energy = electron.caloCluster()->e();
120  eoverp=std::abs(trackqoverp)*energy;
121  EoverP->Fill(eoverp, weight);
122  }
123  unsigned int index;
124  if( electron.trackParticle()->indexOfParameterAtPosition(index, xAOD::LastMeasurement) ) {
125 
126  double refittedTrack_LMqoverp =
127  electron.trackParticle()->charge() / std::sqrt(std::pow(electron.trackParticle()->parameterPX(index), 2) +
128  std::pow(electron.trackParticle()->parameterPY(index), 2) +
129  std::pow(electron.trackParticle()->parameterPZ(index), 2));
130 
131  dpOverp = 1 - trackqoverp/(refittedTrack_LMqoverp);
132  deltaPoverP->Fill(dpOverp, weight);
133  }
134 
139 
140  if(electron.trackParticleSummaryValue(eprobht,xAOD::eProbabilityHT)){
141  eProbHT->Fill(eprobht, weight);
142  }
143 
146  float totalTRTratio= (numTotalTRTHits != 0) ? float(numTotalTRTHighThresholdHits)/float(numTotalTRTHits) : 0;
150  trt_total->Fill(numTotalTRTHits, weight);
151  trt_ht_total->Fill(numTotalTRTHighThresholdHits, weight);
152  trtratio->Fill(electron.trackParticle()->eta(),totalTRTratio, weight);
155 
156  d0->Fill(electron.trackParticle()->d0(), weight);
157  z0->Fill(electron.trackParticle()->z0(), weight);
158 
159  double d0sig = xAOD::TrackingHelpers::d0significance( electron.trackParticle() , eventInfo.beamPosSigmaX(), eventInfo.beamPosSigmaY(), eventInfo.beamPosSigmaXY() );
160  d0significance->Fill(d0sig, weight);
161 }

◆ finalize()

void PlotBase::finalize ( )
inherited

Definition at line 41 of file PlotBase.cxx.

41  {
42  for (auto *subNode: m_vSubNodes) {
43  subNode->finalize();
44  }
45  finalizePlots();
46 }

◆ finalizePlots()

virtual void PlotBase::finalizePlots ( )
inlineprivatevirtualinherited

◆ Get_d0_Bins()

const std::vector<double>& Egamma::TrackPlots::Get_d0_Bins ( )
inline

Definition at line 62 of file TrackPlots.h.

62 { return m_d0Range; };

◆ Get_d0_nBins()

unsigned Egamma::TrackPlots::Get_d0_nBins ( )
inline

Definition at line 59 of file TrackPlots.h.

59 { return m_d0_nBins; };

◆ Get_d0sig_Bins()

const std::vector<double>& Egamma::TrackPlots::Get_d0sig_Bins ( )
inline

Definition at line 63 of file TrackPlots.h.

63 { return m_d0sigRange; };

◆ Get_d0sig_nBins()

unsigned Egamma::TrackPlots::Get_d0sig_nBins ( )
inline

Definition at line 60 of file TrackPlots.h.

60 { return m_d0sig_nBins; };

◆ Get_z0_Bins()

const std::vector<double>& Egamma::TrackPlots::Get_z0_Bins ( )
inline

Definition at line 64 of file TrackPlots.h.

64 { return m_z0Range; };

◆ Get_z0_nBins()

unsigned Egamma::TrackPlots::Get_z0_nBins ( )
inline

Definition at line 61 of file TrackPlots.h.

61 { return m_z0_nBins; };

◆ getDirectory()

std::string PlotBase::getDirectory ( )
inlineinherited

Definition at line 87 of file PlotBase.h.

87 {return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 33 of file PlotBase.cxx.

33  {
34  for (auto *subNode: m_vSubNodes) {
35  subNode->initialize();
36  }
38 }

◆ initializePlots()

void Egamma::TrackPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 38 of file TrackPlots.cxx.

38  {
39  deta = Book1D("deta", "#Delta#eta_{1} of "+m_sParticleType+";#Delta#eta_{1};Electrons", 100,-0.01, 0.01);
40  dphi = Book1D("dphi", "#Delta#varphi_{2} of "+m_sParticleType+";#Delta#varphi_{2};Electrons", 100,-0.01, 0.01);
41  dphirescaled = Book1D("dphirescaled", "#Delta#varphiRescaled_{2} of "+m_sParticleType+";#Delta#varphiRescaled_{2};Electrons",100,-0.01,0.01);
42  d0 = Book1D("d0", "d0 of "+m_sParticleType+"; d0;Electrons", m_d0_nBins, m_d0Range[0], m_d0Range[1]);
43  z0 = Book1D("z0", "z0 of "+m_sParticleType+"; z0;Electrons", m_z0_nBins, m_z0Range[0], m_z0Range[1]);
44  d0significance = Book1D("d0significance", "d0significance of "+m_sParticleType+"; d0significance;Electrons", m_d0sig_nBins, m_d0sigRange[0], m_d0sigRange[1]);
45  blayer = Book1D("blayer", "#blayer hits of "+m_sParticleType+";# blayer hits;Electrons", 5,0, 5);
46  pixel = Book1D("pixel", "#pixel hits of "+m_sParticleType+";# pixel hits;Electrons", 10, 0, 10);
47  sct = Book1D("sct", "#sct hits of "+m_sParticleType+";# sct hits;Electrons", 25, 0, 25);
48  si = Book1D("si", "#pixel+sct hits of "+m_sParticleType+";# pixel+sct hits;Electrons", 25, 0, 25);
49  trt = Book1D("trt", "#trt hits of "+m_sParticleType+";# trt hits;Electrons", 50, 0, 50);
50  trt_xe = Book1D("trt_xe", "#trt xe hits of "+m_sParticleType+";# trt xe hits;Electrons", 50, 0, 50);
51  trt_total = Book1D("trt_total", "#total trt hits of "+m_sParticleType+";# total trt hits;Electrons", 50, 0, 50);
52  trt_ht = Book1D("trt_ht", "#HT trt hits of "+m_sParticleType+";# HT trt hits;Electrons", 50, 0, 50);
53  trt_ht_total = Book1D("trt_ht_total", "#HT total trt hits of "+m_sParticleType+";# total HT trt hits;Electrons", 50, 0, 50);
54  eProbHT = Book1D("eProbabilityHT", "#eProbablity HT of "+m_sParticleType+";#eProbablity HT;Electrons", 204, -0.01, 1.01);
55  deltaPoverP = Book1D("deltaPoverP", "#DeltaP/P of "+m_sParticleType+";#DeltaP/P;Electrons", 100,-1.1, 1.1);
56  EoverP = Book1D("EoverP", "E/P of "+m_sParticleType+";E/P;Electrons", 100, 0, 10);
57  trtratio = Book2D("trtratio", "TRT ratio vs eta of"+m_sParticleType+";#eta; TRT ratio", 50, -2.5, 2.5,100,0.,1.);
58  trtvseta = Book2D("trtvseta", "#trt hits vs eta of"+m_sParticleType+";#eta; #trt hits", 50, -2.5, 2.5,50,0.,50.);
59  trthtvseta = Book2D("trthtvseta", "#HT trt hits vs eta of"+m_sParticleType+";#eta; #HT trt hits", 50, -2.5, 2.5,50,0.,50.);
60 }

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase pPlotBase)
inlineinherited

Definition at line 40 of file PlotBase.h.

40 {m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 77 of file PlotBase.cxx.

77  {
78  std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
79  for (const auto &subNode: m_vSubNodes) {
80  std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
81  vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
82  }
83  return vBookedEfficiencies;
84 }

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 57 of file PlotBase.cxx.

57  {
58  std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
59  for (const auto &subNode: m_vSubNodes) {
60  std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
61  vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
62  }
63  return vBookedHistograms;
64 }

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 67 of file PlotBase.cxx.

67  {
68  std::vector<TreeData> vBookedTrees = m_vBookedTrees;
69  for (auto *subNode: m_vSubNodes) {
70  std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
71  vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
72  }
73  return vBookedTrees;
74 }

◆ Set_d0_Bins()

void Egamma::TrackPlots::Set_d0_Bins ( const std::vector< double > &  d0Range)

Definition at line 76 of file TrackPlots.cxx.

77  {
78  m_d0Range = d0Range;
79  }

◆ Set_d0_nBins()

void Egamma::TrackPlots::Set_d0_nBins ( unsigned  d0_nBins)

Definition at line 62 of file TrackPlots.cxx.

63  {
64  m_d0_nBins = d0_nBins;
65  }

◆ Set_d0sig_Bins()

void Egamma::TrackPlots::Set_d0sig_Bins ( const std::vector< double > &  d0sigRange)

Definition at line 80 of file TrackPlots.cxx.

81  {
82  m_d0sigRange = d0sigRange;
83  }

◆ Set_d0sig_nBins()

void Egamma::TrackPlots::Set_d0sig_nBins ( unsigned  d0sig_nBins)

Definition at line 66 of file TrackPlots.cxx.

67  {
68  m_d0sig_nBins = d0sig_nBins;
69  }

◆ Set_z0_Bins()

void Egamma::TrackPlots::Set_z0_Bins ( const std::vector< double > &  z0Range)

Definition at line 85 of file TrackPlots.cxx.

86  {
87  m_z0Range = z0Range;
88  }

◆ Set_z0_nBins()

void Egamma::TrackPlots::Set_z0_nBins ( unsigned  z0_nBins)

Definition at line 71 of file TrackPlots.cxx.

72  {
73  m_z0_nBins = z0_nBins;
74  }

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int  iDetailLevel)
inherited

Definition at line 49 of file PlotBase.cxx.

49  {
50  for (auto *subNode: m_vSubNodes) {
51  subNode->setDetailLevel(iDetailLevel);
52  }
53  m_iDetailLevel = iDetailLevel;
54 }

Member Data Documentation

◆ blayer

TH1* Egamma::TrackPlots::blayer

Definition at line 28 of file TrackPlots.h.

◆ d0

TH1* Egamma::TrackPlots::d0

Definition at line 25 of file TrackPlots.h.

◆ d0significance

TH1* Egamma::TrackPlots::d0significance

Definition at line 27 of file TrackPlots.h.

◆ deltaPoverP

TH1* Egamma::TrackPlots::deltaPoverP

Definition at line 39 of file TrackPlots.h.

◆ deta

TH1* Egamma::TrackPlots::deta

Definition at line 23 of file TrackPlots.h.

◆ dphi

TH1* Egamma::TrackPlots::dphi

Definition at line 24 of file TrackPlots.h.

◆ dphirescaled

TH1* Egamma::TrackPlots::dphirescaled

Definition at line 37 of file TrackPlots.h.

◆ EoverP

TH1* Egamma::TrackPlots::EoverP

Definition at line 40 of file TrackPlots.h.

◆ eProbHT

TH1* Egamma::TrackPlots::eProbHT

Definition at line 38 of file TrackPlots.h.

◆ m_d0_nBins

unsigned Egamma::TrackPlots::m_d0_nBins = 200

Definition at line 45 of file TrackPlots.h.

◆ m_d0Range

std::vector<double> Egamma::TrackPlots::m_d0Range = {-100.0,100.0}

Definition at line 48 of file TrackPlots.h.

◆ m_d0sig_nBins

unsigned Egamma::TrackPlots::m_d0sig_nBins = 50

Definition at line 46 of file TrackPlots.h.

◆ m_d0sigRange

std::vector<double> Egamma::TrackPlots::m_d0sigRange = {-25.0,25.0}

Definition at line 49 of file TrackPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 100 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 99 of file PlotBase.h.

◆ m_sParticleType

std::string Egamma::TrackPlots::m_sParticleType

Definition at line 21 of file TrackPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 96 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 97 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 95 of file PlotBase.h.

◆ m_z0_nBins

unsigned Egamma::TrackPlots::m_z0_nBins = 200

Definition at line 47 of file TrackPlots.h.

◆ m_z0Range

std::vector<double> Egamma::TrackPlots::m_z0Range = {-100.0,100.0}

Definition at line 50 of file TrackPlots.h.

◆ pixel

TH1* Egamma::TrackPlots::pixel

Definition at line 29 of file TrackPlots.h.

◆ sct

TH1* Egamma::TrackPlots::sct

Definition at line 30 of file TrackPlots.h.

◆ si

TH1* Egamma::TrackPlots::si

Definition at line 31 of file TrackPlots.h.

◆ trt

TH1* Egamma::TrackPlots::trt

Definition at line 32 of file TrackPlots.h.

◆ trt_ht

TH1* Egamma::TrackPlots::trt_ht

Definition at line 35 of file TrackPlots.h.

◆ trt_ht_total

TH1* Egamma::TrackPlots::trt_ht_total

Definition at line 36 of file TrackPlots.h.

◆ trt_total

TH1* Egamma::TrackPlots::trt_total

Definition at line 34 of file TrackPlots.h.

◆ trt_xe

TH1* Egamma::TrackPlots::trt_xe

Definition at line 33 of file TrackPlots.h.

◆ trthtvseta

TH2* Egamma::TrackPlots::trthtvseta

Definition at line 43 of file TrackPlots.h.

◆ trtratio

TH2* Egamma::TrackPlots::trtratio

Definition at line 41 of file TrackPlots.h.

◆ trtvseta

TH2* Egamma::TrackPlots::trtvseta

Definition at line 42 of file TrackPlots.h.

◆ z0

TH1* Egamma::TrackPlots::z0

Definition at line 26 of file TrackPlots.h.


The documentation for this class was generated from the following files:
PlotBase::constructPrefix
static std::string constructPrefix(std::string dir, bool prependDir)
Definition: PlotBase.cxx:287
Egamma::TrackPlots::si
TH1 * si
Definition: TrackPlots.h:31
TH2::Fill
int Fill(double, double)
Definition: rootspy.cxx:382
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:100
Egamma::RetrieveHitInfo
uint8_t RetrieveHitInfo(const xAOD::Electron &el, xAOD::SummaryType info, uint8_t defaultval)
Definition: EgammaPhysValHistUtilities.cxx:9
PlotBase::m_vBookedHistograms
std::vector< HistData > m_vBookedHistograms
Definition: PlotBase.h:96
PlotBase::Book1D
TH1F * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition: PlotBase.cxx:88
Egamma::TrackPlots::z0
TH1 * z0
Definition: TrackPlots.h:26
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
Egamma::TrackPlots::trt_xe
TH1 * trt_xe
Definition: TrackPlots.h:33
Egamma::TrackPlots::d0significance
TH1 * d0significance
Definition: TrackPlots.h:27
TH2F
Definition: rootspy.cxx:420
index
Definition: index.py:1
python.copyTCTOutput.sDir
sDir
Definition: copyTCTOutput.py:60
Egamma::TrackPlots::m_sParticleType
std::string m_sParticleType
Definition: TrackPlots.h:21
Egamma::TrackPlots::trtratio
TH2 * trtratio
Definition: TrackPlots.h:41
plotmaker.hist
hist
Definition: plotmaker.py:148
xAOD::numberOfTRTXenonHits
@ numberOfTRTXenonHits
number of TRT hits on track in straws with xenon [unit8_t].
Definition: TrackingPrimitives.h:284
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
PlotBase::initializePlots
virtual void initializePlots()
Definition: PlotBase.h:90
PlotBase::m_sDirectory
std::string m_sDirectory
Definition: PlotBase.h:99
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
PlotBase::m_vBookedEfficiencies
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition: PlotBase.h:98
tree
TChain * tree
Definition: tile_monitor.h:30
xAOD::TrackingHelpers::d0significance
double d0significance(const xAOD::TrackParticle *tp, double d0_uncert_beam_spot_2)
Definition: TrackParticlexAODHelpers.cxx:42
Egamma::TrackPlots::dphirescaled
TH1 * dphirescaled
Definition: TrackPlots.h:37
Egamma::TrackPlots::sct
TH1 * sct
Definition: TrackPlots.h:30
TProfile2D
Definition: rootspy.cxx:531
Egamma::TrackPlots::trthtvseta
TH2 * trthtvseta
Definition: TrackPlots.h:43
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 TH2D histogram.
Definition: PlotBase.cxx:117
xAOD::EventInfo_v1::beamPosSigmaX
float beamPosSigmaX() const
The width of the beam spot in the X direction.
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
xAOD::numberOfTRTHits
@ numberOfTRTHits
number of TRT hits [unit8_t].
Definition: TrackingPrimitives.h:275
xAOD::LastMeasurement
@ LastMeasurement
Parameter defined at the position of the last measurement.
Definition: TrackingPrimitives.h:215
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
Egamma::TrackPlots::d0
TH1 * d0
Definition: TrackPlots.h:25
PlotBase::PlotBase
PlotBase(PlotBase *parent, const std::string &sDir)
Definition: PlotBase.cxx:23
Egamma::TrackPlots::m_d0Range
std::vector< double > m_d0Range
Definition: TrackPlots.h:48
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
xAOD::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:278
Egamma::TrackPlots::m_z0Range
std::vector< double > m_z0Range
Definition: TrackPlots.h:50
Egamma::TrackPlots::trt_ht
TH1 * trt_ht
Definition: TrackPlots.h:35
Egamma::TrackPlots::dphi
TH1 * dphi
Definition: TrackPlots.h:24
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
Egamma::TrackPlots::trt_total
TH1 * trt_total
Definition: TrackPlots.h:34
xAOD::numberOfTRTHighThresholdOutliers
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
Definition: TrackingPrimitives.h:281
beamspotnt.labels
list labels
Definition: bin/beamspotnt.py:1447
PlotBase::m_vSubNodes
std::vector< PlotBase * > m_vSubNodes
Definition: PlotBase.h:95
Egamma::TrackPlots::blayer
TH1 * blayer
Definition: TrackPlots.h:28
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
WritePulseShapeToCool.xhi
xhi
Definition: WritePulseShapeToCool.py:152
Egamma::TrackPlots::eProbHT
TH1 * eProbHT
Definition: TrackPlots.h:38
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
Egamma::TrackPlots::EoverP
TH1 * EoverP
Definition: TrackPlots.h:40
ChangeHistoRange.binsY
list binsY
Definition: ChangeHistoRange.py:59
Egamma::TrackPlots::trtvseta
TH2 * trtvseta
Definition: TrackPlots.h:42
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
xAOD::EgammaParameters::deltaPhiRescaled2
@ deltaPhiRescaled2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: EgammaEnums.h:225
Egamma::TrackPlots::deta
TH1 * deta
Definition: TrackPlots.h:23
WritePulseShapeToCool.xlo
xlo
Definition: WritePulseShapeToCool.py:133
TH1::Fill
int Fill(double)
Definition: rootspy.cxx:285
WritePulseShapeToCool.ylo
ylo
Definition: WritePulseShapeToCool.py:134
Egamma::TrackPlots::m_d0_nBins
unsigned m_d0_nBins
Definition: TrackPlots.h:45
beamspotman.dir
string dir
Definition: beamspotman.py:623
xAOD::EventInfo_v1::beamPosSigmaY
float beamPosSigmaY() const
The width of the beam spot in the Y direction.
Egamma::TrackPlots::m_d0sigRange
std::vector< double > m_d0sigRange
Definition: TrackPlots.h:49
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
Egamma::TrackPlots::trt_ht_total
TH1 * trt_ht_total
Definition: TrackPlots.h:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
pmontree.opt
opt
Definition: pmontree.py:16
TH3F
Definition: rootspy.cxx:495
xAOD::EgammaParameters::deltaPhi2
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
Definition: EgammaEnums.h:204
TProfile
Definition: rootspy.cxx:515
Egamma::TrackPlots::pixel
TH1 * pixel
Definition: TrackPlots.h:29
xAOD::numberOfTRTOutliers
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
Definition: TrackingPrimitives.h:276
Egamma::TrackPlots::deltaPoverP
TH1 * deltaPoverP
Definition: TrackPlots.h:39
DeMoScan.index
string index
Definition: DeMoScan.py:362
xAOD::EventInfo_v1::beamPosSigmaXY
float beamPosSigmaXY() const
The beam spot shape's X-Y correlation.
TH1F
Definition: rootspy.cxx:320
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
xAOD::eProbabilityHT
@ eProbabilityHT
Electron probability from High Threshold (HT) information [float].
Definition: TrackingPrimitives.h:301
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
Egamma::TrackPlots::trt
TH1 * trt
Definition: TrackPlots.h:32
Egamma::TrackPlots::m_d0sig_nBins
unsigned m_d0sig_nBins
Definition: TrackPlots.h:46
ChangeHistoRange.binsX
list binsX
Definition: ChangeHistoRange.py:56
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
xAOD::EgammaParameters::deltaEta1
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
Definition: EgammaEnums.h:184
PlotBase::finalizePlots
virtual void finalizePlots()
Definition: PlotBase.h:91
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:97
readCCLHist.float
float
Definition: readCCLHist.py:83
Egamma::TrackPlots::m_z0_nBins
unsigned m_z0_nBins
Definition: TrackPlots.h:47
xAOD::numberOfInnermostPixelLayerHits
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
Definition: TrackingPrimitives.h:237