Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <RingerReFex.h>
|
| RingerReFex (const std::string &type, const std::string &name, const IInterface *parent) |
| ================================================================================= More...
|
|
virtual | ~RingerReFex () |
|
virtual StatusCode | initialize () override |
| ================================================================================= More...
|
|
virtual StatusCode | execute (xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&, const EventContext &context) const override |
| ================================================================================= More...
|
|
StatusCode | prepareRinger (std::vector< RingerReFex::RingSet > &vec_rs, const xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const EventContext &context) const |
|
virtual StatusCode | execute (xAOD::TrigEMCluster &ptrigEMCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&caloDDE, const EventContext &context) const=0 |
| This is the execute method for Egamma Algorithms. 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 |
|
|
ToolHandle< GenericMonitoringTool > | m_monTool { this, "MonTool", "", "Monitoring tool"} |
|
SG::WriteHandleKey< xAOD::TrigRingerRingsContainer > | m_ringerContainerKey {this, "RingerKey", "HLT_FastCaloRinger", "TrigRingerRings container key"} |
|
SG::ReadHandleKey< xAOD::TrigEMClusterContainer > | m_clusterContainerKey {this, "ClustersName", "HLT_FastCaloEMClusters", "TrigEMCluster container key"} |
|
SG::ReadCondHandleKey< CaloNoise > | m_noiseCDOKey {this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"} |
|
Gaudi::Property< double > | m_etaSearchWindowSize {this, "EtaSearchWindowSize", 0.1, ""} |
|
Gaudi::Property< double > | m_phiSearchWindowSize {this, "PhiSearchWindowSize", 0.1, ""} |
|
Gaudi::Property< std::vector< float > > | m_deltaEta {this, "DeltaEta" , {} , "Eta step for each layer" } |
|
Gaudi::Property< std::vector< float > > | m_deltaPhi {this, "DeltaPhi" , {} , "Phi step for each layer" } |
|
Gaudi::Property< std::vector< unsigned int > > | m_nRings {this, "NRings" , {} , "Number of rings for each layer" } |
|
Gaudi::Property< std::vector< float > > | m_etaBins {this, "EtaBins" , {} , "Eta bins range cover by the reconstruction."} |
|
Gaudi::Property< std::vector< std::vector< int > > > | m_detectors {this, "Detectors" , {} , "" } |
|
Gaudi::Property< std::vector< std::vector< int > > > | m_samplings {this, "Samplings" , {} , "" } |
|
Gaudi::Property< std::vector< std::vector< int > > > | m_samples {this, "Samples" , {} , "samples per layer" } |
|
Gaudi::Property< bool > | m_useTile {this, "UseTile" , true , "Use tile cells" } |
|
Gaudi::Property< bool > | m_dumpCells {this, "DumpCells" , false , "Dump Ringer Cells Information" } |
|
Gaudi::Property< bool > | m_doNoiseThrRings {this, "DoNoiseThrRings" , false , "Building rings with noise threshold" } |
|
Gaudi::Property< double > | m_noiseFactor {this, "NoiseFactor" , 2.0, "Building rings above a factor sigma noise" } |
|
Gaudi::Property< bool > | m_globalCenter {this, "GlobalCenter", false, "Use cluster position as center" } |
|
Gaudi::Property< std::vector< bool > > | m_doQuarter {this, "DoQuarter", {} , "Do Quarter Rings" } |
|
Gaudi::Property< std::vector< bool > > | m_doEtaAxesDivision {this, "DoEtaAxesDivision", {} , "Do Eta axes division" } |
|
Gaudi::Property< std::vector< bool > > | m_doPhiAxesDivision {this, "DoPhiAxesDivision",{}, "Do Phi axes division" } |
|
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 |
|
Definition at line 24 of file RingerReFex.h.
◆ StoreGateSvc_t
◆ RingerReFex()
RingerReFex::RingerReFex |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
=================================================================================
Definition at line 38 of file RingerReFex.cxx.
◆ ~RingerReFex()
virtual RingerReFex::~RingerReFex |
( |
| ) |
|
|
inlinevirtual |
◆ configurationInvalid()
bool RingerReFex::configurationInvalid |
( |
| ) |
|
|
private |
=================================================================================
Definition at line 44 of file RingerReFex.cxx.
47 ATH_MSG_FATAL(
"Wrong eta range configuration. Size must be equal or more than two." );
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute() [1/2]
=================================================================================
Implements IReAlgToolCalo.
Definition at line 209 of file RingerReFex.cxx.
225 ATH_CHECK( ringsCollection.
record( std::make_unique<xAOD::TrigRingerRingsContainer>(),
226 std::make_unique<xAOD::TrigRingerRingsAuxContainer>() ) );
239 ringsCollection->
push_back( dummyRinger );
240 return StatusCode::SUCCESS;
244 std::vector<RingerReFex::RingSet> vec_rs;
245 load_cells_time.start();
247 load_cells_time.stop();
249 std::vector<float> ref_rings;
252 auto rings =
it->rings();
253 ref_rings.insert(ref_rings.end(), rings.begin(), rings.end());
257 ringsCollection->
push_back( ptrigRingerRings );
258 ptrigRingerRings->setRings(ref_rings);
261 std::vector<float> cells_eta;
262 std::vector<float> cells_et;
263 std::vector<float> cells_phi;
264 std::vector<int> cells_sampling;
265 std::vector<int> cells_size;
266 std::vector<double> rings_sum;
267 std::vector<int> cells_id;
268 std::vector<float> cells_gain;
270 for(
auto& rs : vec_rs )
271 rs.fill_cells_info(cells_eta, cells_phi, cells_et, cells_sampling, cells_size, rings_sum, cells_id, cells_gain);
282 cells_etaDec(*ptrigRingerRings) = cells_eta;
283 cells_etDec(*ptrigRingerRings) = cells_et;
284 cells_phiDec(*ptrigRingerRings) = cells_phi;
285 cells_samplingDec(*ptrigRingerRings) = cells_sampling;
286 cells_sizeDec(*ptrigRingerRings) = cells_size;
287 cells_idDec(*ptrigRingerRings) = cells_id;
288 cells_gainDec(*ptrigRingerRings) = cells_gain;
290 if (
m_doQuarter[0]) asym_rings_sumDec(*ptrigRingerRings) = rings_sum;
291 else rings_sumDec(*ptrigRingerRings) = rings_sum;
295 ptrigRingerRings->setEmClusterLink( clusLink );
302 return StatusCode::SUCCESS;
◆ execute() [2/2]
virtual StatusCode IReAlgToolCalo::execute |
This is the execute method for Egamma Algorithms.
These interface must be common to allow all tools to be called within T2CaloEgamma::hltExecute as a vector of IReAlgToolCalos.
- Parameters
-
[out] | ptrigEMCluster | : cluster to be filled with FEX results. |
[in] | eta/phi-min/max | : limits of RoI. |
◆ extraDeps_update_handler()
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
◆ initialize()
StatusCode RingerReFex::initialize |
( |
| ) |
|
|
overridevirtual |
=================================================================================
Reimplemented from IReAlgToolCalo.
Definition at line 55 of file RingerReFex.cxx.
59 ATH_MSG_FATAL(
"Could not initialize base tool IReAlgToolCalo." );
60 return StatusCode::FAILURE;
64 return StatusCode::FAILURE;
79 ATH_MSG_DEBUG(
"Ringer algorithm initialization completed successfully." );
89 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ maxCell()
bool RingerReFex::maxCell |
( |
const CaloCell * |
cell, |
|
|
double & |
energy, |
|
|
const double |
eta_ref, |
|
|
const double |
phi_ref |
|
) |
| const |
|
inlineprivate |
Definition at line 323 of file RingerReFex.cxx.
334 if(!
cell)
return false;
335 double this_eta =
cell->eta();
336 double this_phi =
cell->phi();
337 if (this_eta >
etamin && this_eta < etamax){
338 double phi_use = this_phi;
341 if (phi_use > phimin && phi_use < phimax){
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ prepareRinger()
Definition at line 94 of file RingerReFex.cxx.
101 for (
unsigned rs = 0; rs <
m_nRings.size(); ++rs) {
112 vec_rs.push_back(
obj );
115 std::vector<const CaloCell*> vec_tile_cells;
117 std::vector<const TileCell*>
sel;
118 std::vector<const TileCell*>::const_iterator
it, itBegin, itEnd;
120 if(
m_dataSvc->loadCollections( context, roi,
sel ).isFailure() ){
122 return StatusCode::FAILURE;
125 itBegin =
sel.begin();
127 for(
it = itBegin;
it != itEnd; ++
it)
130 vec_tile_cells.push_back(
static_cast<const CaloCell *
>(*
it));
134 for(
auto& rs : vec_rs ){
139 for (
auto det : rs.detectors() ){
142 int sampling =
det.second;
144 if( det_id ==
TILE ){
146 for (std::vector<const CaloCell *>::const_iterator
it = vec_tile_cells.begin();
it != vec_tile_cells.end(); ++
it)
148 if( !rs.isValid(*
it) )
continue;
163 if(
m_dataSvc->loadCollections( context, roi, det_id, sampling,
sel ).isFailure() )
165 ATH_MSG_ERROR(
"Failure while trying to retrieve cell information for the "<< det_id <<
" calorimeter." );
166 return StatusCode::FAILURE;
174 for(
it = itBegin;
it != itEnd; ++
it)
181 if( !rs.isValid( it_tmp ) )
continue;
182 rs.push_back(it_tmp);
203 return StatusCode::SUCCESS;
◆ printRings()
=================================================================================
Definition at line 355 of file RingerReFex.cxx.
357 ATH_MSG_INFO(
"--------------- Cluster Information (2) ----------------");
360 ATH_MSG_INFO(
"et = "<<
cl.et() <<
" eta = " <<
cl.eta() <<
" roiword = " <<
cl.RoIword());
363 for(
unsigned rs=0; rs<vec_rs.size(); ++rs){
367 ATH_MSG_INFO(
"Pattern has size equal than: " << vec_rs.at(rs).rings().size());
370 for(
unsigned i=0;
i<vec_rs.at(rs).rings().
size();++
i){
371 tot+=vec_rs.at(rs).rings()[
i];
372 ATH_MSG_INFO(
" Ring " <<
i <<
" energy: " << vec_rs.at(rs).rings()[
i] <<
" MeVs.");
374 ATH_MSG_INFO(
"RingSet = " << rs <<
" Total energy = " << tot );
376 ATH_MSG_INFO(
"---------------- End of information -----------------");
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_cellkeepthr
Gaudi::Property<float> IReAlgToolCalo::m_cellkeepthr |
|
protectedinherited |
Initial value:{this, "ThresholdKeepCells", 1e5,
"Threshold to keep cells incontainer"}
Definition at line 77 of file IReAlgToolCalo.h.
◆ m_clusterContainerKey
◆ m_dataSvc
Initial value:{this, "trigDataAccessMT",
"TrigCaloDataAccessSvc/TrigCaloDataAccessSvc",
"Data Access for LVL2 Calo Algorithms in MT"}
Definition at line 84 of file IReAlgToolCalo.h.
◆ m_deltaEta
Gaudi::Property<std::vector<float> > RingerReFex::m_deltaEta {this, "DeltaEta" , {} , "Eta step for each layer" } |
|
private |
◆ m_deltaPhi
Gaudi::Property<std::vector<float> > RingerReFex::m_deltaPhi {this, "DeltaPhi" , {} , "Phi step for each layer" } |
|
private |
◆ m_detectors
Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_detectors {this, "Detectors" , {} , "" } |
|
private |
◆ m_detStore
◆ m_doEtaAxesDivision
Gaudi::Property<std::vector<bool> > RingerReFex::m_doEtaAxesDivision {this, "DoEtaAxesDivision", {} , "Do Eta axes division" } |
|
private |
◆ m_doNoiseThrRings
Gaudi::Property<bool> RingerReFex::m_doNoiseThrRings {this, "DoNoiseThrRings" , false , "Building rings with noise threshold" } |
|
private |
◆ m_doPhiAxesDivision
Gaudi::Property<std::vector<bool> > RingerReFex::m_doPhiAxesDivision {this, "DoPhiAxesDivision",{}, "Do Phi axes division" } |
|
private |
◆ m_doQuarter
Gaudi::Property<std::vector<bool> > RingerReFex::m_doQuarter {this, "DoQuarter", {} , "Do Quarter Rings" } |
|
private |
◆ m_dumpCells
Gaudi::Property<bool> RingerReFex::m_dumpCells {this, "DumpCells" , false , "Dump Ringer Cells Information" } |
|
private |
◆ m_etaBins
Gaudi::Property<std::vector<float> > RingerReFex::m_etaBins {this, "EtaBins" , {} , "Eta bins range cover by the reconstruction."} |
|
private |
◆ m_etaSearchWindowSize
Gaudi::Property<double> RingerReFex::m_etaSearchWindowSize {this, "EtaSearchWindowSize", 0.1, ""} |
|
private |
◆ m_evtStore
◆ m_geometryTool
Initial value:{
this, "T2GeometryTool", "T2GeometryTool/T2GeometryTool",
"Tool to check that a cells are contained in a given cluster"}
Definition at line 80 of file IReAlgToolCalo.h.
◆ m_globalCenter
Gaudi::Property<bool> RingerReFex::m_globalCenter {this, "GlobalCenter", false, "Use cluster position as center" } |
|
private |
◆ m_larMgr
◆ m_monTool
◆ m_noiseCDOKey
◆ m_noiseFactor
Gaudi::Property<double> RingerReFex::m_noiseFactor {this, "NoiseFactor" , 2.0, "Building rings above a factor sigma noise" } |
|
private |
◆ m_nRings
Gaudi::Property<std::vector<unsigned int> > RingerReFex::m_nRings {this, "NRings" , {} , "Number of rings for each layer" } |
|
private |
◆ m_phiSearchWindowSize
Gaudi::Property<double> RingerReFex::m_phiSearchWindowSize {this, "PhiSearchWindowSize", 0.1, ""} |
|
private |
◆ m_ringerContainerKey
◆ m_samples
Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_samples {this, "Samples" , {} , "samples per layer" } |
|
private |
◆ m_samplings
Gaudi::Property<std::vector<std::vector<int> > > RingerReFex::m_samplings {this, "Samplings" , {} , "" } |
|
private |
◆ m_saveCells
Gaudi::Property<bool> IReAlgToolCalo::m_saveCells |
|
protectedinherited |
Initial value:{this, "SaveCellsInContainer", false,
"Enables saving of the RoI Calorimeter Cells in StoreGate"}
Definition at line 74 of file IReAlgToolCalo.h.
◆ m_useTile
Gaudi::Property<bool> RingerReFex::m_useTile {this, "UseTile" , true , "Use tile cells" } |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
StatusCode prepareRinger(std::vector< RingerReFex::RingSet > &vec_rs, const xAOD::TrigEMCluster &emCluster, const IRoiDescriptor &roi, const EventContext &context) const
Group
Properties of a chain group.
virtual double phi() const override final
get phi (through CaloDetDescrElement)
float eta() const
get Eta (calibrated)
Gaudi::Property< double > m_noiseFactor
Gaudi::Property< double > m_phiSearchWindowSize
const_iterator end() const
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StatusCode accept(const xAOD::Muon *mu)
Gaudi::Property< std::vector< bool > > m_doPhiAxesDivision
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Gaudi::Property< bool > m_doNoiseThrRings
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
Gaudi::Property< std::vector< bool > > m_doQuarter
virtual void setOwner(IDataHandleHolder *o)=0
DETID
An enum to define subdetector names.
Gaudi::Property< double > m_etaSearchWindowSize
bool maxCell(const CaloCell *cell, double &energy, const double eta_ref, const double phi_ref) const
void printRings(std::vector< RingSet > &, const xAOD::TrigEMCluster &) const
=================================================================================
float phi() const
get Phi (calibrated)
Helper class to provide type-safe access to aux data.
Gaudi::Property< std::vector< std::vector< int > > > m_detectors
Gaudi::Property< bool > m_globalCenter
bool check_wrap_around(const double phi_center, const bool reverse_wrap)
Helper function to identify wrap around cases.
const_iterator begin() const
#define CHECK(...)
Evaluate an expression and check for errors.
Gaudi::Property< bool > m_dumpCells
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
bool configurationInvalid()
=================================================================================
SG::WriteHandleKey< xAOD::TrigRingerRingsContainer > m_ringerContainerKey
virtual void renounce()=0
ToolHandle< GenericMonitoringTool > m_monTool
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ElementLink implementation for ROOT usage.
TrigRingerRings_v2 TrigRingerRings
Define the latest version of the TrigRingerRings class.
Gaudi::Property< std::vector< std::vector< int > > > m_samplings
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
Gaudi::Property< std::vector< float > > m_etaBins
Gaudi::Property< std::vector< float > > m_deltaPhi
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
Data object for each calorimeter readout cell.
SG::ReadHandleKey< xAOD::TrigEMClusterContainer > m_clusterContainerKey
Gaudi::Property< bool > m_useTile
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Gaudi::Property< std::vector< float > > m_deltaEta
Gaudi::Property< std::vector< std::vector< int > > > m_samples
double fix_wrap_around(const double phi_value, const bool reverse_wrap)
Helper function to fix wrap around cases.
Gaudi::Property< std::vector< unsigned int > > m_nRings
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual double eta() const override final
get eta (through CaloDetDescrElement)
Gaudi::Property< std::vector< bool > > m_doEtaAxesDivision
RingSet_v1 RingSet
Definition of the current "RingSet version".