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

#include <LArCelldeadOTXAlg.h>

Inheritance diagram for LArCelldeadOTXAlg:

Public Member Functions

virtual StatusCode initialize () override final
virtual StatusCode execute (const EventContext &ctx) const override final
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
virtual void setFilterPassed (bool state, const EventContext &ctx) const
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 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

Protected Member Functions

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

void buildMap (const EventContext &ctx, StatusCode &sc) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadHandleKey< LArRawSCContainerm_SCKey {this, "keySC", "SC_ET","Key for SuperCells container"}
SG::WriteHandleKey< LArDeadOTXFromSCm_deadOTXFromSCKey {this, "DeadOTXFromSC", "DeadOTXFromSC","DeadOTXFromSC"}
SG::ReadCondHandleKey< LArBadFebContm_MFKey {this, "keyMF", "LArBadFeb", "Key for missing FEBs"}
SG::ReadCondHandleKey< LArBadChannelContm_badSCKey {this, "BadSCKey", "LArBadChannelSC", "Key of the LArBadChannelCont SC" }
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingKey {this, "keyCabling", "LArOnOffIdMap", "Key for the cabling"}
SG::ReadCondHandleKey< LArOnOffIdMappingm_cablingSCKey {this, "keySCCabling", "LArOnOffIdMapSC", "Key for the cabling of the SC"}
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"}
Gaudi::Property< int > m_scCut {this,"SCEneCut",70,"Do not use super-cells with values below this cut"}
const LArOnlineIDm_onlineID =nullptr
const LArOnline_SuperCellIDm_onlineSCID =nullptr
const CaloCell_IDm_calo_id =nullptr
ToolHandle< ICaloSuperCellIDToolm_scidtool {this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"}
std::once_flag m_onceFlag ATLAS_THREAD_SAFE
std::mutex m_mtx
std::vector< HWIdentifier > m_febs ATLAS_THREAD_SAFE
std::vector< std::vector< float > > m_multipliers ATLAS_THREAD_SAFE
std::vector< std::vector< uint32_t > > m_channels ATLAS_THREAD_SAFE
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
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

Definition at line 27 of file LArCelldeadOTXAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Function Documentation

◆ buildMap()

void LArCelldeadOTXAlg::buildMap ( const EventContext & ctx,
StatusCode & sc ) const
private

Definition at line 109 of file LArCelldeadOTXAlg.cxx.

109 {
110
111 sc = StatusCode::FAILURE;
112
113 SG::ReadCondHandle<LArOnOffIdMapping> cablingHdl(m_cablingKey, ctx);
114 if (!cablingHdl.isValid()) {
115 ATH_MSG_ERROR("Do not have Onl-Ofl cabling map !!!!");
116 return;
117 }
118 const LArOnOffIdMapping* oflCabling = cablingHdl.cptr();
119
120 SG::ReadCondHandle<LArOnOffIdMapping> cablingSCHdl(m_cablingSCKey, ctx);
121 if (!cablingSCHdl.isValid()) {
122 ATH_MSG_ERROR("Do not have Onl-Ofl cabling map for SuperCells !!!!");
123 return;
124 }
125
126 const LArOnOffIdMapping* scCabling = cablingSCHdl.cptr();
127
128 SG::ReadCondHandle<LArBadFebCont> mfHdl(m_MFKey, ctx);
129 if (!mfHdl.isValid()) {
130 ATH_MSG_ERROR("Do not have Missing FEBs container !!!!");
131 return;
132 }
133
134 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey, ctx};
135 if (!caloMgrHandle.isValid()) {
136 ATH_MSG_ERROR("Do not have CaloDetDescManager !!!");
137 return;
138 }
139
140 const CaloDetDescrManager* caloDDM = *caloMgrHandle;
141
142 SG::ReadCondHandle<LArBadChannelCont> bcSCHdl(m_badSCKey, ctx);
143 if (!bcSCHdl.isValid()) {
144 ATH_MSG_ERROR("Do not have BadSCContainer !!!!");
145 return;
146 }
147 const LArBadChannelCont* bcSCCont = *bcSCHdl;
148
149 const std::vector<std::pair<unsigned int, LArBadFeb> >& badFebs = mfHdl->fullCont();
150
151 for (const auto& idBF : badFebs) {
152 if (idBF.second.deadReadout()) {
153 const HWIdentifier febid(idBF.first);
154 m_febs.push_back(febid);
155 ATH_MSG_INFO("FEB " << m_onlineID->channel_name(febid) << " labelled as dead");
156 std::vector<float> vector_of_multipliers;
157 std::vector<uint32_t> vector_of_chans;
158 const int nChans = m_onlineID->channelInSlotMax(febid);//may return -999
159 if (ATH_UNLIKELY(nChans < 0)) {
160 ATH_MSG_WARNING("LArCelldeadOTXAlg::buildMap : nChans<0");
161 continue;
162 }
163 vector_of_multipliers.resize(nChans,0.0);
164 vector_of_chans.resize(nChans,0xffffffff);
165 for (int ch = 0; ch < nChans; ++ch) {
166 const HWIdentifier chid = m_onlineID->channel_Id(febid, ch);
167 const Identifier id = oflCabling->cnvToIdentifier(chid);
168 const IdentifierHash hashId = m_calo_id->calo_cell_hash(id);
169 const Identifier scID = m_scidtool->offlineToSuperCellID(id);
170 const HWIdentifier scHwid = scCabling->createSignalChannelID(scID);
171 const IdentifierHash hashidSC = m_onlineSCID->channel_Hash(scHwid);
172 if (!bcSCCont->status(scHwid).good()) {
173 ATH_MSG_DEBUG("SuperCell with id 0x" << std::hex << scHwid.get_identifier32().get_compact() << std::dec
174 << " is ignored b/c of it's bad-channel word. Connected to deadFEB channel " << m_onlineID->channel_name(chid));
175 continue;
176 }
177 const unsigned nCell = (m_scidtool->superCellToOfflineID(scID)).size();
178 const CaloDetDescrElement* dde = caloDDM->get_element(hashId);
179 if (ATH_UNLIKELY(!dde)) {
180 ATH_MSG_INFO("No DetDescElement for cell hash : " << hashId);
181 } else {
182 // 12.5: Convert SC ADC to MeV (Et), et ->e, scale by the number of regular cells connected to this super-cell
183 const float convFactor = 12.5 * (1.0 / nCell) * (1.0 / dde->sinTh());
184 vector_of_multipliers[ch]=convFactor;
185 vector_of_chans[ch]=hashidSC.value();
186 }
187 } // end loop over channels of one dead FEB
188 m_multipliers.push_back(std::move(vector_of_multipliers));
189 m_channels.push_back(std::move(vector_of_chans));
190 } // end if feb is deadAll
191 } // end loop over dead febs
192
193 sc = StatusCode::SUCCESS;
194 return;
195}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
#define ATH_UNLIKELY(x)
LArBadXCont< LArBadChannel > LArBadChannelCont
static Double_t sc
float sinTh() const
for algorithm working in transverse Energy
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
value_type get_compact() const
Get the compact id.
value_type value() const
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
bool good() const
Returns true if no problems at all (all bits at zero)
const BadChanVec & fullCont() const
LArBC_t status(const HWIdentifier channel) const
Query the status of a particular channel or FEB This is the main client access method.
const LArOnline_SuperCellID * m_onlineSCID
ToolHandle< ICaloSuperCellIDTool > m_scidtool
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const LArOnlineID * m_onlineID
SG::ReadCondHandleKey< LArBadChannelCont > m_badSCKey
const CaloCell_ID * m_calo_id
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingSCKey
SG::ReadCondHandleKey< LArBadFebCont > m_MFKey
Identifier cnvToIdentifier(const HWIdentifier &sid) const
create an Identifier from a HWIdentifier (inline)
HWIdentifier createSignalChannelID(const Identifier &id) const
create a HWIdentifier from an Identifier (not inline)

◆ cardinality()

unsigned int AthCommonReentrantAlgorithm< Gaudi::Algorithm >::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.

64{
65 return 0;
66}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode LArCelldeadOTXAlg::execute ( const EventContext & ctx) const
finaloverridevirtual

keep this code here, but commented for future developement and testing purposes

Definition at line 33 of file LArCelldeadOTXAlg.cxx.

33 {
34
35 ATH_MSG_VERBOSE(" in execute...");
36
37 StatusCode sc = StatusCode::SUCCESS;
38 std::call_once(m_onceFlag, &LArCelldeadOTXAlg::buildMap, this, ctx, sc);
39
40 if (sc.isFailure()) {
41 ATH_MSG_ERROR("Call to LArCelldeadOTXAlg::buidMap returned an error");
42 return StatusCode::FAILURE;
43 }
44
45 SG::WriteHandle<LArDeadOTXFromSC> deadHdl(m_deadOTXFromSCKey,ctx);
46 std::unique_ptr<LArDeadOTXFromSC> deadHandle = std::make_unique<LArDeadOTXFromSC>();
47
48 // get SuperCellContainer
49 SG::ReadHandle<LArRawSCContainer> scHdl(m_SCKey, ctx);
50 if (!scHdl.isValid()) {
51 ATH_MSG_WARNING("Do not have SuperCell container no patching !!!!");
52 return StatusCode::SUCCESS;
53 }
54
55 const unsigned int bcid = ctx.eventID().bunch_crossing_id();
56
57 // get the SC, container is unordered, so have to loop
58 const LArRawSCContainer* scells = scHdl.cptr();
59 std::vector<float> vecEnergies;
60 vecEnergies.reserve(m_onlineSCID->channelHashMax());
61 vecEnergies.resize(m_onlineSCID->channelHashMax(),0.0);
62 //will be used below; avoid recreating in tight loop
63 std::vector<float> cellEnergies(128, 0.f);
64 //
65 for (const auto* supercell : *scells) {
66 if (!supercell)
67 continue;
68 const HWIdentifier scHwid = supercell->hardwareID();
69 uint32_t scIDHash = (m_onlineSCID->channel_Hash(scHwid)).value();
70
71 const std::vector<unsigned short>& bcids = supercell->bcids();
72 const std::vector<int>& energies = supercell->energies();
73 const std::vector<bool>& satur = supercell->satur();
74
75 // Look for bcid:
76 float scEne = 0;
77 const size_t nBCIDs = bcids.size();
78 size_t i = 0;
79 for (i = 0; i < nBCIDs && bcids[i] != bcid; i++)
80 ;
81
82 if (ATH_LIKELY(!satur[i]))
83 scEne = energies[i];
84 if (scEne < m_scCut) {
85 ATH_MSG_VERBOSE("SC value " << scEne << " below threshold, ignoring");
86 continue;
87 }
88 vecEnergies[scIDHash]=scEne;
89 } // End loop over SuperCell container
90
91 for(size_t i=0;i<m_channels.size();i++){
92 std::vector<uint32_t>& chans = m_channels[i];
93 std::vector<float>& mults = m_multipliers.at(i);
94 //set vector to zero
95 std::fill(cellEnergies.begin(), cellEnergies.end(),0.f);
96 for(size_t j=0; j<chans.size(); j++) {
97 if ( chans[j] < 0xfffffffe ) cellEnergies[j] = mults[j]*vecEnergies[chans[j]];
98 }
99 deadHandle->addFEB(m_febs[i],cellEnergies);
100 }
101 ATH_CHECK(deadHdl.record(std::move(deadHandle)) );
102
104 //cell->setProvenance(cell->provenance() | LArProv::PATCHED);
105
106 return StatusCode::SUCCESS;
107}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_LIKELY(x)
Gaudi::Property< int > m_scCut
SG::ReadHandleKey< LArRawSCContainer > m_SCKey
void buildMap(const EventContext &ctx, StatusCode &sc) const
SG::WriteHandleKey< LArDeadOTXFromSC > m_deadOTXFromSCKey
::StatusCode StatusCode
StatusCode definition for legacy code.
setEventNumber setTimeStamp bcid
setEventNumber uint32_t

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthCommonReentrantAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.

90{
91 // If we didn't find any symlinks to add, just return the collection
92 // from the base class. Otherwise, return the extended collection.
93 if (!m_extendedExtraObjects.empty()) {
95 }
97}
An algorithm that can be simultaneously executed in multiple threads.

◆ filterPassed()

virtual bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Definition at line 96 of file AthCommonReentrantAlgorithm.h.

96 {
97 return execState( ctx ).filterPassed();
98 }
virtual bool filterPassed(const EventContext &ctx) const

◆ initialize()

StatusCode LArCelldeadOTXAlg::initialize ( )
finaloverridevirtual

Definition at line 14 of file LArCelldeadOTXAlg.cxx.

14 {
15
16 ATH_CHECK(m_deadOTXFromSCKey.initialize());
17 ATH_CHECK(m_SCKey.initialize());
18 ATH_CHECK(m_MFKey.initialize());
19 ATH_CHECK(m_badSCKey.initialize());
20 ATH_CHECK(m_cablingKey.initialize());
21 ATH_CHECK(m_cablingSCKey.initialize());
22 ATH_CHECK(m_caloMgrKey.initialize());
23
24 ATH_CHECK(detStore()->retrieve(m_onlineID, "LArOnlineID"));
25 ATH_CHECK(detStore()->retrieve(m_onlineSCID, "LArOnline_SuperCellID"));
26 ATH_CHECK(detStore()->retrieve(m_calo_id, "CaloCell_ID"));
27
28 ATH_CHECK(m_scidtool.retrieve());
29
30 return StatusCode::SUCCESS;
31}
const ServiceHandle< StoreGateSvc > & detStore() const
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ isClonable()

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ 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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonReentrantAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Definition at line 100 of file AthCommonReentrantAlgorithm.h.

100 {
102 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const

◆ sysExecute()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.

77{
78 return BaseAlg::sysExecute (ctx);
79}

◆ sysInitialize()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in HypoBase, and InputMakerBase.

Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.

107 {
109
110 if (sc.isFailure()) {
111 return sc;
112 }
113
114 ServiceHandle<ICondSvc> cs("CondSvc",name());
115 for (auto h : outputHandles()) {
116 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
117 // do this inside the loop so we don't create the CondSvc until needed
118 if ( cs.retrieve().isFailure() ) {
119 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
120 return StatusCode::SUCCESS;
121 }
122 if (cs->regHandle(this,*h).isFailure()) {
124 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
125 << " with CondSvc");
126 }
127 }
128 }
129 return sc;
130}
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE [1/4]

std::once_flag m_onceFlag LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 51 of file LArCelldeadOTXAlg.h.

◆ ATLAS_THREAD_SAFE [2/4]

std::vector<HWIdentifier> m_febs LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 54 of file LArCelldeadOTXAlg.h.

◆ ATLAS_THREAD_SAFE [3/4]

std::vector<std::vector<float> > m_multipliers LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 55 of file LArCelldeadOTXAlg.h.

◆ ATLAS_THREAD_SAFE [4/4]

std::vector<std::vector<uint32_t> > m_channels LArCelldeadOTXAlg::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 56 of file LArCelldeadOTXAlg.h.

◆ m_badSCKey

SG::ReadCondHandleKey<LArBadChannelCont> LArCelldeadOTXAlg::m_badSCKey {this, "BadSCKey", "LArBadChannelSC", "Key of the LArBadChannelCont SC" }
private

Definition at line 39 of file LArCelldeadOTXAlg.h.

39{this, "BadSCKey", "LArBadChannelSC", "Key of the LArBadChannelCont SC" };

◆ m_cablingKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCelldeadOTXAlg::m_cablingKey {this, "keyCabling", "LArOnOffIdMap", "Key for the cabling"}
private

Definition at line 40 of file LArCelldeadOTXAlg.h.

40{this, "keyCabling", "LArOnOffIdMap", "Key for the cabling"};

◆ m_cablingSCKey

SG::ReadCondHandleKey<LArOnOffIdMapping> LArCelldeadOTXAlg::m_cablingSCKey {this, "keySCCabling", "LArOnOffIdMapSC", "Key for the cabling of the SC"}
private

Definition at line 41 of file LArCelldeadOTXAlg.h.

41{this, "keySCCabling", "LArOnOffIdMapSC", "Key for the cabling of the SC"};

◆ m_calo_id

const CaloCell_ID* LArCelldeadOTXAlg::m_calo_id =nullptr
private

Definition at line 47 of file LArCelldeadOTXAlg.h.

◆ m_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> LArCelldeadOTXAlg::m_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"}
private

Definition at line 42 of file LArCelldeadOTXAlg.h.

42{this,"CaloDetDescrManager", "CaloDetDescrManager"};

◆ m_deadOTXFromSCKey

SG::WriteHandleKey<LArDeadOTXFromSC> LArCelldeadOTXAlg::m_deadOTXFromSCKey {this, "DeadOTXFromSC", "DeadOTXFromSC","DeadOTXFromSC"}
private

Definition at line 37 of file LArCelldeadOTXAlg.h.

37{this, "DeadOTXFromSC", "DeadOTXFromSC","DeadOTXFromSC"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 114 of file AthCommonReentrantAlgorithm.h.

◆ m_MFKey

SG::ReadCondHandleKey<LArBadFebCont> LArCelldeadOTXAlg::m_MFKey {this, "keyMF", "LArBadFeb", "Key for missing FEBs"}
private

Definition at line 38 of file LArCelldeadOTXAlg.h.

38{this, "keyMF", "LArBadFeb", "Key for missing FEBs"};

◆ m_mtx

std::mutex LArCelldeadOTXAlg::m_mtx
mutableprivate

Definition at line 53 of file LArCelldeadOTXAlg.h.

◆ m_onlineID

const LArOnlineID* LArCelldeadOTXAlg::m_onlineID =nullptr
private

Definition at line 45 of file LArCelldeadOTXAlg.h.

◆ m_onlineSCID

const LArOnline_SuperCellID* LArCelldeadOTXAlg::m_onlineSCID =nullptr
private

Definition at line 46 of file LArCelldeadOTXAlg.h.

◆ m_scCut

Gaudi::Property<int> LArCelldeadOTXAlg::m_scCut {this,"SCEneCut",70,"Do not use super-cells with values below this cut"}
private

Definition at line 44 of file LArCelldeadOTXAlg.h.

44{this,"SCEneCut",70,"Do not use super-cells with values below this cut"};

◆ m_scidtool

ToolHandle<ICaloSuperCellIDTool> LArCelldeadOTXAlg::m_scidtool {this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"}
private

Definition at line 48 of file LArCelldeadOTXAlg.h.

48{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};

◆ m_SCKey

SG::ReadHandleKey<LArRawSCContainer> LArCelldeadOTXAlg::m_SCKey {this, "keySC", "SC_ET","Key for SuperCells container"}
private

Definition at line 36 of file LArCelldeadOTXAlg.h.

36{this, "keySC", "SC_ET","Key for SuperCells container"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: