ATLAS Offline Software
Loading...
Searching...
No Matches
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.
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.

Public Attributes

std::string m_sParticleType
TH1 * deta
TH1 * dphi
TH1 * d0
TH1 * z0
TH1 * d0significance
TH1 * blayer
TH1 * pixel
TH1 * sct
TH1 * si
TH1 * trt
TH1 * trt_xe
TH1 * trt_total
TH1 * trt_ht
TH1 * trt_ht_total
TH1 * dphirescaled
TH1 * eProbHT
TH1 * deltaPoverP
TH1 * EoverP
TH2 * trtratio
TH2 * trtvseta
TH2 * trthtvseta
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{}
std::string m_sParticleType
Definition TrackPlots.h:21
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29

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}

◆ 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
136 pixel->Fill(RetrieveHitInfo(electron, xAOD::numberOfPixelHits), weight);
137 sct->Fill(RetrieveHitInfo(electron, xAOD::numberOfSCTHits), weight);
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;
147 trt->Fill(RetrieveHitInfo(electron, xAOD::numberOfTRTHits), weight);
148 trt_xe->Fill(RetrieveHitInfo(electron, xAOD::numberOfTRTXenonHits), weight);
150 trt_total->Fill(numTotalTRTHits, weight);
151 trt_ht_total->Fill(numTotalTRTHighThresholdHits, weight);
152 trtratio->Fill(electron.trackParticle()->eta(),totalTRTratio, weight);
153 trtvseta->Fill(electron.trackParticle()->eta(),RetrieveHitInfo(electron, xAOD::numberOfTRTHits), weight);
154 trthtvseta->Fill(electron.trackParticle()->eta(),RetrieveHitInfo(electron, xAOD::numberOfTRTHighThresholdHits), 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}
float beamPosSigmaY() const
The width of the beam spot in the Y direction.
float beamPosSigmaXY() const
The beam spot shape's X-Y correlation.
float beamSpotWeight() const
Weight for beam spot size reweighting.
float beamPosSigmaX() const
The width of the beam spot in the X direction.
str index
Definition DeMoScan.py:362
uint8_t RetrieveHitInfo(const xAOD::Electron &el, xAOD::SummaryType info, uint8_t defaultval)
@ deltaPhiRescaled2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
double d0significance(const xAOD::TrackParticle *tp, double d0_uncert_beam_spot_2)
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
@ numberOfTRTXenonHits
number of TRT hits on track in straws with xenon [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ eProbabilityHT
Electron probability from High Threshold (HT) information [float].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
@ LastMeasurement
Parameter defined at the position of the last measurement.

◆ 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()

◆ 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; };
std::vector< double > m_d0Range
Definition TrackPlots.h:48

◆ Get_d0_nBins()

unsigned Egamma::TrackPlots::Get_d0_nBins ( )
inline

Definition at line 59 of file TrackPlots.h.

59{ return m_d0_nBins; };
unsigned m_d0_nBins
Definition TrackPlots.h:45

◆ 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; };
std::vector< double > m_d0sigRange
Definition TrackPlots.h:49

◆ Get_d0sig_nBins()

unsigned Egamma::TrackPlots::Get_d0sig_nBins ( )
inline

Definition at line 60 of file TrackPlots.h.

60{ return m_d0sig_nBins; };
unsigned m_d0sig_nBins
Definition TrackPlots.h:46

◆ 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; };
std::vector< double > m_z0Range
Definition TrackPlots.h:50

◆ Get_z0_nBins()

unsigned Egamma::TrackPlots::Get_z0_nBins ( )
inline

Definition at line 61 of file TrackPlots.h.

61{ return m_z0_nBins; };
unsigned m_z0_nBins
Definition TrackPlots.h:47

◆ getDirectory()

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

Definition at line 88 of file PlotBase.h.

88{return m_sDirectory;}

◆ initialize()

void PlotBase::initialize ( )
inherited

Definition at line 39 of file PlotBase.cxx.

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

◆ 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}
TH1D * 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:94

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

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

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

48{-100.0,100.0};

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

49{-25.0,25.0};

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 100 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 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.

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

50{-100.0,100.0};

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