|
ATLAS Offline Software
|
#include <MuidCaloEnergyMeas.h>
|
| MuidCaloEnergyMeas (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~MuidCaloEnergyMeas () |
|
StatusCode | initialize () override |
|
StatusCode | finalize () override |
|
std::unique_ptr< CaloMeas > | energyMeasurement (const EventContext &ctx, double etaEM, double phiEM, double etaHad, double phiHad) const override |
| IMuidCaloEnergyMeas interface: get the muon energy loss measurement from the calorimeter, knowing the track intersection at the em and had cals. 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 |
|
|
void | energyInCalo (CaloMeas &caloMeas, const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int iSubCalo) const |
|
void | isolationEnergy (CaloMeas &caloMeas, const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int iSubCalo) const |
|
double | energyInTile (const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int, int) const |
|
double | energyInLArHEC (const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int, int) const |
|
double | energyInLArEM (const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int, int) const |
|
int | cellCounting (const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi) const |
|
int | samplingID (const CaloCell *cell, int iSubCalo) const |
|
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...
|
|
Definition at line 44 of file MuidCaloEnergyMeas.h.
◆ StoreGateSvc_t
◆ SubCaloId
Helper enum to select which cells should be read from the container.
Enumerator |
---|
TILE | |
LARHEC | |
LAREM | |
Definition at line 61 of file MuidCaloEnergyMeas.h.
◆ MuidCaloEnergyMeas()
MuidCaloEnergyMeas::MuidCaloEnergyMeas |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~MuidCaloEnergyMeas()
MuidCaloEnergyMeas::~MuidCaloEnergyMeas |
( |
| ) |
|
|
virtualdefault |
◆ cellCounting()
Definition at line 140 of file MuidCaloEnergyMeas.cxx.
143 constexpr
double lowest_threshold = 4 * 50.;
151 const double cellEnergy =
cell->energy();
157 ATH_MSG_DEBUG(
" counted " <<
count <<
" cells over threshold out of a total of " << myList.ncells() <<
" cells");
◆ 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()
◆ energyInCalo()
Definition at line 174 of file MuidCaloEnergyMeas.cxx.
200 double totalEnergy = 0.;
201 double leadingEnergy = 0.;
202 std::unique_ptr<CaloCellList> myList =
nullptr;
206 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
210 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
214 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
218 int countCoreCells = 0;
219 int countSelected = 0;
220 bool compartment[4] = {
false,
false,
false,
false};
221 double measuredSamplings = 0.;
223 if (myList && myList->
ncells()) {
228 for (
int coreSampling = 0; coreSampling != 4; ++coreSampling) {
230 double coreRadius = 0.;
234 if (
cell != lastCell && sampling != coreSampling)
continue;
240 if (sampling == coreSampling) {
241 if (!coreCell ||
radius < coreRadius) {
247 if (
cell != lastCell || !coreCell)
continue;
249 for (
const CaloCell* cell2 : *myList) {
251 if (sampling != coreSampling)
continue;
253 double cellEnergy = cell2->energy();
254 double noiseRms = noiseCDO->
getNoise(cell2->ID(), cell2->gain());
262 totalEnergy += cellEnergy;
263 compartment[coreSampling] =
true;
264 if (coreSampling < 2) leadingEnergy += cellEnergy;
266 if (cell2 == coreCell) {
280 std::string
info =
"";
281 std::string
type =
" Tile ";
287 if (cellSelected && cell2 == coreCell) {
288 info =
" selected core cell# ";
289 }
else if (cellSelected) {
290 info =
" selected cell# ";
291 }
else if (cell2 == coreCell) {
292 info =
" cell in core NOT selected";
297 <<
type <<
" Sampling: " << std::setw(1) << coreSampling <<
" Radius :" << std::setw(6)
298 << std::setprecision(0) << cell2->caloDDE()->r() <<
" Eta : " << std::setw(6)
299 << std::setprecision(2) << cell2->eta() <<
" Phi : " << std::setw(6) << std::setprecision(2)
300 << cell2->phi() <<
" Noise level : " << std::setw(6) << std::setprecision(0) << noiseRms
301 <<
" Energy : " << std::setw(7) << std::setprecision(0) << cell2->energy() <<
info);
302 }
else if (cellSelected) {
304 <<
type <<
" Sampling: " << std::setw(1) << coreSampling <<
" Radius :" << std::setw(6)
305 << std::setprecision(0) << cell2->caloDDE()->r() <<
" Eta : " << std::setw(6)
306 << std::setprecision(2) << cell2->eta() <<
" Phi : " << std::setw(6) << std::setprecision(2)
307 << cell2->phi() <<
" Noise level : " << std::setw(6) << std::setprecision(0) << noiseRms
308 <<
" Energy : " << std::setw(7) << std::setprecision(0) << cell2->energy() <<
info
312 <<
type <<
" Sampling: " << std::setw(1) << coreSampling <<
" Radius :" << std::setw(6)
313 << std::setprecision(0) << cell2->caloDDE()->r() <<
" Eta : " << std::setw(6)
314 << std::setprecision(2) << cell2->eta() <<
" Phi : " << std::setw(6) << std::setprecision(2)
315 << cell2->phi() <<
" Noise level : " << std::setw(6) << std::setprecision(0) << noiseRms
316 <<
" Energy : " << std::setw(7) << std::setprecision(0) << cell2->energy() <<
info);
324 std::string
info =
"";
325 std::string
type =
" Tile ";
332 ATH_MSG_DEBUG(
type <<
" at eta = " << muEta <<
" : selected " << countSelected <<
" from measured cone with "
333 << countCoreCells <<
" cells forming core");
336 for (
int i = 0;
i < 4; ++
i)
337 if (compartment[
i]) measuredSamplings +=
m_caloParamTool->caloCompartmentDepth(isubcalo,
i);
341 caloMeas.Tile_EnergyMeasured(totalEnergy);
342 caloMeas.Tile_SamplingFraction(measuredSamplings);
344 caloMeas.LArHEC_EnergyMeasured(totalEnergy);
345 caloMeas.LArHEC_SamplingFraction(measuredSamplings);
347 caloMeas.LArEM_EnergyMeasured(totalEnergy);
348 caloMeas.LArEM_FirstCompartmentEnergy(leadingEnergy);
349 caloMeas.LArEM_SamplingFraction(measuredSamplings);
◆ energyInLArEM()
Definition at line 527 of file MuidCaloEnergyMeas.cxx.
540 double emTotalEnergy = 0.;
555 double lowest_threshold = 4. * 50.;
558 double cellEnergy =
cell->energy();
566 <<
" Radius :" <<
cell->caloDDE()->r() <<
" z :" <<
cell->caloDDE()->z()
567 <<
" Eta : " <<
cell->eta() <<
" Phi : " <<
cell->phi() <<
" Noise Level : " << noise_rms);
569 emTotalEnergy +=
cell->energy();
575 return emTotalEnergy;
◆ energyInLArHEC()
Definition at line 477 of file MuidCaloEnergyMeas.cxx.
492 double larhecTotal = 0.;
505 constexpr
double lowest_threshold = 4. * 150.;
508 double cellEnergy =
cell->energy();
515 <<
" z :" <<
cell->caloDDE()->z() <<
" Eta : " <<
cell->eta() <<
" Phi : " <<
cell->phi()
516 <<
" Noise Level : " << noise_rms);
518 larhecTotal +=
cell->energy();
◆ energyInTile()
Definition at line 429 of file MuidCaloEnergyMeas.cxx.
440 double tileTotalEnergy = 0.;
441 double tileTestEnergy = 0.;
454 double lowest_threshold = 0.;
456 double cellEnergy =
cell->energy();
463 <<
" Radius :" <<
cell->caloDDE()->r() <<
" Eta : " <<
cell->eta() <<
" Phi : " <<
cell->phi()
464 <<
" Noise Level : " << noise_rms);
466 tileTotalEnergy += cellEnergy;
468 tileTestEnergy += cellEnergy;
474 return tileTotalEnergy;
◆ energyMeasurement()
std::unique_ptr< CaloMeas > MuidCaloEnergyMeas::energyMeasurement |
( |
const EventContext & |
ctx, |
|
|
double |
etaEM, |
|
|
double |
phiEM, |
|
|
double |
etaHad, |
|
|
double |
phiHad |
|
) |
| const |
|
overridevirtual |
IMuidCaloEnergyMeas interface: get the muon energy loss measurement from the calorimeter, knowing the track intersection at the em and had cals.
Implements Rec::IMuidCaloEnergyMeas.
Definition at line 87 of file MuidCaloEnergyMeas.cxx.
90 if (!cellContainer.isPresent()) {
94 if (!cellContainer.isValid()) {
100 if (!noiseHdl.isValid()) {
110 std::unique_ptr<CaloMeas> caloMeas = std::make_unique<CaloMeas>();
123 <<
" Tile energy (GeV) :" << std::setw(8) << std::setprecision(3) << caloMeas->Tile_EnergyMeasured() /
Units::GeV
124 <<
" Material percent:" << std::setw(4) << std::setprecision(0) << 100. * caloMeas->Tile_SamplingFraction()
125 <<
" ISO :" << std::setw(8) << std::setprecision(3) << caloMeas->Tile_Isolation() /
Units::GeV <<
endmsg
126 <<
" LArHEC energy (GeV):" << std::setw(8) << std::setprecision(3) << caloMeas->LArHEC_EnergyMeasured() /
Units::GeV
127 <<
" Material percent:" << std::setw(4) << std::setprecision(0) << 100. * caloMeas->LArHEC_SamplingFraction()
128 <<
" ISO :" << std::setw(8) << std::setprecision(3) << caloMeas->LArHEC_Isolation() /
Units::GeV <<
endmsg
129 <<
" EM energy :" << std::setw(8) << std::setprecision(3) << caloMeas->LArEM_EnergyMeasured() /
Units::GeV
130 <<
" first compartment:" << std::setw(8) << std::setprecision(3)
131 << caloMeas->LArEM_FirstCompartmentEnergy() /
Units::GeV <<
" Material percent:" << std::setw(4)
132 << std::setprecision(0) << 100. * caloMeas->LArEM_SamplingFraction() <<
" ISO :" << std::setw(8)
133 << std::setprecision(3) << caloMeas->LArEM_Isolation() /
Units::GeV);
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ 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
◆ finalize()
StatusCode MuidCaloEnergyMeas::finalize |
( |
| ) |
|
|
override |
◆ initialize()
StatusCode MuidCaloEnergyMeas::initialize |
( |
| ) |
|
|
override |
◆ 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.
◆ interfaceID()
static const InterfaceID& Rec::IMuidCaloEnergyMeas::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
AlgTool and IAlgTool interface methods.
Interface ID for IMuidCaloEnergyMeas
Definition at line 36 of file IMuidCaloEnergyMeas.h.
37 static const InterfaceID IID_IMuidCaloEnergyMeas(
"IMuidCaloEnergyMeas", 1, 0);
38 return IID_IMuidCaloEnergyMeas;
◆ isolationEnergy()
Definition at line 354 of file MuidCaloEnergyMeas.cxx.
356 double totalEnergy = 0.;
361 std::unique_ptr<CaloCellList> myList;
365 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
369 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
373 myList = std::make_unique<CaloCellList>(detMgr,cellContainer, iCalo);
377 if (myList && myList->
ncells()) {
382 for (
int coreSampling = 0; coreSampling != 4; ++coreSampling) {
384 double coreRadius = 0.;
388 if (
cell != lastCell && sampling != coreSampling)
continue;
394 if (sampling == coreSampling) {
395 if (!coreCell ||
radius < coreRadius) {
401 if (
cell != lastCell || !coreCell)
continue;
403 for (
const CaloCell* cell2 : *myList) {
405 if (sampling != coreSampling)
continue;
407 double cellEnergy = cell2->energy();
408 double noiseRms = noiseCDO->
getNoise(cell2->ID(), cell2->gain());
413 if (cellSelected) totalEnergy += cellEnergy;
420 caloMeas.Tile_Isolation(totalEnergy);
422 caloMeas.LArHEC_Isolation(totalEnergy);
424 caloMeas.LArEM_Isolation(totalEnergy);
◆ 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.
◆ renounce()
◆ renounceArray()
◆ samplingID()
int MuidCaloEnergyMeas::samplingID |
( |
const CaloCell * |
cell, |
|
|
int |
iSubCalo |
|
) |
| const |
|
private |
◆ 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_caloMgrKey
◆ m_caloParamTool
◆ m_cellContainerLocation
Initial value:{
this,
"CellContainerLocation",
"AllCalo",
"calo cell container location",
}
Definition at line 104 of file MuidCaloEnergyMeas.h.
◆ m_detStore
◆ m_emID
◆ m_evtStore
◆ m_hecID
◆ m_isolationConeLArEM
double Rec::MuidCaloEnergyMeas::m_isolationConeLArEM |
|
private |
◆ m_isolationConeLArHEC
double Rec::MuidCaloEnergyMeas::m_isolationConeLArHEC |
|
private |
◆ m_isolationConeTile
double Rec::MuidCaloEnergyMeas::m_isolationConeTile |
|
private |
◆ m_measurementConeLArEM
double Rec::MuidCaloEnergyMeas::m_measurementConeLArEM |
|
private |
◆ m_measurementConeLArHEC
double Rec::MuidCaloEnergyMeas::m_measurementConeLArHEC |
|
private |
◆ m_measurementConeTile
double Rec::MuidCaloEnergyMeas::m_measurementConeTile |
|
private |
◆ m_noiseCDOKey
Initial value:{
this,
"CaloNoiseKey",
"totalNoise",
"SG Key of CaloNoise data object",
}
Definition at line 89 of file MuidCaloEnergyMeas.h.
◆ m_sigmasAboveNoise
double Rec::MuidCaloEnergyMeas::m_sigmasAboveNoise |
|
private |
◆ m_sigmasAboveNoiseCore
double Rec::MuidCaloEnergyMeas::m_sigmasAboveNoiseCore |
|
private |
◆ m_tileID
◆ m_totalCoreCellsEM
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalCoreCellsEM {0} |
|
mutableprivate |
◆ m_totalCoreCellsHEC
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalCoreCellsHEC {0} |
|
mutableprivate |
◆ m_totalCoreCellsTile
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalCoreCellsTile {0} |
|
mutableprivate |
◆ m_totalSelectedEM
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalSelectedEM {0} |
|
mutableprivate |
◆ m_totalSelectedHEC
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalSelectedHEC {0} |
|
mutableprivate |
◆ m_totalSelectedTile
std::atomic_int Rec::MuidCaloEnergyMeas::m_totalSelectedTile {0} |
|
mutableprivate |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
double m_measurementConeLArHEC
double m_isolationConeLArEM
std::atomic_int m_totalSelectedTile
double m_isolationConeTile
std::atomic_int m_totalCoreCellsEM
void select(double eta, double phi, double deta, double dphi)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
double m_isolationConeLArHEC
int sample(const Identifier &id) const
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
int sampling(const Identifier id) const
return sampling according to :
double m_measurementConeTile
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
float getNoise(const IdentifierHash h, const int gain) const
Accessor by IdentifierHash and gain.
const LArHEC_ID * m_hecID
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
list_iterator end() const
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
double m_sigmasAboveNoise
int samplingID(const CaloCell *cell, int iSubCalo) const
SUBCALO
enumeration of sub calorimeters
double m_measurementConeLArEM
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
double m_sigmasAboveNoiseCore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
std::atomic_int m_totalCoreCellsHEC
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void energyInCalo(CaloMeas &caloMeas, const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int iSubCalo) const
StatusCode initialize(bool used=true)
ToolHandle< IMuidCaloEnergyParam > m_caloParamTool
This class provides the client interface for accessing the detector description information common to...
Data object for each calorimeter readout cell.
#define ATH_MSG_WARNING(x)
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
std::atomic_int m_totalSelectedEM
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::atomic_int m_totalCoreCellsTile
SG::ReadHandleKey< CaloCellContainer > m_cellContainerLocation
std::atomic_int m_totalSelectedHEC
void isolationEnergy(CaloMeas &caloMeas, const CaloCellContainer *cellContainer, const CaloDetDescrManager *detMgr, const CaloNoise *noiseCDO, double eta, double phi, int iSubCalo) const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>