|
ATLAS Offline Software
|
#include <L1CPCMXTools.h>
|
| L1CPCMXTools (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor. More...
|
|
virtual StatusCode | initialize () |
| standard Athena-Algorithm method More...
|
|
virtual void | formCMXCPTob (const xAOD::CPMTobRoIContainer *cpmRoiVec, xAOD::CMXCPTobContainer *cmxTobVec) const |
| form CMX-CP TOBs from RoIs - single slice More...
|
|
virtual void | formCMXCPTob (const std::vector< const xAOD::CPMTobRoIContainer * > &cpmRoiColls, xAOD::CMXCPTobContainer *cmxTobVec, uint8_t peak) const |
| form CMX-CP TOBs from RoIs - multiple slices More...
|
|
virtual void | formCMXCPHits (const TrigConf::L1Menu *l1menu, const xAOD::CMXCPTobContainer *cmxTobVec, xAOD::CMXCPHitsContainer *cmxHitsVec) const |
| form complete CMX-CP hits from CMX-CP TOBs More...
|
|
virtual void | formCMXCPHitsCrate (const TrigConf::L1Menu *l1menu, const xAOD::CMXCPTobContainer *cmxTobVec, xAOD::CMXCPHitsContainer *cmxHitsCrate) const |
| form partial CMX-CP hits (crate) from CMX-CP TOBs More...
|
|
virtual void | formCMXCPHitsSystem (const xAOD::CMXCPHitsContainer *cmxHitsCrate, xAOD::CMXCPHitsContainer *cmxHitsSys) const |
| form partial CMX-CP hits (system) from crate CMX-CP hits More...
|
|
virtual void | formCMXCPHitsTopo (const xAOD::CMXCPTobContainer *cmxTobVec, xAOD::CMXCPHitsContainer *cmxHitsTopo) const |
| form partial CMX-CP hits (topo) from CMX-CP TOBs 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 |
|
|
std::pair< uint32_t, uint32_t > | roiWord (const EmTauROI *roi) const |
| Temporary for testing until CPAlgorithm and EmTauROI are updated. More...
|
|
int | isolationEm (unsigned int clusterEnergy, unsigned int emIsol, unsigned int hadIsol, unsigned int hadVeto) const |
|
int | isolationTau (unsigned int clusterEnergy, unsigned int emIsol, unsigned int hadIsol) const |
|
void | unpackEmIsol (int energy, int isol, unsigned int &emIsol, unsigned int &hadIsol, unsigned int &hadVeto) const |
|
void | unpackTauIsol (int energy, int isol, unsigned int &emIsol, unsigned int &hadIsol) const |
|
void | getHits (const TrigConf::L1Menu *l1menu, const xAOD::CMXCPTob *tob, HitsVector &hits0, HitsVector &hits1) const |
|
void | addOverflow (ErrorVector &hitErr, const ErrorVector &tobErr) const |
|
void | addCMXCPHits (HitsVector &vec1, const HitsVector &vec2) const |
| Add hits from second vector to first. More...
|
|
unsigned int | addHits (unsigned int hitMult, unsigned int hitVec, int multBits, int vecBits) const |
| Increment CPM/CMX hit word. More...
|
|
void | mergeCMXCPHits (xAOD::CMXCPHitsContainer *cmxHitsVec1, xAOD::CMXCPHitsContainer *cmxHitsVec2) const |
| Merge CMX-CP hits vectors. More...
|
|
void | saveCMXCPHits (xAOD::CMXCPHitsContainer *cmxHitsVec, const HitsVector &hits0, const HitsVector &hits1, const ErrorVector &err0, const ErrorVector &err1, uint8_t crate, uint8_t cmx, uint8_t source, uint8_t peak) const |
| Save non-zero CMX-CP hits. More...
|
|
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...
|
|
This is a tool to reconstruct the L1 CMX-CP TOBs and hits from RoIs. Used for offline monitoring and trigger reconstruction.
Useage: L1CPCMXTools->formCMXCPTob() // form CMX-CP TOBs from RoIs L1CPCMXTools->formCMXCPHits() // form CMX-CP hits from TOBs
- Author
- Peter Faulkner
Definition at line 36 of file L1CPCMXTools.h.
◆ ErrorVector
◆ HitsVector
◆ StoreGateSvc_t
◆ L1CPCMXTools()
LVL1::L1CPCMXTools::L1CPCMXTools |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Constructor.
Definition at line 30 of file L1CPCMXTools.cxx.
35 declareInterface<IL1CPCMXTools>(
this);
◆ addCMXCPHits()
Add hits from second vector to first.
Definition at line 490 of file L1CPCMXTools.cxx.
492 int size1 = vec1.size();
493 int size2 =
vec2.size();
498 HitsVector::const_iterator pos2 =
vec2.begin();
499 HitsVector::const_iterator pose2 =
vec2.end();
500 for (; pos1 != pose1 && pos2 != pose2; ++pos1, ++pos2) {
501 *pos1 =
addHits(*pos1, *pos2, 24, 24);
◆ addHits()
unsigned int LVL1::L1CPCMXTools::addHits |
( |
unsigned int |
hitMult, |
|
|
unsigned int |
hitVec, |
|
|
int |
multBits, |
|
|
int |
vecBits |
|
) |
| const |
|
private |
Increment CPM/CMX hit word.
Definition at line 507 of file L1CPCMXTools.cxx.
510 msg() <<
MSG::DEBUG <<
"addHits: Original hitMult = " << std::hex << hitMult
511 <<
". Add hitWord = " << hitVec << std::dec <<
endmsg;
516 int nbitsOut = multBits / nthresh;
517 int nbitsIn = vecBits / nthresh;
522 int max = (1 << nbitsOut) - 1;
523 unsigned int multMask =
max;
524 unsigned int hitMask = (1 << nbitsIn) - 1;
525 unsigned int shift = 0;
527 unsigned int hits = 0;
529 for (
int i = 0;
i < nthresh;
i++) {
530 int mult = (hitMult & multMask) + (hitVec & hitMask);
531 mult = ((mult <=
max) ? mult :
max);
532 hits += (mult << shift);
534 hitMult >>= nbitsOut;
◆ addOverflow()
Definition at line 359 of file L1CPCMXTools.cxx.
361 const int timeslices = tobErr.size();
362 hitErr.resize(timeslices);
◆ 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]
◆ 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
◆ formCMXCPHits()
◆ formCMXCPHitsCrate()
form partial CMX-CP hits (crate) from CMX-CP TOBs
Implements LVL1::IL1CPCMXTools.
Definition at line 239 of file L1CPCMXTools.cxx.
244 std::vector<HitsVector> hitVec(4 *
m_crates);
245 std::vector<ErrorVector> errVec(4 *
252 for (;
pos != pose; ++
pos) {
256 const int index = (crate * 2 + cmx) * 2;
272 for (
uint8_t cmx = 0; cmx < 2; ++cmx) {
273 const int index = (crate * 2 + cmx) * 2;
◆ formCMXCPHitsSystem()
form partial CMX-CP hits (system) from crate CMX-CP hits
Implements LVL1::IL1CPCMXTools.
Definition at line 377 of file L1CPCMXTools.cxx.
381 std::vector<HitsVector> systemHit0(2);
382 std::vector<HitsVector> systemHit1(2);
383 std::vector<ErrorVector> systemErr0(2);
384 std::vector<ErrorVector> systemErr1(2);
387 for (;
pos != pose; ++
pos) {
411 for (
uint8_t cmx = 0; cmx < 2; ++cmx) {
412 saveCMXCPHits(cmxHitsSys, systemHit0[cmx], systemHit1[cmx], systemErr0[cmx],
◆ formCMXCPHitsTopo()
form partial CMX-CP hits (topo) from CMX-CP TOBs
Implements LVL1::IL1CPCMXTools.
Definition at line 421 of file L1CPCMXTools.cxx.
426 std::vector<HitsVector> hitVec(8 *
m_crates);
429 for (;
pos != pose; ++
pos) {
436 const int index = (crate * 2 + cmx) * 4;
438 const std::vector<uint8_t> &isolation(tob->
isolationVec());
440 timeslices =
energy.size();
445 checksum.resize(timeslices);
446 map.resize(timeslices);
447 countsLow.resize(timeslices);
448 countsHigh.resize(timeslices);
457 checksum[
slice] &= 0xff;
459 map[
slice] |= (1 << (cpm - 1));
462 countsLow[
slice] += (1 << (3 * (cpm - 1)));
464 countsHigh[
slice] += (1 << (3 * (cpm - 8)));
473 std::vector<uint32_t> dummyE(timeslices);
475 for (
uint8_t cmx = 0; cmx < 2; ++cmx) {
476 const int index = (crate * 2 + cmx) * 4;
◆ formCMXCPTob() [1/2]
form CMX-CP TOBs from RoIs - multiple slices
Implements LVL1::IL1CPCMXTools.
Definition at line 130 of file L1CPCMXTools.cxx.
133 std::map<uint32_t, const xAOD::CPMTobRoI *> cpmRoiMap;
134 std::map<int, xAOD::CMXCPTob *> cmxTobMap;
136 int timeslices = cpmRoiColls.size();
147 const int crate = roi->
crate();
148 const int cpm = roi->
cpm();
150 const int presenceBit =
154 presenceMaps[
index] |= (1 << presenceBit);
157 cpmRoiMap.insert(std::make_pair(
key, roi));
159 std::map<uint32_t, const xAOD::CPMTobRoI *>::const_iterator mit =
161 std::map<uint32_t, const xAOD::CPMTobRoI *>::const_iterator mitE =
163 for (; mit != mitE; ++mit) {
166 const int crate = roi->
crate();
167 const int cmx = 1 -
type;
168 const int cpm = roi->
cpm();
169 const int chip = (roi->
chip() << 1) | ((roi->
location() >> 2) & 0
x1);
170 const int loc = roi->
location() & 0x3;
174 const unsigned int presence = presenceMaps[
index];
178 for (
int bit = 0; bit <= chip; ++bit)
179 count += (presence >> bit) & 0x1;
187 (((((((crate << 1) | cmx) << 4) | cpm) << 4) | chip) << 2) | loc;
190 if (xit == cmxTobMap.end()) {
194 std::vector<uint8_t> vecI(timeslices);
195 std::vector<uint32_t> vecU32(timeslices);
196 std::vector<uint16_t> vecU(timeslices);
197 tob->
addTob(vecI, vecI, vecU32, vecU);
199 cmxTobMap.insert(std::make_pair(
key, tob));
203 std::vector<uint8_t> energyVec(tob->
energyVec());
205 std::vector<uint32_t> errorVec(tob->
errorVec());
208 isolationVec[
slice] = isolation;
210 presenceMapVec[
slice] = presence;
211 tob->
addTob(energyVec, isolationVec, errorVec, presenceMapVec);
◆ formCMXCPTob() [2/2]
form CMX-CP TOBs from RoIs - single slice
Implements LVL1::IL1CPCMXTools.
Definition at line 122 of file L1CPCMXTools.cxx.
124 std::vector<const xAOD::CPMTobRoIContainer *> cpmRoiColls(1, cpmRoiVec);
◆ getHits()
Definition at line 287 of file L1CPCMXTools.cxx.
291 const std::vector<uint8_t> &isolation(tob->
isolationVec());
293 int cmx = tob->
cmx();
294 int crate = tob->
crate();
295 int cpm = tob->
cpm();
296 int chip = (tob->
chip() >> 1) & 0x7;
300 const int type = 1 - cmx;
301 const int timeslices =
energy.size();
302 hit0.resize(timeslices);
303 hit1.resize(timeslices);
307 const std::string thrType = (
type == 0) ? def.emType() : def.tauType();
310 std::vector<std::shared_ptr<TrigConf::L1Threshold>> allThresholds =
l1menu->thresholds();
311 std::vector<std::shared_ptr<TrigConf::L1Threshold>> thresholds;
312 thresholds.reserve(16);
314 for (
const auto&
thresh : allThresholds ) {
315 if (
thresh->type() == thrType) {
316 thresholds.push_back(
thresh);
320 if (thresholds.size() > 16) {
321 ATH_MSG_ERROR(
"Wrong number of thresholds " << thresholds.size());
330 hit0[
slice] = 0xffffff;
331 hit1[
slice] = 0xffffff;
337 int isol = isolation[
slice];
338 std::unique_ptr<LVL1::CPMTobRoI> roi(
342 RecEmTauRoI recRoI(roi->roiWord(), &(*
l1menu));
343 auto mask = recRoI.thresholdPattern();
344 for (
const auto&
threshold : thresholds) {
346 if (!recRoI.isValidThreshold(numThresh) ||
347 (((1 << numThresh) &
mask) == 0)) {
351 hit0[
slice] |= (1 << (numThresh * 3));
353 hit1[
slice] |= (1 << ((numThresh - 8) * 3));
◆ initialize()
StatusCode LVL1::L1CPCMXTools::initialize |
( |
| ) |
|
|
virtual |
standard Athena-Algorithm method
Initialisation.
Definition at line 41 of file L1CPCMXTools.cxx.
44 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.
◆ interfaceID()
const InterfaceID & LVL1::IL1CPCMXTools::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ isolationEm()
int LVL1::L1CPCMXTools::isolationEm |
( |
unsigned int |
clusterEnergy, |
|
|
unsigned int |
emIsol, |
|
|
unsigned int |
hadIsol, |
|
|
unsigned int |
hadVeto |
|
) |
| const |
|
private |
◆ isolationTau()
int LVL1::L1CPCMXTools::isolationTau |
( |
unsigned int |
clusterEnergy, |
|
|
unsigned int |
emIsol, |
|
|
unsigned int |
hadIsol |
|
) |
| const |
|
private |
◆ mergeCMXCPHits()
◆ 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()
◆ roiWord()
std::pair< uint32_t, uint32_t > LVL1::L1CPCMXTools::roiWord |
( |
const EmTauROI * |
roi | ) |
const |
|
private |
Temporary for testing until CPAlgorithm and EmTauROI are updated.
Definition at line 49 of file L1CPCMXTools.cxx.
50 const uint32_t oldRoi = roi->roiWord();
52 const int crate =
decoder.crate(oldRoi);
54 const int chip =
decoder.chip(oldRoi);
60 if (roi->thresholdPassed(
thresh)) {
71 isolationEm(roi->clusterEnergy(), roi->emRingIsolationEnergy(),
72 roi->hadRingIsolationEnergy(), roi->hadCoreEnergy());
75 emRoi = newRoi.roiWord();
79 isolationTau(roi->tauClusterEnergy(), roi->emRingIsolationEnergy(),
80 roi->hadRingIsolationEnergy());
82 roi->tauClusterEnergy(), isolation);
83 tauRoi = newRoi.roiWord();
85 return std::make_pair(emRoi, tauRoi);
◆ saveCMXCPHits()
◆ 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.
◆ unpackEmIsol()
void LVL1::L1CPCMXTools::unpackEmIsol |
( |
int |
energy, |
|
|
int |
isol, |
|
|
unsigned int & |
emIsol, |
|
|
unsigned int & |
hadIsol, |
|
|
unsigned int & |
hadVeto |
|
) |
| const |
|
private |
◆ unpackTauIsol()
void LVL1::L1CPCMXTools::unpackTauIsol |
( |
int |
energy, |
|
|
int |
isol, |
|
|
unsigned int & |
emIsol, |
|
|
unsigned int & |
hadIsol |
|
) |
| const |
|
private |
◆ updateVHKA()
◆ m_crates
int LVL1::L1CPCMXTools::m_crates |
|
private |
◆ m_debug
bool LVL1::L1CPCMXTools::m_debug |
|
private |
◆ m_detStore
◆ m_evtStore
◆ m_maxTobs
int LVL1::L1CPCMXTools::m_maxTobs |
|
private |
◆ m_modules
int LVL1::L1CPCMXTools::m_modules |
|
private |
◆ m_sysCrate
int LVL1::L1CPCMXTools::m_sysCrate |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
int isolation() const
Return isolation.
std::vector< D3PDTest::MyVec2 > vec2
Extra patterns decribing particle interation process.
Const iterator class for DataVector/DataList.
uint8_t crate() const
get crate
void addTob(const std::vector< uint8_t > &energyVec, const std::vector< uint8_t > &isolationVec, const std::vector< uint32_t > &errorVec, const std::vector< uint16_t > &presenceMapVec)
add data to existing object
decoder
def channelSelection(self, channelList, groupType): if groupType == self.SingleGroup: pass elif group...
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
CMXCPTob_v1 CMXCPTob
Define the latest version of the CMXCPTob class.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
int crate() const
Return crate number (0-1)
Description of CMXCPTob_v1.
void setPeak(uint8_t)
set peak
void swapElement(size_type index, value_type newElem, reference oldElem)
Swap one element out of the container.
virtual void setOwner(IDataHandleHolder *o)=0
CMXCPHits_v1 CMXCPHits
Define the latest version of the CMMCPHits class.
Forward iterator to traverse the main components of the trigger configuration.
const std::vector< uint32_t > & errorVec() const
get errorVec
virtual void initialize(const uint8_t crate, const uint8_t cmx, const uint8_t source)
initialize
int cpm() const
Return CPM number (1-14)
virtual void initialize(const uint8_t crate, const uint8_t cmx, const uint8_t cpm, const uint8_t chip, const uint8_t loc)
initialize
uint32_t error() const
get errorVec at peak bunch crossing
void set(ErrorBit bit, int value=1)
Set an error bit or data.
int type() const
Return type em/tau (0/1)
const std::vector< uint8_t > & isolationVec() const
get isolationVec
uint32_t roiWord() const
get roiWord
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const std::vector< uint16_t > & presenceMapVec() const
get presenceMapVec
void clear()
Erase all the elements in the collection.
int error() const
Return the full error word.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
CMXCPHitsContainer_v1 CMXCPHitsContainer
Define the latest version of the CMXCPHits class.
uint8_t cmx() const
get cmx
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void makePrivateStore()
Create a new (empty) private store for this object.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
static const unsigned int numOfCPThresholds
const std::vector< uint8_t > & energyVec() const
get energyVec
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int chip() const
Return CP chip number (0-7)
int energy() const
Return energy.
Description of CMXCPHits_v1.
int location() const
Return location (RoI local coords) (0-7)
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>
CPMTobRoI_v1 CPMTobRoI
Define the latest version of the CPMTobRoI class.
uint8_t peak() const
get peak
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
uint8_t cpm() const
get cpm
Description of CPMTobRoI_v1.
uint8_t location() const
get location
uint8_t chip() const
get chip