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

#include <CaloCellCalcEnergyCorr.h>

Inheritance diagram for CaloCellCalcEnergyCorr:
Collaboration diagram for CaloCellCalcEnergyCorr:

Classes

struct  HVData

Public Member Functions

 CaloCellCalcEnergyCorr (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor with parameters:
virtual ~CaloCellCalcEnergyCorr ()
 Destructor:
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode finalize () override
virtual StatusCode stop () 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

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

std::vector< int > GetHVLines (const HVData &hvdata, const Identifier &id, const CaloDetDescrManager *caloMgr)
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_folder {this, "Folder", "/LAR/CellCorrOfl/EnergyCorr"}
Gaudi::Property< std::vector< int > > m_calosample {this, "CaloSamples", {-1}}
Gaudi::Property< std::vector< float > > m_value {this, "SampleValues", {1.0}}
Gaudi::Property< std::vector< int > > m_hvlines {this, "HVLines", {-1}}
Gaudi::Property< std::vector< float > > m_hvvalue {this, "HVvalues", {1.0}}
SG::ReadCondHandleKey< LArHVIdMappingm_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
SG::ReadCondHandleKeyArray< CondAttrListCollectionm_DCSFolderKeys
SG::ReadCondHandleKey< CaloDetDescrManagerm_caloMgrKey
const LArEM_IDm_larem_id {}
const LArHEC_IDm_larhec_id {}
const LArFCAL_IDm_larfcal_id {}
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 23 of file CaloCellCalcEnergyCorr.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ CaloCellCalcEnergyCorr()

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

Constructor with parameters:

Definition at line 70 of file CaloCellCalcEnergyCorr.cxx.

71 :
72 AthAlgorithm( name, pSvcLocator )
73{
74}
AthAlgorithm()
Default constructor:

◆ ~CaloCellCalcEnergyCorr()

CaloCellCalcEnergyCorr::~CaloCellCalcEnergyCorr ( )
virtualdefault

Destructor:

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 CaloCellCalcEnergyCorr::execute ( )
overridevirtual

Definition at line 111 of file CaloCellCalcEnergyCorr.cxx.

112{
113 return StatusCode::SUCCESS;
114}

◆ 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

◆ finalize()

StatusCode CaloCellCalcEnergyCorr::finalize ( )
overridevirtual

Definition at line 106 of file CaloCellCalcEnergyCorr.cxx.

107{
108 return StatusCode::SUCCESS;
109}

◆ GetHVLines()

std::vector< int > CaloCellCalcEnergyCorr::GetHVLines ( const HVData & hvdata,
const Identifier & id,
const CaloDetDescrManager * caloMgr )
private

Definition at line 224 of file CaloCellCalcEnergyCorr.cxx.

226 {
227 std::set<int> hv;
228
229 // LAr EMB
230 if (m_larem_id->is_lar_em(id) && m_larem_id->sampling(id)>0) {
231 if (abs(m_larem_id->barrel_ec(id))==1) {
232 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(caloMgr->get_element(id));
233 if (!embElement) std::abort();
234 const EMBCellConstLink cell = embElement->getEMBCell();
235 unsigned int nelec = cell->getNumElectrodes();
236 for (unsigned int i=0;i<nelec;i++) {
237 const EMBHVElectrode& electrode = cell->getElectrode(i);
238 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMB.hvLineNo (electrode, igap));
239 }
240 } else { // LAr EMEC
241 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(caloMgr->get_element(id));
242 if (!emecElement) std::abort();
243 const EMECCellConstLink cell = emecElement->getEMECCell();
244 unsigned int nelec = cell->getNumElectrodes();
245 for (unsigned int i=0;i<nelec;i++) {
246 const EMECHVElectrode& electrode = cell->getElectrode(i);
247 const EMECHVManager::EMECHVData& hvdata_EMEC =
249 hvdata.m_hvdata_EMEC_IN :
250 hvdata.m_hvdata_EMEC_OUT ;
251 for (unsigned int igap=0;igap<2;igap++) {
252 hv.insert(hvdata_EMEC.hvLineNo (electrode, igap));
253 }
254 }
255 }
256 } else if (m_larhec_id->is_lar_hec(id)) { // LAr HEC
257 const HECDetectorElement* hecElement = dynamic_cast<const HECDetectorElement*>(caloMgr->get_element(id));
258 if (!hecElement) std::abort();
259 const HECCellConstLink cell = hecElement->getHECCell();
260 unsigned int nsubgaps = cell->getNumSubgaps();
261 for (unsigned int igap=0;igap<nsubgaps;igap++) {
262 const HECHVSubgap& subgap = cell->getSubgap(igap);
263 hv.insert(hvdata.m_hvdata_HEC.hvLineNo (subgap));
264 }
265 } else if (m_larfcal_id->is_lar_fcal(id)) { // LAr FCAL
266 const FCALDetectorElement* fcalElement = dynamic_cast<const FCALDetectorElement*>(caloMgr->get_element(id));
267 if (!fcalElement) std::abort();
268 const FCALTile* tile = fcalElement->getFCALTile();
269 unsigned int nlines = tile->getNumHVLines();
270 for (unsigned int i=0;i<nlines;i++) {
271 const FCALHVLine* line = tile->getHVLine(i);
272 if(line) hv.insert(hvdata.m_hvdata_FCAL.hvLineNo (*line));
273 }
274 } else if (m_larem_id->is_lar_em(id) && m_larem_id->sampling(id)==0) { // Presamplers
275 if (abs(m_larem_id->barrel_ec(id))==1) {
276 const EMBDetectorElement* embElement = dynamic_cast<const EMBDetectorElement*>(caloMgr->get_element(id));
277 if (!embElement) std::abort();
278 const EMBCellConstLink cell = embElement->getEMBCell();
279 const EMBPresamplerHVModule& hvmodule = cell->getPresamplerHVModule();
280 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMBPS.hvLineNo (hvmodule, igap));
281 } else {
282 const EMECDetectorElement* emecElement = dynamic_cast<const EMECDetectorElement*>(caloMgr->get_element(id));
283 if (!emecElement) std::abort();
284 const EMECCellConstLink cell = emecElement->getEMECCell();
285 const EMECPresamplerHVModule& hvmodule = cell->getPresamplerHVModule ();
286 for (unsigned int igap=0;igap<2;igap++) hv.insert(hvdata.m_hvdata_EMECPS.hvLineNo (hvmodule, igap));
287 }
288 }
289
290 std::vector<int> hvlines;
291 for (std::set<int>::iterator i=hv.begin();i!=hv.end();++i) hvlines.push_back(*i);
292 return hvlines;
293}
const LArFCAL_ID * m_larfcal_id
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
EMBCellConstLink getEMBCell() const
EMB Cell description from LArReadoutGeometry.
EMECCellConstLink getEMECCell() const
EMEC Cell description from LArReadoutGeometry.
const EMECHVModule & getModule() const
int hvLineNo(const EMECHVElectrode &electrode, const int &iGap) const
EMECHVModule::IOType getWheelIndex() const
const FCALTile * getFCALTile() const
FCAL Tile description from LArReadoutGeometry.
HECCellConstLink getHECCell() const
HEC Cell description from LArReadoutGeometry.

◆ initialize()

StatusCode CaloCellCalcEnergyCorr::initialize ( )
overridevirtual

Definition at line 79 of file CaloCellCalcEnergyCorr.cxx.

80{
81 if(m_calosample.size() != m_value.size() ) {
82 ATH_MSG_ERROR( "CaloSamples and SampleValues vectors not equal length !!! " );
83 return StatusCode::FAILURE;
84 }
85 if(m_hvlines.size() != m_hvvalue.size() ) {
86 ATH_MSG_ERROR( "HVLines and HVvalues vectors not equal length !!! " );
87 return StatusCode::FAILURE;
88 }
89
90// retrieve LArEM id helpers
91
92 const CaloIdManager* mgr = nullptr;
93 ATH_CHECK( detStore()->retrieve( mgr ) );
94
95 m_larem_id = mgr->getEM_ID();
96 m_larhec_id = mgr->getHEC_ID();
97 m_larfcal_id = mgr->getFCAL_ID();
98
99 ATH_CHECK( m_hvCablingKey.initialize() );
100 ATH_CHECK( m_DCSFolderKeys.initialize() );
101 ATH_CHECK( m_caloMgrKey.initialize() );
102
103 return StatusCode::SUCCESS;
104}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
const ServiceHandle< StoreGateSvc > & detStore() const
SG::ReadCondHandleKey< LArHVIdMapping > m_hvCablingKey
Gaudi::Property< std::vector< float > > m_value
Gaudi::Property< std::vector< float > > m_hvvalue
SG::ReadCondHandleKeyArray< CondAttrListCollection > m_DCSFolderKeys
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Gaudi::Property< std::vector< int > > m_calosample
Gaudi::Property< std::vector< int > > m_hvlines

◆ 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 }

◆ stop()

StatusCode CaloCellCalcEnergyCorr::stop ( )
overridevirtual

Definition at line 116 of file CaloCellCalcEnergyCorr.cxx.

117{
118
119 const CaloCell_ID* calocell_id;
120 CHECK(detStore()->retrieve(calocell_id,"CaloCell_ID"));
121
122
123 IdentifierHash hashMin,hashMax;
124 if(m_calosample.size()==1 && m_calosample[0] < 0 ) {
125 calocell_id->calo_cell_hash_range(CaloCell_ID::TILE, hashMin,hashMax);
126 } else {
127 int maxsubcalo=-1;
128 for (int i=CaloCell_ID::PreSamplerB; i<=CaloCell_ID::EME3; ++i) {
129 if (std::find(m_calosample.begin(), m_calosample.end(), i) != m_calosample.end()) maxsubcalo = CaloCell_ID::LAREM;
130 }
131 for (int i=CaloCell_ID::HEC0; i<=CaloCell_ID::HEC3; ++i) {
132 if (std::find(m_calosample.begin(), m_calosample.end(), i) != m_calosample.end()) maxsubcalo = CaloCell_ID::LARHEC;
133 }
134 for (int i=CaloCell_ID::FCAL0; i<=CaloCell_ID::FCAL2; ++i) {
135 if (std::find(m_calosample.begin(), m_calosample.end(), i) != m_calosample.end()) maxsubcalo = CaloCell_ID::LARFCAL;
136 }
137 for (int i=CaloCell_ID::TileBar0; i<=CaloCell_ID::TileExt2; ++i) {
138 if (std::find(m_calosample.begin(), m_calosample.end(), i) != m_calosample.end()) maxsubcalo = CaloCell_ID::TILE;
139 }
140 if(maxsubcalo < 0 ) {
141 ATH_MSG_ERROR( "Wrong CaloSamples vector " << m_calosample );
142 return StatusCode::FAILURE;
143 } else {
144 calocell_id->calo_cell_hash_range(maxsubcalo, hashMin,hashMax);
145 }
146 }
147
148 ATH_MSG_INFO( "Working on hash range 0 to " << hashMax );
149
150 coral::AttributeListSpecification* spec = new coral::AttributeListSpecification();
151 spec->extend("CaloCondBlob16M","blob");// , cool::StorageType::Blob16M);
152 AthenaAttributeList* attrList=new AthenaAttributeList(*spec);
153 coral::Blob& blob=(*attrList)["CaloCondBlob16M"].data<coral::Blob>();
154 CaloCondBlobFlt* flt= CaloCondBlobFlt::getInstance(blob);
155 spec->release(); // deletes spec
156 // cppcheck-suppress memleak
157 spec = nullptr;
158
159 //Blob Defintion Vector
160 std::vector<std::vector<float> > defVec;
161 defVec.emplace_back(1,1);
162 flt->init(defVec,hashMax,1);
163
164 CHECK(detStore()->record(attrList,m_folder));
165
166 const LArHVManager* manager = nullptr;
167 CHECK( detStore()->retrieve (manager) );
168
169 const EventContext& ctx = Gaudi::Hive::currentContext();
170 SG::ReadCondHandle<LArHVIdMapping> hvCabling (m_hvCablingKey, ctx);
171 std::vector<const CondAttrListCollection*> attrvec;
172 for (const auto& fldkey: m_DCSFolderKeys ) {
173 SG::ReadCondHandle<CondAttrListCollection> dcsHdl(fldkey, ctx);
174 attrvec.push_back (*dcsHdl);
175 }
176
177 HVData hvdata (*manager, **hvCabling, attrvec);
178
179 SG::ReadCondHandle<CaloDetDescrManager> caloMgrHandle{m_caloMgrKey};
180 ATH_CHECK(caloMgrHandle.isValid());
181 const CaloDetDescrManager* caloMgr = *caloMgrHandle;
182
183 std::vector<float> setVec(1,1);
184 unsigned nSet=0;
185 unsigned nSetHV=0;
186 for(unsigned h=0;h<hashMax;++h) {
187 float value=1.0;
188 std::vector<int>::const_iterator pos;
189 if ((pos = std::find(m_calosample.begin(), m_calosample.end(), calocell_id->calo_sample(h))) != m_calosample.end()) {
190 // find a position in m_calosample vector, and use this value from m_values vector
191 const std::vector<float>::size_type idx = pos - m_calosample.begin();
193 ++nSet;
194 // check if we have also HVLine for this cell
195 if(!m_hvlines.empty() && m_hvlines[0]>0) {
196 Identifier offId=calocell_id->cell_id(h);
197 std::vector<int> hvlineId = GetHVLines(hvdata, offId, caloMgr);
198 int nfound=0;
199 float hvval=-1;
200 std::vector<int>::const_iterator poshv;
201 for(unsigned i=0; i<hvlineId.size(); ++i) {
202 if ((poshv=std::find(m_hvlines.begin(), m_hvlines.end(), hvlineId[i])) != m_hvlines.end()) {
203 if (hvval<0) hvval = m_hvvalue[poshv - m_hvlines.begin()];
204 if (m_hvvalue[poshv - m_hvlines.begin()] == hvval ) ++nfound;
205 }
206 }
207 if(nfound == (int)hvlineId.size()) { // All lines of this channel has the same corr., apply
208 value *= hvval;
209 ++nSetHV;
210 }
211 }
212 }
213 setVec[0]=value;
214 flt->setData(h,0,setVec);
215 }//end loop over hash
216
217 ATH_MSG_INFO( "Found " << nSet << " channels which have a sample correction. " );
218 ATH_MSG_INFO( "Found " << nSetHV << " channels which have a HV correction. " );
219
220 return StatusCode::SUCCESS;
221}
#define ATH_MSG_INFO(x)
#define CHECK(...)
Evaluate an expression and check for errors.
Gaudi::Property< std::string > m_folder
std::vector< int > GetHVLines(const HVData &hvdata, const Identifier &id, const CaloDetDescrManager *caloMgr)
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
static CaloCondBlobFlt * getInstance(coral::Blob &blob)
Returns a pointer to a non-const CaloCondBlobFlt.

◆ 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.

◆ 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_caloMgrKey

SG::ReadCondHandleKey<CaloDetDescrManager> CaloCellCalcEnergyCorr::m_caloMgrKey
private
Initial value:
{this, "CaloDetDescrManager", "CaloDetDescrManager",
"SG Key for CaloDetDescrManager in the Condition Store" }

Definition at line 60 of file CaloCellCalcEnergyCorr.h.

61 {this, "CaloDetDescrManager", "CaloDetDescrManager",
62 "SG Key for CaloDetDescrManager in the Condition Store" };

◆ m_calosample

Gaudi::Property<std::vector<int> > CaloCellCalcEnergyCorr::m_calosample {this, "CaloSamples", {-1}}
private

Definition at line 50 of file CaloCellCalcEnergyCorr.h.

50{this, "CaloSamples", {-1}}; // which CaloSamples to be filled (numbers from CaloSample enum in CaloCell_Base_ID

◆ m_DCSFolderKeys

SG::ReadCondHandleKeyArray<CondAttrListCollection> CaloCellCalcEnergyCorr::m_DCSFolderKeys
private
Initial value:
{this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"},
"DCS folders with HV values"}

Definition at line 57 of file CaloCellCalcEnergyCorr.h.

58 {this, "DCSFolderNames", {"/LAR/DCS/HV/BARREl/I16", "/LAR/DCS/HV/BARREL/I8"},
59 "DCS folders with HV values"};

◆ 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_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_folder

Gaudi::Property<std::string> CaloCellCalcEnergyCorr::m_folder {this, "Folder", "/LAR/CellCorrOfl/EnergyCorr"}
private

Definition at line 49 of file CaloCellCalcEnergyCorr.h.

49{this, "Folder", "/LAR/CellCorrOfl/EnergyCorr"};

◆ m_hvCablingKey

SG::ReadCondHandleKey<LArHVIdMapping> CaloCellCalcEnergyCorr::m_hvCablingKey {this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"}
private

Definition at line 55 of file CaloCellCalcEnergyCorr.h.

56{this, "LArHVIdMapping", "LArHVIdMap", "SG key for HV ID mapping"};

◆ m_hvlines

Gaudi::Property<std::vector<int> > CaloCellCalcEnergyCorr::m_hvlines {this, "HVLines", {-1}}
private

Definition at line 52 of file CaloCellCalcEnergyCorr.h.

52{this, "HVLines", {-1}}; // which hvlines should be changed in addition

◆ m_hvvalue

Gaudi::Property<std::vector<float> > CaloCellCalcEnergyCorr::m_hvvalue {this, "HVvalues", {1.0}}
private

Definition at line 53 of file CaloCellCalcEnergyCorr.h.

53{this, "HVvalues", {1.0}}; // value to fill for every hvline

◆ m_larem_id

const LArEM_ID* CaloCellCalcEnergyCorr::m_larem_id {}
private

Definition at line 65 of file CaloCellCalcEnergyCorr.h.

65{};

◆ m_larfcal_id

const LArFCAL_ID* CaloCellCalcEnergyCorr::m_larfcal_id {}
private

Definition at line 67 of file CaloCellCalcEnergyCorr.h.

67{};

◆ m_larhec_id

const LArHEC_ID* CaloCellCalcEnergyCorr::m_larhec_id {}
private

Definition at line 66 of file CaloCellCalcEnergyCorr.h.

66{};

◆ m_value

Gaudi::Property<std::vector<float> > CaloCellCalcEnergyCorr::m_value {this, "SampleValues", {1.0}}
private

Definition at line 51 of file CaloCellCalcEnergyCorr.h.

51{this, "SampleValues", {1.0}}; // value to fill for every sample

◆ 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: