ATLAS Offline Software
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
LArFlatConditionSvc Class Reference

#include <LArFlatConditionSvc.h>

Inheritance diagram for LArFlatConditionSvc:
Collaboration diagram for LArFlatConditionSvc:

Classes

struct  objInfo_t
 

Public Types

typedef IAddressProvider::tadList tadlist
 Query the interfaces. More...
 
typedef tadList::iterator tadListIterator
 
typedef std::list< SG::TransientAddress * > tadList
 

Public Member Functions

 LArFlatConditionSvc (const std::string &name, ISvcLocator *svc)
 
virtual ~LArFlatConditionSvc ()
 
virtual StatusCode initialize ()
 Serice init. More...
 
virtual StatusCode finalize ()
 Service finalize. More...
 
virtual StatusCode preLoadAddresses (StoreID::type, tadList &)
 get all addresses from Provider : Called before Begin Event More...
 
virtual StatusCode loadAddresses (StoreID::type, tadList &)
 get all new addresses from Provider for this Event. More...
 
virtual StatusCode updateAddress (StoreID::type, SG::TransientAddress *tad, const EventContext &ctx)
 update a transient Address More...
 
virtual void handle (const Incident &incident)
 Incident handle. More...
 
 DeclareInterfaceID (IAddressProvider, 1, 0)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Private Member Functions

template<class T >
T * createFlatObj (const CondAttrListCollection *attr, SG::TransientAddress *tad)
 
void printCheckSums (const objInfo_t &objInfo, const CondAttrListCollection *attr)
 

Private Attributes

ServiceHandle< IIOVSvcm_IOVSvc
 
ServiceHandle< StoreGateSvcm_detStore
 
ServiceHandle< IClassIDSvc > m_clidSvc
 
std::vector< objInfo_tm_objInfo
 
CLID m_attrListClid
 
bool m_initializing
 
bool m_doRegularCells
 
bool m_doSuperCells
 
bool m_printChecksum
 

Friends

class SvcFactory< LArFlatConditionSvc >
 

Detailed Description

Definition at line 24 of file LArFlatConditionSvc.h.

Member Typedef Documentation

◆ tadList

typedef std::list<SG::TransientAddress*> IAddressProvider::tadList
inherited

Definition at line 32 of file IAddressProvider.h.

◆ tadlist

Query the interfaces.

Service type. virtual const InterfaceID& type() const;

Definition at line 49 of file LArFlatConditionSvc.h.

◆ tadListIterator

typedef tadList::iterator LArFlatConditionSvc::tadListIterator

Definition at line 50 of file LArFlatConditionSvc.h.

Constructor & Destructor Documentation

◆ LArFlatConditionSvc()

LArFlatConditionSvc::LArFlatConditionSvc ( const std::string &  name,
ISvcLocator *  svc 
)

Definition at line 39 of file LArFlatConditionSvc.cxx.

40  : AthService( name, svc ),
41  m_IOVSvc ("IOVSvc", name),
42  m_detStore ("DetectorStore", name),
43  m_clidSvc ("ClassIDSvc", name),
44  m_objInfo(17),
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 }

◆ ~LArFlatConditionSvc()

LArFlatConditionSvc::~LArFlatConditionSvc ( )
virtual

Definition at line 141 of file LArFlatConditionSvc.cxx.

141 {}

Member Function Documentation

◆ createFlatObj()

template<class T >
T * LArFlatConditionSvc::createFlatObj ( const CondAttrListCollection attr,
SG::TransientAddress tad 
)
private

Definition at line 430 of file LArFlatConditionSvc.cxx.

430  {
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  }

◆ DeclareInterfaceID()

IAddressProvider::DeclareInterfaceID ( IAddressProvider  ,
,
 
)
inherited

◆ finalize()

StatusCode LArFlatConditionSvc::finalize ( )
virtual

Service finalize.

Definition at line 416 of file LArFlatConditionSvc.cxx.

416  {
417  return StatusCode::SUCCESS;
418 }

◆ handle()

void LArFlatConditionSvc::handle ( const Incident &  incident)
virtual

Incident handle.

Definition at line 421 of file LArFlatConditionSvc.cxx.

421  {
422  m_initializing=false;
423  ATH_MSG_DEBUG("entering handle(), incident type " << inc.type()
424  << " from " << inc.source());
425  return;
426 }

◆ initialize()

StatusCode LArFlatConditionSvc::initialize ( )
virtual

Serice init.

Definition at line 145 of file LArFlatConditionSvc.cxx.

145  {
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 }

◆ loadAddresses()

virtual StatusCode LArFlatConditionSvc::loadAddresses ( StoreID::type  ,
tadList  
)
inlinevirtual

get all new addresses from Provider for this Event.

Reimplemented from IAddressProvider.

Definition at line 57 of file LArFlatConditionSvc.h.

59  { return StatusCode::SUCCESS;}

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< Service >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

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

Definition at line 30 of file AthCommonMsg.h.

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

◆ preLoadAddresses()

StatusCode LArFlatConditionSvc::preLoadAddresses ( StoreID::type  storeID,
tadList tlist 
)
virtual

get all addresses from Provider : Called before Begin Event

Reimplemented from IAddressProvider.

Definition at line 187 of file LArFlatConditionSvc.cxx.

187  {
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 }

◆ printCheckSums()

void LArFlatConditionSvc::printCheckSums ( const objInfo_t objInfo,
const CondAttrListCollection attr 
)
private

Definition at line 450 of file LArFlatConditionSvc.cxx.

450  {
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 
463  CondAttrListCollection::const_iterator it=attrListColl->begin();
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 }

◆ updateAddress()

StatusCode LArFlatConditionSvc::updateAddress ( StoreID::type  ,
SG::TransientAddress tad,
const EventContext &  ctx 
)
virtual

update a transient Address

Implements IAddressProvider.

Definition at line 219 of file LArFlatConditionSvc.cxx.

221  {
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 }

Friends And Related Function Documentation

◆ SvcFactory< LArFlatConditionSvc >

friend class SvcFactory< LArFlatConditionSvc >
friend

Definition at line 1 of file LArFlatConditionSvc.h.

Member Data Documentation

◆ m_attrListClid

CLID LArFlatConditionSvc::m_attrListClid
private

Definition at line 87 of file LArFlatConditionSvc.h.

◆ m_clidSvc

ServiceHandle<IClassIDSvc> LArFlatConditionSvc::m_clidSvc
private

Definition at line 73 of file LArFlatConditionSvc.h.

◆ m_detStore

ServiceHandle<StoreGateSvc> LArFlatConditionSvc::m_detStore
private

Definition at line 72 of file LArFlatConditionSvc.h.

◆ m_doRegularCells

bool LArFlatConditionSvc::m_doRegularCells
private

Definition at line 90 of file LArFlatConditionSvc.h.

◆ m_doSuperCells

bool LArFlatConditionSvc::m_doSuperCells
private

Definition at line 91 of file LArFlatConditionSvc.h.

◆ m_initializing

bool LArFlatConditionSvc::m_initializing
private

Definition at line 88 of file LArFlatConditionSvc.h.

◆ m_IOVSvc

ServiceHandle<IIOVSvc> LArFlatConditionSvc::m_IOVSvc
private

Definition at line 71 of file LArFlatConditionSvc.h.

◆ m_objInfo

std::vector<objInfo_t> LArFlatConditionSvc::m_objInfo
private

Definition at line 86 of file LArFlatConditionSvc.h.

◆ m_printChecksum

bool LArFlatConditionSvc::m_printChecksum
private

Definition at line 92 of file LArFlatConditionSvc.h.


The documentation for this class was generated from the following files:
AthService::AthService
AthService()
IOVRange
Validity Range object. Holds two IOVTimes (start and stop)
Definition: IOVRange.h:30
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
LArFlatConditionSvc::m_printChecksum
bool m_printChecksum
Definition: LArFlatConditionSvc.h:92
index
Definition: index.py:1
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
SG::TransientAddress
Definition: TransientAddress.h:32
AthCommonMsg< Service >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
SG::asStorable
DataObject * asStorable(T *pObject)
Definition: StorableConversions.h:158
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
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
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
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
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
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
SG::TransientAddress::setTransientID
void setTransientID(CLID id)
get transient CLID's
Definition: TransientAddress.cxx:142
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
AthCommonMsg< Service >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
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
SG::DataProxy
Definition: DataProxy.h:44
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
ServiceHandle< IIncidentSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
LArFlatConditionSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: LArFlatConditionSvc.h:73