ATLAS Offline Software
LArFlatConditionSvc.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "LArFlatConditionSvc.h"
6 
9 
11 #include "SGTools/DataProxy.h"
12 
14 #include "GaudiKernel/IIncidentSvc.h"
15 
24 
34 
35 #include "CoralBase/Blob.h"
36 #include <boost/crc.hpp>
37 
38 
39 LArFlatConditionSvc::LArFlatConditionSvc( const std::string& name, ISvcLocator* svc )
40  : AthService( name, svc ),
41  m_IOVSvc ("IOVSvc", name),
42  m_detStore ("DetectorStore", name),
43  m_clidSvc ("ClassIDSvc", name),
44  m_objInfo(17),
45  m_attrListClid(),
46  m_initializing(true),
47  m_doRegularCells(true),
48  m_doSuperCells(false)
49 {
50 
51  //Object names for regular cells
52  m_objInfo[0].m_classname="LAruA2MeVFlat";
53  m_objInfo[1].m_classname="LArDAC2uAFlat";
54  m_objInfo[2].m_classname="LArHVScaleCorrFlat";
55  m_objInfo[3].m_classname="LArPedestalFlat";
56  m_objInfo[4].m_classname="LArRampFlat";
57  m_objInfo[5].m_classname="LArMphysOverMcalFlat";
58  m_objInfo[6].m_classname="LArOFCFlat";
59  m_objInfo[7].m_classname="LArShapeFlat";
60  //Interface names for regular cells
61  m_objInfo[0].m_ifacename="ILAruA2MeV";
62  m_objInfo[1].m_ifacename="ILArDAC2uA";
63  m_objInfo[2].m_ifacename="ILArHVScaleCorr";
64  m_objInfo[3].m_ifacename="ILArPedestal";
65  m_objInfo[4].m_ifacename="ILArRamp";
66  m_objInfo[5].m_ifacename="ILArMphysOverMcal";
67  m_objInfo[6].m_ifacename="ILArOFC";
68  m_objInfo[7].m_ifacename="ILArShape";
69 
70  //Object names for SuperCell conditions
71  m_objInfo[8].m_classname="LArAutoCorrSC";
72  m_objInfo[9].m_classname="LAruA2MeVSC";
73  m_objInfo[10].m_classname="LArDAC2uASC";
74  m_objInfo[11].m_classname="LArfSamplSC";
75  m_objInfo[12].m_classname="LArNoiseSC";
76  m_objInfo[13].m_classname="LArPedestalSC";
77  m_objInfo[14].m_classname="LArRampSC";
78  m_objInfo[15].m_classname="LArShapeSC";
79  m_objInfo[16].m_classname="LArMinBiasSC";
80 
81  //Interface names for SuperCell conditions
82  m_objInfo[8].m_ifacename="ILArAutoCorr";
83  m_objInfo[9].m_ifacename="ILAruA2MeV";
84  m_objInfo[10].m_ifacename="ILArDAC2uA";
85  m_objInfo[11].m_ifacename="ILArfSampl";
86  m_objInfo[12].m_ifacename="ILArNoise";
87  m_objInfo[13].m_ifacename="ILArPedestal";
88  m_objInfo[14].m_ifacename="ILArRamp";
89  m_objInfo[15].m_ifacename="ILArShape";
90  m_objInfo[16].m_ifacename="ILArMinBias";
91 
92 
93  //StoreGate keys for conditions objects for regular cells
94  declareProperty("uA2MeVOutput", m_objInfo[0].m_outputKey="LAruA2MeV");
95  declareProperty("DAC2uAVOutput", m_objInfo[1].m_outputKey="LArDAC2uA");
96  declareProperty("HVScaleCorrOutput", m_objInfo[2].m_outputKey="LArHVScaleCorr");
97  declareProperty("PedestalOutput", m_objInfo[3].m_outputKey="LArPedestal");
98  declareProperty("RampOutput", m_objInfo[4].m_outputKey="LArRamp");
99  declareProperty("MphysOverMcalOutput",m_objInfo[5].m_outputKey="LArMphysOverMcal");
100  declareProperty("OFCOutput", m_objInfo[6].m_outputKey="LArOFC");
101  declareProperty("ShapeOutput", m_objInfo[7].m_outputKey="LArShape");
102 
103  //StoreGate keys for conditions objects for SuperCells
104  declareProperty("AutoCorrSCOutput", m_objInfo[8].m_outputKey="LArAutoCorrSC");
105  declareProperty("uA2MeVSCOutput", m_objInfo[9].m_outputKey="LAruA2MeVSC");
106  declareProperty("DAC2uAVSCOutput", m_objInfo[10].m_outputKey="LArDAC2uASC");
107  declareProperty("fSamplSCOutput", m_objInfo[11].m_outputKey="LARfSamplSC");
108  declareProperty("NoiseSCOutput", m_objInfo[12].m_outputKey="LArNoiseSC");
109  declareProperty("PedestalSCOutput", m_objInfo[13].m_outputKey="LArPedestalSC");
110  declareProperty("RampSCOutput", m_objInfo[14].m_outputKey="LArRampSC");
111  declareProperty("ShapeSCOutput", m_objInfo[15].m_outputKey="LArShapeSC");
112  declareProperty("MinBiasSCOutput", m_objInfo[16].m_outputKey="LArMinBiasSC");
113 
114 
115  //Folder names for flat conditions data for regular cells
116  declareProperty("uA2MeVInput", m_objInfo[0].m_inputKey);//="/LAR/ElecCalibFlat/uA2MeV");
117  declareProperty("DAC2uAInput", m_objInfo[1].m_inputKey);//="/LAR/ElecCalibFlat/DAC2uA");
118  declareProperty("HVScaleCorrInput", m_objInfo[2].m_inputKey);//="/LAR/ElecCalibFlat/HVScaleCorr");
119  declareProperty("PedestalInput", m_objInfo[3].m_inputKey);//="/LAR/ElecCalibFlat/Pedestal");
120  declareProperty("RampInput", m_objInfo[4].m_inputKey);//="/LAR/ElecCalibFlat/Ramp");
121  declareProperty("MphysOverMcalInput", m_objInfo[5].m_inputKey);//="/LAR/ElecCalibFlat/MphysOverMcal");
122  declareProperty("OFCInput", m_objInfo[6].m_inputKey);//="/LAR/ElecCalibFlat/OFC");
123  declareProperty("ShapeInput", m_objInfo[7].m_inputKey);//="/LAR/ElecCalibFlat/Shape");
124 
125  //Folder names for flat conditions data for SuperCells
126  declareProperty("AutoCorrSCInput", m_objInfo[8].m_inputKey="/LAR/ElecCalibMCSC/AutoCorr");
127  declareProperty("uA2MeVSCInput", m_objInfo[9].m_inputKey="/LAR/ElecCalibMCSC/uA2MeV");
128  declareProperty("DAC2uAVSCInput", m_objInfo[10].m_inputKey="/LAR/ElecCalibMCSC/DAC2uA");
129  declareProperty("fSamplSCInput", m_objInfo[11].m_inputKey="/LAR/ElecCalibMCSC/fSampl");
130  declareProperty("NoiseSCInput", m_objInfo[12].m_inputKey="/LAR/ElecCalibMCSC/Noise");
131  declareProperty("PedestalSCInput", m_objInfo[13].m_inputKey="/LAR/ElecCalibMCSC/Pedestal");
132  declareProperty("RampSCInput", m_objInfo[14].m_inputKey="/LAR/ElecCalibMCSC/Ramp");
133  declareProperty("ShapeSCInput", m_objInfo[15].m_inputKey="/LAR/ElecCalibMCSC/Shape");
134  declareProperty("MinBiasSCInput", m_objInfo[16].m_inputKey="/LAR/ElecCalibMCSC/MinBias");
135 
136  declareProperty("DoSuperCells", m_doSuperCells);
137  declareProperty("DoRegularCells", m_doRegularCells);
138  declareProperty("PrintChecksum", m_printChecksum=true);
139 }
140 
142 
143 
144 
146  ATH_MSG_DEBUG("Initializing " << name());
147  /*
148  StatusCode sc=m_clidSvc.retrieve();
149  if (sc.isFailure()) {
150  msg(MSG::ERROR) << "Failed to retrieve " << m_clidSvc << endmsg;
151  return sc;
152  }
153 
154 
155  sc=m_IOVSvc.retrieve();
156  if (sc.isFailure()) {
157  msg(MSG::ERROR) << "Failed to retrieve " << m_IOVSvc << endmsg;
158  return sc;
159  }
160  */
161 
162  if (m_doSuperCells==false && m_doRegularCells==false) {
163  msg(MSG::WARNING) << "Both DoSuperCells and DoRegularCells set to false. Do nothing ?!?" << endmsg;
164  }
165 
166  ServiceHandle<IIncidentSvc> incSvc("IncidentSvc",name());
167  StatusCode sc=incSvc.retrieve();
168  if (sc.isFailure()) {
169  msg(MSG::ERROR) << "Unable to get the IncidentSvc" << endmsg;
170  return StatusCode::FAILURE;
171  }
172 
173  incSvc->addListener( this, "BeginRun", 100 );
174 
175  const size_t nObj=m_objInfo.size();
176  for (size_t i=0;i<nObj;++i) {
177  CHECK(m_clidSvc->getIDOfTypeName(m_objInfo[i].m_classname,m_objInfo[i].m_clid));
178  CHECK(m_clidSvc->getIDOfTypeName(m_objInfo[i].m_ifacename,m_objInfo[i].m_sclid));
179  }
180 
181  CHECK(m_clidSvc->getIDOfTypeName("CondAttrListCollection",m_attrListClid));
182 
183  return StatusCode::SUCCESS;
184 }
185 
186 
188 
189  ATH_MSG_DEBUG("preLoadAddresses. Store:" << storeID);
190 
191  if (storeID!=StoreID::DETECTOR_STORE) return StatusCode::SUCCESS;
192 
193  size_t minIdx=0;
194  size_t maxIdx=m_objInfo.size();
195  if (!m_doSuperCells) maxIdx=8;
196  if (!m_doRegularCells) minIdx=8;
197 
198  for (size_t i=minIdx;i<maxIdx;++i) {
199  if (m_objInfo[i].m_outputKey.empty() || m_objInfo[i].m_inputKey.empty()) {
200  ATH_MSG_DEBUG("No input/output key set for obj " << m_objInfo[i].m_classname << ". Ignored.");
201  continue;
202  }
203  SG::TransientAddress* tad=new SG::TransientAddress(m_objInfo[i].m_clid,m_objInfo[i].m_outputKey);
204  tad->setTransientID(m_objInfo[i].m_sclid);
205  StatusCode sc=m_IOVSvc->preLoadTAD(tad,"DetectorStore");
206  if (sc.isFailure()) {
207  msg(MSG::ERROR) << "IOVSvc failed to preLoadTAD" << endmsg;
208  return sc;
209  }
210  // Add TAD to Storegate
211  ATH_MSG_DEBUG("Preloaded address of " << m_objInfo[i].m_classname);
212  tlist.push_back(tad);
213  }
214 
215  return StatusCode::SUCCESS;
216 }
217 
218 
221  const EventContext& /*ctx*/) {
222  // Provide TAD and associated range, actually reading the conditions data
223 
224 
225  // first check if this clid is managed by this Service
226  // return FAILURE if not - this allows other AddressProviders to be
227  // asked for the TAD
228 
229  const CLID clid=tad->clID();
230  const std::string& key=tad->name();
231 
232  std::vector<objInfo_t>::const_iterator objIt=m_objInfo.begin();
233  std::vector<objInfo_t>::const_iterator objIt_e=m_objInfo.end();
234 
235  for (;objIt!=objIt_e && objIt->m_clid!=clid;++objIt);
236  if (objIt==objIt_e) {//Not found
237  //ATH_MSG_DEBUG("Ignore this clid/key");
238  return(StatusCode::FAILURE);
239  }
240  ATH_MSG_DEBUG("Creating address for clid/key " << clid << " " << key);
241 
242  if (m_initializing) {
243  ATH_MSG_DEBUG("updateAddress: Still in initialization phase. Do nothing");
244  return StatusCode::SUCCESS;
245  }
246 
247 
248  const CondAttrListCollection* attrlist;
249  StatusCode sc=m_detStore->retrieve(attrlist,objIt->m_inputKey);
250  if (sc.isFailure()) {
251  msg(MSG::ERROR) << "Failed to retrieve a CondAttrListCollection with key " << objIt->m_inputKey << endmsg;
252  return StatusCode::FAILURE;
253  }
254 
255  if(m_printChecksum) printCheckSums(*objIt,attrlist);
256 
257  IOVRange range;
258  sc=m_IOVSvc->getRange(m_attrListClid,objIt->m_inputKey,range);
259  if (sc.isFailure()) {
260  msg(MSG::ERROR) << "Failed to get IOV range for CondAttrListCollection with key " << objIt->m_inputKey << " from IOVSvc" << endmsg;
261  return sc;
262  }
263 
264  const size_t index=objIt-m_objInfo.begin();
265  switch (index) {
266  case 0:
267  {
268  if (this->createFlatObj<LAruA2MeVFlat>(attrlist,tad)==nullptr) {
269  msg(MSG::ERROR) << "Problem creating LAruA2MeVFlat object" << endmsg;
270  return StatusCode::FAILURE;
271  }
272  }
273  break;
274 
275  case 1:
276  {
277  if (this->createFlatObj<LArDAC2uAFlat>(attrlist,tad)==nullptr) {
278  msg(MSG::ERROR) << "Problem creating LArDAC2uAFlat object" << endmsg;
279  return StatusCode::FAILURE;
280  }
281  }
282  break;
283  case 2:
284  {
285  if (this->createFlatObj<LArHVScaleCorrFlat>(attrlist,tad)==nullptr) {
286  msg(MSG::ERROR) << "Problem creating LArHVScaleCorrFlat object " << endmsg;
287  return StatusCode::FAILURE;
288  }
289  }
290  break;
291  case 3:
292  {
293  if (this->createFlatObj<LArPedestalFlat>(attrlist,tad)==nullptr) {
294  msg(MSG::ERROR) << "Problem creating LArPedestalFlat object" << endmsg;
295  return StatusCode::FAILURE;
296  }
297  }
298  break;
299  case 4:
300  {
301  if (this->createFlatObj<LArRampFlat>(attrlist,tad)==nullptr) {
302  msg(MSG::ERROR) << "Problem creating LArRampFlat object" << endmsg;
303  return StatusCode::FAILURE;
304  }
305  }
306  break;
307  case 5:
308  {
309  if (this->createFlatObj<LArMphysOverMcalFlat>(attrlist,tad)==nullptr) {
310  msg(MSG::ERROR) << "Problem creating LArMphysOverMcalFlat object" << endmsg;
311  return StatusCode::FAILURE;
312  }
313  }
314  break;
315  case 6:
316  {
317  if (this->createFlatObj<LArOFCFlat>(attrlist,tad)==nullptr) {
318  msg(MSG::ERROR) << "Problem creating LArOFCFlat object" << endmsg;
319  return StatusCode::FAILURE;
320  }
321  }
322  break;
323  case 7:
324  {
325  if (this->createFlatObj<LArShapeFlat>(attrlist,tad)==nullptr) {
326  msg(MSG::ERROR) << "Problem creating LArShapeFlat object" << endmsg;
327  return StatusCode::FAILURE;
328  }
329  }
330  break;
331 
332 
333  case 8:
334  {
335  if (this->createFlatObj<LArAutoCorrSC>(attrlist,tad)==nullptr) {
336  msg(MSG::ERROR) << "Problem creating LArAutoCorrSC object" << endmsg;
337  return StatusCode::FAILURE;
338  }
339  }
340  break;
341  case 9:
342  {
343  if (this->createFlatObj<LAruA2MeVSC>(attrlist,tad)==nullptr) {
344  msg(MSG::ERROR) << "Problem creating LAruA2MeVSC object" << endmsg;
345  return StatusCode::FAILURE;
346  }
347  }
348  break;
349  case 10:
350  {
351  if (this->createFlatObj<LArDAC2uASC>(attrlist,tad)==nullptr) {
352  msg(MSG::ERROR) << "Problem creating LArDAC2uASC object" << endmsg;
353  return StatusCode::FAILURE;
354  }
355  }
356  break;
357 
358  case 11:
359  if (this->createFlatObj<LArfSamplSC>(attrlist,tad)==nullptr) {
360  msg(MSG::ERROR) << "Problem creating LArfSamplSC object" << endmsg;
361  return StatusCode::FAILURE;
362  }
363  break;
364 
365  case 12:
366  if (this->createFlatObj<LArNoiseSC>(attrlist,tad)==nullptr) {
367  msg(MSG::ERROR) << "Problem creating LArNoiseSC object" << endmsg;
368  return StatusCode::FAILURE;
369  }
370  break;
371 
372  case 13:
373  if (this->createFlatObj<LArPedestalSC>(attrlist,tad)==nullptr) {
374  msg(MSG::ERROR) << "Problem creating LArPedestal object" << endmsg;
375  return StatusCode::FAILURE;
376  }
377  break;
378 
379  case 14:
380  if (this->createFlatObj<LArRampSC>(attrlist,tad)==nullptr) {
381  msg(MSG::ERROR) << "Problem creating LArRampSC object" << endmsg;
382  return StatusCode::FAILURE;
383  }
384  break;
385 
386  case 15:
387  if (this->createFlatObj<LArShapeSC>(attrlist,tad)==nullptr) {
388  msg(MSG::ERROR) << "Problem creating LArShapeSC object" << endmsg;
389  return StatusCode::FAILURE;
390  }
391  break;
392 
393  case 16:
394  if (this->createFlatObj<LArMinBiasSC>(attrlist,tad)==nullptr) {
395  msg(MSG::ERROR) << "Problem creating LArMinBiasSC object" << endmsg;
396  return StatusCode::FAILURE;
397  }
398  break;
399 
400 
401  default:
402  msg(MSG::ERROR) << "Something screwed up at " << __FILE__ << " line " << __LINE__ << endmsg;
403  return StatusCode::FAILURE;
404  }
405 
406  sc=m_IOVSvc->setRange(objIt->m_clid,objIt->m_outputKey,range);//,"DetectorStore");
407  if (sc.isFailure()) {
408  msg(MSG::ERROR) << "Failed to set IOV range for object " << objIt->m_classname << " with key " << objIt->m_outputKey << endmsg;
409  return sc;
410  }
411 
412 
413  return StatusCode::SUCCESS;
414 }
415 
417  return StatusCode::SUCCESS;
418 }
419 
420 
421 void LArFlatConditionSvc::handle( const Incident& inc ) {
422  m_initializing=false;
423  ATH_MSG_DEBUG("entering handle(), incident type " << inc.type()
424  << " from " << inc.source());
425  return;
426 }
427 
428 
429 template<class T>
431 
432  const CLID clid=tad->clID();
433  const std::string& key=tad->name();
434 
435  T* flat=new T(attr);
436  if (!flat->good()) {
437  msg(MSG::ERROR) << "Failed to covert AthenaAttributeList to flat LAr conditions object with clid/key "
438  << clid << "/" << key << endmsg;
439  delete flat;
440  return nullptr;
441  }
442  else {
443  SG::DataProxy* proxy=m_detStore->proxy(clid,key);
444  DataObject* dObj=SG::asStorable(flat);
445  proxy->setObject(dObj);
446  }
447  return flat;
448  }
449 
450 void LArFlatConditionSvc::printCheckSums(const objInfo_t& objInfo, const CondAttrListCollection* attrListColl) {
451 
452  if (!msgLvl(MSG::INFO)) return;
453 
454  union {
455  int sn;
456  unsigned usn;
457  } cnv{};
458 
459  boost::crc_32_type crc32;
460 
461  msg(MSG::INFO) << "Loading " << objInfo.m_classname << " from folder " << objInfo.m_inputKey << endmsg;
462 
464  CondAttrListCollection::const_iterator it_e=attrListColl->end();
465  for (;it!=it_e;++it) {
466  const coral::AttributeList& attrList=it->second;
467  const unsigned gain=it->first;
468  msg(MSG::INFO) << " Gain " << gain;
469  for (const auto& attr : attrList) {
470  const std::string& typeName=attr.specification().typeName();
471  if (typeName.substr(0, 4) == "blob") {
472  //Got a blob:
473  const coral::Blob& blob = attr.data<coral::Blob>();
474  const std::string& blobName=attr.specification().name();
475  crc32.process_bytes(blob.startingAddress(),blob.size());
476  cnv.usn= crc32.checksum();
477  msg(MSG::INFO) << ", " << blobName << " checksum=" << cnv.sn;
478  crc32.reset();
479  }//end if blob
480  }//end loop over attributes
481  msg(MSG::INFO) << endmsg;
482  }//end loop over gains
483 
484 
485 
486 
487 }
LArMinBiasSC.h
CondAttrListCollection::end
const_iterator end() const
Definition: CondAttrListCollection.h:315
LArFlatConditionSvc::handle
virtual void handle(const Incident &incident)
Incident handle.
Definition: LArFlatConditionSvc.cxx:421
IOVRange
Validity Range object. Holds two IOVTimes (start and stop)
Definition: IOVRange.h:30
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
LArHVScaleCorrFlat.h
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
LArFlatConditionSvc::m_printChecksum
bool m_printChecksum
Definition: LArFlatConditionSvc.h:92
IOVRange.h
Validity Range object. Holds two IOVTime instances (start and stop)
StorableConversions.h
convert to and from a SG storable
index
Definition: index.py:1
LArPedestalSC.h
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
query_example.tlist
tlist
Definition: query_example.py:25
skel.it
it
Definition: skel.GENtoEVGEN.py:423
LArFlatConditionSvc::printCheckSums
void printCheckSums(const objInfo_t &objInfo, const CondAttrListCollection *attr)
Definition: LArFlatConditionSvc.cxx:450
LArFlatConditionSvc::objInfo_t::m_inputKey
std::string m_inputKey
Definition: LArFlatConditionSvc.h:80
LArRampSC.h
SG::TransientAddress
Definition: TransientAddress.h:32
LArFlatConditionSvc::~LArFlatConditionSvc
virtual ~LArFlatConditionSvc()
Definition: LArFlatConditionSvc.cxx:141
AthCommonMsg< Service >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
CondAttrListCollection::begin
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
Definition: CondAttrListCollection.h:309
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
SG::asStorable
DataObject * asStorable(T *pObject)
Definition: StorableConversions.h:158
LArFlatConditionSvc.h
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
LArOFCFlat.h
LArMphysOverMcalFlat.h
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LArFlatConditionSvc::objInfo_t::m_classname
std::string m_classname
Definition: LArFlatConditionSvc.h:78
LArPedestalFlat.h
LArFlatConditionSvc::m_IOVSvc
ServiceHandle< IIOVSvc > m_IOVSvc
Definition: LArFlatConditionSvc.h:71
SG::TransientAddress::name
const std::string & name() const
Get the primary (hashed) SG key.
Definition: TransientAddress.h:208
LArFlatConditionSvc::finalize
virtual StatusCode finalize()
Service finalize.
Definition: LArFlatConditionSvc.cxx:416
LArNoiseSC.h
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArFlatConditionSvc::m_doRegularCells
bool m_doRegularCells
Definition: LArFlatConditionSvc.h:90
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArFlatConditionSvc::m_objInfo
std::vector< objInfo_t > m_objInfo
Definition: LArFlatConditionSvc.h:86
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
AthService
Definition: AthService.h:32
LArAutoCorrSC.h
SG::TransientAddress::clID
CLID clID() const
Retrieve string key:
Definition: TransientAddress.h:201
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
LArFlatConditionSvc::m_initializing
bool m_initializing
Definition: LArFlatConditionSvc.h:88
LArDAC2uAFlat.h
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
StoreID::DETECTOR_STORE
@ DETECTOR_STORE
Definition: StoreID.h:27
LArShapeSC.h
LArFlatConditionSvc::initialize
virtual StatusCode initialize()
Serice init.
Definition: LArFlatConditionSvc.cxx:145
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
errorcheck.h
Helpers for checking error return status codes and reporting errors.
SG::TransientAddress::setTransientID
void setTransientID(CLID id)
get transient CLID's
Definition: TransientAddress.cxx:142
LArFlatConditionSvc::objInfo_t
Definition: LArFlatConditionSvc.h:76
LArShapeFlat.h
LArfSamplSC.h
StoreID::type
type
Definition: StoreID.h:24
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
LAruA2MeVFlat.h
LArFlatConditionSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type, tadList &)
get all addresses from Provider : Called before Begin Event
Definition: LArFlatConditionSvc.cxx:187
LArFlatConditionSvc::LArFlatConditionSvc
LArFlatConditionSvc(const std::string &name, ISvcLocator *svc)
Definition: LArFlatConditionSvc.cxx:39
AthCommonMsg< Service >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition: IAddressProvider.h:32
LArFlatConditionSvc::m_attrListClid
CLID m_attrListClid
Definition: LArFlatConditionSvc.h:87
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LArFlatConditionSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: LArFlatConditionSvc.h:72
LArFlatConditionSvc::m_doSuperCells
bool m_doSuperCells
Definition: LArFlatConditionSvc.h:91
LArRampFlat.h
LArFlatConditionSvc::createFlatObj
T * createFlatObj(const CondAttrListCollection *attr, SG::TransientAddress *tad)
Definition: LArFlatConditionSvc.cxx:430
SG::DataProxy
Definition: DataProxy.h:44
LArFlatConditionSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type, SG::TransientAddress *tad, const EventContext &ctx)
update a transient Address
Definition: LArFlatConditionSvc.cxx:219
LArDAC2uASC.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
LAruA2MeVSC.h
ServiceHandle< IIncidentSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
LArFlatConditionSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: LArFlatConditionSvc.h:73
DataProxy.h