|
ATLAS Offline Software
|
Emulator of DSP code in accumulation calibration mode.
More...
#include <LArCalibDigitsAccumulator.h>
|
| LArCalibDigitsAccumulator (const std::string &name, ISvcLocator *pSvcLocator) |
|
StatusCode | initialize () |
|
StatusCode | execute () |
|
StatusCode | finalize () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. 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 | 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< ICaloSuperCellIDTool > | m_sc2ccMappingTool |
|
SG::ReadCondHandleKey< LArCalibLineMapping > | m_calibMapKey {this,"CalibCablingKey","LArCalibLineMap","SG Key of LArCalibLineMapping object"} |
|
SG::ReadCondHandleKey< LArCalibLineMapping > | m_calibMapSCKey {this,"CalibMapSCKey","LArCalibIdMapSC","SG Key of calib line mapping object"} |
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"} |
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKeySC {this,"ScCablingKey","LArOnOffIdMapSC","SG Key of SC LArOnOffIdMapping object"} |
|
const LArOnlineID_Base * | m_onlineHelper |
|
int | m_delay |
| Store delay. More...
|
|
std::string | m_calibAccuDigitContainerName |
| LArAccumulatedCalibDigitContainer name. More...
|
|
std::vector< std::string > | m_keylist |
| list of key for input digit container (=gain) More...
|
|
unsigned int | m_nStepTrigger |
| Number of intermediate accumulations (JO property) More...
|
|
double | m_delayScale |
| Set delay scale. More...
|
|
bool | m_keepPulsed |
| Tells you whether you keep only pulsed cells or all cells. More...
|
|
bool | m_isSC |
| Tells you whether you run on SuperCells or Cells. More...
|
|
bool | m_keepFullyPulsedSC |
| Tells you whether you keep only fully pulsed supercells or all supercells. More...
|
|
double | m_DropPercentTrig |
| Percentage of the used triggers that we will skip over at the end, in order ot ensure that the accumulation is done, even if there are lots of missing events from SC. More...
|
|
std::map< std::string, std::vector< LArAccumulated > > | m_Accumulated_map |
| Vector (index=hash ID) of accumulation quantities. More...
|
|
unsigned int | m_event_counter |
| Event counter. More...
|
|
unsigned int | m_eventNb = 0U |
|
int | m_sampleShift |
| Samples to shift by, usually used in the case of SCs. More...
|
|
DataObjIDColl | m_extendedExtraObjects |
|
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 |
|
Emulator of DSP code in accumulation calibration mode.
- Version
- $Id: LArCalibDigitsAccumulator.h,v 1.8 2008-06-12 14:51:35 lafaye Exp $
- Author
- Sandrine Laplace lapla.nosp@m.ce@l.nosp@m.app.i.nosp@m.n2p3.nosp@m..fr
- Date
- 22-January-2006 Input to this algorithm are LArCalibDigits. These LArCalibDigits are accumulated (sum and squared sum)over a number of triggers given by the calibration run settings. Intermediate sums are also computed if the JO property "StepOfTriggers" is set to a larger number than one. The output of the algorithm is a LArAccumulatedCalibDigitContainer.
Definition at line 33 of file LArCalibDigitsAccumulator.h.
◆ StoreGateSvc_t
◆ LArCalibDigitsAccumulator()
LArCalibDigitsAccumulator::LArCalibDigitsAccumulator |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ 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()
StatusCode LArCalibDigitsAccumulator::execute |
( |
| ) |
|
first check if there is a -1 and continue
why this is not reset to -1 each event, does not make sense
assuming sizeSamples>m_sampleShift, is there a protection for this somehwere?
Definition at line 73 of file LArCalibDigitsAccumulator.cxx.
92 return StatusCode::FAILURE;
103 return StatusCode::FAILURE;
107 cablingLeg = {*cablingHdlLeg};
110 return StatusCode::FAILURE;
127 sc=
detStore()->retrieve(calibParams,
"LArCalibParams");
129 {
ATH_MSG_ERROR(
"Cannot load LArCalibParams from DetStore." );
130 return StatusCode::FAILURE;
142 ATH_MSG_ERROR(
"Can't retrieve LArCalibDigitContainer with key " <<
key <<
"from StoreGate." );
143 return StatusCode::SUCCESS;
145 ATH_MSG_DEBUG(
"Retrieved LArCalibDigitContainer with key " <<
key <<
" from StoreGate." );
148 if(calibDigitContainer->
empty()) {
151 ATH_MSG_DEBUG(
"LArCalibDigitContainer with key=" <<
key <<
" has size = " << calibDigitContainer->
size() );
155 std::vector<unsigned int> ntrigger, nTriggerPerStep, nStepTrigger, iStepTrigger;
157 ntrigger.resize(calibDigitContainer->
size(),0);
179 std::vector<Identifier> ccellIds(0);
180 unsigned numPulsedLeg = 0;
185 bool hasInvalid=
false;
186 for(
auto s :
digit->samples()){
192 if(hasInvalid)
continue;
197 HWIdentifier cellLegHWID = cablingLeg->createSignalChannelID(
id);
198 const std::vector<HWIdentifier>& calibLineLeg = clcabling->
calibSlotLine(cellLegHWID);
199 numCL += calibLineLeg.size();
201 if ( calibParams->
isPulsed(eventNb,calibLineHWID) ){
204 if (
digit->isPulsed() )
ATH_MSG_WARNING(
"SC "<< chid <<
" constituent cell "<< cellLegHWID <<
" calib line "<< calibLineHWID<<
" not pulsed");}
207 if (
digit->isPulsed() && numPulsedLeg != numCL ){
208 ATH_MSG_WARNING(
"Number of pulsed legacy cells does not equal number of calibration lines "<<chid<<
"!! LArParams counter = " << numPulsedLeg <<
", SC2CCMappingTool = " << ccellIds.size() <<
", num CLs = "<< numCL);
211 ATH_MSG_WARNING(
"Discarding this SC ("<<chid<<
") as it is not fully pulsed");
215 ATH_MSG_DEBUG(
"SC "<<chid<<
" pulsed cells "<< numPulsedLeg <<
" or "<< ccellIds.size()<<
", "<<numCL<<
" calibration lines");
222 const std::vector<HWIdentifier>& calibLineID=clcabling->
calibSlotLine(chid);
224 if(!calibLineID.empty()){
226 nTriggerPerStep[febhash] = calibParams->
NTrigger(calibModuleID);
227 ATH_MSG_DEBUG(
"Ntrigger per step = " << nTriggerPerStep[febhash] );
228 if(nTriggerPerStep[febhash] > 1000) nTriggerPerStep[febhash]=100;
231 nTriggerPerStep[febhash] = 100;
235 bool isPulsed =
digit->isPulsed();
244 ATH_MSG_DEBUG(
"Delay is changing to " <<
digit->delay() <<
" from " <<
m_delay <<
": book a new LArAccumulatedCalibDigitContainer" );
259 delete larAccuCalibDigitContainer;
260 return StatusCode::FAILURE;
264 LArAccumulated& cellAccumulated = accIter->second[hashid];
268 cellAccumulated.m_ntrigger++;
269 ATH_MSG_DEBUG(
"chid = " << chid <<
", trigger = " << cellAccumulated.m_ntrigger <<
", DAC = " <<
digit->DAC()<<
", Delay = "<<
digit->delay()<<
", isPulsed? "<<
digit->isPulsed() );
272 unsigned int sizeSamples =
digit->samples().size();
273 ATH_MSG_DEBUG(
"sizeSteps = " << sizeSteps <<
", # of samples = " << sizeSamples );
275 if(cellAccumulated.m_ntrigger==1){
276 cellAccumulated.m_sum.clear();
277 cellAccumulated.m_sum2.clear();
278 cellAccumulated.m_sum.resize(sizeSamples,0);
279 cellAccumulated.m_sum2.resize(sizeSamples,0);
283 for(
unsigned int j=0;j<sizeSamples;j++){
286 digis=
digit->samples()[sizeSamples-1];
287 cellAccumulated.m_sum[j] += digis;
288 cellAccumulated.m_sum2[j] += digis*digis;
291 digis=
digit->samples()[0];
292 cellAccumulated.m_sum[j] += digis;
293 cellAccumulated.m_sum2[j] += digis*digis;
296 cellAccumulated.m_sum[j] += digis;
297 cellAccumulated.m_sum2[j] += digis*digis;
302 unsigned int ntrigUsed = nTriggerPerStep[febhash];
307 if(cellAccumulated.m_ntrigger==ntrigUsed){
309 ATH_MSG_DEBUG(
"chid = " << chid <<
", gain = " <<
gain <<
", DAC = " <<
digit->DAC() <<
", isPulsed = " << isPulsed <<
", delay = " <<
m_delay <<
", trigPerStep = " << nTriggerPerStep[febhash] <<
", istep = " << iStepTrigger[febhash] );
314 ATH_MSG_DEBUG(
"Channel "<<chid<<
" DAC "<<
digit->DAC()<<
" will multiply by "<<numPulsedLeg<<
" = "<<
digit->DAC()*numPulsedLeg<<
" is pulsed??? "<<isPulsed);
321 accuCalibDigit->
setAddSubStep(cellAccumulated.m_sum,cellAccumulated.m_sum2,ntrigUsed);
322 iStepTrigger[febhash]++;
324 std::vector<float>
mean = accuCalibDigit->
mean();
325 std::vector<float>
RMS = accuCalibDigit->
RMS();
327 for(
unsigned int i=0;
i<
mean.size();
i++){
332 larAccuCalibDigitContainer->
push_back(accuCalibDigit);
334 cellAccumulated.m_nused = cellAccumulated.m_ntrigger;
335 cellAccumulated.m_ntrigger = 0;
343 if (
sc!=StatusCode::SUCCESS)
344 {
ATH_MSG_WARNING(
"Unable to record LArAccumulatedCalibDigitContainer with key " <<
key <<
" from DetectorStore. " );
347 ATH_MSG_DEBUG(
"Recorded succesfully LArAccumulatedCalibDigitContainer with key " <<
key <<
" with size " << larAccuCalibDigitContainer->
size());
349 sc =
evtStore()->setConst(larAccuCalibDigitContainer);
350 if (
sc.isFailure()) {
351 ATH_MSG_ERROR(
" Cannot lock LArAccumulatedCalibDigitContainer " );
352 return(StatusCode::FAILURE);
357 return StatusCode::SUCCESS;
◆ 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
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode LArCalibDigitsAccumulator::finalize |
( |
| ) |
|
assuming 100 per step
Definition at line 367 of file LArCalibDigitsAccumulator.cxx.
369 if ( !
m_isSC )
return StatusCode::SUCCESS;
373 for(
auto &
sc :
acc.second){
374 if(
sc.m_onlineId &&
sc.m_nused != ntrigUsed){
375 ATH_MSG_WARNING(
"Not enough triggers for pattern " <<
pattern <<
" channel OnlineID " <<
sc.m_onlineId <<
" ntriggers " <<
sc.m_ntrigger );
380 return StatusCode::SUCCESS;
◆ getPatternName()
std::string LArCalibDigitsAccumulator::getPatternName |
( |
const std::string & |
gain, |
|
|
bool |
isPulsed, |
|
|
int |
delay, |
|
|
int |
dac |
|
) |
| |
|
staticprivate |
◆ initialize()
StatusCode LArCalibDigitsAccumulator::initialize |
( |
| ) |
|
◆ 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.
◆ 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()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ 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_Accumulated_map
std::map<std::string, std::vector<LArAccumulated> > LArCalibDigitsAccumulator::m_Accumulated_map |
|
private |
◆ m_cablingKey
◆ m_cablingKeySC
◆ m_calibAccuDigitContainerName
std::string LArCalibDigitsAccumulator::m_calibAccuDigitContainerName |
|
private |
◆ m_calibMapKey
◆ m_calibMapSCKey
◆ m_delay
int LArCalibDigitsAccumulator::m_delay |
|
private |
◆ m_delayScale
double LArCalibDigitsAccumulator::m_delayScale |
|
private |
◆ m_detStore
◆ m_DropPercentTrig
double LArCalibDigitsAccumulator::m_DropPercentTrig |
|
private |
Percentage of the used triggers that we will skip over at the end, in order ot ensure that the accumulation is done, even if there are lots of missing events from SC.
Definition at line 118 of file LArCalibDigitsAccumulator.h.
◆ m_event_counter
unsigned int LArCalibDigitsAccumulator::m_event_counter |
|
private |
◆ m_eventNb
unsigned int LArCalibDigitsAccumulator::m_eventNb = 0U |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_isSC
bool LArCalibDigitsAccumulator::m_isSC |
|
private |
◆ m_keepFullyPulsedSC
bool LArCalibDigitsAccumulator::m_keepFullyPulsedSC |
|
private |
◆ m_keepPulsed
bool LArCalibDigitsAccumulator::m_keepPulsed |
|
private |
◆ m_keylist
std::vector<std::string> LArCalibDigitsAccumulator::m_keylist |
|
private |
◆ m_nStepTrigger
unsigned int LArCalibDigitsAccumulator::m_nStepTrigger |
|
private |
◆ m_onlineHelper
◆ m_sampleShift
int LArCalibDigitsAccumulator::m_sampleShift |
|
private |
◆ m_sc2ccMappingTool
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
Data class for calibration ADC samples preprocessed by the DSP.
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
void setDelayScale(const double scale)
set the delay Scale
size_type febHashMax(void) const
define feb hash tables max size
uint64_t eventNumber() const
The current event's event number.
unsigned int m_nStepTrigger
Number of intermediate accumulations (JO property)
unsigned NTrigger(const HWIdentifier calibModuleID) const
std::vector< std::string > m_keylist
list of key for input digit container (=gain)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
double m_DropPercentTrig
Percentage of the used triggers that we will skip over at the end, in order ot ensure that the accumu...
bool m_keepPulsed
Tells you whether you keep only pulsed cells or all cells.
const std::vector< HWIdentifier > & calibSlotLine(const HWIdentifier id) const
int m_sampleShift
Samples to shift by, usually used in the case of SCs.
bool m_isSC
Tells you whether you run on SuperCells or Cells.
unsigned int m_event_counter
Event counter.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
std::vector< SG::VarHandleKeyArray * > m_vhka
HWIdentifier calib_module_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Build calibration module identifier from fields.
static std::string getPatternName(const std::string &gain, bool isPulsed, int delay, int dac)
const std::string & key() const
Return the StoreGate ID for the referenced object.
value_type get_compact() const
Get the compact id.
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
std::map< std::string, std::vector< LArAccumulated > > m_Accumulated_map
Vector (index=hash ID) of accumulation quantities.
Container class for LArCalibDigit.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
double m_delayScale
Set delay scale.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< float > RMS() const
Calculates and returns the RMS value of each ADC sample.
bool isPulsed(const unsigned event, const HWIdentifier calibLineID) const
std::string m_calibAccuDigitContainerName
LArAccumulatedCalibDigitContainer name.
double delay(std::size_t d)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapKey
std::vector< float > mean() const
Calculates and returns the Mean value of each ADC sample.
Helper for the Liquid Argon Calorimeter cell identifiers.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKeySC
Base class for LArDigits taken during calibration runs.
size_type channelHashMax(void) const
Define channel hash tables max size.
bool m_keepFullyPulsedSC
Tells you whether you keep only fully pulsed supercells or all supercells.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
StatusCode initialize(bool used=true)
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Class describing the basic event information.
DataObjIDColl m_extendedExtraObjects
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
bool setAddSubStep(const std::vector< uint64_t > &sampleSum, const std::vector< uint64_t > &sample2Sum, const uint32_t nTriggerPerStep)
Sum up with another substep.
AthAlgorithm()
Default constructor:
const LArOnlineID_Base * m_onlineHelper
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
SG::ReadCondHandleKey< LArCalibLineMapping > m_calibMapSCKey
Container class for LArAccumulatedCalibDigit.
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
bool empty() const noexcept
Returns true if the collection is empty.
ToolHandle< ICaloSuperCellIDTool > m_sc2ccMappingTool