ATLAS Offline Software
Loading...
Searching...
No Matches
CaloDepthTool Class Reference

Implementation of the ICaloDepthTool interface.Given a Track direction, checks if it is in the Calorimeter acceptance and provides various radii to be compared/used in the extrapolation. More...

#include <CaloDepthTool.h>

Inheritance diagram for CaloDepthTool:
Collaboration diagram for CaloDepthTool:

Public Types

enum class  DepthChoice {
  egparam , cscopt , cscopt2 , TBparam ,
  entrance , middle , flat
}

Public Member Functions

 CaloDepthTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
virtual ~CaloDepthTool ()
 Destructor.
virtual StatusCode initialize () override
 Tool Initialize.
virtual StatusCode finalize () override
 Tool Finalize.
double radius (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD) const
 get radius
double radius (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD) const
 get radius
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Query interface.
static double deta (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const CaloDetDescrManager *caloDD)
 How far are you (in eta) from a given sample or - if you are in - how far are you from the edge ?
static double deta (const CaloCell_ID::CaloSample sample, const double eta, const CaloDetDescrManager *caloDD)
 How far are you (in eta) from a given sample or - if you are in - how far are you from the edge ?
static double entrance (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the entrance of the given CaloCell_ID::CaloSample.
static double entrance (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the entrance of the given CaloCell_ID::CaloSample.
static double middle (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the middle of the given CaloCell_ID::CaloSample.
static double middle (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the middle of the given CaloCell_ID::CaloSample.
static double exit (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the exit of the given CaloCell_ID::CaloSample.
static double exit (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 For a given direction, return the exit of the given CaloCell_ID::CaloSample.
static double flat (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const int side, const CaloDetDescrManager *caloDD)
 If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).
static double flat (const CaloCell_ID::CaloSample sample, const int side, const CaloDetDescrManager *caloDD)
 If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).
static double depth (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const int side, const CaloDetDescrManager *caloDD)
 If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).
static double depth (const CaloCell_ID::CaloSample sample, const int side, const CaloDetDescrManager *caloDD)
 If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).
static double get_entrance_radius (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its entrance radius
static double get_entrance_z (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its entrance z
static double cscopt2_parametrized (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Same as cscopt with the outermost EMB2 point excluded.

Protected Member Functions

 CaloDepthTool ()
 CaloDepthTool (const CaloDepthTool &)
CaloDepthTooloperator= (const CaloDepthTool &)
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Static Private Member Functions

static double egparametrized (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Methods taken from the old egammaqdepth class : return the parametrised depth used in DC1 and DC2.
static double egparametrized (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Methods taken from the old egammaqdepth class : return the parametrised depth used in DC1 and DC2.
static double TBparametrized (const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Parametrisation taken from the old egammaqdepth class, but adapted for TestBeam.
static double TBparametrized (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Parametrisation taken from the old egammaqdepth class, but adapted for TestBeam.
static double cscopt_parametrized (const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
 Layers 1 and 2 depths set to give the best eta resolution.
static double get_middle_radius (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its middle radius
static double get_middle_z (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its middle z
static double get_exit_radius (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its middle radius
static double get_exit_z (CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
 will look for the corresponding CaloDetDescrElement and return its middle z

Private Attributes

Gaudi::Property< std::string > m_depth_choice { this, "DepthChoice", "", "depth choice" }
 Depth choice related code User passes a string but we convert to an enum at init to avoid string comparisons.
DepthChoice m_depthChoice = DepthChoice::entrance
const CaloCell_IDm_calo_id
 ID Helper.
CaloPhiRange m_range
 Phi range helper object.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Implementation of the ICaloDepthTool interface.Given a Track direction, checks if it is in the Calorimeter acceptance and provides various radii to be compared/used in the extrapolation.

This tool extends the functionality of the old egammaUtils/egammaqdepth class

In all the methods, radius stands for r in the (cylindric) barrel, for z in the (disk) endcap.

The generic method radius() uses the default choosen by joboption, and if the result is 0 because the eta/phi direction is outside the Sample acceptance, returns the egparametrised depth as backup solution.

Definition at line 45 of file CaloDepthTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ DepthChoice

enum class CaloDepthTool::DepthChoice
strong
Enumerator
egparam 
cscopt 
cscopt2 
TBparam 
entrance 
middle 
flat 

Definition at line 238 of file CaloDepthTool.h.

239 {
240 egparam,
241 cscopt,
242 cscopt2,
243 TBparam,
244 entrance,
245 middle,
246 flat
247 };

Constructor & Destructor Documentation

◆ CaloDepthTool() [1/3]

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

Standard constructor.

Definition at line 49 of file CaloDepthTool.cxx.

52 : AthAlgTool(type, name, parent)
53 , m_calo_id(nullptr)
54{
55 declareInterface<CaloDepthTool>(this);
56}
AthAlgTool()
Default constructor:
const CaloCell_ID * m_calo_id
ID Helper.

◆ ~CaloDepthTool()

CaloDepthTool::~CaloDepthTool ( )
virtualdefault

Destructor.

◆ CaloDepthTool() [2/3]

CaloDepthTool::CaloDepthTool ( )
protected

◆ CaloDepthTool() [3/3]

CaloDepthTool::CaloDepthTool ( const CaloDepthTool & )
protected

Member Function Documentation

◆ cscopt2_parametrized()

double CaloDepthTool::cscopt2_parametrized ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

Same as cscopt with the outermost EMB2 point excluded.

This improves the fit. From CSC12 E=100 GeV photons.

Definition at line 323 of file CaloDepthTool.cxx.

327{
328 double radius = s_default;
329
330 float aeta = static_cast<float>(std::abs(eta));
331
332 if (sample == CaloCell_ID::PreSamplerB) {
333 radius = 1422.3 * Gaudi::Units::millimeter;
334 } else if (sample == CaloCell_ID::EMB1) {
335 if (aeta < 0.8)
336 radius = (1558.859292 - 4.990838 * aeta - 21.144279 * aeta * aeta) *
337 Gaudi::Units::millimeter;
338 else
339 radius = (1522.775373 + 27.970192 * aeta - 21.104108 * aeta * aeta) *
340 Gaudi::Units::millimeter;
341 } else if (sample == CaloCell_ID::EMB2) {
342 radius = (1698.990944 - 49.431767 * aeta - 24.504976 * aeta * aeta) *
343 Gaudi::Units::millimeter;
344 } else if (sample == CaloCell_ID::EMB3) {
345 if (aeta < 0.8)
346 radius = (1833.88 - 106.25 * aeta) * Gaudi::Units::millimeter;
347 else
348 radius = (2038.40 - 286. * aeta) * Gaudi::Units::millimeter;
349 }
350
351 else if (sample == CaloCell_ID::PreSamplerE) {
352 radius = 3600. * Gaudi::Units::millimeter;
353 if (eta < 0.)
354 radius = -radius;
355 } else if (sample == CaloCell_ID::EME1) {
356 if (aeta < 1.5)
357 radius = (12453.297448 - 5735.787116 * aeta) * Gaudi::Units::millimeter;
358 else
359 radius = 3790.671754 * Gaudi::Units::millimeter;
360 if (eta < 0.)
361 radius = -radius;
362 } else if (sample == CaloCell_ID::EME2) {
363 if (aeta < 1.5)
364 radius = (8027.574119 - 2717.653528 * aeta) * Gaudi::Units::millimeter;
365 else
366 radius = (3473.473909 + 453.941515 * aeta - 119.101945 * aeta * aeta) *
367 Gaudi::Units::millimeter;
368 if (eta < 0.)
369 radius = -radius;
370 } else if (sample == CaloCell_ID::EME3) {
371 radius = 4150. * Gaudi::Units::millimeter;
372 if (eta < 0.)
373 radius = -radius;
374 }
375
376 // This was not in the egamma parametrization,
377 // but it does not cost much to add it :
378 else {
379 if (eta > 0.)
380 radius = flat(sample, 1, caloDD);
381 else
382 radius = flat(sample, -1, caloDD);
383 }
384
385 return radius;
386}
Scalar eta() const
pseudorapidity method
double radius(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD) const
get radius

◆ cscopt_parametrized()

double CaloDepthTool::cscopt_parametrized ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
staticprivate

Layers 1 and 2 depths set to give the best eta resolution.

From CSC12 E=100 GeV photons.

Definition at line 253 of file CaloDepthTool.cxx.

257{
258 double radius = s_default;
259
260 float aeta = static_cast<float>(std::abs(eta));
261
262 if (sample == CaloCell_ID::PreSamplerB) {
263 radius = 1422.3 * Gaudi::Units::millimeter;
264 } else if (sample == CaloCell_ID::EMB1) {
265 if (aeta < 0.8)
266 radius = (1558.859292 - 4.990838 * aeta - 21.144279 * aeta * aeta) *
267 Gaudi::Units::millimeter;
268 else
269 radius = (1522.775373 + 27.970192 * aeta - 21.104108 * aeta * aeta) *
270 Gaudi::Units::millimeter;
271 } else if (sample == CaloCell_ID::EMB2) {
272 radius = (1689.621619 + 2.682993 * aeta - 70.165741 * aeta * aeta) *
273 Gaudi::Units::millimeter;
274 } else if (sample == CaloCell_ID::EMB3) {
275 if (aeta < 0.8)
276 radius = (1833.88 - 106.25 * aeta) * Gaudi::Units::millimeter;
277 else
278 radius = (2038.40 - 286. * aeta) * Gaudi::Units::millimeter;
279 }
280
281 else if (sample == CaloCell_ID::PreSamplerE) {
282 radius = 3600. * Gaudi::Units::millimeter;
283 if (eta < 0.)
284 radius = -radius;
285 } else if (sample == CaloCell_ID::EME1) {
286 if (aeta < 1.5)
287 radius = (12453.297448 - 5735.787116 * aeta) * Gaudi::Units::millimeter;
288 else
289 radius = 3790.671754 * Gaudi::Units::millimeter;
290 if (eta < 0.)
291 radius = -radius;
292 } else if (sample == CaloCell_ID::EME2) {
293 if (aeta < 1.5)
294 radius = (8027.574119 - 2717.653528 * aeta) * Gaudi::Units::millimeter;
295 else
296 radius = (3473.473909 + 453.941515 * aeta - 119.101945 * aeta * aeta) *
297 Gaudi::Units::millimeter;
298 if (eta < 0.)
299 radius = -radius;
300 } else if (sample == CaloCell_ID::EME3) {
301 radius = 4150. * Gaudi::Units::millimeter;
302 if (eta < 0.)
303 radius = -radius;
304 }
305
306 // This was not in the egamma parametrization,
307 // but it does not cost much to add it :
308 else {
309 if (eta > 0.)
310 radius = flat(sample, 1, caloDD);
311 else
312 radius = flat(sample, -1, caloDD);
313 }
314
315 return radius;
316}

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

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

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ depth() [1/2]

double CaloDepthTool::depth ( const CaloCell_ID::CaloSample sample,
const int side,
const CaloDetDescrManager * caloDD )
static

If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).

Definition at line 618 of file CaloDepthTool.cxx.

621{
622 // FIXME : tiles is hardcoded !!!
623 double radius = 1970.;
624
625 if (sample == CaloCell_ID::TileBar0)
626 return false;
627 if (sample == CaloCell_ID::TileBar1)
628 return false;
629 if (sample == CaloCell_ID::TileBar2)
630 return false;
631 if (sample == CaloCell_ID::TileGap1)
632 return false;
633 if (sample == CaloCell_ID::TileGap2)
634 return false;
635 if (sample == CaloCell_ID::TileExt0)
636 return false;
637 if (sample == CaloCell_ID::TileExt1)
638 return false;
639 if (sample == CaloCell_ID::TileExt2)
640 return false;
641
642 radius = s_default;
643
644 for (const CaloDetDescriptor* reg : caloDD->calo_descriptors_range()) {
645 if (reg) {
646 if (reg->getSampling(0) == sample && reg->calo_sign() * side > 0) {
647 std::vector<double> depth;
648 reg->get_depth_out(depth);
649 for (unsigned int j = 0; j < depth.size(); j++)
650 if (radius > depth[j])
651 radius = depth[j];
652 }
653 }
654 }
655
656 return radius;
657}
static double depth(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const int side, const CaloDetDescrManager *caloDD)
If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).
calo_descr_range calo_descriptors_range() const
Range over descriptors.

◆ depth() [2/2]

double CaloDepthTool::depth ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const int side,
const CaloDetDescrManager * caloDD )
static

If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).

Definition at line 605 of file CaloDepthTool.cxx.

610{
613 subcalo, barrel, sampling_or_module, sample);
614 return depth(sample, side, caloDD);
615}
CaloSampling::CaloSample CaloSample
Definition CaloCell_ID.h:53
static void build_sample(CaloCell_ID::SUBCALO subCalo, bool barrel, int sampling_or_module, CaloCell_ID::CaloSample &sample)
translate between the 2 ways to label a sub-detector:
std::string depth
tag string for intendation
Definition fastadd.cxx:46

◆ deta() [1/2]

double CaloDepthTool::deta ( const CaloCell_ID::CaloSample sample,
const double eta,
const CaloDetDescrManager * caloDD )
static

How far are you (in eta) from a given sample or - if you are in - how far are you from the edge ?

This method will return the distance to the closest edge. If you are outside the sample volume, it will always be a positive number. If you are inside the sample volume, the distance will be multiplied by -1 : i.e.always a negative number.

Definition at line 155 of file CaloDepthTool.cxx.

158{
159 double deta = 99999.;
160 /*bool result =*/caloDD->is_in(eta, 0., sample, deta);
161 return deta;
162}
static double deta(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const CaloDetDescrManager *caloDD)
How far are you (in eta) from a given sample or - if you are in - how far are you from the edge ?
bool is_in(double eta, double phi, CaloCell_ID::CaloSample sample, double &etadist) const
return true if direction eta,phi crosses ANY of the corresponding descriptors

◆ deta() [2/2]

double CaloDepthTool::deta ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const CaloDetDescrManager * caloDD )
static

How far are you (in eta) from a given sample or - if you are in - how far are you from the edge ?

This method will return the distance to the closest edge. If you are outside the sample volume, it will always be a positive number. If you are inside the sample volume, the distance will be multiplied by -1 : i.e.always a negative number.

Definition at line 142 of file CaloDepthTool.cxx.

147{
150 subcalo, barrel, sampling_or_module, sample);
151 return deta(sample, eta, caloDD);
152}

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

◆ egparametrized() [1/2]

double CaloDepthTool::egparametrized ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
staticprivate

Methods taken from the old egammaqdepth class : return the parametrised depth used in DC1 and DC2.

Only LAREM is foreseen

Definition at line 183 of file CaloDepthTool.cxx.

187{
188 double radius = s_default;
189
190 // note that only LAREM was foreseen in egammaqdepth
191 // here we go ... cut and paste the code as is, including hardcoded
192 // parametrisation :-(
193
194 float aeta = static_cast<float>(std::abs(eta));
195
196 if (sample == CaloCell_ID::PreSamplerB) {
197 radius = 1422.3 * Gaudi::Units::millimeter;
198 } else if (sample == CaloCell_ID::EMB1) {
199 if (aeta < 0.8)
200 radius = (1567.8 - 18.975 * aeta - 17.668 * aeta * aeta) *
201 Gaudi::Units::millimeter;
202 else
203 radius = (1503.2 + 71.716 * aeta - 41.008 * aeta * aeta) *
204 Gaudi::Units::millimeter;
205 } else if (sample == CaloCell_ID::EMB2) {
206 if (aeta < 0.8)
207 radius = (1697.1 - 15.311 * aeta - 64.153 * aeta * aeta) *
208 Gaudi::Units::millimeter;
209 else
210 radius = (1739.1 - 75.648 * aeta - 18.501 * aeta * aeta) *
211 Gaudi::Units::millimeter;
212 } else if (sample == CaloCell_ID::EMB3) {
213 if (aeta < 0.8)
214 radius = (1833.88 - 106.25 * aeta) * Gaudi::Units::millimeter;
215 else
216 radius = (2038.40 - 286. * aeta) * Gaudi::Units::millimeter;
217 }
218
219 else if (sample == CaloCell_ID::PreSamplerE) {
220 radius = 3600. * Gaudi::Units::millimeter;
221 if (eta < 0.)
222 radius = -radius;
223 } else if (sample == CaloCell_ID::EME1) {
224 radius = 3760. * Gaudi::Units::millimeter;
225 if (eta < 0.)
226 radius = -radius;
227 } else if (sample == CaloCell_ID::EME2) {
228 radius = 3880. * Gaudi::Units::millimeter;
229 if (eta < 0.)
230 radius = -radius;
231 } else if (sample == CaloCell_ID::EME3) {
232 radius = 4150. * Gaudi::Units::millimeter;
233 if (eta < 0.)
234 radius = -radius;
235 }
236
237 // This was not in the egamma parametrization, but it does not cost much to
238 // add it :
239 else {
240 if (eta > 0.)
241 radius = flat(sample, 1, caloDD);
242 else
243 radius = flat(sample, -1, caloDD);
244 }
245
246 return radius;
247}

◆ egparametrized() [2/2]

double CaloDepthTool::egparametrized ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
staticprivate

Methods taken from the old egammaqdepth class : return the parametrised depth used in DC1 and DC2.

Only LAREM is foreseen

Definition at line 169 of file CaloDepthTool.cxx.

175{
178 subcalo, barrel, sampling_or_module, sample);
179 return egparametrized(sample, eta, phi, caloDD);
180}
Scalar phi() const
phi method
static double egparametrized(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
Methods taken from the old egammaqdepth class : return the parametrised depth used in DC1 and DC2.

◆ entrance() [1/2]

double CaloDepthTool::entrance ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the entrance of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 447 of file CaloDepthTool.cxx.

451{
452 double radius = s_default;
453
454 // FIXME : the calodetdescr manager misses 1 generic get_entrance method
455 if (sample == CaloCell_ID::PreSamplerE || sample == CaloCell_ID::EME1 ||
456 sample == CaloCell_ID::EME2 || sample == CaloCell_ID::EME3 ||
457 sample == CaloCell_ID::HEC0 || sample == CaloCell_ID::HEC1 ||
458 sample == CaloCell_ID::HEC2 || sample == CaloCell_ID::HEC3 ||
459 sample == CaloCell_ID::FCAL0 || sample == CaloCell_ID::FCAL1 ||
460 sample == CaloCell_ID::FCAL2)
461 radius = get_entrance_z(sample, eta, phi, caloDD);
462 else
463 radius = get_entrance_radius(sample, eta, phi, caloDD);
464
465 return radius;
466}
static double get_entrance_radius(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its entrance radius
static double get_entrance_z(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its entrance z

◆ entrance() [2/2]

double CaloDepthTool::entrance ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the entrance of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 433 of file CaloDepthTool.cxx.

439{
442 subcalo, barrel, sampling_or_module, sample);
443 return entrance(sample, eta, phi, caloDD);
444}

◆ evtStore()

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.

◆ exit() [1/2]

double CaloDepthTool::exit ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the exit of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 518 of file CaloDepthTool.cxx.

522{
523 double radius = s_default;
524
525 if (sample == CaloCell_ID::PreSamplerE || sample == CaloCell_ID::EME1 ||
526 sample == CaloCell_ID::EME2 || sample == CaloCell_ID::EME3 ||
527 sample == CaloCell_ID::HEC0 || sample == CaloCell_ID::HEC1 ||
528 sample == CaloCell_ID::HEC2 || sample == CaloCell_ID::HEC3 ||
529 sample == CaloCell_ID::FCAL0 || sample == CaloCell_ID::FCAL1 ||
530 sample == CaloCell_ID::FCAL2)
531 radius = get_exit_z(sample, eta, phi, caloDD);
532 else
533 radius = get_exit_radius(sample, eta, phi, caloDD);
534
535 return radius;
536}
static double get_exit_z(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its middle z
static double get_exit_radius(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its middle radius

◆ exit() [2/2]

double CaloDepthTool::exit ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the exit of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 504 of file CaloDepthTool.cxx.

510{
513 subcalo, barrel, sampling_or_module, sample);
514 return exit(sample, eta, phi, caloDD);
515}
static double exit(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
For a given direction, return the exit of the given CaloCell_ID::CaloSample.

◆ 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 CaloDepthTool::finalize ( )
overridevirtual

Tool Finalize.

Definition at line 81 of file CaloDepthTool.cxx.

82{
83 return StatusCode::SUCCESS;
84}

◆ flat() [1/2]

double CaloDepthTool::flat ( const CaloCell_ID::CaloSample sample,
const int side,
const CaloDetDescrManager * caloDD )
static

If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).

Definition at line 552 of file CaloDepthTool.cxx.

555{
556 // FIXME : tiles is hardcoded !!!
557 double radius = 2280.;
558
559 if (sample == CaloCell_ID::TileBar0)
560 return false;
561 if (sample == CaloCell_ID::TileBar1)
562 return false;
563 if (sample == CaloCell_ID::TileBar2)
564 return false;
565 if (sample == CaloCell_ID::TileGap1)
566 return false;
567 if (sample == CaloCell_ID::TileGap2)
568 return false;
569 if (sample == CaloCell_ID::TileExt0)
570 return false;
571 if (sample == CaloCell_ID::TileExt1)
572 return false;
573 if (sample == CaloCell_ID::TileExt2)
574 return false;
575
576 radius = s_default;
577 for (const CaloDetDescriptor* reg : caloDD->calo_descriptors_range()) {
578 if (reg) {
579 if (reg->getSampling(0) == sample && reg->calo_sign() * side > 0) {
580 std::vector<double> depth;
581 reg->get_depth_in(depth);
582 for (unsigned int j = 0; j < depth.size(); j++)
583 if (radius < depth[j])
584 radius = depth[j];
585 }
586 }
587 }
588
589 // depth in are positive values, so should multiply by -1 for the HEC and FCAL
590 // at eta<0. to get the corresponding z
591
592 if (side < 0) {
593 if (sample == CaloCell_ID::PreSamplerE || sample == CaloCell_ID::EME1 ||
594 sample == CaloCell_ID::EME2 || sample == CaloCell_ID::EME3 ||
595 sample == CaloCell_ID::HEC0 || sample == CaloCell_ID::HEC1 ||
596 sample == CaloCell_ID::HEC2 || sample == CaloCell_ID::HEC3 ||
597 sample == CaloCell_ID::FCAL0 || sample == CaloCell_ID::FCAL1 ||
598 sample == CaloCell_ID::FCAL2)
599 radius = -1. * radius;
600 }
601 return radius;
602}

◆ flat() [2/2]

double CaloDepthTool::flat ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const int side,
const CaloDetDescrManager * caloDD )
static

If the direction is not specified, returns a "flat" aproximation (truely valid for strips only).

Definition at line 539 of file CaloDepthTool.cxx.

544{
547 subcalo, barrel, sampling_or_module, sample);
548 return flat(sample, side, caloDD);
549}

◆ get_entrance_radius()

double CaloDepthTool::get_entrance_radius ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
static

will look for the corresponding CaloDetDescrElement and return its entrance radius

Definition at line 660 of file CaloDepthTool.cxx.

664{
665 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
666 if (!elt) {
667 return s_default;
668 }
669
670 //Only for tile is dR the full radius of the layer - for
671 //other calorimeters it is half the radius
672 if (elt->is_tile()) return (elt->r() - elt->dr()/2);
673 else return (elt->r() - elt->dr());
674}
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier

◆ get_entrance_z()

double CaloDepthTool::get_entrance_z ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
static

will look for the corresponding CaloDetDescrElement and return its entrance z

Definition at line 677 of file CaloDepthTool.cxx.

681{
682 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
683 if (!elt) {
684 return s_default;
685 }
686
687 //Only for tile is dZ the full Z length of the layer - for
688 //other calorimeters it is half of this
689 if (elt->is_tile()) return (elt->z() - (elt->z() < 0 ? -elt->dz()/2 : elt->dz()/2));
690 else return (elt->z() - (elt->z() < 0 ? -elt->dz() : elt->dz()));
691}

◆ get_exit_radius()

double CaloDepthTool::get_exit_radius ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
staticprivate

will look for the corresponding CaloDetDescrElement and return its middle radius

Definition at line 722 of file CaloDepthTool.cxx.

726{
727
728 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
729 if (!elt) {
730 return s_default;
731 }
732
733 //Only for tile is dR the full radius of the layer - for
734 //other calorimeters it is half the radius
735 if (elt->is_tile()) return (elt->r() + elt->dr()/2);
736 else return (elt->r() + elt->dr());
737}

◆ get_exit_z()

double CaloDepthTool::get_exit_z ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
staticprivate

will look for the corresponding CaloDetDescrElement and return its middle z

Definition at line 740 of file CaloDepthTool.cxx.

744{
745
746 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
747 if (!elt) {
748 return s_default;
749 }
750
751 //Only for tile is dZ the full Z length of the layer - for
752 //other calorimeters it is half of this
753 if (elt->is_tile()) return (elt->z() + (elt->z() < 0 ? -elt->dz()/2 : elt->dz()/2));
754 else return (elt->z() + (elt->z() < 0 ? -elt->dz() : elt->dz()));
755}

◆ get_middle_radius()

double CaloDepthTool::get_middle_radius ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
staticprivate

will look for the corresponding CaloDetDescrElement and return its middle radius

Definition at line 694 of file CaloDepthTool.cxx.

698{
699
700 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
701 if (!elt) {
702 return s_default;
703 }
704 return elt->r();
705}

◆ get_middle_z()

double CaloDepthTool::get_middle_z ( CaloCell_ID::CaloSample sample,
double eta,
double phi,
const CaloDetDescrManager * caloDD )
staticprivate

will look for the corresponding CaloDetDescrElement and return its middle z

Definition at line 708 of file CaloDepthTool.cxx.

712{
713
714 const CaloDetDescrElement* elt = caloDD->get_element(sample, eta, phi);
715 if (!elt) {
716 return s_default;
717 }
718 return elt->z();
719}

◆ initialize()

StatusCode CaloDepthTool::initialize ( )
overridevirtual

Tool Initialize.

Definition at line 61 of file CaloDepthTool.cxx.

62{
63
64 ATH_CHECK(detStore()->retrieve(m_calo_id, "CaloCell_ID"));
65
66 if (!m_depth_choice.empty()) {
67
68 auto it = s_stringToEnum.find(m_depth_choice);
69 if (it != s_stringToEnum.end()) {
70 m_depthChoice = it->second;
71 } else {
72 ATH_MSG_FATAL(" invalid depth choice " << m_depth_choice);
73 return StatusCode::FAILURE;
74 }
75
76 }
77 return StatusCode::SUCCESS;
78}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
const ServiceHandle< StoreGateSvc > & detStore() const
DepthChoice m_depthChoice
Gaudi::Property< std::string > m_depth_choice
Depth choice related code User passes a string but we convert to an enum at init to avoid string comp...
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ 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 & CaloDepthTool::interfaceID ( )
static

Query interface.

Definition at line 44 of file CaloDepthTool.cxx.

45{
46 return IID_CaloDepthTool;
47}
static const InterfaceID IID_CaloDepthTool("CaloDepthTool", 1, 0)

◆ middle() [1/2]

double CaloDepthTool::middle ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the middle of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 483 of file CaloDepthTool.cxx.

487{
488 double radius = s_default;
489
490 if (sample == CaloCell_ID::PreSamplerE || sample == CaloCell_ID::EME1 ||
491 sample == CaloCell_ID::EME2 || sample == CaloCell_ID::EME3 ||
492 sample == CaloCell_ID::HEC0 || sample == CaloCell_ID::HEC1 ||
493 sample == CaloCell_ID::HEC2 || sample == CaloCell_ID::HEC3 ||
494 sample == CaloCell_ID::FCAL0 || sample == CaloCell_ID::FCAL1 ||
495 sample == CaloCell_ID::FCAL2)
496 radius = get_middle_z(sample, eta, phi, caloDD);
497 else
498 radius = get_middle_radius(sample, eta, phi, caloDD);
499
500 return radius;
501}
static double get_middle_z(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its middle z
static double get_middle_radius(CaloCell_ID::CaloSample sample, double eta, double phi, const CaloDetDescrManager *caloDD)
will look for the corresponding CaloDetDescrElement and return its middle radius

◆ middle() [2/2]

double CaloDepthTool::middle ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
static

For a given direction, return the middle of the given CaloCell_ID::CaloSample.

If the direction does not cross any CaloCell, the returned bool will be set to False.

Definition at line 469 of file CaloDepthTool.cxx.

475{
478 subcalo, barrel, sampling_or_module, sample);
479 return middle(sample, eta, phi, caloDD);
480}

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

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

◆ operator=()

CaloDepthTool & CaloDepthTool::operator= ( const CaloDepthTool & )
protected

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

◆ radius() [1/2]

double CaloDepthTool::radius ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD ) const

get radius

Generic method to be used in client code : the default choosen by joboption, and if the result is 0 because the eta/phi direction is outside the Sample acceptance, returns the egparametrised depth as backup solution.

Definition at line 103 of file CaloDepthTool.cxx.

107{
108 double radius = s_default;
109
111 radius = egparametrized(sample, eta, phi, caloDD);
112 } else if (m_depthChoice == DepthChoice::cscopt) {
113 radius = cscopt_parametrized(sample, eta, phi, caloDD);
114 } else if (m_depthChoice == DepthChoice::cscopt2) {
115 radius = cscopt2_parametrized(sample, eta, phi, caloDD);
116 } else if (m_depthChoice == DepthChoice::TBparam) {
117 radius = TBparametrized(sample, eta, phi, caloDD);
118 } else if (m_depthChoice == DepthChoice::entrance) {
119 radius = entrance(sample, eta, phi, caloDD);
120 } else if (m_depthChoice == DepthChoice::middle) {
121 radius = middle(sample, eta, phi, caloDD);
122 } else if (m_depthChoice == DepthChoice::flat) {
123 if (eta >= 0) {
124 radius = flat(sample, 1, caloDD);
125 } else {
126 radius = flat(sample, -1, caloDD);
127 }
128 } else {
129 radius = entrance(sample, eta, phi, caloDD);
130 }
131
132 // outside DD, use parametrised radius as default
133 // it is OK, but choice should be left to the user
134 if (std::abs(radius) < 10.) {
135 radius = egparametrized(sample, eta, phi, caloDD);
136 }
137
138 return radius;
139}
static double TBparametrized(const CaloCell_ID::SUBCALO subcalo, const int sampling_or_module, const bool barrel, const double eta, const double phi, const CaloDetDescrManager *caloDD)
Parametrisation taken from the old egammaqdepth class, but adapted for TestBeam.
static double cscopt_parametrized(const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
Layers 1 and 2 depths set to give the best eta resolution.
static double cscopt2_parametrized(const CaloCell_ID::CaloSample sample, const double eta, const double phi, const CaloDetDescrManager *caloDD)
Same as cscopt with the outermost EMB2 point excluded.

◆ radius() [2/2]

double CaloDepthTool::radius ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD ) const

get radius

Generic method to be used in client code : the default choosen by joboption, and if the result is 0 because the eta/phi direction is outside the Sample acceptance, returns the egparametrised depth as backup solution.

Definition at line 89 of file CaloDepthTool.cxx.

95{
98 subcalo, barrel, sampling_or_module, sample);
99 return radius(sample, eta, phi, caloDD);
100}

◆ 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();
384 }
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)

◆ 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 {
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 asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

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

◆ TBparametrized() [1/2]

double CaloDepthTool::TBparametrized ( const CaloCell_ID::CaloSample sample,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
staticprivate

Parametrisation taken from the old egammaqdepth class, but adapted for TestBeam.

Only LAREM is foreseen

Definition at line 403 of file CaloDepthTool.cxx.

407{
408 double radius = s_default;
409
410 // release 10.0.1 : the analysis is not advanced enough to know what is
411 // needed. right now, use the eg parametrisation everywhere possible, entrance
412 // elsewere.
413 if (sample == CaloCell_ID::PreSamplerB) {
414 return egparametrized(sample, eta, phi, caloDD);
415 } else if (sample == CaloCell_ID::EMB1) {
416 return egparametrized(sample, eta, phi, caloDD);
417 } else if (sample == CaloCell_ID::EMB2) {
418 return egparametrized(sample, eta, phi, caloDD);
419 } else if (sample == CaloCell_ID::EMB3) {
420 return egparametrized(sample, eta, phi, caloDD);
421 } else {
422 return entrance(sample, eta, phi, caloDD);
423 }
424
425 return radius;
426}

◆ TBparametrized() [2/2]

double CaloDepthTool::TBparametrized ( const CaloCell_ID::SUBCALO subcalo,
const int sampling_or_module,
const bool barrel,
const double eta,
const double phi,
const CaloDetDescrManager * caloDD )
staticprivate

Parametrisation taken from the old egammaqdepth class, but adapted for TestBeam.

Only LAREM is foreseen

Definition at line 389 of file CaloDepthTool.cxx.

395{
398 subcalo, barrel, sampling_or_module, sample);
399 return TBparametrized(sample, eta, phi, caloDD);
400}

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_calo_id

const CaloCell_ID* CaloDepthTool::m_calo_id
private

ID Helper.

Definition at line 341 of file CaloDepthTool.h.

◆ m_depth_choice

Gaudi::Property<std::string> CaloDepthTool::m_depth_choice { this, "DepthChoice", "", "depth choice" }
private

Depth choice related code User passes a string but we convert to an enum at init to avoid string comparisons.

Definition at line 336 of file CaloDepthTool.h.

336{ this, "DepthChoice", "", "depth choice" };

◆ m_depthChoice

DepthChoice CaloDepthTool::m_depthChoice = DepthChoice::entrance
private

Definition at line 338 of file CaloDepthTool.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_range

CaloPhiRange CaloDepthTool::m_range
private

Phi range helper object.

Definition at line 344 of file CaloDepthTool.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: