ATLAS Offline Software
EMShowerBuilder.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 // INCLUDE HEADER FILES:
6 #include "GaudiKernel/EventContext.h"
7 #include "GaudiKernel/IChronoStatSvc.h"
8 #include "StoreGate/ReadHandle.h"
9 
10 #include "EMShowerBuilder.h"
13 
16 #include "CaloUtils/CaloCellList.h"
17 
19 #include "xAODEgamma/Egamma.h"
20 
21 #include <algorithm>
22 
23 // END OF HEADER FILES INCLUDE
24 
26  const std::string& name,
27  const IInterface* parent)
29 {
30  // declare interface
31  declareInterface<IEMShowerBuilder>(this);
32 }
33 
34 
37 {
39  " Initializing EMShowerBuilder, m_cellKey = " << m_cellsKey.key());
40 
42  !m_cellsKey.key().empty()));
43 
44  ATH_CHECK(RetrieveTool<IegammaShowerShape>(m_ShowerShapeTool, m_UseShowerShapeTool));
45  ATH_CHECK(RetrieveTool<IegammaIso>(m_HadronicLeakageTool, m_UseCaloIsoTool));
46 
47  return StatusCode::SUCCESS;
48 }
49 
50 template <typename T>
52 EMShowerBuilder::RetrieveTool(ToolHandle<T> &tool, bool tool_requested)
53 {
54  if (!tool_requested) {
55  tool.disable();
56  return StatusCode::SUCCESS;
57  }
58  if (tool.empty()) {
59  ATH_MSG_INFO(tool.type() << " is empty");
60  return StatusCode::FAILURE;
61  }
62  ATH_CHECK(tool.retrieve());
63  return StatusCode::SUCCESS;
64 }
65 
68 {
69  return StatusCode::SUCCESS;
70 }
71 
73 EMShowerBuilder::execute(const EventContext& ctx,
74  const CaloDetDescrManager& cmgr,
75  xAOD::Egamma* eg) const
76 {
77 
78  ATH_MSG_DEBUG("Executing EMShowerBuilder::execute");
79  // protection against bad pointers
80  if (eg == nullptr)
81  return StatusCode::SUCCESS;
82 
83  // retrieve the cell containers
85  // check is only used for serial running; remove when MT scheduler used
86  ATH_CHECK(cellcoll.isValid());
87 
88  ATH_CHECK(executeWithCells(cellcoll.cptr(), cmgr, eg));
89  return StatusCode::SUCCESS;
90 }
91 
94  const CaloDetDescrManager& cmgr,
95  xAOD::Egamma* eg) const
96 {
97  ATH_CHECK(CalcShowerShape(eg, cmgr, cellcoll));
98  return StatusCode::SUCCESS;
99 }
100 
103  const CaloDetDescrManager& cmgr,
104  const CaloCellContainer* cellcoll) const
105 {
106  //
107  // Estimate shower shapes and fill the EMShower object associated to eg
108  //
109  ATH_MSG_DEBUG("Executing CalcShowerShape");
110  // protection against bad pointers
111  if (eg == nullptr) {
112  return StatusCode::SUCCESS;
113  }
114  // retrieve the cluster
115  const xAOD::CaloCluster* clus = eg->caloCluster();
116  // Protect against non-existent structures.
117  if (clus == nullptr) {
118  ATH_MSG_WARNING("No Cluster");
119  return StatusCode::SUCCESS;
120  }
121  if (cellcoll == nullptr) {
122  ATH_MSG_WARNING("No cells");
123  return StatusCode::SUCCESS;
124  }
125  // call calorimeter isolation tool only if needed
126  if (m_UseCaloIsoTool) {
127  ATH_CHECK(CalcHadronicLeakage(eg, cmgr, clus, cellcoll));
128  }
129 
130  // Calculate shower shapes in all samplings
131  if (m_UseShowerShapeTool) {
132  // protection in case tool does not exist
134  ATH_CHECK(m_ShowerShapeTool->execute(*clus, cmgr, *cellcoll, info));
136  }
137  return StatusCode::SUCCESS;
138 }
139 
142  const CaloDetDescrManager& cmgr,
143  const xAOD::CaloCluster* clus,
144  const CaloCellContainer* cellcoll) const
145 {
146  //
147  // Call calorimeter isolation tool
148  //
149  ATH_MSG_DEBUG("Executing CalcHadronicLeakage");
150  if (m_caloNums.size() < 3) {
151  ATH_MSG_DEBUG("Less than 3 subCalos, skipping");
152  return StatusCode::SUCCESS;
153  }
154  // protection in case tool does not exist
155  if (m_HadronicLeakageTool.empty()) {
156  return StatusCode::SUCCESS;
157  }
158  // calculate information concerning just the hadronic leakage
160  StatusCode sc = m_HadronicLeakageTool->execute(*clus, cmgr, *cellcoll, info);
161  if (sc.isFailure()) {
162  ATH_MSG_WARNING("call to Iso returns failure for execute");
163  return sc;
164  }
165  float value = 0;
167  const double et = eg->caloCluster()->et();
168  value = static_cast<float>(info.ethad1);
169  eg->setShowerShapeValue(value, xAOD::EgammaParameters::ethad1);
170  eg->setShowerShapeValue(et != 0. ? value / et : 0.,
172  value = static_cast<float>(info.ethad);
173  eg->setShowerShapeValue(value, xAOD::EgammaParameters::ethad);
174  eg->setShowerShapeValue(et != 0. ? value / et : 0.,
176  value = static_cast<float>(info.ehad1);
177  eg->setShowerShapeValue(value, xAOD::EgammaParameters::ehad1);
178  return StatusCode::SUCCESS;
179 
181  unsigned int iflag = 0;
182  if (info.nBadT0 > 0)
183  iflag |= (0x1 << xAOD::EgammaParameters::DeadCellTileS0);
184  if (info.nBadT0 > 0)
186  eg->setOQ(iflag);
187 }
188 
191  const IegammaShowerShape::Info& info) const
192 {
193 
194  // protection in case Tool does not exist
195  if (m_ShowerShapeTool.empty()) {
196  return StatusCode::SUCCESS;
197  }
198  // information in the presampler
199 
200  // E in 1x1 cells in pre sampler
201  float value = 0;
202  // E in 1x1 cells in pre sampler
203  value = static_cast<float>(info.e011);
204  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e011);
205  // E in 3x3 cells in pre sampler
206  value = static_cast<float>(info.e033);
207  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e033);
208  // E in 3x2 cells in S1
209  value = static_cast<float>(info.e132);
210  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e132);
211  // E in 15x2 cells in S1
212  value = static_cast<float>(info.e1152);
213  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e1152);
214  // fraction of E in S1
215  value = static_cast<float>(info.f1);
216  eg->setShowerShapeValue(value, xAOD::EgammaParameters::f1);
217  // fraction of E in the core(e132) in S1
218  value = static_cast<float>(info.f1core);
219  eg->setShowerShapeValue(value, xAOD::EgammaParameters::f1core);
220  // corr width with 3 strips
221  value = static_cast<float>(info.ws3c);
222  eg->setShowerShapeValue(value, xAOD::EgammaParameters::weta1);
223  // energy in second max
224  value = static_cast<float>(info.esec);
225  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e2ts1);
226  // energy strip of second max
227  value = static_cast<float>(info.esec1);
228  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e2tsts1);
229  // fraction of E outside core in S1
230  value = static_cast<float>(info.fside);
231  eg->setShowerShapeValue(value, xAOD::EgammaParameters::fracs1);
232  // width with 5 strips
233  value = static_cast<float>(info.widths5);
234  eg->setShowerShapeValue(value, xAOD::EgammaParameters::widths1);
235  // eta pos within cell in S1
236  value = static_cast<float>(info.poscs1);
237  eg->setShowerShapeValue(value, xAOD::EgammaParameters::poscs1);
238  // asymmetry with 3 strips
239  value = static_cast<float>(info.asymmetrys3);
240  eg->setShowerShapeValue(value, xAOD::EgammaParameters::asy1);
241  // diff position +/- 1 cells
242  value = static_cast<float>(info.deltaEtaTrackShower);
243  eg->setShowerShapeValue(value, xAOD::EgammaParameters::pos);
244  // diff position +/- 7 cells
245  value = static_cast<float>(info.deltaEtaTrackShower7);
246  eg->setShowerShapeValue(value, xAOD::EgammaParameters::pos7);
247  // E of strip with min E
248  value = static_cast<float>(info.emins1);
249  eg->setShowerShapeValue(value, xAOD::EgammaParameters::emins1);
250  // E of strip with max E
251  value = static_cast<float>(info.emaxs1);
252  eg->setShowerShapeValue(value, xAOD::EgammaParameters::emaxs1);
253  // barycentre in eta in S1
254  value = static_cast<float>(info.etas3);
255  eg->setShowerShapeValue(value, xAOD::EgammaParameters::barys1);
256  // total width in strips
257  value = static_cast<float>(info.wstot);
258  eg->setShowerShapeValue(value, xAOD::EgammaParameters::wtots1);
259  //
260  // information in the 2nd sampling
261  //
262  // E in 3x3 cells in S2
263  value = static_cast<float>(info.e233);
264  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e233);
265  // E in 3x5 cells in S2
266  value = static_cast<float>(info.e235);
267  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e235);
268  // E in 3x7 cells in S2
269  value = static_cast<float>(info.e237);
270  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e237);
271  // E in 5x5 cells in S2
272  value = static_cast<float>(info.e255);
273  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e255);
274  // E in 7x7 cells in S2
275  value = static_cast<float>(info.e277);
276  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e277);
277  // corr width in S2
278  value = static_cast<float>(info.etaw);
279  eg->setShowerShapeValue(value, xAOD::EgammaParameters::weta2);
280  // uncorr width in S2
281  value = static_cast<float>(info.width);
282  eg->setShowerShapeValue(value, xAOD::EgammaParameters::widths2);
283  // position in eta within cell in S2
284  value = static_cast<float>(info.poscs2);
285  eg->setShowerShapeValue(value, xAOD::EgammaParameters::poscs2);
286  //
287  // information in the 3rd sampling
288  //
289  // fraction of E in S3
290  value = static_cast<float>(info.f3);
291  eg->setShowerShapeValue(value, xAOD::EgammaParameters::f3);
292  // fraction of E in the core (e333) in S3
293  value = static_cast<float>(info.f3core);
294  eg->setShowerShapeValue(value, xAOD::EgammaParameters::f3core);
295  // E in 3x3 cells in S3
296  value = static_cast<float>(info.e333);
297  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e333);
298  // E in 3x5 cells in S3
299  value = static_cast<float>(info.e335);
300  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e335);
301  // E in 3x7 cells in S3
302  value = static_cast<float>(info.e337);
303  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e337);
304  // E in 7x7 cells in S3
305  value = static_cast<float>(info.e377);
306  eg->setShowerShapeValue(value, xAOD::EgammaParameters::e377);
307  //
308  // information combining all samplings
309  //
310  // ratio of energy in 3x3/3x7 cells
311  value = static_cast<float>(info.reta3337_allcalo);
312  eg->setShowerShapeValue(value, xAOD::EgammaParameters::r33over37allcalo);
313  // core energy
314  value = static_cast<float>(info.ecore);
315  eg->setShowerShapeValue(value, xAOD::EgammaParameters::ecore);
316  //
317  // information combining different shower shape
318  //
319  float valueSecond = 0;
321  value = static_cast<float>(info.e277);
322  valueSecond = static_cast<float>(info.e237);
323  eg->setShowerShapeValue(value != 0 ? valueSecond / value : 0.,
326  value = static_cast<float>(info.e233);
327  valueSecond = static_cast<float>(info.e237);
328  eg->setShowerShapeValue(valueSecond != 0 ? value / valueSecond : 0.,
331  value = static_cast<float>(info.emaxs1);
332  valueSecond = static_cast<float>(info.esec1);
333  eg->setShowerShapeValue(std::abs(value + valueSecond) > 0.
334  ? (value - valueSecond) / (value + valueSecond)
335  : 0.,
337 
338  value = static_cast<float>(info.emins1);
339  eg->setShowerShapeValue((valueSecond - value),
341  return StatusCode::SUCCESS;
342 }
343 
grepfile.info
info
Definition: grepfile.py:38
xAOD::EgammaParameters::ehad1
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
Definition: EgammaEnums.h:48
xAOD::EgammaParameters::e233
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Definition: EgammaEnums.h:68
EMShowerBuilder::execute
virtual StatusCode execute(const EventContext &ctx, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
standard execute method
Definition: EMShowerBuilder.cxx:73
IegammaShowerShape::Info
the info payload
Definition: IegammaShowerShape.h:41
et
Extra patterns decribing particle interation process.
xAOD::EgammaParameters::e033
@ e033
uncalibrated energy (sum of cells) in presampler in a 3x3 window in cells in eta X phi
Definition: EgammaEnums.h:33
EMShowerBuilder::CalcShowerShape
StatusCode CalcShowerShape(xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const CaloCellContainer *cellcoll) const
calculate shower shapes
Definition: EMShowerBuilder.cxx:102
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ParticleTest.eg
eg
Definition: ParticleTest.py:29
SG::ReadHandle::cptr
const_pointer_type cptr()
Dereference the pointer.
xAOD::EgammaParameters::Reta
@ Reta
e237/e277
Definition: EgammaEnums.h:154
xAOD::EgammaParameters::e2ts1
@ e2ts1
2nd max in strips calc by summing 3 strips
Definition: EgammaEnums.h:105
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
xAOD::EgammaParameters::asy1
@ asy1
uncorr asymmetry in 3 strips in the 1st sampling
Definition: EgammaEnums.h:123
xAOD::EgammaParameters::e235
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:71
CaloCellList.h
xAOD::EgammaParameters::ecore
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
Definition: EgammaEnums.h:152
EMShowerBuilder::m_UseShowerShapeTool
Gaudi::Property< bool > m_UseShowerShapeTool
Boolean to call shower shape calculation and filling (NB: this could be important when redoing calcul...
Definition: EMShowerBuilder.h:131
xAOD::EgammaParameters::ethad1
@ ethad1
transverse energy in the first sampling of the hadronic calorimeters behind the cluster calculated fr...
Definition: EgammaEnums.h:42
athena.value
value
Definition: athena.py:122
xAOD::Egamma_v1
Definition: Egamma_v1.h:56
xAOD::EgammaParameters::Rphi
@ Rphi
e233/e237
Definition: EgammaEnums.h:156
xAOD::EgammaParameters::f1core
@ f1core
E1(3x1)/E = fraction of the energy reconstructed in the first longitudinal compartment of the electro...
Definition: EgammaEnums.h:60
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
EMShowerBuilder::m_HadronicLeakageTool
ToolHandle< IegammaIso > m_HadronicLeakageTool
Tool for hadronic leakage calculation.
Definition: EMShowerBuilder.h:116
xAOD::EgammaParameters::wtots1
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
Definition: EgammaEnums.h:140
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
EMShowerBuilder::EMShowerBuilder
EMShowerBuilder(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Definition: EMShowerBuilder.cxx:25
xAOD::EgammaParameters::e333
@ e333
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x3
Definition: EgammaEnums.h:83
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
xAOD::EgammaParameters::e1152
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
Definition: EgammaEnums.h:39
Egamma.h
xAOD::EgammaParameters::ethad
@ ethad
ET leakage into hadronic calorimeter with exclusion of energy in CaloSampling::TileGap3.
Definition: EgammaEnums.h:45
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
xAOD::EgammaParameters::f1
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
Definition: EgammaEnums.h:52
CaloCluster.h
xAOD::EgammaParameters::pos7
@ pos7
Difference between the track and the shower positions: sum_{i=i_m-7}^{i=i_m+7}E_i x (i-i_m) / sum_{i=...
Definition: EgammaEnums.h:133
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::EgammaParameters::emins1
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
Definition: EgammaEnums.h:143
xAOD::EgammaParameters::poscs2
@ poscs2
relative position in eta within cell in 2nd sampling
Definition: EgammaEnums.h:121
xAOD::EgammaParameters::e011
@ e011
uncalibrated energy (sum of cells) in presampler in a 1x1 window in cells in eta X phi
Definition: EgammaEnums.h:30
test_pyathena.parent
parent
Definition: test_pyathena.py:15
EMShowerBuilder::RetrieveTool
StatusCode RetrieveTool(ToolHandle< T > &tool, bool tool_requested)
Wraps tool retrival to ensure it is has a name.
Definition: EMShowerBuilder.cxx:52
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::EgammaParameters::DeadCellTileS0
@ DeadCellTileS0
Dead cell in the Tile Calorimeter S0 affecting the hadronic leakage calculation.
Definition: EgammaDefs.h:107
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
xAOD::EgammaParameters::DeadCellTileS1S2
@ DeadCellTileS1S2
Dead cell in the Tile Calorimeter S1,2,3 affecting the hadronic leakage calculation.
Definition: EgammaDefs.h:109
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
xAOD::EgammaParameters::Rhad1
@ Rhad1
ethad1/et
Definition: EgammaEnums.h:162
EMShowerBuilder::m_caloNums
Gaudi::Property< std::vector< int > > m_caloNums
Obsolete enum on the layers to use for the HadLeakage variables.
Definition: EMShowerBuilder.h:102
EMShowerBuilder::m_UseCaloIsoTool
Gaudi::Property< bool > m_UseCaloIsoTool
Boolean to call calo isolation variables calculation and filling (NB: this could be important when re...
Definition: EMShowerBuilder.h:140
xAOD::EgammaParameters::e377
@ e377
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:92
EMShowerBuilder::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Cell container.
Definition: EMShowerBuilder.h:94
EMShowerBuilder::FillEMShowerShape
StatusCode FillEMShowerShape(xAOD::Egamma *eg, const IegammaShowerShape::Info &info) const
fill shower detail from shower shape calculation
Definition: EMShowerBuilder.cxx:190
EMShowerBuilder::CalcHadronicLeakage
StatusCode CalcHadronicLeakage(xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const xAOD::CaloCluster *clus, const CaloCellContainer *cellcoll) const
calculate Hadronic leakage
Definition: EMShowerBuilder.cxx:141
xAOD::EgammaParameters::poscs1
@ poscs1
relative position in eta within cell in 1st sampling
Definition: EgammaEnums.h:119
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
AtlCoolConsole.tool
tool
Definition: AtlCoolConsole.py:453
EMShowerBuilder::executeWithCells
virtual StatusCode executeWithCells(const CaloCellContainer *cellcoll, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
@Execute passing the cells explicitly
Definition: EMShowerBuilder.cxx:93
xAOD::EgammaParameters::barys1
@ barys1
barycentre in sampling 1 calculated in 3 strips
Definition: EgammaEnums.h:135
CaloCellContainer.h
CaloCellContainer
Container class for CaloCell.
Definition: CaloCellContainer.h:55
EMShowerBuilder::m_ShowerShapeTool
ToolHandle< IegammaShowerShape > m_ShowerShapeTool
Tool for shower shape calculation.
Definition: EMShowerBuilder.h:108
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::EgammaParameters::e255
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
Definition: EgammaEnums.h:74
xAOD::EgammaParameters::e337
@ e337
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:89
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::EgammaParameters::r33over37allcalo
@ r33over37allcalo
1-ratio of energy in 3x3 over 3x7 cells; E(3x3) = E0(1x1) + E1(3x1) + E2(3x3) + E3(3x3); E(3x7) = E0(...
Definition: EgammaEnums.h:149
IegammaShowerShape.h
EMShowerBuilder.h
xAOD::EgammaParameters::e277
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
Definition: EgammaEnums.h:80
xAOD::EgammaParameters::widths1
@ widths1
same as egammaParameters::weta1 but without corrections on particle impact point inside the cell
Definition: EgammaEnums.h:114
IegammaIso::Info
Definition: IegammaIso.h:39
IegammaIso.h
xAOD::EgammaParameters::weta1
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
Definition: EgammaEnums.h:97
xAOD::EgammaParameters::e132
@ e132
uncalibrated energy (sum of cells) in strips in a 3x2 window in cells in eta X phi
Definition: EgammaEnums.h:36
xAOD::EgammaParameters::Eratio
@ Eratio
(emaxs1-e2tsts1)/(emaxs1+e2tsts1)
Definition: EgammaEnums.h:158
xAOD::EgammaParameters::e237
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:77
ReadHandle.h
Handle class for reading from StoreGate.
AthAlgTool
Definition: AthAlgTool.h:26
EMShowerBuilder::finalize
virtual StatusCode finalize() override
finalize method
Definition: EMShowerBuilder.cxx:67
xAOD::EgammaParameters::f3core
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
Definition: EgammaEnums.h:65
xAOD::EgammaParameters::e2tsts1
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
Definition: EgammaEnums.h:108
xAOD::EgammaParameters::Rhad
@ Rhad
ethad/et
Definition: EgammaEnums.h:160
xAOD::EgammaParameters::widths2
@ widths2
same as egammaParameters::weta2 but without corrections on particle impact point inside the cell
Definition: EgammaEnums.h:117
xAOD::EgammaParameters::DeltaE
@ DeltaE
e2tsts1-emins1
Definition: EgammaEnums.h:164
xAOD::EgammaParameters::e335
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:86
xAOD::EgammaParameters::emaxs1
@ emaxs1
energy of strip with maximal energy deposit
Definition: EgammaEnums.h:145
EMShowerBuilder::initialize
virtual StatusCode initialize() override final
initialize method
Definition: EMShowerBuilder.cxx:36
xAOD::EgammaParameters::fracs1
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
Definition: EgammaEnums.h:111
xAOD::EgammaParameters::pos
@ pos
difference between shower cell and predicted track in +/- 1 cells
Definition: EgammaEnums.h:125
xAOD::EgammaParameters::weta2
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
Definition: EgammaEnums.h:103