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

#include <L1CaloCondAlg.h>

Inheritance diagram for L1CaloCondAlg:

Public Member Functions

 L1CaloCondAlg (const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
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

enum  PprKeys { PPRCHANCALIB = 0 , PPRCHANCOMMON = 1 , PPRCHANHIGHMU = 2 , PPRCHANLOWMU = 3 }
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

template<typename T>
StatusCode updateCond (SG::WriteCondHandleKey< T > &wkey, const std::vector< std::reference_wrapper< const SG::ReadCondHandleKey< CondAttrListCollection > > > &rkeys, std::unique_ptr< T > obj=nullptr)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< std::string > m_timingRegime {this,"timingRegime","","String-> Calib1, Calib2 or Physics"}
Gaudi::Property< std::string > m_strategy {this,"strategy","","String-> empty, HighMu or LowMu"}
Gaudi::Property< bool > m_usePhysicsRegime { this, "UsePhysicsRegime", false, "Allow use of Physics timing regime" }
Gaudi::Property< bool > m_useCalib1Regime { this, "UseCalib1Regime", false, "Allow use of Calib1 timing regime" }
Gaudi::Property< bool > m_useCalib2Regime { this, "UseCalib2Regime", false, "Allow use of Calib2 timing regime" }
SG::ReadCondHandleKeyArray< CondAttrListCollectionm_physicsKeys { this, "PhysicsKeys", {}, "" }
SG::ReadCondHandleKeyArray< CondAttrListCollectionm_calib1Keys { this, "Calib1Keys", {}, "" }
SG::ReadCondHandleKeyArray< CondAttrListCollectionm_calib2Keys { this, "Calib2Keys", {}, "" }
SG::ReadCondHandleKey< CondAttrListCollectionm_disabledTowers { this, "DisabledTowers", "", "DisabledTowers" }
SG::ReadCondHandleKey< CondAttrListCollectionm_derivedRunPars { this, "DerivedRunPars", "", "DerivedRunPars"}
SG::ReadCondHandleKey< CondAttrListCollectionm_ppmDeadChannels { this, "PpmDeadChannels", "","PpmDeadChannels" }
SG::ReadCondHandleKey< CondAttrListCollectionm_ppmFineTimeRefs { this, "PpmFineTimeRefs" ,"", "PpmFineTimeRefs"}
SG::ReadCondHandleKey< CondAttrListCollectionm_runParameters { this, "RunParameters" ,"", "RunParameters"}
SG::ReadCondHandleKey< CondAttrListCollectionm_pprChanDefaults { this, "PprChanDefaults" ,"", "PprChanDefaults"}
SG::ReadCondHandleKey< CondAttrListCollectionm_pprChanStrategy { this, "PprChanStrategy", "", "PprChanStrategy"}
SG::ReadCondHandleKey< CondAttrListCollectionm_readoutConfig { this, "ReadoutConfig", "", "ReadoutConfig"}
SG::ReadCondHandleKey< CondAttrListCollectionm_readoutConfigJSON { this, "ReadoutConfigJSON", "", "ReadoutConfigJSON"}
SG::WriteCondHandleKey< L1CaloDisabledTowersContainerm_disabledTowersContainer {this,"OutputKeyDisTowers","L1CaloDisabledTowersContainer"}
SG::WriteCondHandleKey< L1CaloDerivedRunParsContainerm_derivedRunParsContainer {this, "OutputKeyDerRunsPars", "L1CaloDerivedRunParsContainer"}
SG::WriteCondHandleKey< L1CaloPprChanCalibContainerm_pprChanCalibContainer { this, "OutputKeyPPr", "L1CaloPprChanCalibContainer"}
SG::WriteCondHandleKey< L1CaloPprChanDefaultsContainerm_pprChanDefaultsContainer { this, "OutputKeyDef", "L1CaloPprChanDefaultsContainer"}
SG::WriteCondHandleKey< L1CaloPpmFineTimeRefsContainerm_ppmFineTimeRefsContainer { this, "OutputKeyTimeRefs", "L1CaloPpmFineTimeRefsContainer"}
SG::WriteCondHandleKey< L1CaloRunParametersContainerm_runParametersContainer { this, "OutputKeyRunParameters", "L1CaloRunParametersContainer"}
SG::WriteCondHandleKey< L1CaloPprChanStrategyContainerm_pprChanStrategyContainer { this, "OutputKeyPprChanStrategy", "L1CaloPprChanStrategyContainer"}
SG::WriteCondHandleKey< L1CaloPpmDeadChannelsContainerm_ppmDeadChannelsContainer { this, "OutputKeyPpmDeadChannels", "L1CaloPpmDeadChannelsContainer"}
SG::WriteCondHandleKey< L1CaloPprConditionsContainerRun2m_pprConditionsContainer { this, "OutputKeyPprConditionsRun2", "L1CaloPprConditionsContainerRun2"}
SG::WriteCondHandleKey< L1CaloPprDisabledChannelContainerRun2m_pprDisabledChannelContainer { this, "OutputKeyDisabledChannelRun2", "L1CaloPprDisabledChannelContainerRun2"}
SG::WriteCondHandleKey< L1CaloReadoutConfigContainerm_readoutConfigContainer { this, "OutputKeyReadoutConfig", "L1CaloReadoutConfigContainer"}
SG::WriteCondHandleKey< L1CaloReadoutConfigContainerJSONm_readoutConfigContainerJSON { this, "OutputKeyReadoutConfigJSON", "L1CaloReadoutConfigContainerJSON"}
DataObjIDColl m_extendedExtraObjects
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 L1CaloCondAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ PprKeys

enum L1CaloCondAlg::PprKeys
private
Enumerator
PPRCHANCALIB 
PPRCHANCOMMON 
PPRCHANHIGHMU 
PPRCHANLOWMU 

Definition at line 52 of file L1CaloCondAlg.h.

52 {
53 // Should correspond with the name list in initialize().
54 PPRCHANCALIB = 0,
55 PPRCHANCOMMON = 1,
56 PPRCHANHIGHMU = 2,
57 PPRCHANLOWMU = 3
58 };

Constructor & Destructor Documentation

◆ L1CaloCondAlg()

L1CaloCondAlg::L1CaloCondAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 13 of file L1CaloCondAlg.cxx.

13 : AthAlgorithm( name, pSvcLocator )
14
15
16
17{
18
19}
AthAlgorithm()
Default constructor:

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< 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< 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< 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< 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 L1CaloCondAlg::execute ( )
overridevirtual

Definition at line 110 of file L1CaloCondAlg.cxx.

111{
112
113 ATH_MSG_DEBUG( "start execute " << name() );
114 ATH_MSG_DEBUG("readConditions() ");
115
116 std::string timingRegime = m_timingRegime;
117 std::string strategy = m_strategy;
118
119 if(!m_derivedRunPars.empty()) {
120 SG::WriteCondHandle<L1CaloDerivedRunParsContainer> writeHandleDerRunPars{m_derivedRunParsContainer};
121 if(!writeHandleDerRunPars.isValid()) { // condition needs updating
122 SG::ReadCondHandle <CondAttrListCollection> readHandleDerRunPars(m_derivedRunPars);
123 CHECK(readHandleDerRunPars.isValid());
124 ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandleDerRunPars.fullKey() << " = " << readHandleDerRunPars->size());
125 writeHandleDerRunPars.addDependency(readHandleDerRunPars); // will become invalid when read handle validity ends
126 auto writeCdoDerRunPars = std::make_unique<L1CaloDerivedRunParsContainer>();
127 std::map<std::string, const CondAttrListCollection *> listMap;
128 listMap[m_derivedRunPars.key()] = *readHandleDerRunPars;
129 writeCdoDerRunPars->makeTransient(listMap);
130 if (timingRegime.empty()) {
131 timingRegime = std::cbegin(*writeCdoDerRunPars)->timingRegime();
132 }
133 CHECK(writeHandleDerRunPars.record(std::move(writeCdoDerRunPars)));
134 ATH_MSG_DEBUG("recorded new " << m_derivedRunParsContainer.key() << " with range " << writeHandleDerRunPars.getRange() << " into Conditions Store");
135
136 ATH_MSG_DEBUG("timing regime --> "<< timingRegime );
137
138 }
139 }
140
141
142 if(!m_pprChanStrategy.empty()) {
143 SG::WriteCondHandle<L1CaloPprChanStrategyContainer> writeHandlePprChanStrategy{m_pprChanStrategyContainer};
144 if(!writeHandlePprChanStrategy.isValid()) { // condition needs updating
145 SG::ReadCondHandle<CondAttrListCollection> readHandlePprChanStrategy(m_pprChanStrategy);
146 CHECK(readHandlePprChanStrategy.isValid());
147 ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandlePprChanStrategy.fullKey() << " = " << readHandlePprChanStrategy->size());
148 writeHandlePprChanStrategy.addDependency(readHandlePprChanStrategy); // will become invalid when read handle validity ends
149 auto writeCdoPprChanStrategy = std::make_unique<L1CaloPprChanStrategyContainer>();
150 std::map<std::string, const CondAttrListCollection *> listMap;
151 listMap[m_pprChanStrategy.key()] = *readHandlePprChanStrategy;
152 writeCdoPprChanStrategy->makeTransient(listMap);
153 if (strategy.empty()) {
154 for(const auto& it: *writeCdoPprChanStrategy){
155 if (it.timingRegime() == timingRegime){
156 strategy = it.strategy();
157 }
158 }
159 }
160 CHECK(writeHandlePprChanStrategy.record(std::move(writeCdoPprChanStrategy)));
161 ATH_MSG_DEBUG("recorded new " << m_pprChanStrategyContainer.key() << " with range " << writeHandlePprChanStrategy.getRange() << " into Conditions Store");
162
163 ATH_MSG_DEBUG("strategy selected --> " << strategy);
164
165
166
167
168 }
169 }
170
178
179 if (timingRegime == "") timingRegime="Physics"; // default to physics
180
182 if (timingRegime == "Physics") {
183 pprKeys = &m_physicsKeys;
184 } else if (timingRegime == "Calib1") {
185 pprKeys = &m_calib1Keys;
186 } else if (timingRegime == "Calib2") {
187 pprKeys = &m_calib2Keys;
188 } else {
189 ATH_MSG_ERROR( "Bad timing regime " << timingRegime << "; must be one of Physics, Calib1, Calib2" );
190 return StatusCode::FAILURE;
191 }
192
195
196 // only need this logic if the conditionscontainerrun2 has expired ...
197 if(!m_pprConditionsContainer.empty() && !SG::WriteCondHandle<L1CaloPprConditionsContainerRun2>{m_pprConditionsContainer}.isValid()) {
198 std::map <L1CaloPprConditionsContainerRun2::eCoolFolders, std::string> folderKeyMap;
200 if (strategy.empty()) {
201 folderKeyMap[L1CaloPprConditionsContainerRun2::ePprChanCalib] = pprKeys->at(PPRCHANCALIB).key();
202 auto obj = std::make_unique<L1CaloPprConditionsContainerRun2>(folderKeyMap); // must construct here to pass map to constructor
204 } else {
205 if (strategy != "HighMu" && strategy != "LowMu") {
206 ATH_MSG_ERROR("Invalid strategy: " << strategy << " (must be HighMu or LowMu)");
207 return StatusCode::FAILURE;
208 }
211 strategy == "HighMu" ? PPRCHANHIGHMU : PPRCHANLOWMU).key();
212
213 auto obj = std::make_unique<L1CaloPprConditionsContainerRun2>(folderKeyMap);
214
216 strategy == "HighMu" ? PPRCHANHIGHMU : PPRCHANLOWMU)}, std::move(obj)));
217 }
218 }
219
220 return StatusCode::SUCCESS;
221
222}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
#define CHECK(...)
Evaluate an expression and check for errors.
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_calib2Keys
SG::WriteCondHandleKey< L1CaloPprChanStrategyContainer > m_pprChanStrategyContainer
SG::ReadCondHandleKey< CondAttrListCollection > m_ppmDeadChannels
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_physicsKeys
SG::WriteCondHandleKey< L1CaloDisabledTowersContainer > m_disabledTowersContainer
StatusCode updateCond(SG::WriteCondHandleKey< T > &wkey, const std::vector< std::reference_wrapper< const SG::ReadCondHandleKey< CondAttrListCollection > > > &rkeys, std::unique_ptr< T > obj=nullptr)
SG::ReadCondHandleKey< CondAttrListCollection > m_pprChanStrategy
SG::WriteCondHandleKey< L1CaloDerivedRunParsContainer > m_derivedRunParsContainer
SG::ReadCondHandleKey< CondAttrListCollection > m_ppmFineTimeRefs
SG::WriteCondHandleKey< L1CaloPprChanCalibContainer > m_pprChanCalibContainer
Gaudi::Property< std::string > m_strategy
SG::WriteCondHandleKey< L1CaloPpmFineTimeRefsContainer > m_ppmFineTimeRefsContainer
SG::WriteCondHandleKey< L1CaloPpmDeadChannelsContainer > m_ppmDeadChannelsContainer
SG::ReadCondHandleKey< CondAttrListCollection > m_derivedRunPars
SG::WriteCondHandleKey< L1CaloReadoutConfigContainerJSON > m_readoutConfigContainerJSON
SG::ReadCondHandleKey< CondAttrListCollection > m_runParameters
SG::WriteCondHandleKey< L1CaloPprDisabledChannelContainerRun2 > m_pprDisabledChannelContainer
SG::WriteCondHandleKey< L1CaloReadoutConfigContainer > m_readoutConfigContainer
SG::ReadCondHandleKey< CondAttrListCollection > m_disabledTowers
SG::ReadCondHandleKey< CondAttrListCollection > m_pprChanDefaults
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_calib1Keys
SG::WriteCondHandleKey< L1CaloRunParametersContainer > m_runParametersContainer
SG::WriteCondHandleKey< L1CaloPprConditionsContainerRun2 > m_pprConditionsContainer
SG::WriteCondHandleKey< L1CaloPprChanDefaultsContainer > m_pprChanDefaultsContainer
SG::ReadCondHandleKey< CondAttrListCollection > m_readoutConfig
Gaudi::Property< std::string > m_timingRegime
SG::ReadCondHandleKey< CondAttrListCollection > m_readoutConfigJSON
void addDependency(const EventIDRange &range)
const EventIDRange & getRange() const
StatusCode record(const EventIDRange &range, T *t)
record handle, with explicit range DEPRECATED
HandleKeyArray< ReadCondHandle< T >, CondHandleDefault::Key< ReadCondHandleKey< T > >, Gaudi::DataHandle::Reader > ReadCondHandleKeyArray

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< 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 & 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.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ initialize()

StatusCode L1CaloCondAlg::initialize ( )
overridevirtual

Definition at line 25 of file L1CaloCondAlg.cxx.

26{
27
28 ATH_MSG_DEBUG( "initialize " << name() );
29
30
31
32 // Disabled Towers
35
36
37 // Derived Run Pars
40
41 // Ppr Channel Calib
43
44 // Cond Container
46
47
48 // Ppr Defaults Calib
51
52 // Ppr FineTime Refs
55
56 // Run Parameters
59
60 // PprChanStrategy
63
64
65 // Ppm Dead Channels
68
69
70 // Disabled Channel
72
73 // Readout Config
76
77 // Readout Config JSON (Run 3)
80
84
85 return StatusCode::SUCCESS;
86
87}
#define ATH_CHECK
Evaluate an expression and check for errors.
Gaudi::Property< bool > m_useCalib2Regime
Gaudi::Property< bool > m_useCalib1Regime
Gaudi::Property< bool > m_usePhysicsRegime

◆ inputHandles()

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

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

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

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

StatusCode AthAlgorithm::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< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_WARNING(x)
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

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

◆ updateCond()

template<typename T>
StatusCode L1CaloCondAlg::updateCond ( SG::WriteCondHandleKey< T > & wkey,
const std::vector< std::reference_wrapper< const SG::ReadCondHandleKey< CondAttrListCollection > > > & rkeys,
std::unique_ptr< T > obj = nullptr )
private

Definition at line 89 of file L1CaloCondAlg.cxx.

89 {
90 if(wkey.empty()) return StatusCode::SUCCESS; // no creation to do
91 SG::WriteCondHandle<T> wh{wkey};
92 if(wh.isValid()) return StatusCode::SUCCESS; // condition already valid, no update needed
93 std::map<std::string, const CondAttrListCollection *> listMap;
94 for(auto rkey : rkeys) { // note: rkey is a reference_wrapper round an actual sg key, hence the use of .get() below
95 if(rkey.get().empty()) continue;
96 SG::ReadCondHandle <CondAttrListCollection> rh(rkey.get());
97 CHECK(rh.isValid());
98 ATH_MSG_DEBUG("Size of CondAttrListCollection " << rh.fullKey() << " = " << rh->size());
99 wh.addDependency(rh); // will become invalid when read handle validity ends
100 listMap[rkey.get().key()] = *rh;
101 }
102 if (listMap.empty()) return StatusCode::SUCCESS;
103 if(!obj) obj = std::make_unique<T>();
104 obj->makeTransient(listMap);
105 CHECK(wh.record(std::move(obj)));
106 ATH_MSG_DEBUG("recorded new " << wkey.key() << " with range " << wh.getRange() << " into Conditions Store");
107 return StatusCode::SUCCESS;
108}
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
str wh
Definition parseDir.py:45

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< 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 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_calib1Keys

SG::ReadCondHandleKeyArray<CondAttrListCollection> L1CaloCondAlg::m_calib1Keys { this, "Calib1Keys", {}, "" }
private

Definition at line 62 of file L1CaloCondAlg.h.

63{ this, "Calib1Keys", {}, "" };

◆ m_calib2Keys

SG::ReadCondHandleKeyArray<CondAttrListCollection> L1CaloCondAlg::m_calib2Keys { this, "Calib2Keys", {}, "" }
private

Definition at line 64 of file L1CaloCondAlg.h.

65{ this, "Calib2Keys", {}, "" };

◆ m_derivedRunPars

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_derivedRunPars { this, "DerivedRunPars", "", "DerivedRunPars"}
private

Definition at line 69 of file L1CaloCondAlg.h.

69{ this, "DerivedRunPars", "", "DerivedRunPars"};

◆ m_derivedRunParsContainer

SG::WriteCondHandleKey<L1CaloDerivedRunParsContainer> L1CaloCondAlg::m_derivedRunParsContainer {this, "OutputKeyDerRunsPars", "L1CaloDerivedRunParsContainer"}
private

Definition at line 82 of file L1CaloCondAlg.h.

82{this, "OutputKeyDerRunsPars", "L1CaloDerivedRunParsContainer"};

◆ m_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_disabledTowers

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_disabledTowers { this, "DisabledTowers", "", "DisabledTowers" }
private

Definition at line 68 of file L1CaloCondAlg.h.

68{ this, "DisabledTowers", "", "DisabledTowers" };

◆ m_disabledTowersContainer

SG::WriteCondHandleKey<L1CaloDisabledTowersContainer> L1CaloCondAlg::m_disabledTowersContainer {this,"OutputKeyDisTowers","L1CaloDisabledTowersContainer"}
private

Definition at line 81 of file L1CaloCondAlg.h.

81{this,"OutputKeyDisTowers","L1CaloDisabledTowersContainer"};

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_physicsKeys

SG::ReadCondHandleKeyArray<CondAttrListCollection> L1CaloCondAlg::m_physicsKeys { this, "PhysicsKeys", {}, "" }
private

Definition at line 60 of file L1CaloCondAlg.h.

61{ this, "PhysicsKeys", {}, "" };

◆ m_ppmDeadChannels

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_ppmDeadChannels { this, "PpmDeadChannels", "","PpmDeadChannels" }
private

Definition at line 70 of file L1CaloCondAlg.h.

70{ this, "PpmDeadChannels", "","PpmDeadChannels" };

◆ m_ppmDeadChannelsContainer

SG::WriteCondHandleKey<L1CaloPpmDeadChannelsContainer> L1CaloCondAlg::m_ppmDeadChannelsContainer { this, "OutputKeyPpmDeadChannels", "L1CaloPpmDeadChannelsContainer"}
private

Definition at line 88 of file L1CaloCondAlg.h.

88{ this, "OutputKeyPpmDeadChannels", "L1CaloPpmDeadChannelsContainer"};

◆ m_ppmFineTimeRefs

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_ppmFineTimeRefs { this, "PpmFineTimeRefs" ,"", "PpmFineTimeRefs"}
private

Definition at line 71 of file L1CaloCondAlg.h.

71{ this, "PpmFineTimeRefs" ,"", "PpmFineTimeRefs"};

◆ m_ppmFineTimeRefsContainer

SG::WriteCondHandleKey<L1CaloPpmFineTimeRefsContainer> L1CaloCondAlg::m_ppmFineTimeRefsContainer { this, "OutputKeyTimeRefs", "L1CaloPpmFineTimeRefsContainer"}
private

Definition at line 85 of file L1CaloCondAlg.h.

85{ this, "OutputKeyTimeRefs", "L1CaloPpmFineTimeRefsContainer"};

◆ m_pprChanCalibContainer

SG::WriteCondHandleKey<L1CaloPprChanCalibContainer> L1CaloCondAlg::m_pprChanCalibContainer { this, "OutputKeyPPr", "L1CaloPprChanCalibContainer"}
private

Definition at line 83 of file L1CaloCondAlg.h.

83{ this, "OutputKeyPPr", "L1CaloPprChanCalibContainer"};

◆ m_pprChanDefaults

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_pprChanDefaults { this, "PprChanDefaults" ,"", "PprChanDefaults"}
private

Definition at line 74 of file L1CaloCondAlg.h.

74{ this, "PprChanDefaults" ,"", "PprChanDefaults"};

◆ m_pprChanDefaultsContainer

SG::WriteCondHandleKey<L1CaloPprChanDefaultsContainer> L1CaloCondAlg::m_pprChanDefaultsContainer { this, "OutputKeyDef", "L1CaloPprChanDefaultsContainer"}
private

Definition at line 84 of file L1CaloCondAlg.h.

84{ this, "OutputKeyDef", "L1CaloPprChanDefaultsContainer"};

◆ m_pprChanStrategy

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_pprChanStrategy { this, "PprChanStrategy", "", "PprChanStrategy"}
private

Definition at line 75 of file L1CaloCondAlg.h.

75{ this, "PprChanStrategy", "", "PprChanStrategy"};

◆ m_pprChanStrategyContainer

SG::WriteCondHandleKey<L1CaloPprChanStrategyContainer> L1CaloCondAlg::m_pprChanStrategyContainer { this, "OutputKeyPprChanStrategy", "L1CaloPprChanStrategyContainer"}
private

Definition at line 87 of file L1CaloCondAlg.h.

87{ this, "OutputKeyPprChanStrategy", "L1CaloPprChanStrategyContainer"};

◆ m_pprConditionsContainer

SG::WriteCondHandleKey<L1CaloPprConditionsContainerRun2> L1CaloCondAlg::m_pprConditionsContainer { this, "OutputKeyPprConditionsRun2", "L1CaloPprConditionsContainerRun2"}
private

Definition at line 89 of file L1CaloCondAlg.h.

89{ this, "OutputKeyPprConditionsRun2", "L1CaloPprConditionsContainerRun2"};

◆ m_pprDisabledChannelContainer

SG::WriteCondHandleKey<L1CaloPprDisabledChannelContainerRun2> L1CaloCondAlg::m_pprDisabledChannelContainer { this, "OutputKeyDisabledChannelRun2", "L1CaloPprDisabledChannelContainerRun2"}
private

Definition at line 90 of file L1CaloCondAlg.h.

90{ this, "OutputKeyDisabledChannelRun2", "L1CaloPprDisabledChannelContainerRun2"};

◆ m_readoutConfig

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_readoutConfig { this, "ReadoutConfig", "", "ReadoutConfig"}
private

Definition at line 76 of file L1CaloCondAlg.h.

76{ this, "ReadoutConfig", "", "ReadoutConfig"};

◆ m_readoutConfigContainer

SG::WriteCondHandleKey<L1CaloReadoutConfigContainer> L1CaloCondAlg::m_readoutConfigContainer { this, "OutputKeyReadoutConfig", "L1CaloReadoutConfigContainer"}
private

Definition at line 91 of file L1CaloCondAlg.h.

91{ this, "OutputKeyReadoutConfig", "L1CaloReadoutConfigContainer"};

◆ m_readoutConfigContainerJSON

SG::WriteCondHandleKey<L1CaloReadoutConfigContainerJSON> L1CaloCondAlg::m_readoutConfigContainerJSON { this, "OutputKeyReadoutConfigJSON", "L1CaloReadoutConfigContainerJSON"}
private

Definition at line 92 of file L1CaloCondAlg.h.

92{ this, "OutputKeyReadoutConfigJSON", "L1CaloReadoutConfigContainerJSON"};

◆ m_readoutConfigJSON

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_readoutConfigJSON { this, "ReadoutConfigJSON", "", "ReadoutConfigJSON"}
private

Definition at line 77 of file L1CaloCondAlg.h.

77{ this, "ReadoutConfigJSON", "", "ReadoutConfigJSON"};

◆ m_runParameters

SG::ReadCondHandleKey<CondAttrListCollection> L1CaloCondAlg::m_runParameters { this, "RunParameters" ,"", "RunParameters"}
private

Definition at line 72 of file L1CaloCondAlg.h.

72{ this, "RunParameters" ,"", "RunParameters"};

◆ m_runParametersContainer

SG::WriteCondHandleKey<L1CaloRunParametersContainer> L1CaloCondAlg::m_runParametersContainer { this, "OutputKeyRunParameters", "L1CaloRunParametersContainer"}
private

Definition at line 86 of file L1CaloCondAlg.h.

86{ this, "OutputKeyRunParameters", "L1CaloRunParametersContainer"};

◆ m_strategy

Gaudi::Property<std::string> L1CaloCondAlg::m_strategy {this,"strategy","","String-> empty, HighMu or LowMu"}
private

Definition at line 43 of file L1CaloCondAlg.h.

43{this,"strategy","","String-> empty, HighMu or LowMu"};

◆ m_timingRegime

Gaudi::Property<std::string> L1CaloCondAlg::m_timingRegime {this,"timingRegime","","String-> Calib1, Calib2 or Physics"}
private

Definition at line 42 of file L1CaloCondAlg.h.

42{this,"timingRegime","","String-> Calib1, Calib2 or Physics"};

◆ m_useCalib1Regime

Gaudi::Property<bool> L1CaloCondAlg::m_useCalib1Regime { this, "UseCalib1Regime", false, "Allow use of Calib1 timing regime" }
private

Definition at line 47 of file L1CaloCondAlg.h.

48{ this, "UseCalib1Regime", false, "Allow use of Calib1 timing regime" };

◆ m_useCalib2Regime

Gaudi::Property<bool> L1CaloCondAlg::m_useCalib2Regime { this, "UseCalib2Regime", false, "Allow use of Calib2 timing regime" }
private

Definition at line 49 of file L1CaloCondAlg.h.

50{ this, "UseCalib2Regime", false, "Allow use of Calib2 timing regime" };

◆ m_usePhysicsRegime

Gaudi::Property<bool> L1CaloCondAlg::m_usePhysicsRegime { this, "UsePhysicsRegime", false, "Allow use of Physics timing regime" }
private

Definition at line 45 of file L1CaloCondAlg.h.

46{ this, "UsePhysicsRegime", false, "Allow use of Physics timing regime" };

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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