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

@ More...

#include <egammaShowerShape.h>

Inheritance diagram for egammaShowerShape:
Collaboration diagram for egammaShowerShape:

Public Member Functions

 egammaShowerShape (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor. More...
 
 ~egammaShowerShape ()=default
 Destructor. More...
 
StatusCode initialize () override
 AlgTool initialize method. More...
 
StatusCode finalize () override
 AlgTool finalize method. More...
 
virtual StatusCode execute (const xAOD::CaloCluster &cluster, const CaloDetDescrManager &cmgr, const CaloCellContainer &cell_container, Info &info) const override final
 AlgTool main 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

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

Gaudi::Property< bool > m_ExecAllVariables
 boolean to calculate all variables More...
 
Gaudi::Property< bool > m_ExecPreSampler
 boolean to calculate variables for presempler More...
 
Gaudi::Property< bool > m_ExecEMFirst
 boolean to calculate variables for 1st sampling More...
 
Gaudi::Property< bool > m_ExecEMSecond
 boolean to calculate variables for 2nd sampling More...
 
Gaudi::Property< bool > m_ExecEMThird
 boolean to calculate variables for 3rd sampling More...
 
Gaudi::Property< bool > m_ExecEMCombined
 boolean to calculate combined variables 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

@

EM cluster shower shape calculations. Calculate the width in the strip layer around the eta,phi of the hottest cell in the middle layer.

Author
Frederic Derue derue.nosp@m.@lpn.nosp@m.he.in.nosp@m.2p3..nosp@m.fr
Christos Anastopoulos

$Revision:$

Date
2014-02-11 17:40:48 +0100 (Tue, 11 Feb 2014)

Definition at line 35 of file egammaShowerShape.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

◆ egammaShowerShape()

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

Default constructor.

Definition at line 9 of file egammaShowerShape.cxx.

12  : AthAlgTool(type, name, parent){
13  // declare Interface
14  declareInterface<IegammaShowerShape>(this);
15  }

◆ ~egammaShowerShape()

egammaShowerShape::~egammaShowerShape ( )
default

Destructor.

Member Function Documentation

◆ 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 egammaShowerShape::execute ( const xAOD::CaloCluster cluster,
const CaloDetDescrManager cmgr,
const CaloCellContainer cell_container,
Info info 
) const
finaloverridevirtual

AlgTool main method.

Implements IegammaShowerShape.

Definition at line 26 of file egammaShowerShape.cxx.

29  {
30 
31  // check if cluster is in barrel or in the end-cap
32  if (!cluster.inBarrel() && !cluster.inEndcap()) {
33  ATH_MSG_WARNING(" egammaShowerShape: Cluster is neither in Barrel nor in "
34  "Endcap, cannot calculate ShowerShape ");
35  }
36 
37  egammaPreSamplerShape::Info egammaPreSamplerShapeInfo;
38  egammaStripsShape::Info egammaStripsShapeInfo;
39  egammaMiddleShape::Info egammaMiddleShapeInfo;
40  egammaBackShape::Info egammaBackShapeInfo;
41 
42  // shower shapes in presampler
44  // call execute method
46  cluster, cmgr, cell_container, egammaPreSamplerShapeInfo);
47  if (sc.isFailure()) {
48  ATH_MSG_WARNING("Presampler shape returned failure ");
49  }
50  }
51 
52  // shower shapes in 1st compartment
54  // call the execute method
55  StatusCode sc =
56  egammaStripsShape::execute(cluster, cmgr, egammaStripsShapeInfo);
57  if (sc.isFailure()) {
58  ATH_MSG_WARNING("Strip shape returned failure ");
59  }
60  }
61 
62  // shower shapes in 2nd compartment
64  // call the execute method
66  cluster, cmgr, cell_container, egammaMiddleShapeInfo);
67  if (sc.isFailure()) {
68  ATH_MSG_WARNING("Middle shape returned failure ");
69  }
70  }
71 
72  // shower shapes in 3rd compartment
74  // call execute method
76  cluster, cmgr, cell_container, egammaBackShapeInfo);
77  if (sc.isFailure()) {
78  ATH_MSG_DEBUG("Back shape returned failure ");
79  }
80  }
81  /*
82  * Fill egammaShowerShape object
83  * with values from other tools
84  */
85 
86  // presampler
87  info.e011 = egammaPreSamplerShapeInfo.e011;
88  info.e033 = egammaPreSamplerShapeInfo.e033;
89 
90  // strips
91  info.etot = egammaStripsShapeInfo.etot;
92  info.e1152 = egammaStripsShapeInfo.e1152;
93  info.e132 = egammaStripsShapeInfo.e132;
94  info.emaxs1 = egammaStripsShapeInfo.emaxs1;
95  info.emins1 = egammaStripsShapeInfo.emins1;
96  info.esec = egammaStripsShapeInfo.esec;
97  info.esec1 = egammaStripsShapeInfo.esec1;
98  info.f1 = egammaStripsShapeInfo.f1;
99  info.f1core = egammaStripsShapeInfo.f1core;
100  info.f2 = egammaStripsShapeInfo.f2;
101  info.ncetamax = egammaStripsShapeInfo.ncetamax;
102  info.ncetaseed = egammaStripsShapeInfo.ncetaseed;
103  info.etas3 = egammaStripsShapeInfo.etas3;
104  info.poscs1 = egammaStripsShapeInfo.poscs1;
105  info.deltaEtaTrackShower = egammaStripsShapeInfo.deltaEtaTrackShower;
106  info.deltaEtaTrackShower7 = egammaStripsShapeInfo.deltaEtaTrackShower7;
107  info.wstot = egammaStripsShapeInfo.wstot;
108  info.ws3 = egammaStripsShapeInfo.ws3;
109  info.ws3c = egammaStripsShapeInfo.ws3c;
110  info.widths5 = egammaStripsShapeInfo.widths5;
111  info.asymmetrys3 = egammaStripsShapeInfo.asymmetrys3;
112  info.val = egammaStripsShapeInfo.val;
113  info.fside = egammaStripsShapeInfo.fside;
114  info.success = egammaStripsShapeInfo.success;
115 
116  // middle
117  info.e233 = egammaMiddleShapeInfo.e233;
118  info.e235 = egammaMiddleShapeInfo.e235;
119  info.e255 = egammaMiddleShapeInfo.e255;
120  info.e237 = egammaMiddleShapeInfo.e237;
121  info.e277 = egammaMiddleShapeInfo.e277;
122  info.etaw = egammaMiddleShapeInfo.etaw;
123  info.width = egammaMiddleShapeInfo.width;
124  info.phiw = egammaMiddleShapeInfo.phiw;
125  info.poscs2 = egammaMiddleShapeInfo.poscs2;
126 
127  // back
128  info.e333 = egammaBackShapeInfo.e333;
129  info.e335 = egammaBackShapeInfo.e335;
130  info.e355 = egammaBackShapeInfo.e355;
131  info.e337 = egammaBackShapeInfo.e337;
132  info.e377 = egammaBackShapeInfo.e377;
133  info.f3 = egammaBackShapeInfo.f3;
134  info.f3core = egammaBackShapeInfo.f3core;
135 
136  // shower shapes combined in different samplings
138  /* Shower shapes combining different samplings
139  * all energy values have to be initialised to zero
140  * which is equivalent to have nothing (if it does not exists)
141  * or 0 if there is no deposit
142  */
143 
144  // energy in 3 strips in the 1st sampling
145  double e132 = (info.e132 > -999.) ? info.e132 : 0.;
146 
147  // energy in 1X1 in the presampler
148  double e011 = (info.e011 > -999.) ? info.e011 : 0.;
149  // energy in 3X3 in the presampler
150  double e033 = (info.e033 > -999.) ? info.e033 : 0.;
151  // energy in 15 strips in the 1st sampling
152  double e1152 = (info.e1152 > -999.) ? info.e1152 : 0.;
153  // energy in 3X3 in the 2nd sampling
154  double e233 = (info.e233 > -999.) ? info.e233 : 0.;
155  // energy in 5X5 in the 2nd sampling
156  double e255 = (info.e255 > -999.) ? info.e255 : 0.;
157  // energy in 3X7 in the 2nd sampling
158  double e237 = (info.e237 > -999.) ? info.e237 : 0.;
159  // energy in 3X3 in the 3rd sampling
160  double e333 = (info.e333 > -999.) ? info.e333 : 0.;
161  // energy in 3X5 in the 3rd sampling
162  double e335 = (info.e335 > -999.) ? info.e335 : 0.;
163  // energy in 3X7 in the 3rd sampling
164  double e337 = (info.e337 > -999.) ? info.e337 : 0.;
165 
166  /*energy in core of the shower
167  * 3X3 in the presampler (info.e033)
168  * 15X2 in the strips (info.e1152)
169  * 5X5 in the middle (info.e255)
170  * 3X5 in the back (info.e335)
171  */
172  info.ecore = e033 + e1152 + e255 + e335;
173 
174  /* e 3X3 / e 3X7, the ratio of energies deposited
175  * in a 3X3 and 3X7 clusters. More precisely,
176  * for the 3X3 cluster, sampling by sampling, the cell energies
177  * are summed on the following eta by phi windows
178  * 1X1 in the presampler (info.e011)
179  * 3X2 in the strips (info.e132)
180  * 3X3 in the middle (info.e233)
181  * 3X3 in the back (info.e333)
182  * for the 7X3 cluster, sampling by sampling, the cell energies
183  * are summed on the following eta by phi windows
184  * 3X3 in the presampler (info.e033)
185  * 15X2 in the strips (info.e1152)
186  * 3X7 in the middle (info.e237)
187  * 3X7 in the back (info.e337)
188  */
189  double e33 = e011 + e132 + e233 + e333;
190  double e37 = e033 + e1152 + e237 + e337;
191  info.reta3337_allcalo = fabs(e37) > 0. ? 1. - e33 / e37 : 1.;
192  }
193  return StatusCode::SUCCESS;
194 }

◆ 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

◆ finalize()

StatusCode egammaShowerShape::finalize ( )
override

AlgTool finalize method.

Definition at line 22 of file egammaShowerShape.cxx.

22  {
23  return StatusCode::SUCCESS;
24 }

◆ initialize()

StatusCode egammaShowerShape::initialize ( )
override

AlgTool initialize method.

Definition at line 17 of file egammaShowerShape.cxx.

17  {
18  ATH_MSG_DEBUG(" Initializing egammaShowerShape");
19  return StatusCode::SUCCESS;
20 }

◆ 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 & IegammaShowerShape::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 113 of file IegammaShowerShape.h.

114 {
115  return IID_IegammaShowerShape;
116 }

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

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

Gaudi::Property<bool> egammaShowerShape::m_ExecAllVariables
private
Initial value:
{this,
"ExecAllVariables", true, "flag used by trigger"}

boolean to calculate all variables

Definition at line 60 of file egammaShowerShape.h.

◆ m_ExecEMCombined

Gaudi::Property<bool> egammaShowerShape::m_ExecEMCombined
private
Initial value:
{this,
"ExecEMCombined", true,
"Calculate EM variables combining all samplings"}

boolean to calculate combined variables

Definition at line 80 of file egammaShowerShape.h.

◆ m_ExecEMFirst

Gaudi::Property<bool> egammaShowerShape::m_ExecEMFirst
private
Initial value:
{this,
"ExecEMFirst", true, "Calculate EM 1st sampling variables"}

boolean to calculate variables for 1st sampling

Definition at line 68 of file egammaShowerShape.h.

◆ m_ExecEMSecond

Gaudi::Property<bool> egammaShowerShape::m_ExecEMSecond
private
Initial value:
{this,
"ExecEMSecond", true, "Calculate EM 2nd sampling variables"}

boolean to calculate variables for 2nd sampling

Definition at line 72 of file egammaShowerShape.h.

◆ m_ExecEMThird

Gaudi::Property<bool> egammaShowerShape::m_ExecEMThird
private
Initial value:
{this,
"ExecEMThird", true, "Calculate EM 3rd sampling variables"}

boolean to calculate variables for 3rd sampling

Definition at line 76 of file egammaShowerShape.h.

◆ m_ExecPreSampler

Gaudi::Property<bool> egammaShowerShape::m_ExecPreSampler
private
Initial value:
{this,
"ExecPreSampler", true, "Calculate EM presampler variables"}

boolean to calculate variables for presempler

Definition at line 64 of file egammaShowerShape.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::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
egammaShowerShape::m_ExecEMThird
Gaudi::Property< bool > m_ExecEMThird
boolean to calculate variables for 3rd sampling
Definition: egammaShowerShape.h:76
egammaStripsShape::Info::ncetamax
int ncetamax
Definition: egammaStripsShape.h:56
egammaPreSamplerShape::Info::e011
double e011
Definition: egammaPreSamplerShape.h:26
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
egammaShowerShape::m_ExecEMFirst
Gaudi::Property< bool > m_ExecEMFirst
boolean to calculate variables for 1st sampling
Definition: egammaShowerShape.h:68
egammaStripsShape::Info::success
bool success
Definition: egammaStripsShape.h:58
egammaMiddleShape::Info::e237
double e237
Definition: egammaMiddleShape.h:33
egammaPreSamplerShape::Info::e033
double e033
Definition: egammaPreSamplerShape.h:27
egammaStripsShape::Info::ncetaseed
int ncetaseed
Definition: egammaStripsShape.h:57
egammaStripsShape::Info::fside
double fside
Definition: egammaStripsShape.h:52
egammaPreSamplerShape::Info
Definition: egammaPreSamplerShape.h:25
egammaBackShape::Info::e355
double e355
Definition: egammaBackShape.h:35
egammaStripsShape::Info::etot
double etot
Definition: egammaStripsShape.h:35
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
egammaBackShape::Info::e335
double e335
Definition: egammaBackShape.h:34
egammaStripsShape::Info::esec1
double esec1
Definition: egammaStripsShape.h:55
egammaStripsShape::Info::widths5
double widths5
Definition: egammaStripsShape.h:49
egammaBackShape::Info::e337
double e337
Definition: egammaBackShape.h:36
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
egammaMiddleShape::Info::width
double width
Definition: egammaMiddleShape.h:38
egammaMiddleShape::Info::phiw
double phiw
Definition: egammaMiddleShape.h:37
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
egammaBackShape::execute
static StatusCode execute(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &cmgr, const CaloCellContainer &cell_container, Info &info, bool ExecOtherVariables=true)
Definition: egammaBackShape.cxx:14
egammaShowerShape::m_ExecPreSampler
Gaudi::Property< bool > m_ExecPreSampler
boolean to calculate variables for presempler
Definition: egammaShowerShape.h:64
egammaShowerShape::m_ExecEMSecond
Gaudi::Property< bool > m_ExecEMSecond
boolean to calculate variables for 2nd sampling
Definition: egammaShowerShape.h:72
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
egammaStripsShape::Info::deltaEtaTrackShower
double deltaEtaTrackShower
Definition: egammaStripsShape.h:37
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::e1152
@ e1152
uncalibrated energy (sum of cells) in strips in a 15x2 window in cells in eta X phi
Definition: EgammaEnums.h:39
egammaBackShape::Info
Definition: egammaBackShape.h:30
egammaStripsShape::Info::deltaEtaTrackShower7
double deltaEtaTrackShower7
Definition: egammaStripsShape.h:38
xAOD::CaloCluster_v1::inEndcap
bool inEndcap() const
Returns true if at least one clustered cell in the endcap.
Definition: CaloCluster_v1.h:901
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
egammaMiddleShape::Info::e277
double e277
Definition: egammaMiddleShape.h:35
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
egammaMiddleShape::Info::etaw
double etaw
Definition: egammaMiddleShape.h:36
egammaMiddleShape::Info::poscs2
double poscs2
Definition: egammaMiddleShape.h:39
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
xAOD::CaloCluster_v1::inBarrel
bool inBarrel() const
Returns true if at least one clustered cell in the barrel.
Definition: CaloCluster_v1.h:896
test_pyathena.parent
parent
Definition: test_pyathena.py:15
egammaShowerShape::m_ExecAllVariables
Gaudi::Property< bool > m_ExecAllVariables
boolean to calculate all variables
Definition: egammaShowerShape.h:60
egammaBackShape::Info::e333
double e333
Definition: egammaBackShape.h:33
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
egammaStripsShape::Info::e132
double e132
Definition: egammaStripsShape.h:39
egammaMiddleShape::Info::e235
double e235
Definition: egammaMiddleShape.h:32
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
egammaBackShape::Info::e377
double e377
Definition: egammaBackShape.h:37
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
egammaShowerShape::m_ExecEMCombined
Gaudi::Property< bool > m_ExecEMCombined
boolean to calculate combined variables
Definition: egammaShowerShape.h:80
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
egammaStripsShape::execute
static StatusCode execute(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &cmgr, Info &info, bool ExecAllVariables=true)
AlgTool main method.
Definition: egammaStripsShape.cxx:702
egammaStripsShape::Info::etas3
double etas3
Definition: egammaStripsShape.h:36
egammaStripsShape::Info::wstot
double wstot
Definition: egammaStripsShape.h:34
egammaStripsShape::Info::e1152
double e1152
Definition: egammaStripsShape.h:40
egammaBackShape::Info::f3
double f3
Definition: egammaBackShape.h:31
a
TList * a
Definition: liststreamerinfos.cxx:10
egammaMiddleShape::Info
Definition: egammaMiddleShape.h:30
h
egammaStripsShape::Info::val
double val
Definition: egammaStripsShape.h:51
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
egammaMiddleShape::Info::e233
double e233
Definition: egammaMiddleShape.h:31
xAOD::EgammaParameters::e255
@ e255
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 5x5
Definition: EgammaEnums.h:74
egammaStripsShape::Info::esec
double esec
Definition: egammaStripsShape.h:50
egammaStripsShape::Info::emins1
double emins1
Definition: egammaStripsShape.h:54
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
egammaStripsShape::Info::poscs1
double poscs1
Definition: egammaStripsShape.h:43
egammaStripsShape::Info
Definition: egammaStripsShape.h:29
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
egammaMiddleShape::Info::e255
double e255
Definition: egammaMiddleShape.h:34
egammaPreSamplerShape::execute
static StatusCode execute(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &cmgr, const CaloCellContainer &cell_container, Info &info)
Definition: egammaPreSamplerShape.cxx:13
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
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::e237
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
Definition: EgammaEnums.h:77
egammaBackShape::Info::f3core
double f3core
Definition: egammaBackShape.h:32
egammaStripsShape::Info::emaxs1
double emaxs1
Definition: egammaStripsShape.h:53
xAOD::EgammaParameters::e335
@ e335
uncalibrated energy (sum of cells) of the third sampling in a rectangle of size 3x5
Definition: EgammaEnums.h:86
egammaStripsShape::Info::ws3
double ws3
Definition: egammaStripsShape.h:41
egammaStripsShape::Info::asymmetrys3
double asymmetrys3
Definition: egammaStripsShape.h:45
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
egammaMiddleShape::execute
static StatusCode execute(const xAOD::CaloCluster &cluster, const CaloDetDescrManager &cmgr, const CaloCellContainer &cell_container, Info &info, bool doRetaOnly=false)
Definition: egammaMiddleShape.cxx:17
egammaStripsShape::Info::f1core
double f1core
Definition: egammaStripsShape.h:47
egammaStripsShape::Info::f1
double f1
Definition: egammaStripsShape.h:46
egammaStripsShape::Info::f2
double f2
Definition: egammaStripsShape.h:48
fitman.k
k
Definition: fitman.py:528
egammaStripsShape::Info::ws3c
double ws3c
Definition: egammaStripsShape.h:42