ATLAS Offline Software
Loading...
Searching...
No Matches
Egamma::ShowerShapesPlots Class Reference

#include <ShowerShapesPlots.h>

Inheritance diagram for Egamma::ShowerShapesPlots:
Collaboration diagram for Egamma::ShowerShapesPlots:

Public Member Functions

 ShowerShapesPlots (PlotBase *pParent, const std::string &sDir, std::string sParticleType)
void fill (const xAOD::Egamma &egamma, const xAOD::EventInfo &eventInfo)
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 (std::string_view 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 (std::string_view name, std::string_view labels, int nBins, float start, float end, bool prependDir=true)
 Book a TH1D histogram.
TH1D * Book1D (std::string_view name, TH1 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH1D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
 Book a TH2F histogram.
TH2F * Book2D (std::string_view name, TH2 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH2D histogram using refHist as reference for number of bins and axis range.
TH2F * Book2D (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, TH3 *refHist, std::string_view labels, bool prependDir=true)
 Book a TH3F histogram using refHist as reference for number of bins and axis range.
TProfile * BookTProfile (std::string_view name, std::string_view 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 (std::string_view name, std::string_view labels, int nBinsX, float *binsX, bool prependDir=true)
 Book a TProfile histogram with variable binning in x-axis.
TProfile * BookTProfileRangeY (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, std::string_view 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 (std::string_view name, std::string_view labels, const int nBinsX, const float xlo, const float xhi, const bool prependDir=true)
 Book a (1-D) TEfficiency histogram.
TEfficiency * BookTEfficiency (std::string_view name, std::string_view 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 * hadleak
TH1 * weta1
TH1 * weta2
TH1 * de
TH1 * fracs1
TH1 * wtots1
TH1 * f1
TH1 * Eratio
TH1 * Rhad
TH1 * Reta
TH1 * Rphi
TH2 * hadleakvset
TH2 * weta1vset
TH2 * weta2vset
TH2 * devset
TH2 * fracs1vset
TH2 * wtots1vset
TH2 * f1vset
TH2 * Eratiovset
TH2 * Rhadvset
TH2 * Retavset
TH2 * Rphivset
TH2 * hadleakvseta
TH2 * weta1vseta
TH2 * weta2vseta
TH2 * devseta
TH2 * fracs1vseta
TH2 * wtots1vseta
TH2 * f1vseta
TH2 * Eratiovseta
TH2 * Rhadvseta
TH2 * Retavseta
TH2 * Rphivseta

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 ShowerShapesPlots.h.

Constructor & Destructor Documentation

◆ ShowerShapesPlots()

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

Definition at line 14 of file ShowerShapesPlots.cxx.

14 :PlotBase(pParent, sDir),
15 m_sParticleType(std::move(sParticleType)),
16 hadleak(nullptr),
17 weta1 (nullptr),
18 weta2 (nullptr),
19 de (nullptr),
20 fracs1 (nullptr),
21 wtots1 (nullptr),
22 f1 (nullptr),
23 Eratio(nullptr),
24 Rhad(nullptr),
25 Reta(nullptr),
26 Rphi(nullptr),
27 hadleakvset(nullptr),
28 weta1vset (nullptr),
29 weta2vset (nullptr),
30 devset (nullptr),
31 fracs1vset (nullptr),
32 wtots1vset (nullptr),
33 f1vset (nullptr),
34 Eratiovset(nullptr),
35 Rhadvset(nullptr),
36 Retavset(nullptr),
37 Rphivset(nullptr),
38 hadleakvseta(nullptr),
39 weta1vseta(nullptr),
40 weta2vseta(nullptr),
41 devseta(nullptr),
42 fracs1vseta(nullptr),
43 wtots1vseta(nullptr),
44 f1vseta(nullptr),
45 Eratiovseta(nullptr),
46 Rhadvseta(nullptr),
47 Retavseta(nullptr),
48 Rphivseta(nullptr)
49
50 {}
PlotBase(PlotBase *parent, std::string_view sDir)
Definition PlotBase.cxx:29

Member Function Documentation

◆ Book1D() [1/2]

TH1D * PlotBase::Book1D ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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:289
std::vector< HistData > m_vBookedHistograms
Definition PlotBase.h:98
std::string m_sDirectory
Definition PlotBase.h:101

◆ Book1D() [2/2]

TH1D * PlotBase::Book1D ( std::string_view name,
TH1 * refHist,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
TH2 * refHist,
std::string_view 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(std::string_view name, std::string_view 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 ( std::string_view name,
std::string_view 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.append(name).c_str(),
163 labels.data(), 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 ( std::string_view name,
TH3 * refHist,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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 TEfficiency *hist = new TEfficiency(prefix.append(name).c_str(), labels.data(), nBinsX, xlo, xhi);
260 hist->SetDirectory(nullptr);
261 m_vBookedEfficiencies.emplace_back(hist, m_sDirectory);
262 return hist;
263}
std::vector< EfficiencyData > m_vBookedEfficiencies
Definition PlotBase.h:100

◆ BookTEfficiency() [2/2]

TEfficiency * PlotBase::BookTEfficiency ( std::string_view name,
std::string_view 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 266 of file PlotBase.cxx.

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

◆ BookTProfile() [1/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), nBinsX, binsX);
211 TProfile::AddDirectory(oldstat);
212 m_vBookedHistograms.emplace_back(hist, m_sDirectory);
213 return hist;
214}

◆ BookTProfile() [2/2]

TProfile * PlotBase::BookTProfile ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), nBinsX, startX, endX, opt.c_str());
195 } else {
196 hist = new TProfile(prefix.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), 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 ( std::string_view name,
std::string_view 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.append(name).c_str(), labels.data(), (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 ( std::string_view name,
bool prependDir = true )
inherited

Book a TTree.

Definition at line 277 of file PlotBase.cxx.

277 {
278 std::string prefix = constructPrefix(m_sDirectory, prependDir);
279 TTree *tree = new TTree(prefix.append(name).c_str(), "");
280
281 tree->SetAutoSave(0);
282 tree->SetAutoFlush(0);
283 tree->SetDirectory(nullptr);
284 m_vBookedTrees.emplace_back(tree, m_sDirectory);
285 return tree;
286}
std::vector< TreeData > m_vBookedTrees
Definition PlotBase.h:99
TChain * tree

◆ constructPrefix()

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

Definition at line 289 of file PlotBase.cxx.

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

◆ fill()

void Egamma::ShowerShapesPlots::fill ( const xAOD::Egamma & egamma,
const xAOD::EventInfo & eventInfo )

Definition at line 92 of file ShowerShapesPlots.cxx.

92 {
93
94 float weight = 1.;
95 weight = eventInfo.beamSpotWeight();
96
97 float eta2 = fabs (egamma.caloCluster()->etaBE (2));
98 float et37 = egamma.caloCluster()->e() / cosh (eta2);
99 float ethad(0);
100 float ethad1(0);
101 float raphad(0);
102 float raphad1(0);
103 if(egamma.showerShapeValue(ethad, xAOD::EgammaParameters::ethad )){
104 raphad = et37 > 0. ? ethad / et37 : 0.;
105 }
106 if(egamma.showerShapeValue(ethad1, xAOD::EgammaParameters::ethad1 )){
107 raphad1 = et37 > 0. ? ethad1 / et37 : 0.;
108 }
109 float hadrleak = (eta2 >= 0.8 && eta2 < 1.37) ? raphad : raphad1;
110 hadleak->Fill(hadrleak, weight);
111 hadleakvset->Fill(hadrleak, egamma.pt()/GeV, weight);
112 hadleakvseta->Fill(hadrleak, egamma.eta(), weight);
113
114 float shweta1(0);
115 float shweta2(0);
116 if(egamma.showerShapeValue(shweta1, xAOD::EgammaParameters::weta1 )&&
117 egamma.showerShapeValue(shweta2, xAOD::EgammaParameters::weta2 )){
118 weta1->Fill(shweta1, weight);
119 weta2->Fill(shweta2, weight);
120 weta1vset->Fill(shweta1, egamma.pt()/GeV, weight);
121 weta2vset->Fill(shweta2, egamma.pt()/GeV, weight);
122 weta1vseta->Fill(shweta1, egamma.eta(), weight);
123 weta2vseta->Fill(shweta2, egamma.eta(), weight);
124 }
125
126 float emin(0);
127 float emax2(0);
128 if(egamma.showerShapeValue(emin, xAOD::EgammaParameters::emins1 )&&
129 egamma.showerShapeValue(emax2, xAOD::EgammaParameters::e2tsts1 )){
130
131 de->Fill( (emax2 - emin)/GeV, weight);
132 devset->Fill( (emax2 - emin)/GeV, egamma.pt()/GeV, weight);
133 devseta->Fill( (emax2 - emin)/GeV, egamma.eta(), weight);
134 }
135
136 float shfracs1(0);
137 float shwtots1(0);
138 float fracf1(0);
139 float eRatio(0);
140 float rhad(0);
141 float reta(0);
142 float rphi(0);
143
144 if(egamma.showerShapeValue(shfracs1, xAOD::EgammaParameters::fracs1 )){
145 fracs1->Fill(shfracs1, weight);
146 fracs1vset->Fill(shfracs1, egamma.pt()/GeV, weight);
147 fracs1vseta->Fill(shfracs1, egamma.eta(), weight);
148 }
149
150 if(egamma.showerShapeValue(shwtots1, xAOD::EgammaParameters::wtots1 )){
151 wtots1->Fill(shwtots1, weight);
152 wtots1vset->Fill(shwtots1, egamma.pt()/GeV, weight);
153 wtots1vseta->Fill(shwtots1, egamma.eta(), weight);
154 }
155
156 if(egamma.showerShapeValue(fracf1, xAOD::EgammaParameters::f1 )){
157 f1->Fill(fracf1, weight);
158 f1vset->Fill(fracf1, egamma.pt()/GeV, weight);
159 f1vseta->Fill(fracf1, egamma.eta(), weight);
160 }
161
162 if(egamma.showerShapeValue(eRatio, xAOD::EgammaParameters::Eratio )){
163 Eratio->Fill(eRatio, weight);
164 Eratiovset->Fill(eRatio, egamma.pt()/GeV, weight);
165 Eratiovseta->Fill(eRatio, egamma.eta(), weight);
166 }
167
168 if(egamma.showerShapeValue(rhad, xAOD::EgammaParameters::Rhad )){
169 Rhad->Fill(rhad, weight);
170 Rhadvset->Fill(rhad, egamma.pt()/GeV, weight);
171 Rhadvseta->Fill(rhad, egamma.eta(), weight);
172 }
173
174 if(egamma.showerShapeValue(reta, xAOD::EgammaParameters::Reta )){
175 Reta->Fill(reta, weight);
176 Retavset->Fill(reta, egamma.pt()/GeV, weight);
177 Retavseta->Fill(reta, egamma.eta(), weight);
178 }
179
180 if(egamma.showerShapeValue(rphi, xAOD::EgammaParameters::Rphi )){
181 Rphi->Fill(rphi, weight);
182 Rphivset->Fill(rphi, egamma.pt()/GeV, weight);
183 Rphivseta->Fill(rphi, egamma.eta(), weight);
184 }
185
186 } // end of fill
float beamSpotWeight() const
Weight for beam spot size reweighting.
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
Definition EgammaEnums.h:43
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition EgammaEnums.h:46
@ 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)
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
@ 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

◆ 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:97
virtual void finalizePlots()
Definition PlotBase.h:93

◆ finalizePlots()

◆ getDirectory()

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

Definition at line 89 of file PlotBase.h.

89{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:92

◆ initializePlots()

void Egamma::ShowerShapesPlots::initializePlots ( )
privatevirtual

Reimplemented from PlotBase.

Definition at line 52 of file ShowerShapesPlots.cxx.

52 {
53
54 hadleak = Book1D("hadleak", "Hadronic leakage of " + m_sParticleType+"; E_{hadleak} (GeV);Entries", 100, -0.07, 0.13);
55 weta1 = Book1D("weta1", "W_{#etas1} of "+ m_sParticleType+";W_{#etas1};Entries", 100, 0., 1.);
56 weta2 = Book1D("weta2", "W_{#etas2} of "+ m_sParticleType+";W_{#etas2};Entries", 100, 0., 0.03);
57 de = Book1D("de", "#DeltaE of "+ m_sParticleType+";#DeltaE (GeV);Entries", 250, 0., 0.5);
58 fracs1 = Book1D("fracs1", "Fracs1 of "+ m_sParticleType+";Fracs1;Entries", 350, 0., 3.5);
59 wtots1 = Book1D("wtots1", "W_{tots1} of "+ m_sParticleType+";W_{tots1};Entries", 100, 0., 10.);
60 f1 = Book1D("f1", "f1 of "+ m_sParticleType+";f1;Entries" , 120, -0.2, 1.0);
61 Eratio = Book1D("Eratio", "Eratio of "+ m_sParticleType+";Eratio;Entries" , 100, 0., 1.0);
62 Rhad = Book1D("Rhad", "Rhad of "+ m_sParticleType+";Rhad;Entries", 100, -0.5, 2.);
63 Reta = Book1D("Reta", "Reta of "+ m_sParticleType+";Reta;Entries", 100, -0., 3.);
64 Rphi = Book1D("Rphi", "Rphi of "+ m_sParticleType+";Rphi;Entries", 100, -1., 1.);
65
66 hadleakvset = Book2D("hadleakvset", "Hadronic leakage vs E_{T} of " + m_sParticleType+"; E_{hadleak} (GeV) ; E_{T} (GeV) ", 100, -0.07, 0.13, 200, 0., 200);
67 weta1vset = Book2D("weta1vset", "W_{#etas1} vs E_{T} of "+ m_sParticleType+";W_{#etas1}; E_{T} (GeV) ", 100, 0., 1., 200, 0., 200);
68 weta2vset = Book2D("weta2vset", "W_{#etas2} vs E_{T} of "+ m_sParticleType+";W_{#etas2}; E_{T} (GeV) ", 100, 0., 0.03, 200, 0., 200);
69 devset = Book2D("devset", "#DeltaE vs E_{T} of "+ m_sParticleType+";#DeltaE (GeV); E_{T} (GeV) ", 250, 0., 0.5, 200, 0., 200);
70 fracs1vset = Book2D("fracs1vset", "Fracs1 vs E_{T} of "+ m_sParticleType+";Fracs1; E_{T} (GeV) ", 350, 0., 3.5, 200, 0., 200);
71 wtots1vset = Book2D("wtots1vset", "W_{tots1} vsE_{T} of "+ m_sParticleType+";W_{tots1}; E_{T} (GeV) ", 100, 0., 10., 200, 0., 200);
72 f1vset = Book2D("f1vset", "f1 vs E_{T} of "+ m_sParticleType+";f1; E_{T} (GeV) " , 100, 0., 1.0, 200, 0., 200);
73 Eratiovset = Book2D("Eratiovset", "Eratio vs E_{T} of "+ m_sParticleType+";Eratio; E_{T} (GeV) " , 100, 0., 1.0, 200, 0., 200);
74 Rhadvset = Book2D("Rhadvset", "Rhad vs E_{T} of "+ m_sParticleType+";Rhad;E_{T} (GeV)", 100, -0.5, 2., 200, 0., 200);
75 Retavset = Book2D("Retavset", "Reta vs E_{T} of "+ m_sParticleType+";Reta;E_{T} (GeV)", 100, -0., 3., 200, 0., 200);
76 Rphivset = Book2D("Rphivset", "Rphi vs E_{T} of "+ m_sParticleType+";Rphi;E_{T} (GeV)", 100, -1., 1., 200, 0., 200);
77
78 hadleakvseta = Book2D("hadleakvseta", "Hadronic leakage vs E_{T} of " + m_sParticleType+"; E_{hadleak} (GeV) ; #eta ", 100, -0.07, 0.13, 1000,-5.,5.);
79 weta1vseta = Book2D("weta1vseta", "W_{#etas1} vs E_{T} of "+ m_sParticleType+";W_{#etas1}; #eta ", 100, 0., 1., 1000,-5.,5.);
80 weta2vseta = Book2D("weta2vseta", "W_{#etas2} vs E_{T} of "+ m_sParticleType+";W_{#etas2}; #eta ", 100, 0., 0.03, 1000,-5.,5.);
81 devseta = Book2D("devseta", "#DeltaE vs E_{T} of "+ m_sParticleType+";#DeltaE (GeV); #eta ", 250, 0., 0.5, 1000,-5.,5.);
82 fracs1vseta = Book2D("fracs1vseta", "Fracs1 vs E_{T} of "+ m_sParticleType+";Fracs1; #eta ", 350, 0., 3.5, 1000,-5.,5.);
83 wtots1vseta = Book2D("wtots1vseta", "W_{tots1} vsE_{T} of "+ m_sParticleType+";W_{tots1}; #eta ", 100, 0., 10., 1000,-5.,5.);
84 f1vseta = Book2D("f1vseta", "f1 vs E_{T} of "+ m_sParticleType+";f1; #eta " , 100, 0., 1.0, 1000,-5.,5.);
85 Eratiovseta = Book2D("Eratiovseta", "Eratio vs #eta of "+ m_sParticleType+";Eratio; #eta " , 100, 0., 1.0, 1000,-5.,5.);
86 Rhadvseta = Book2D("Rhadvseta", "Rhad vs #eta of "+ m_sParticleType+";Rhad;#eta", 100, -0.5, 2., 1000,-5.,5.);
87 Retavseta = Book2D("Retavseta", "Reta vs #eta of "+ m_sParticleType+";Reta;#eta", 100, -0., 3., 1000,-5.,5.);
88 Rphivseta = Book2D("Rphivseta", "Rphi vs #eta of "+ m_sParticleType+";Rphi;#eta", 100, -1., 1., 1000,-5.,5.);
89
90 }
TH1D * Book1D(std::string_view name, std::string_view 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 42 of file PlotBase.h.

42{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:102

Member Data Documentation

◆ de

TH1* Egamma::ShowerShapesPlots::de

Definition at line 26 of file ShowerShapesPlots.h.

◆ devset

TH2* Egamma::ShowerShapesPlots::devset

Definition at line 38 of file ShowerShapesPlots.h.

◆ devseta

TH2* Egamma::ShowerShapesPlots::devseta

Definition at line 50 of file ShowerShapesPlots.h.

◆ Eratio

TH1* Egamma::ShowerShapesPlots::Eratio

Definition at line 30 of file ShowerShapesPlots.h.

◆ Eratiovset

TH2* Egamma::ShowerShapesPlots::Eratiovset

Definition at line 42 of file ShowerShapesPlots.h.

◆ Eratiovseta

TH2* Egamma::ShowerShapesPlots::Eratiovseta

Definition at line 54 of file ShowerShapesPlots.h.

◆ f1

TH1* Egamma::ShowerShapesPlots::f1

Definition at line 29 of file ShowerShapesPlots.h.

◆ f1vset

TH2* Egamma::ShowerShapesPlots::f1vset

Definition at line 41 of file ShowerShapesPlots.h.

◆ f1vseta

TH2* Egamma::ShowerShapesPlots::f1vseta

Definition at line 53 of file ShowerShapesPlots.h.

◆ fracs1

TH1* Egamma::ShowerShapesPlots::fracs1

Definition at line 27 of file ShowerShapesPlots.h.

◆ fracs1vset

TH2* Egamma::ShowerShapesPlots::fracs1vset

Definition at line 39 of file ShowerShapesPlots.h.

◆ fracs1vseta

TH2* Egamma::ShowerShapesPlots::fracs1vseta

Definition at line 51 of file ShowerShapesPlots.h.

◆ hadleak

TH1* Egamma::ShowerShapesPlots::hadleak

Definition at line 23 of file ShowerShapesPlots.h.

◆ hadleakvset

TH2* Egamma::ShowerShapesPlots::hadleakvset

Definition at line 35 of file ShowerShapesPlots.h.

◆ hadleakvseta

TH2* Egamma::ShowerShapesPlots::hadleakvseta

Definition at line 47 of file ShowerShapesPlots.h.

◆ m_iDetailLevel

int PlotBase::m_iDetailLevel
protectedinherited

Definition at line 102 of file PlotBase.h.

◆ m_sDirectory

std::string PlotBase::m_sDirectory
protectedinherited

Definition at line 101 of file PlotBase.h.

◆ m_sParticleType

std::string Egamma::ShowerShapesPlots::m_sParticleType

Definition at line 21 of file ShowerShapesPlots.h.

◆ m_vBookedEfficiencies

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

Definition at line 100 of file PlotBase.h.

◆ m_vBookedHistograms

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

Definition at line 98 of file PlotBase.h.

◆ m_vBookedTrees

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

Definition at line 99 of file PlotBase.h.

◆ m_vSubNodes

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

Definition at line 97 of file PlotBase.h.

◆ Reta

TH1* Egamma::ShowerShapesPlots::Reta

Definition at line 32 of file ShowerShapesPlots.h.

◆ Retavset

TH2* Egamma::ShowerShapesPlots::Retavset

Definition at line 44 of file ShowerShapesPlots.h.

◆ Retavseta

TH2* Egamma::ShowerShapesPlots::Retavseta

Definition at line 56 of file ShowerShapesPlots.h.

◆ Rhad

TH1* Egamma::ShowerShapesPlots::Rhad

Definition at line 31 of file ShowerShapesPlots.h.

◆ Rhadvset

TH2* Egamma::ShowerShapesPlots::Rhadvset

Definition at line 43 of file ShowerShapesPlots.h.

◆ Rhadvseta

TH2* Egamma::ShowerShapesPlots::Rhadvseta

Definition at line 55 of file ShowerShapesPlots.h.

◆ Rphi

TH1* Egamma::ShowerShapesPlots::Rphi

Definition at line 33 of file ShowerShapesPlots.h.

◆ Rphivset

TH2* Egamma::ShowerShapesPlots::Rphivset

Definition at line 45 of file ShowerShapesPlots.h.

◆ Rphivseta

TH2* Egamma::ShowerShapesPlots::Rphivseta

Definition at line 57 of file ShowerShapesPlots.h.

◆ weta1

TH1* Egamma::ShowerShapesPlots::weta1

Definition at line 24 of file ShowerShapesPlots.h.

◆ weta1vset

TH2* Egamma::ShowerShapesPlots::weta1vset

Definition at line 36 of file ShowerShapesPlots.h.

◆ weta1vseta

TH2* Egamma::ShowerShapesPlots::weta1vseta

Definition at line 48 of file ShowerShapesPlots.h.

◆ weta2

TH1* Egamma::ShowerShapesPlots::weta2

Definition at line 25 of file ShowerShapesPlots.h.

◆ weta2vset

TH2* Egamma::ShowerShapesPlots::weta2vset

Definition at line 37 of file ShowerShapesPlots.h.

◆ weta2vseta

TH2* Egamma::ShowerShapesPlots::weta2vseta

Definition at line 49 of file ShowerShapesPlots.h.

◆ wtots1

TH1* Egamma::ShowerShapesPlots::wtots1

Definition at line 28 of file ShowerShapesPlots.h.

◆ wtots1vset

TH2* Egamma::ShowerShapesPlots::wtots1vset

Definition at line 40 of file ShowerShapesPlots.h.

◆ wtots1vseta

TH2* Egamma::ShowerShapesPlots::wtots1vseta

Definition at line 52 of file ShowerShapesPlots.h.


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