ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
EMShowerBuilder Class Referencefinal

#include <EMShowerBuilder.h>

Inheritance diagram for EMShowerBuilder:
Collaboration diagram for EMShowerBuilder:

Public Member Functions

 EMShowerBuilder (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor. More...
 
 ~EMShowerBuilder ()=default
 Destructor. More...
 
virtual StatusCode initialize () override final
 initialize method More...
 
virtual StatusCode execute (const EventContext &ctx, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
 standard execute method More...
 
virtual StatusCode executeWithCells (const CaloCellContainer *cellcoll, const CaloDetDescrManager &cmgr, xAOD::Egamma *) const override final
 @Execute passing the cells explicitly More...
 
virtual StatusCode finalize () override
 finalize method More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

template<typename T >
StatusCode RetrieveTool (ToolHandle< T > &tool, bool tool_requested)
 Wraps tool retrival to ensure it is has a name. More...
 
StatusCode CalcShowerShape (xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const CaloCellContainer *cellcoll) const
 calculate shower shapes More...
 
StatusCode CalcHadronicLeakage (xAOD::Egamma *eg, const CaloDetDescrManager &cmgr, const xAOD::CaloCluster *clus, const CaloCellContainer *cellcoll) const
 calculate Hadronic leakage More...
 
StatusCode FillEMShowerShape (xAOD::Egamma *eg, const IegammaShowerShape::Info &info) const
 fill shower detail from shower shape calculation More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadHandleKey< CaloCellContainerm_cellsKey
 Cell container. More...
 
Gaudi::Property< std::vector< int > > m_caloNums
 Obsolete enum on the layers to use for the HadLeakage variables. More...
 
ToolHandle< IegammaShowerShapem_ShowerShapeTool
 Tool for shower shape calculation. More...
 
ToolHandle< IegammaIsom_HadronicLeakageTool
 Tool for hadronic leakage calculation. More...
 
Gaudi::Property< bool > m_Print
 boolean to print results More...
 
Gaudi::Property< bool > m_UseShowerShapeTool
 Boolean to call shower shape calculation and filling (NB: this could be important when redoing calculation from AODs) More...
 
Gaudi::Property< bool > m_UseCaloIsoTool
 Boolean to call calo isolation variables calculation and filling (NB: this could be important when redoing calculation from AODs) More...
 
Gaudi::Property< bool > m_isCosmics
 boolean to know if we are looking at cosmic data More...
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

EMShower data object builder :

Author
H. Ma
F. Derue

Definition at line 51 of file EMShowerBuilder.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ EMShowerBuilder()

EMShowerBuilder::EMShowerBuilder ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Default constructor.

Definition at line 25 of file EMShowerBuilder.cxx.

29 {
30  // declare interface
31  declareInterface<IEMShowerBuilder>(this);
32 }

◆ ~EMShowerBuilder()

EMShowerBuilder::~EMShowerBuilder ( )
default

Destructor.

Member Function Documentation

◆ CalcHadronicLeakage()

StatusCode EMShowerBuilder::CalcHadronicLeakage ( xAOD::Egamma eg,
const CaloDetDescrManager cmgr,
const xAOD::CaloCluster clus,
const CaloCellContainer cellcoll 
) const
private

calculate Hadronic leakage

ethad/et

for OQ, augmented after with egammaOQFlagsBuilder

Definition at line 141 of file EMShowerBuilder.cxx.

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 }

◆ CalcShowerShape()

StatusCode EMShowerBuilder::CalcShowerShape ( xAOD::Egamma eg,
const CaloDetDescrManager cmgr,
const CaloCellContainer cellcoll 
) const
private

calculate shower shapes

Definition at line 102 of file EMShowerBuilder.cxx.

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 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode EMShowerBuilder::execute ( const EventContext &  ctx,
const CaloDetDescrManager cmgr,
xAOD::Egamma eg 
) const
finaloverridevirtual

standard execute method

Implements IEMShowerBuilder.

Definition at line 73 of file EMShowerBuilder.cxx.

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 }

◆ executeWithCells()

StatusCode EMShowerBuilder::executeWithCells ( const CaloCellContainer cellcoll,
const CaloDetDescrManager cmgr,
xAOD::Egamma  
) const
finaloverridevirtual

@Execute passing the cells explicitly

Implements IEMShowerBuilder.

Definition at line 93 of file EMShowerBuilder.cxx.

96 {
97  ATH_CHECK(CalcShowerShape(eg, cmgr, cellcoll));
98  return StatusCode::SUCCESS;
99 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ FillEMShowerShape()

StatusCode EMShowerBuilder::FillEMShowerShape ( xAOD::Egamma eg,
const IegammaShowerShape::Info info 
) const
private

fill shower detail from shower shape calculation

e237/e277

e233/e237

(emaxs1-e2tsts1)/(emaxs1+e2tsts1)

Definition at line 190 of file EMShowerBuilder.cxx.

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 }

◆ finalize()

StatusCode EMShowerBuilder::finalize ( )
overridevirtual

finalize method

Implements IEMShowerBuilder.

Definition at line 67 of file EMShowerBuilder.cxx.

68 {
69  return StatusCode::SUCCESS;
70 }

◆ initialize()

StatusCode EMShowerBuilder::initialize ( )
finaloverridevirtual

initialize method

Implements IEMShowerBuilder.

Definition at line 36 of file EMShowerBuilder.cxx.

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 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & IEMShowerBuilder::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 56 of file IEMShowerBuilder.h.

56  {
57  return IID_IEMShowerBuilder;
58 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ RetrieveTool()

template<typename T >
StatusCode EMShowerBuilder::RetrieveTool ( ToolHandle< T > &  tool,
bool  tool_requested 
)
private

Wraps tool retrival to ensure it is has a name.

Definition at line 52 of file EMShowerBuilder.cxx.

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 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_caloNums

Gaudi::Property<std::vector<int> > EMShowerBuilder::m_caloNums
private
Initial value:
{ this,
"CaloNums",
{},
"list of calo to treat" }

Obsolete enum on the layers to use for the HadLeakage variables.

Definition at line 102 of file EMShowerBuilder.h.

◆ m_cellsKey

SG::ReadHandleKey<CaloCellContainer> EMShowerBuilder::m_cellsKey
private
Initial value:
{
this,
"CellsName",
"AllCalo",
"Names of containers which contain cells"
}

Cell container.

Definition at line 94 of file EMShowerBuilder.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_HadronicLeakageTool

ToolHandle<IegammaIso> EMShowerBuilder::m_HadronicLeakageTool
private
Initial value:
{
this,
"HadronicLeakageTool",
"egammaIso",
"Handle of the EMCaloIsolationTool for Hadronic leakage"
}

Tool for hadronic leakage calculation.

Definition at line 116 of file EMShowerBuilder.h.

◆ m_isCosmics

Gaudi::Property<bool> EMShowerBuilder::m_isCosmics
private
Initial value:
{ this,
"isCosmics",
false,
"Boolean for use of cosmics" }

boolean to know if we are looking at cosmic data

Definition at line 148 of file EMShowerBuilder.h.

◆ m_Print

Gaudi::Property<bool> EMShowerBuilder::m_Print
private
Initial value:
{ this,
"Print",
false,
"in case of extra prints" }

boolean to print results

Definition at line 124 of file EMShowerBuilder.h.

◆ m_ShowerShapeTool

ToolHandle<IegammaShowerShape> EMShowerBuilder::m_ShowerShapeTool
private
Initial value:
{
this,
"ShowerShapeTool",
"egammaShowerShape/egammashowershape",
"Handle of instance of egammaShowerShape Tool to be run"
}

Tool for shower shape calculation.

Definition at line 108 of file EMShowerBuilder.h.

◆ m_UseCaloIsoTool

Gaudi::Property<bool> EMShowerBuilder::m_UseCaloIsoTool
private
Initial value:
{
this,
"UseCaloIsoTool",
true,
"Boolean to call hadronic leakage calculation and filling"
}

Boolean to call calo isolation variables calculation and filling (NB: this could be important when redoing calculation from AODs)

Definition at line 140 of file EMShowerBuilder.h.

◆ m_UseShowerShapeTool

Gaudi::Property<bool> EMShowerBuilder::m_UseShowerShapeTool
private
Initial value:
{
this,
"UseShowerShapeTool",
true,
"Boolean to call shower shape calculation and filling"
}

Boolean to call shower shape calculation and filling (NB: this could be important when redoing calculation from AODs)

Definition at line 131 of file EMShowerBuilder.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
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
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
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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
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
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::EgammaParameters::e235
@ e235
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:71
xAOD::EgammaParameters::ecore
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
Definition: EgammaEnums.h:152
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
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::EgammaParameters::Rphi
@ Rphi
e233/e237
Definition: EgammaEnums.h:156
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
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
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
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
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
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
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
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
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
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
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
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
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
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
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
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
EMShowerBuilder::m_ShowerShapeTool
ToolHandle< IegammaShowerShape > m_ShowerShapeTool
Tool for shower shape calculation.
Definition: EMShowerBuilder.h:108
a
TList * a
Definition: liststreamerinfos.cxx:10
h
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
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
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
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
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
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
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::EgammaParameters::emaxs1
@ emaxs1
energy of strip with maximal energy deposit
Definition: EgammaEnums.h:145
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
fitman.k
k
Definition: fitman.py:528
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