ATLAS Offline Software
Loading...
Searching...
No Matches
ZeeValidation::ReconElectronsPlots Class Reference

#include <ReconElectronsPlots.h>

Inheritance diagram for ZeeValidation::ReconElectronsPlots:
Collaboration diagram for ZeeValidation::ReconElectronsPlots:

Public Member Functions

 ReconElectronsPlots (PlotBase *pParent, const std::string &sDir, const std::string &sParticleType)
void fill (const xAOD::Electron *electron, int level)
void fillinAcc (const xAOD::Electron *electron, int level)
void fill (const xAOD::EventInfo *eventInfo, const xAOD::VertexContainer *vertices)
void fillShowerShape (const xAOD::Electron *electron)
void fillTrackCaloMatch (const xAOD::Electron *electron, const xAOD::TrackParticle *track)
void fillIsolation (const xAOD::Electron *electron)
void fillHitInfo (const xAOD::Electron *electron)
void makeEfficiencyPlot (TH1 *hDenom, TH1 *hNom, TProfile *hEff)
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 * h_electron_n
TH1 * h_photon_n
TH1 * h_electron_author
TH1 * h_nvtx
TH1 * h_mu
TH1 * h_bcid
TH1 * h_track_n
TH1 * h_pv_x
TH1 * h_pv_y
TH1 * h_pv_z
TH1 * h_electron_pt [nLevels]
TH1 * h_electron_eta [nLevels]
TH1 * h_electron_phi [nLevels]
TProfile * h_electron_eff_pt [nLevels-1]
TProfile * h_electron_eff_eta [nLevels-1]
TProfile * h_electron_eff_phi [nLevels-1]
TH1 * h_f1
TH1 * h_f3
TH1 * h_f1core
TH1 * h_f3core
TH1 * h_e233
TH1 * h_e237
TH1 * h_e277
TH1 * h_reta
TH1 * h_rphi
TH1 * h_weta1
TH1 * h_weta2
TH1 * h_wtots1
TH1 * h_ethad
TH1 * h_ethad1
TH1 * h_fethad
TH1 * h_fethad1
TH1 * h_e2tsts1
TH1 * h_fracs1
TH1 * h_emins1
TH1 * h_emaxs1
TH1 * h_demm1
TH1 * h_iso
TH1 * h_eratio
TH1 * h_deta1
TH1 * h_deta2
TH1 * h_dphi1
TH1 * h_dphi2
TH1 * h_dphires2
TH1 * h_etcone20
TH1 * h_etcone30
TH1 * h_etcone40
TH1 * h_fetcone20
TH1 * h_fetcone30
TH1 * h_fetcone40
TH1 * h_ptcone20
TH1 * h_ptcone30
TH1 * h_ptcone40
TH1 * h_n_blayer_hits
TH1 * h_n_pixel_hits
TH1 * h_n_si_hits
TH1 * h_n_trt_hits
TH1 * h_n_trt_hits_high
TH1 * h_r_trt_hits
TH1 * h_n_blayer_hits_outliers
TH1 * h_n_pixel_hits_outliers
TH1 * h_n_si_hits_outliers
TH1 * h_n_trt_hits_outliers
TH1 * h_n_trt_hits_high_outliers
TH1 * h_r_trt_hits_outliers
TH1 * h_d0
TH1 * h_sigmad0
TH1 * h_eoverp
TH1 * h_eoverpq

Static Public Attributes

static const int nLevels = 8
static const std::string cLevelLabel [nLevels]

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 17 of file ReconElectronsPlots.h.

Constructor & Destructor Documentation

◆ ReconElectronsPlots()

ZeeValidation::ReconElectronsPlots::ReconElectronsPlots ( PlotBase * pParent,
const std::string & sDir,
const std::string & sParticleType )

Definition at line 12 of file ReconElectronsPlots.cxx.

12 :
13 PlotBase(pParent, sDir),
14 m_sParticleType(sParticleType),
15 h_electron_n(NULL), h_photon_n(NULL),
16 h_electron_author(NULL), h_nvtx(NULL),
17 h_mu(NULL), h_bcid(NULL),
18 h_track_n(NULL),
19 h_pv_x(NULL), h_pv_y(NULL), h_pv_z(NULL),
20 h_f1(NULL), h_f3(NULL), h_f1core(NULL), h_f3core(NULL),
21 h_e233(NULL), h_e237(NULL), h_e277(NULL), h_reta(NULL), h_rphi(NULL),
22 h_weta1(NULL), h_weta2(NULL), h_wtots1(NULL),
23 h_ethad(NULL), h_ethad1(NULL),
24 h_fethad(NULL), h_fethad1(NULL),
25 h_e2tsts1(NULL), h_fracs1(NULL),
26 h_emins1(NULL), h_emaxs1(NULL),
27 h_demm1(NULL), h_iso(NULL),
28 h_eratio(NULL),
29 h_deta1(NULL), h_deta2(NULL),
30 h_dphi1(NULL), h_dphi2(NULL),
31 h_dphires2(NULL),
32 h_etcone20(NULL), h_etcone30(NULL), h_etcone40(NULL),
33 h_fetcone20(NULL), h_fetcone30(NULL), h_fetcone40(NULL),
34 h_ptcone20(NULL), h_ptcone30(NULL), h_ptcone40(NULL),
36 h_n_si_hits(NULL), h_n_trt_hits(NULL),
41 h_d0(NULL), h_sigmad0(NULL), h_eoverp(NULL), h_eoverpq(NULL)
42 {
43 for (int i = 0; i < nLevels; i++) {
44 h_electron_pt[i] = NULL;
45 h_electron_eta[i] = NULL;
46 h_electron_phi[i] = NULL;
47 }
48 for (int i = 0; i < nLevels-1; i++) {
49 h_electron_eff_pt[i] = NULL;
50 h_electron_eff_eta[i] = NULL;
51 h_electron_eff_phi[i] = NULL;
52 }
53 }
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() [1/2]

void ZeeValidation::ReconElectronsPlots::fill ( const xAOD::Electron * electron,
int level )

Definition at line 180 of file ReconElectronsPlots.cxx.

180 {
181 h_electron_eta[level] -> Fill(electron -> eta());
182 }
Scalar eta() const
pseudorapidity method

◆ fill() [2/2]

void ZeeValidation::ReconElectronsPlots::fill ( const xAOD::EventInfo * eventInfo,
const xAOD::VertexContainer * vertices )

Definition at line 162 of file ReconElectronsPlots.cxx.

162 {
163
164 int nGoodVertices = 0;
165 for (const auto* vtx : vertices -> stdcont()){
166 if (vtx -> vertexType() == xAOD::VxType::PriVtx){
167 h_pv_x -> Fill(vtx -> x());
168 h_pv_y -> Fill(vtx -> y());
169 h_pv_z -> Fill(vtx -> z());
170 h_track_n ->Fill(vtx -> nTrackParticles());
171 }
172 if (vtx -> vertexType() == xAOD::VxType::NoVtx) continue;
173 nGoodVertices++;
174 }
175 h_nvtx -> Fill(nGoodVertices);
176 h_mu -> Fill(eventInfo -> averageInteractionsPerCrossing());
177 h_bcid -> Fill(eventInfo -> bcid());
178 }
#define y
#define x
#define z
@ PriVtx
Primary vertex.
@ NoVtx
Dummy vertex. TrackParticle was not used in vertex fit.
setEventNumber setTimeStamp bcid

◆ fillHitInfo()

void ZeeValidation::ReconElectronsPlots::fillHitInfo ( const xAOD::Electron * electron)

Definition at line 277 of file ReconElectronsPlots.cxx.

277 {
278
279 uint8_t blayerh(0), pixelh(0), scth(0), trth(0), trthighh(0), blayero(0), pixelo(0), scto(0), trto(0), trthigho(0);
280 if( electron -> trackParticleSummaryValue(blayerh, xAOD::numberOfInnermostPixelLayerHits ) &&
281 electron -> trackParticleSummaryValue(blayero, xAOD::numberOfInnermostPixelLayerOutliers) ){
282 h_n_blayer_hits -> Fill(blayerh);
283 h_n_blayer_hits_outliers -> Fill(blayerh + blayero);
284 }
285 if( electron -> trackParticleSummaryValue(pixelh, xAOD::numberOfPixelHits) &&
286 electron -> trackParticleSummaryValue(scth, xAOD::numberOfSCTHits ) &&
287 electron -> trackParticleSummaryValue(pixelo, xAOD::numberOfPixelOutliers) &&
288 electron -> trackParticleSummaryValue(scto, xAOD::numberOfSCTOutliers) ){
289 h_n_pixel_hits -> Fill(pixelh);
290 h_n_si_hits -> Fill(pixelh + scth);
291 h_n_pixel_hits_outliers -> Fill(pixelh + pixelo);
292 h_n_si_hits_outliers -> Fill(pixelh + scth + pixelo + scto);
293
294 }
295 if( electron -> trackParticleSummaryValue(trth, xAOD::numberOfTRTHits ) &&
296 electron -> trackParticleSummaryValue(trthighh, xAOD::numberOfTRTHighThresholdHits ) &&
297 electron -> trackParticleSummaryValue(trto, xAOD::numberOfTRTOutliers) &&
298 electron -> trackParticleSummaryValue(trthigho, xAOD::numberOfTRTHighThresholdOutliers)){
299 h_n_trt_hits -> Fill(trth);
300 h_n_trt_hits_high -> Fill(trthighh);
301 double rtrt = (trth) > 0 ? ((double) (trthighh)/(trth) ) : 0.;
302 h_r_trt_hits -> Fill(rtrt);
303
304 h_n_trt_hits_outliers -> Fill(trth + trto);
305 h_n_trt_hits_high_outliers -> Fill(trthighh + trthigho);
306 double rtrto = (trth + trto) > 0 ? ((double) (trthigho + trthighh)/(trth + trto) ) : 0.;
307 h_r_trt_hits_outliers -> Fill(rtrto);
308 }
309
310 }
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
@ numberOfPixelOutliers
these are the pixel outliers, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ numberOfInnermostPixelLayerOutliers
number of 0th layer barrel outliers
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfSCTOutliers
number of SCT outliers [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].

◆ fillinAcc()

void ZeeValidation::ReconElectronsPlots::fillinAcc ( const xAOD::Electron * electron,
int level )

Definition at line 184 of file ReconElectronsPlots.cxx.

184 {
185 h_electron_pt[level] -> Fill(electron -> pt()*(1./GeV));
186 h_electron_phi[level] -> Fill(electron -> phi());
187 }
Scalar phi() const
phi method

◆ fillIsolation()

void ZeeValidation::ReconElectronsPlots::fillIsolation ( const xAOD::Electron * electron)

Definition at line 255 of file ReconElectronsPlots.cxx.

255 {
256
257 float etcone20(0), etcone30(0), etcone40(0), ptcone20(0), ptcone30(0), ptcone40(0);
258
259 if ( electron->isolationValue(etcone20, xAOD::Iso::etcone20) ){
260 h_etcone20 -> Fill(etcone20*(1./GeV));
261 h_fetcone20 -> Fill(etcone20/electron -> pt());
262 }
263 if ( electron->isolationValue(etcone30, xAOD::Iso::etcone30) ){
264 h_etcone30 -> Fill(etcone30*(1./GeV));
265 h_fetcone30 -> Fill(etcone30/electron -> pt());
266 }
267 if ( electron->isolationValue(etcone40, xAOD::Iso::etcone40) ){
268 h_etcone40 -> Fill(etcone40*(1./GeV));
269 h_fetcone40 -> Fill(etcone40/electron -> pt());
270 }
271 if ( electron->isolationValue(ptcone20, xAOD::Iso::ptcone20) ) h_ptcone20 -> Fill(ptcone20*(1./GeV));
272 if ( electron->isolationValue(ptcone30, xAOD::Iso::ptcone30) ) h_ptcone30 -> Fill(ptcone30*(1./GeV));
273 if ( electron->isolationValue(ptcone40, xAOD::Iso::ptcone40) ) h_ptcone40 -> Fill(ptcone40*(1./GeV));
274
275}
@ etcone20
Calorimeter isolation.
@ ptcone20
Track isolation.

◆ fillShowerShape()

void ZeeValidation::ReconElectronsPlots::fillShowerShape ( const xAOD::Electron * electron)

Definition at line 189 of file ReconElectronsPlots.cxx.

189 {
190
191 float f1(0), f3(0), f1core(0), f3core(0), fracs1(0), emaxs1(0), weta1(0), weta2(0), wtots1(0), r33over37allcalo(0), eratio(0);
192
193 if (electron -> showerShapeValue(f1, xAOD::EgammaParameters::f1)) h_f1 -> Fill(f1);
194 if (electron -> showerShapeValue(f1core, xAOD::EgammaParameters::f1core)) h_f1core -> Fill(f1core);
195 if (electron -> showerShapeValue(f3, xAOD::EgammaParameters::f3)) h_f3 -> Fill(f3);
196 if (electron -> showerShapeValue(f3core, xAOD::EgammaParameters::f3core)) h_f3core -> Fill(f3core);
197 if (electron -> showerShapeValue(emaxs1, xAOD::EgammaParameters::emaxs1)) h_emaxs1 -> Fill(emaxs1*(1./GeV));
198 if (electron -> showerShapeValue(fracs1, xAOD::EgammaParameters::fracs1)) h_fracs1 -> Fill(fracs1);
199 if (electron -> showerShapeValue(weta1, xAOD::EgammaParameters::weta1)) h_weta1 -> Fill(weta1);
200 if (electron -> showerShapeValue(weta2, xAOD::EgammaParameters::weta2)) h_weta2 -> Fill(weta2);
201 if (electron -> showerShapeValue(wtots1, xAOD::EgammaParameters::wtots1)) h_wtots1 -> Fill(wtots1);
202 if (electron -> showerShapeValue(r33over37allcalo, xAOD::EgammaParameters::r33over37allcalo)) h_iso -> Fill(r33over37allcalo);
203
204 if (electron -> showerShapeValue(eratio, xAOD::EgammaParameters::Eratio)) h_eratio -> Fill(eratio);
205 float e2tsts1(0), emins1(0);
206 if (electron -> showerShapeValue(e2tsts1, xAOD::EgammaParameters::e2tsts1) &&
207 electron->showerShapeValue(emins1, xAOD::EgammaParameters::emins1)){
208 h_e2tsts1 -> Fill(e2tsts1*(1./GeV));
209 h_emins1 -> Fill(emins1*(1./GeV));
210 h_demm1 -> Fill((e2tsts1 - emins1)*(1./GeV));
211 }
212 float e233(0), e237(0), e277(0), reta(0), rphi(0);
213 if ( electron -> showerShapeValue(e233, xAOD::EgammaParameters::e233) &&
214 electron -> showerShapeValue(e237, xAOD::EgammaParameters::e237) &&
215 electron -> showerShapeValue(e277, xAOD::EgammaParameters::e277) &&
216 electron -> showerShapeValue(reta, xAOD::EgammaParameters::Reta) &&
217 electron -> showerShapeValue(rphi, xAOD::EgammaParameters::Rphi)){
218 h_e233 -> Fill(e233*(1./GeV));
219 h_e237 -> Fill(e237*(1./GeV));
220 h_e277 -> Fill(e277*(1./GeV));
221 h_reta -> Fill(reta);
222 h_rphi -> Fill(rphi);
223 }
224 float ethad(0), ethad1(0);
225 if ( electron -> showerShapeValue(ethad, xAOD::EgammaParameters::ethad) &&
226 electron -> showerShapeValue(ethad1, xAOD::EgammaParameters::ethad1) ){
227 h_ethad -> Fill(ethad*(1./GeV));
228 h_ethad1 -> Fill(ethad1*(1./GeV));
229 h_fethad -> Fill(ethad/electron -> pt());
230 h_fethad1 -> Fill(ethad1/electron -> pt());
231 }
232
233 }
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
Definition EgammaEnums.h:66
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
Definition EgammaEnums.h:43
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition EgammaEnums.h:81
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition EgammaEnums.h:78
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition EgammaEnums.h:46
@ f3
fraction of energy reconstructed in 3rd sampling
Definition EgammaEnums.h:55
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
Definition EgammaEnums.h:53
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
@ emaxs1
energy of strip with maximal energy deposit
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Definition EgammaEnums.h:69
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
Definition EgammaEnums.h:98
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
Definition EgammaEnums.h:61
setCharge setNTRTHiThresholdHits eratio

◆ fillTrackCaloMatch()

void ZeeValidation::ReconElectronsPlots::fillTrackCaloMatch ( const xAOD::Electron * electron,
const xAOD::TrackParticle * track )

Definition at line 235 of file ReconElectronsPlots.cxx.

235 {
236
237 float deta1(0), deta2(0), dphi1(0), dphi2(0), dphires2(0);
238 if ( electron -> trackCaloMatchValue(deta1, xAOD::EgammaParameters::deltaEta1 )) h_deta1 -> Fill(deta1);
239 if ( electron -> trackCaloMatchValue(deta2, xAOD::EgammaParameters::deltaEta2 )) h_deta2 -> Fill(deta2);
240 if ( electron -> trackCaloMatchValue(dphi1, xAOD::EgammaParameters::deltaPhi1 )) h_dphi1 -> Fill(dphi1);
241 if ( electron -> trackCaloMatchValue(dphi2, xAOD::EgammaParameters::deltaPhi2 )) h_dphi2 -> Fill(dphi2);
242 if ( electron -> trackCaloMatchValue(dphires2, xAOD::EgammaParameters::deltaPhiRescaled2 )) h_dphires2 -> Fill(dphires2);
243
244 h_d0 -> Fill(track -> d0());
245 float sigmad0 = -99.;
246 float vard0 = track -> definingParametersCovMatrix()(0, 0);
247 if (vard0 > 0) sigmad0 = sqrtf(vard0);
248 h_sigmad0 -> Fill(sigmad0);
249
250 h_eoverp -> Fill(electron -> e() * TMath::Abs(track -> qOverP()));
251 h_eoverpq -> Fill(electron -> e() * track -> qOverP());
252
253 }
@ qOverP
perigee
@ deltaPhi1
difference between the cluster eta (1st sampling) and the eta of the track extrapolated to the 1st sa...
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
@ 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...
xAOD::ParametersCovMatrix_t definingParametersCovMatrix(std::span< const float > covMatrixDiag, std::span< const float > covMatrixOffDiag, bool &valid)

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

void ZeeValidation::ReconElectronsPlots::finalizePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 312 of file ReconElectronsPlots.cxx.

312 {
313
314 for (int i = 0; i < nLevels-1; i++) {
318 }
319 }
void makeEfficiencyPlot(TH1 *hDenom, TH1 *hNom, TProfile *hEff)

◆ 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 ZeeValidation::ReconElectronsPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 66 of file ReconElectronsPlots.cxx.

66 {
67 TH1::SetDefaultSumw2(kTRUE);
68
69 h_electron_n = Book1D("NElectrons", "Number of Electrons; n ;Events", 20, 0., 20);
70 h_photon_n = Book1D("NPhotons", "Number of Photons; n ;Events", 20, 0., 20);
71 h_electron_author = Book1D("Author", "author of " + m_sParticleType +";author;Events ", 10 , 0.0, 10.0);
72 h_nvtx = Book1D("Nvtx", "Nvtx distribution;n_{vtx};Events ", 30, 0, 30);
73 h_mu = Book1D("Mu", "<#mu> distribution;<mu>;Events", 40, 0, 40);
74 h_bcid = Book1D("BCID", "BCID distribution;BCID;Events", 3500, 0, 3500);
75 h_track_n = Book1D("NTracks", "#Tracks on primary vtx;N_{tracks};Events", 80, 0, 200);
76 h_pv_x = Book1D("Pv_x", "Primary Vertex X Position;x_{vtx};Events", 100, -.5, .5);
77 h_pv_y = Book1D("Pv_y", "Primary Vertex Y Position;y_{vtx};Events", 100, -1.5, 1.5);
78 h_pv_z = Book1D("Pv_z", "Primary Vertex Z Position;z_{vtx};Events", 100, -250, 250);
79
80 for (int i = 0; i < nLevels; i++) {
81 h_electron_pt[i] = Book1D("Pt" + cLevelLabel[i], "P_{T} of "+ m_sParticleType + "; E_{T} (GeV);Events", 60, 20., 140.);
82 h_electron_eta[i] = Book1D("Eta" + cLevelLabel[i], "#eta of " + m_sParticleType + ";#eta;Events", 50, -2.5, 2.5);
83 h_electron_phi[i] = Book1D("Phi" + cLevelLabel[i], "#varphi of " + m_sParticleType + ";#varphi;Events", 60, -TMath::Pi(), TMath::Pi());
84 }
85
86 for (int i = 0; i < nLevels-1; i++) {
87 h_electron_eff_pt[i] = BookTProfile("PtEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs P_{T} of "+ m_sParticleType + "; E_{T} (GeV);" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 60, 20., 140.);
88 h_electron_eff_eta[i] = BookTProfile("EtaEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #eta of " + m_sParticleType + ";#eta;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 50, -2.5, 2.5);
89 h_electron_eff_phi[i] = BookTProfile("PhiEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #varphi of " + m_sParticleType + ";#varphi;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 60, -TMath::Pi(), TMath::Pi());
90 }
91
92 //showerShapeValue
93 h_f1 = Book1D("F1", "E_{1}/E (f1); E_{1}/E (f1); Events", 50, 0., 1.); //+
94 h_f3 = Book1D("F3", "E_{3}/E (f3); E_{3}/E (f3); Events", 50, 0., .1); //+
95 h_f1core = Book1D("F1Core", "E_{1}(3x1)/E (f1core); E_{1}(3x1)/E (f1core); Events", 50, 0., 1.); //+
96 h_f3core = Book1D("F3Core", "E_{3}(3x3)/E (f3core); E_{3}(3x3)/E (f3core); Events", 50, 0., .1); //+
97
98 h_e233 = Book1D("E233", "E_{2}(3x3)/GeV; E_{2}(3x3)/GeV; Events", 100, 0., 500.);
99 h_e237 = Book1D("E237", "E_{2}(3x7)/GeV; E_{2}(3x7)/GeV; Events", 100, 0., 500.);
100 h_e277 = Book1D("E277", "E_{2}(7x7)/GeV; E_{2}(7x7)/GeV; Events", 100, 0., 500.);
101 h_reta = Book1D("REta", "R_{#eta} (E_{2}(3x7)/E_{2}(7x7));R_{#eta}; Events", 50, 0.5, 1.);
102 h_rphi = Book1D("RPhi", "R_{#phi} (E_{2}(3x3)/E_{2}(3x7));R_{#phi}; Events", 50, 0.5, 1.);
103
104 h_weta1 = Book1D("WEta1", "w_{#eta 1} (weta1, shower width); w_{#eta 1}; Events", 70, 0.2, .9);
105 h_weta2 = Book1D("WEta2", "w_{#eta 2} (weta2, lateral width); w_{#eta 2}; Events", 100, 0.005, .02);
106 h_wtots1 = Book1D("WTots1", "w_{tot1} (wtots1, shower width); w_{tot1}; Events", 100, 0., 6.);
107
108 h_ethad = Book1D("EtHad", "E^{had}_{T}/GeV;E^{had}_{T}/GeV; Events", 100, -1., 9.);
109 h_ethad1 = Book1D("EtHad1", "E^{had1}_{T}/GeV;E^{had1}_{T}/GeV; Events", 100, -1., 9.);
110 h_fethad = Book1D("FracEtHad", "E^{had}_{T}/E_{T};E^{had}_{T}/E_{T}; Events", 100, -0.05, .45);
111 h_fethad1 = Book1D("FracEtHad1", "E^{had1}_{T}/E_{T};E^{had1}_{T}/E_{T}; Events", 100, -0.05, .45);
112
113 h_e2tsts1 = Book1D("E2tsts1", "E_{1}^{max2}/GeV (E of 2^{nd} maximum); E_{1}^{max2}/GeV; Events", 100, 0., 3.);
114 h_fracs1 = Book1D("Fracs1", "fracs1 (shower shape core); fracs1; Events", 50, 0., 1.);
115 h_emins1 = Book1D("Emins1", "E_{1}^{min}/GeV (E^{min} betw. maximum); E_{1}^{min}/GeV; Events", 100, 0., 3.);
116 h_emaxs1 = Book1D("Emaxs1", "E_{1}^{max}/GeV; E_{1}^{max}/GeV; Events", 100, 0., 3.);
117 h_demm1 = Book1D("dEmm1", "#Delta E^{sep}_{1}/GeV (2^{nd} max. separation); #Delta E^{sep}_{1}/GeV; Events", 50, 0., 1.);
118 h_iso = Book1D("Iso", "1 - E(3x3)/E(3x7)(iso); 1 - E(3x3)/E(3x7); Events", 100, 0., 1.);
119 h_eratio = Book1D("Eratio", "(E_{1}^{max}/GeV - E_{1}^{max2}/GeV )/(E_{1}^{max}/GeV + E_{1}^{max2}/GeV ); E_{ratio}; Events", 50, 0., 1.);
120
121 //TrackCaloMatchType
122 h_deta1 = Book1D("dEta1", "#Delta #eta_{1} Cluster-Track; #Delta #eta_{1}; Events", 100, -.05, .05);
123 h_deta2 = Book1D("dEta2", "#Delta #eta_{2} Cluster-Track; #Delta #eta_{2}; Events", 100, -.05, .05);
124 h_dphi1 = Book1D("dPhi1", "#Delta #phi_{1} Cluster-Track; #Delta #phi_{1}; Events", 100, -.05, .05);
125 h_dphi2 = Book1D("dPhi2", "#Delta #phi_{2} Cluster-Track; #Delta #phi_{2}; Events", 100, -.05, .05);
126 h_dphires2 = Book1D("dPhiRes2", "#Delta #phi_{2} Cluster-Track (Rescaled); #Delta #phi_{2} (rescaled); Events", 100, -.05, .05);
127
128 //isolationValue
129 h_etcone20 = Book1D("EtCone20", "E_{T}^{cone20}/GeV; E_{T}^{cone20}/GeV; Events", 120, -4., 20.);
130 h_etcone30 = Book1D("EtCone30", "E_{T}^{cone30}/GeV; E_{T}^{cone30}/GeV; Events", 120, -4., 20.);
131 h_etcone40 = Book1D("EtCone40", "E_{T}^{cone40}/GeV; E_{T}^{cone40}/GeV; Events", 120, -4., 20.);
132 h_fetcone20 = Book1D("FracEtCone20", "E_{T}^{cone20}/E_{T}; E_{T}^{cone20}/E_{T}; Events", 120, -.1, .5);
133 h_fetcone30 = Book1D("FracEtCone30", "E_{T}^{cone30}/E_{T}; E_{T}^{cone30}/E_{T}; Events", 120, -.1, .5);
134 h_fetcone40 = Book1D("FracEtCone40", "E_{T}^{cone40}/E_{T}; E_{T}^{cone40}/E_{T}; Events", 120, -.1, .5);
135
136 h_ptcone20 = Book1D("Ptcone20", "p_{T}^{cone20}/GeV; p_{T}^{cone20}/GeV; Events", 80, 0., 20.);
137 h_ptcone30 = Book1D("Ptcone30", "p_{T}^{cone30}/GeV; p_{T}^{cone30}/GeV; Events", 80, 0., 20.);
138 h_ptcone40 = Book1D("Ptcone40", "p_{T}^{cone40}/GeV; p_{T}^{cone40}/GeV; Events", 80, 0., 20.);
139
140 //RetrieveHitInfo
141 h_n_blayer_hits = Book1D("NBlayerHits", "N^{hits}_{BLayer}; N^{hits}; Events", 10, 0., 10.);
142 h_n_pixel_hits = Book1D("NPixelHits", "N^{hits}_{Pixels}; N^{hits}; Events", 10, 0., 10.);
143 h_n_si_hits = Book1D("NSiHits", "N^{hits}_{Si}; N^{hits}; Events", 30, 0., 30.);
144 h_n_trt_hits = Book1D("NTRTHits", "N^{hits}_{TRT}; N^{hits}; Events", 50, 0., 50.);
145 h_n_trt_hits_high = Book1D("NTRTHitsHighThreshold", "N^{hits}_{TRT} High Threshold; N^{hits}; Events", 50, 0., 50.);
146 h_r_trt_hits = Book1D("RTRTHits", "N^{hits}_{TRT,HT} / N^{hits}_{TRT}; N^{hits}; Events", 50, 0., 1.);
147
148 h_n_blayer_hits_outliers = Book1D("NBlayerHitsOutliers", "N^{hits}_{BLayer} incl. Outliers; N^{hits}; Events", 10, 0., 10.);
149 h_n_pixel_hits_outliers = Book1D("NPixelHitsOutliers", "N^{hits}_{Pixels} incl. Outliers; N^{hits}; Events", 10, 0., 10.);
150 h_n_si_hits_outliers = Book1D("NSiHitsOutliers", "N^{hits}_{Si} incl. Outliers; N^{hits}; Events", 30, 0., 30.);
151 h_n_trt_hits_outliers = Book1D("NTRTHitsOutliers", "N^{hits}_{TRT} incl. Outliers; N^{hits}; Events", 50, 0., 50.);
152 h_n_trt_hits_high_outliers = Book1D("NTRTHitsHighThresholdOutliers", "N^{hits}_{TRT} High Threshold incl. Outliers; N^{hits}; Events", 50, 0., 50.);
153 h_r_trt_hits_outliers = Book1D("RTRTHitsOutliers", "N^{hits}_{TRT,HT} / N^{hits}_{TRT} incl. Outliers; N^{hits}; Events", 50, 0., 1.);
154
155 h_d0 = Book1D("TrackD0", "Track d0; d0; Events", 20, -1., 1.);
156 h_sigmad0 = Book1D("TrackSigmaD0", "Track #sigma_{d0}; #sigma_{d0}; Events", 20, 0., 0.1);
157 h_eoverp = Book1D("EoverP", "E/p; E/p; Events", 50, 0., 10.);
158 h_eoverpq = Book1D("EoverPQ", "E/p * q; E/p * q; Events", 50, -5., 5.);
159
160 }
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
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.
Definition PlotBase.cxx:186
static const std::string cLevelLabel[nLevels]

◆ makeEfficiencyPlot()

void ZeeValidation::ReconElectronsPlots::makeEfficiencyPlot ( TH1 * hDenom,
TH1 * hNom,
TProfile * hEff )

Definition at line 321 of file ReconElectronsPlots.cxx.

321 {
322
323 if (hDenom->GetNbinsX() != hNom->GetNbinsX()) return;
324 else{
325 for (int bin_i = 1; bin_i <= hDenom -> GetNbinsX(); ++bin_i){
326 if(hDenom -> GetBinContent(bin_i) == 0) continue;
327 double binContent = hNom -> GetBinContent(bin_i) / hDenom -> GetBinContent(bin_i);
328 double binCenter = hNom -> GetBinCenter(bin_i);
329
330 hEff -> Fill(binCenter, binContent);
331 }
332 }
333
334 }

◆ RegisterSubPlot()

void PlotBase::RegisterSubPlot ( PlotBase * pPlotBase)
inlineinherited

Definition at line 41 of file PlotBase.h.

41{m_vSubNodes.push_back(pPlotBase);}

◆ retrieveBookedEfficiencies()

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

Retrieve all booked efficiency objects.

Definition at line 83 of file PlotBase.cxx.

83 {
84 std::vector<EfficiencyData> vBookedEfficiencies = m_vBookedEfficiencies;
85 for (const auto &subNode: m_vSubNodes) {
86 std::vector<EfficiencyData> subNodeHists = subNode->retrieveBookedEfficiencies();
87 vBookedEfficiencies.insert(vBookedEfficiencies.end(), subNodeHists.begin(), subNodeHists.end());
88 }
89 return vBookedEfficiencies;
90}

◆ retrieveBookedHistograms()

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

Retrieve all booked histograms.

Definition at line 63 of file PlotBase.cxx.

63 {
64 std::vector<HistData> vBookedHistograms = m_vBookedHistograms;
65 for (const auto &subNode: m_vSubNodes) {
66 std::vector<HistData> subNodeHists = subNode->retrieveBookedHistograms();
67 vBookedHistograms.insert(vBookedHistograms.end(), subNodeHists.begin(), subNodeHists.end());
68 }
69 return vBookedHistograms;
70}

◆ retrieveBookedTrees()

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

Retrieve all booked trees.

Definition at line 73 of file PlotBase.cxx.

73 {
74 std::vector<TreeData> vBookedTrees = m_vBookedTrees;
75 for (auto *subNode: m_vSubNodes) {
76 std::vector<TreeData> subNodeTrees = subNode->retrieveBookedTrees();
77 vBookedTrees.insert(vBookedTrees.end(), subNodeTrees.begin(), subNodeTrees.end());
78 }
79 return vBookedTrees;
80}

◆ setDetailLevel()

void PlotBase::setDetailLevel ( int iDetailLevel)
inherited

Definition at line 55 of file PlotBase.cxx.

55 {
56 for (auto *subNode: m_vSubNodes) {
57 subNode->setDetailLevel(iDetailLevel);
58 }
59 m_iDetailLevel = iDetailLevel;
60}
int m_iDetailLevel
Definition PlotBase.h:101

Member Data Documentation

◆ cLevelLabel

const std::string ZeeValidation::ReconElectronsPlots::cLevelLabel
static
Initial value:
= {
"Reco",
"OQ",
"Loose",
"Medium",
"Tight",
"LHLoose",
"LHMedium",
"LHTight"
}

Definition at line 34 of file ReconElectronsPlots.h.

◆ h_bcid

TH1* ZeeValidation::ReconElectronsPlots::h_bcid

Definition at line 44 of file ReconElectronsPlots.h.

◆ h_d0

TH1* ZeeValidation::ReconElectronsPlots::h_d0

Definition at line 112 of file ReconElectronsPlots.h.

◆ h_demm1

TH1* ZeeValidation::ReconElectronsPlots::h_demm1

Definition at line 78 of file ReconElectronsPlots.h.

◆ h_deta1

TH1* ZeeValidation::ReconElectronsPlots::h_deta1

Definition at line 82 of file ReconElectronsPlots.h.

◆ h_deta2

TH1* ZeeValidation::ReconElectronsPlots::h_deta2

Definition at line 83 of file ReconElectronsPlots.h.

◆ h_dphi1

TH1* ZeeValidation::ReconElectronsPlots::h_dphi1

Definition at line 84 of file ReconElectronsPlots.h.

◆ h_dphi2

TH1* ZeeValidation::ReconElectronsPlots::h_dphi2

Definition at line 85 of file ReconElectronsPlots.h.

◆ h_dphires2

TH1* ZeeValidation::ReconElectronsPlots::h_dphires2

Definition at line 86 of file ReconElectronsPlots.h.

◆ h_e233

TH1* ZeeValidation::ReconElectronsPlots::h_e233

Definition at line 62 of file ReconElectronsPlots.h.

◆ h_e237

TH1* ZeeValidation::ReconElectronsPlots::h_e237

Definition at line 63 of file ReconElectronsPlots.h.

◆ h_e277

TH1* ZeeValidation::ReconElectronsPlots::h_e277

Definition at line 64 of file ReconElectronsPlots.h.

◆ h_e2tsts1

TH1* ZeeValidation::ReconElectronsPlots::h_e2tsts1

Definition at line 74 of file ReconElectronsPlots.h.

◆ h_electron_author

TH1* ZeeValidation::ReconElectronsPlots::h_electron_author

Definition at line 41 of file ReconElectronsPlots.h.

◆ h_electron_eff_eta

TProfile* ZeeValidation::ReconElectronsPlots::h_electron_eff_eta[nLevels-1]

Definition at line 55 of file ReconElectronsPlots.h.

◆ h_electron_eff_phi

TProfile* ZeeValidation::ReconElectronsPlots::h_electron_eff_phi[nLevels-1]

Definition at line 56 of file ReconElectronsPlots.h.

◆ h_electron_eff_pt

TProfile* ZeeValidation::ReconElectronsPlots::h_electron_eff_pt[nLevels-1]

Definition at line 54 of file ReconElectronsPlots.h.

◆ h_electron_eta

TH1* ZeeValidation::ReconElectronsPlots::h_electron_eta[nLevels]

Definition at line 51 of file ReconElectronsPlots.h.

◆ h_electron_n

TH1* ZeeValidation::ReconElectronsPlots::h_electron_n

Definition at line 39 of file ReconElectronsPlots.h.

◆ h_electron_phi

TH1* ZeeValidation::ReconElectronsPlots::h_electron_phi[nLevels]

Definition at line 52 of file ReconElectronsPlots.h.

◆ h_electron_pt

TH1* ZeeValidation::ReconElectronsPlots::h_electron_pt[nLevels]

Definition at line 50 of file ReconElectronsPlots.h.

◆ h_emaxs1

TH1* ZeeValidation::ReconElectronsPlots::h_emaxs1

Definition at line 77 of file ReconElectronsPlots.h.

◆ h_emins1

TH1* ZeeValidation::ReconElectronsPlots::h_emins1

Definition at line 76 of file ReconElectronsPlots.h.

◆ h_eoverp

TH1* ZeeValidation::ReconElectronsPlots::h_eoverp

Definition at line 114 of file ReconElectronsPlots.h.

◆ h_eoverpq

TH1* ZeeValidation::ReconElectronsPlots::h_eoverpq

Definition at line 115 of file ReconElectronsPlots.h.

◆ h_eratio

TH1* ZeeValidation::ReconElectronsPlots::h_eratio

Definition at line 80 of file ReconElectronsPlots.h.

◆ h_etcone20

TH1* ZeeValidation::ReconElectronsPlots::h_etcone20

Definition at line 88 of file ReconElectronsPlots.h.

◆ h_etcone30

TH1* ZeeValidation::ReconElectronsPlots::h_etcone30

Definition at line 89 of file ReconElectronsPlots.h.

◆ h_etcone40

TH1* ZeeValidation::ReconElectronsPlots::h_etcone40

Definition at line 90 of file ReconElectronsPlots.h.

◆ h_ethad

TH1* ZeeValidation::ReconElectronsPlots::h_ethad

Definition at line 70 of file ReconElectronsPlots.h.

◆ h_ethad1

TH1* ZeeValidation::ReconElectronsPlots::h_ethad1

Definition at line 71 of file ReconElectronsPlots.h.

◆ h_f1

TH1* ZeeValidation::ReconElectronsPlots::h_f1

Definition at line 58 of file ReconElectronsPlots.h.

◆ h_f1core

TH1* ZeeValidation::ReconElectronsPlots::h_f1core

Definition at line 60 of file ReconElectronsPlots.h.

◆ h_f3

TH1* ZeeValidation::ReconElectronsPlots::h_f3

Definition at line 59 of file ReconElectronsPlots.h.

◆ h_f3core

TH1* ZeeValidation::ReconElectronsPlots::h_f3core

Definition at line 61 of file ReconElectronsPlots.h.

◆ h_fetcone20

TH1* ZeeValidation::ReconElectronsPlots::h_fetcone20

Definition at line 91 of file ReconElectronsPlots.h.

◆ h_fetcone30

TH1* ZeeValidation::ReconElectronsPlots::h_fetcone30

Definition at line 92 of file ReconElectronsPlots.h.

◆ h_fetcone40

TH1* ZeeValidation::ReconElectronsPlots::h_fetcone40

Definition at line 93 of file ReconElectronsPlots.h.

◆ h_fethad

TH1* ZeeValidation::ReconElectronsPlots::h_fethad

Definition at line 72 of file ReconElectronsPlots.h.

◆ h_fethad1

TH1* ZeeValidation::ReconElectronsPlots::h_fethad1

Definition at line 73 of file ReconElectronsPlots.h.

◆ h_fracs1

TH1* ZeeValidation::ReconElectronsPlots::h_fracs1

Definition at line 75 of file ReconElectronsPlots.h.

◆ h_iso

TH1* ZeeValidation::ReconElectronsPlots::h_iso

Definition at line 79 of file ReconElectronsPlots.h.

◆ h_mu

TH1* ZeeValidation::ReconElectronsPlots::h_mu

Definition at line 43 of file ReconElectronsPlots.h.

◆ h_n_blayer_hits

TH1* ZeeValidation::ReconElectronsPlots::h_n_blayer_hits

Definition at line 98 of file ReconElectronsPlots.h.

◆ h_n_blayer_hits_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_n_blayer_hits_outliers

Definition at line 105 of file ReconElectronsPlots.h.

◆ h_n_pixel_hits

TH1* ZeeValidation::ReconElectronsPlots::h_n_pixel_hits

Definition at line 99 of file ReconElectronsPlots.h.

◆ h_n_pixel_hits_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_n_pixel_hits_outliers

Definition at line 106 of file ReconElectronsPlots.h.

◆ h_n_si_hits

TH1* ZeeValidation::ReconElectronsPlots::h_n_si_hits

Definition at line 100 of file ReconElectronsPlots.h.

◆ h_n_si_hits_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_n_si_hits_outliers

Definition at line 107 of file ReconElectronsPlots.h.

◆ h_n_trt_hits

TH1* ZeeValidation::ReconElectronsPlots::h_n_trt_hits

Definition at line 101 of file ReconElectronsPlots.h.

◆ h_n_trt_hits_high

TH1* ZeeValidation::ReconElectronsPlots::h_n_trt_hits_high

Definition at line 102 of file ReconElectronsPlots.h.

◆ h_n_trt_hits_high_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_n_trt_hits_high_outliers

Definition at line 109 of file ReconElectronsPlots.h.

◆ h_n_trt_hits_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_n_trt_hits_outliers

Definition at line 108 of file ReconElectronsPlots.h.

◆ h_nvtx

TH1* ZeeValidation::ReconElectronsPlots::h_nvtx

Definition at line 42 of file ReconElectronsPlots.h.

◆ h_photon_n

TH1* ZeeValidation::ReconElectronsPlots::h_photon_n

Definition at line 40 of file ReconElectronsPlots.h.

◆ h_ptcone20

TH1* ZeeValidation::ReconElectronsPlots::h_ptcone20

Definition at line 94 of file ReconElectronsPlots.h.

◆ h_ptcone30

TH1* ZeeValidation::ReconElectronsPlots::h_ptcone30

Definition at line 95 of file ReconElectronsPlots.h.

◆ h_ptcone40

TH1* ZeeValidation::ReconElectronsPlots::h_ptcone40

Definition at line 96 of file ReconElectronsPlots.h.

◆ h_pv_x

TH1* ZeeValidation::ReconElectronsPlots::h_pv_x

Definition at line 46 of file ReconElectronsPlots.h.

◆ h_pv_y

TH1* ZeeValidation::ReconElectronsPlots::h_pv_y

Definition at line 47 of file ReconElectronsPlots.h.

◆ h_pv_z

TH1* ZeeValidation::ReconElectronsPlots::h_pv_z

Definition at line 48 of file ReconElectronsPlots.h.

◆ h_r_trt_hits

TH1* ZeeValidation::ReconElectronsPlots::h_r_trt_hits

Definition at line 103 of file ReconElectronsPlots.h.

◆ h_r_trt_hits_outliers

TH1* ZeeValidation::ReconElectronsPlots::h_r_trt_hits_outliers

Definition at line 110 of file ReconElectronsPlots.h.

◆ h_reta

TH1* ZeeValidation::ReconElectronsPlots::h_reta

Definition at line 65 of file ReconElectronsPlots.h.

◆ h_rphi

TH1* ZeeValidation::ReconElectronsPlots::h_rphi

Definition at line 66 of file ReconElectronsPlots.h.

◆ h_sigmad0

TH1* ZeeValidation::ReconElectronsPlots::h_sigmad0

Definition at line 113 of file ReconElectronsPlots.h.

◆ h_track_n

TH1* ZeeValidation::ReconElectronsPlots::h_track_n

Definition at line 45 of file ReconElectronsPlots.h.

◆ h_weta1

TH1* ZeeValidation::ReconElectronsPlots::h_weta1

Definition at line 67 of file ReconElectronsPlots.h.

◆ h_weta2

TH1* ZeeValidation::ReconElectronsPlots::h_weta2

Definition at line 68 of file ReconElectronsPlots.h.

◆ h_wtots1

TH1* ZeeValidation::ReconElectronsPlots::h_wtots1

Definition at line 69 of file ReconElectronsPlots.h.

◆ 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 ZeeValidation::ReconElectronsPlots::m_sParticleType

Definition at line 37 of file ReconElectronsPlots.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.

◆ nLevels

const int ZeeValidation::ReconElectronsPlots::nLevels = 8
static

Definition at line 33 of file ReconElectronsPlots.h.


The documentation for this class was generated from the following files: