ATLAS Offline Software
TileOFC2DBAlg.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //=== IOVDbTest includes
7 
8 //=== Event Info
11 
12 //=== AttributeList
13 //#include "CoralBase/Attribute.h"
14 #include "CoralBase/Blob.h"
15 #include "CoralBase/AttributeListSpecification.h"
17 
18 //=== Tile includes
19 #include "TileOFC2DBAlg.h"
23 
24 #include <vector>
25 
26 TileOFC2DBAlg::TileOFC2DBAlg(const std::string& name, ISvcLocator* pSvcLocator)
27  : AthAlgorithm(name, pSvcLocator)
28  , m_regSvc(nullptr)
29 
30 {
31  declareProperty("OF2", m_of2 = true,"true => OF2, false => OF1");
36  declareProperty("FixedPhases", m_fixedPhases = true, "calculate OFCs for fixed phases" );
37  declareProperty("RunType", m_runType = "PHY", "PHY or LAS");
38 
39  declareProperty("FixedPhasesNumber", m_nFixedPhases = 100);
40  declareProperty("PhaseStep", m_phaseStep = 0.5);
41  declareProperty("MaxChan", m_maxChan = 1, "Number of channels for which OFCs will be created with fixed phases");
42  declareProperty("Modules", m_modules = {"AUX01"}, "Modules for which OFC should be stored in DB");
43  declareProperty("CreateAllModules", m_creatAllModules = true, "All missing modules is written to DB with zero size (empty)");
44 }
45 
47 }
48 
49 
50 //____________________________________________________________________________
52 
53  ATH_MSG_INFO( "Initializing for " << m_runType );
54 
55  //=== EventInfo key
57 
58  //=== get TileToolTiming
59  CHECK( m_tileToolTiming.retrieve() );
60 
61  //=== get TileCondToolOfc
62  CHECK( m_tileCondToolOfc.retrieve() );
63 
64  //=== IOVRegistrationSvc
65  CHECK( service("IOVRegistrationSvc", m_regSvc) );
66 
67  ATH_MSG_DEBUG( "Found IOVRegistrationSvc " );
68 
69 
70  std::map<std::string, unsigned int> roses = { {"AUX", 0}, {"LBA", 1}, {"LBC", 2}, {"EBA", 3}, {"EBC", 4} };
71 
72  msg(MSG::INFO) << "OFC will be stored in DB for the following modules:";
73  for (const std::string& module : m_modules) {
74  msg(MSG::INFO) << " " << module;
75  m_drawerIdxs.push_back( TileCalibUtils::getDrawerIdx(roses[module.substr(0, 3)], std::stoi(module.substr(3, 2)) - 1) );
76  }
77  msg(MSG::INFO) << endmsg;
78 
79  if (m_creatAllModules) ATH_MSG_INFO("All other missing modules will be stored in DB with zero size");
80 
81  return StatusCode::SUCCESS;
82 }
83 
84 //
85 //_________________________________________________________________________
87  const EventContext &ctx = Gaudi::Hive::currentContext();
88 
89  //=== print run/evt/lbn/time info for each event
91  ATH_CHECK( eventInfo.isValid() );
92 
93  ATH_MSG_DEBUG( "Event: ["
94  << eventInfo->runNumber() << ","
95  << eventInfo->eventNumber() << ":"
96  << eventInfo->timeStamp() << "]" );
97 
98 
99  //=== Create conditions objects only at run == ?, event == ?
100  if (1 != eventInfo->eventNumber()) {
101  ATH_MSG_DEBUG( "Event NOT selected for creating conditions objects " );
102  return StatusCode::SUCCESS;
103  } else {
104  ATH_MSG_DEBUG( "Creating conditions objects " );
105  }
106 
107  //unsigned int objVersion = (m_of2) ? 3 : 1;
108  unsigned int objVersion = 3; // non efficient, but allows to keep dG also for OF1
109 
110  //=== build the IOV range
112 
113  //=== build COOL folder name based on ???????
114  std::string folder("/TILE/ONL01/FILTER/");
115  if (m_of2) folder += "OF2/" + m_runType;
116  else folder += "OF1/" + m_runType;
117  m_folders.insert(folder);
118 
119  //=== create the folder layout
120  coral::AttributeListSpecification* spec = new coral::AttributeListSpecification();
121  spec->extend("TileCalibBlobOfc", "blob");
122 
123  //=== create the collection of attribute lists
124  CondAttrListCollection* attrListColl = new CondAttrListCollection(true);
125 
126  float zeroPhase(0.0);
127  TileOfcWeightsStruct weights;
128  ATH_CHECK( m_tileCondToolOfc->getOfcWeights(0, 0, 0, zeroPhase, true, weights, ctx) );
129  int ndig = weights.n_samples;
130 
131  // ---------- create fixed phases
132  if (m_fixedPhases) {
133  ATH_MSG_DEBUG( "Fixed phases: " << m_fixedPhases
134  << ", number of fixed phases: " << m_nFixedPhases
135  << ", phase step: " << m_phaseStep);
136 
137  std::vector<float> phases;
138  phases.reserve(m_nFixedPhases * 2 + 1);
139 
140  //=== create attribute list
141  coral::AttributeList ofcList(*spec);
142  coral::Blob& blob = ofcList["TileCalibBlobOfc"].data<coral::Blob>();
143 
144  std::vector<bool> coolChannelCreated(TileCalibUtils::MAX_DRAWERIDX, false);
145 
146  for (int iPhase = - m_nFixedPhases; iPhase <= m_nFixedPhases; ++iPhase) {
147  phases.push_back(iPhase * m_phaseStep);
148  }
149 
150  int nPhases = phases.size();
152 
153  for (unsigned int drawerIdx : m_drawerIdxs) {
154  coolChannelCreated[drawerIdx] = true;
155  drawerOfc = TileCalibDrawerOfc::getInstance(blob, objVersion, ndig, -nPhases, m_maxChan, TileCalibUtils::MAX_GAIN); // nPhases, nChann, nGains
156 
157  drawerOfc->setPhases(0, 0, phases);
158 
159  for (unsigned int channel = 0; channel < m_maxChan; ++channel) {
160  for (unsigned int gain = 0; gain < TileCalibUtils::MAX_GAIN; ++gain) {
161 
162  for (float phase : phases) {
163  ATH_CHECK( m_tileCondToolOfc->getOfcWeights(drawerIdx, channel, gain, phase, m_of2, weights, ctx) );
164  for (int isam = 0; isam < ndig; isam++) {
165  drawerOfc->setOfc(TileCalibDrawerOfc::FieldA, channel, gain, phase, isam, weights.w_a[isam]);
166  drawerOfc->setOfc(TileCalibDrawerOfc::FieldB, channel, gain, phase, isam, weights.w_b[isam]);
167  drawerOfc->setOfc(TileCalibDrawerOfc::FieldG, channel, gain, phase, isam, weights.g[isam]);
168  if (objVersion == 3) {
169  drawerOfc->setOfc(TileCalibDrawerOfc::FieldC, channel, gain, phase, isam, weights.w_c[isam]);
170  drawerOfc->setOfc(TileCalibDrawerOfc::FieldDG, channel, gain, phase, isam, weights.dg[isam]);
171  }
172  }
173 
174 
175  if (msgLvl(MSG::DEBUG)) {
176 
177  msg(MSG::DEBUG) << " N Samples " << ndig
178  << " channel " << channel
179  << " drawerIdx " << drawerIdx
180  << " gain " << gain
181  << " phase = " << phase << endmsg;
182 
183  msg(MSG::DEBUG) << "gain " << gain << " w_a, phase " << phase << " ";
184  for (int isam = 0; isam < ndig; ++isam)
185  msg(MSG::DEBUG) << " " << weights.w_a[isam];
186  msg(MSG::DEBUG) << endmsg;
187 
188  msg(MSG::DEBUG) << "gain " << gain << " w_b, phase " << phase << " ";
189  for (int isam = 0; isam < ndig; isam++)
190  msg(MSG::DEBUG) << " " << weights.w_b[isam];
191  msg(MSG::DEBUG) << endmsg;
192 
193  if (m_of2) {
194  msg(MSG::DEBUG) << "gain " << gain << " w_c, phase " << phase << " ";
195  for (int isam = 0; isam < ndig; isam++)
196  msg(MSG::DEBUG) << " " << weights.w_c[isam];
197  msg(MSG::DEBUG) << endmsg;
198  }
199 
200  msg(MSG::DEBUG) << "gain " << gain << " g, phase " << phase << " ";
201  for (int isam = 0; isam < ndig; isam++)
202  msg(MSG::DEBUG) << " " << weights.g[isam];
203  msg(MSG::DEBUG) << endmsg;
204 
205  }
206 
207  }
208  }
209 
210 
211  }
212 
213  //=== use DrawerHash as channel number
214  attrListColl->add(drawerIdx, ofcList);
215 
216  //=== add the IOV range for this collection
217  attrListColl->add(drawerIdx, range);
218  // drawerOfc->dump();
219  delete drawerOfc;
220 
221  }
222 
223  //=== Create empty blobs for all COOL channels (for missing drawers)
224  if (m_creatAllModules) {
225  for (unsigned int coolChannel = 0; coolChannel < TileCalibUtils::MAX_DRAWERIDX; ++coolChannel) {
226  if (coolChannelCreated[coolChannel]) continue;
227  //=== create attribute list for this drawer
228  coral::AttributeList ofcList(*spec);
229  //coral::Blob& blob=ofcList["TileCalibBlobOfc"].data<coral::Blob>();
230  attrListColl->add(coolChannel, ofcList);
231  attrListColl->add(coolChannel, range);
232  }
233  }
234 
235  } else { // take best phase from DB and calculate OFCs for each channel
236 
237  std::vector<float> phases(TileCalibUtils::MAX_CHAN);
238 
239  //=== create attribute list
240  coral::AttributeList ofcList(*spec);
241  coral::Blob& blob = ofcList["TileCalibBlobOfc"].data<coral::Blob>();
242 
243  //=== create an OFC blob interpreter
244  TileCalibDrawerOfc* drawerOfc = TileCalibDrawerOfc::getInstance(blob, objVersion, ndig, -48, 256, 2); // nPhases, nChann, nGains
245 
246  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel)
247  phases[channel] = (float) channel;
248 
249  for (unsigned int ros = 1; ros < TileCalibUtils::MAX_ROS; ++ros) {
250  for (unsigned int drawer = 0; drawer < TileCalibUtils::getMaxDrawer(ros); ++drawer) {
251  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
252  drawerOfc->setPhases(drawerIdx, 0, phases);
253 
254  for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) {
255 
256  for (unsigned int gain = 0; gain < TileCalibUtils::MAX_GAIN; ++gain) {
257 
258  float phase = m_tileToolTiming->getSignalPhase(drawerIdx, channel, gain);
259  ATH_MSG_DEBUG( "m_tileToolTiming:"
260  << " drawerIdx " << drawerIdx
261  << " channel " << channel
262  << " gain " << gain
263  << " phase " << phase );
264 
265  ATH_CHECK( m_tileCondToolOfc->getOfcWeights(drawerIdx, channel, gain, phase, m_of2, weights, ctx) );
266  ATH_MSG_DEBUG( " N Samples " << ndig
267  << " ros " << ros
268  << " drawer " << drawer
269  << " channel " << channel
270  << " drawerIdx " << drawerIdx
271  << " gain " << gain
272  << " phase = " << phase );
273 
274  double w_a_sum = 0, w_b_sum = 0, w_c_sum = 0;
275  for (int isam = 0; isam < ndig; isam++) {
276  if (m_of2) {
277  ATH_MSG_DEBUG( " sampling " << isam
278  << " w_a " << weights.w_a[isam]
279  << " w_b " << weights.w_b[isam]
280  << " w_c " << weights.w_c[isam]
281  << " g " << weights.g[isam] );
282 
283  } else {
284  ATH_MSG_DEBUG( " sampling " << isam
285  << " w_a " << weights.w_a[isam]
286  << " w_b " << weights.w_b[isam]
287  << " g " << weights.g[isam] );
288 
289  }
290 
291  w_a_sum += weights.w_a[isam];
292  w_b_sum += weights.w_b[isam];
293  w_c_sum += weights.w_c[isam];
294 
295  drawerOfc->setOfc(0, drawerIdx, gain, channel, isam, weights.w_a[isam]);
296  drawerOfc->setOfc(1, drawerIdx, gain, channel, isam, weights.w_b[isam]);
297  if (m_of2) {
298  drawerOfc->setOfc(2, drawerIdx, gain, channel, isam, weights.w_c[isam]);
299  drawerOfc->setOfc(3, drawerIdx, gain, channel, isam, weights.g[isam]);
300  } else {
301  drawerOfc->setOfc(2, drawerIdx, gain, channel, isam, weights.g[isam]);
302  }
303  }
304 
305  if (m_of2) ATH_MSG_DEBUG( " *** SUM: a,b,c " << w_a_sum << " " << w_b_sum << " " << w_c_sum );
306 
307  } // for ... gain
308  } // for ... channel
309 
310  //=== use DrawerHash as channel number
311  attrListColl->add(drawerIdx, ofcList);
312 
313  //=== add the IOV range for this collection
314  attrListColl->add(drawerIdx, range);
315  // drawerOfc->dump();
316  } // for ... drawer
317  } // for ... ros
318  delete drawerOfc;
319  }
320 
321  //=== add the comment in the comment channel
322  coral::AttributeList attrList(*spec);
323  coral::Blob& blob = attrList["TileCalibBlobOfc"].data<coral::Blob>();
324  const char* user = getenv("USER");
325  TileCalibDrawerCmt* comment = TileCalibDrawerCmt::getInstance(blob, (user ? user : "tilecomm"), "OFC weights calculated by TileCondToolOfc");
326  delete comment;
327  attrListColl->add(TileCalibUtils::getCommentChannel(), attrList);
328  attrListColl->add(TileCalibUtils::getCommentChannel(), range);
329 
330  spec->release();
331  // cppcheck-suppress memleak
332  spec = nullptr;
333 
334  //=== recored collection in store gate
335  CHECK( detStore()->record(attrListColl, folder) );
336 
337  //=======================================
338  //=== Print conditions data in detector store
339  //=======================================
340  ATH_MSG_DEBUG( "Calling printCondObjects" );
341 
342  CHECK( printCondObjects() );
343 
344  return StatusCode::SUCCESS;
345 }
346 
347 //
348 //________________________________________________________________________
350 
351  ATH_MSG_INFO( "in finalize()" );
352 
353  //=== Register objects in DB
355 
356  ATH_MSG_DEBUG( "Register OK " );
357 
358  return StatusCode::SUCCESS;
359 }
360 
361 
362 //
363 //___________________________________________________________________
365 
366  ATH_MSG_DEBUG( "entering registerCondObject " );
367 
368  for (std::set<std::string>::const_iterator iFolder = m_folders.begin();
369  iFolder != m_folders.end(); ++iFolder) {
370 
371  const CondAttrListCollection* attrListColl = nullptr;
372  CHECK( detStore()->retrieve(attrListColl, *iFolder) );
373 
374  if (nullptr == attrListColl) {
375  ATH_MSG_ERROR( "Has not retrieved AttributeListCollection (ptr is 0) from " << *iFolder );
376  return (StatusCode::FAILURE);
377  } else {
378  ATH_MSG_DEBUG( "Retrieved AttributeListCollection from " << *iFolder );
379  }
380 
381  //=== register in COOL
382  std::string tag = "";
383  CHECK( m_regSvc->registerIOV("CondAttrListCollection", *iFolder, tag) );
384 
385  ATH_MSG_DEBUG( "Registered folder " << *iFolder << " with tag " << tag );
386 
387  } //end iFolder
388 
389  return StatusCode::SUCCESS;
390 }
391 
392 //
393 //__________________________________________________________________
395 
396  ATH_MSG_INFO( "in printCondObjects()" );
397 
398  //=== loop over all folders
399  for (std::set<std::string>::const_iterator iFolder = m_folders.begin();
400  iFolder != m_folders.end(); ++iFolder) {
401 
402  ATH_MSG_DEBUG( "Printing content of folder: " << *iFolder );
403 
404  //=== determine blob name
405  std::string blobName("TileCalibBlob");
406  if (iFolder->find("/TILE/ONL01/FILTER") != std::string::npos) {
407  blobName += "Ofc";
408  }
409 
410  ATH_MSG_DEBUG( "The blob name is: " << blobName );
411 
412  const CondAttrListCollection* attrListColl(nullptr);
413  CHECK( detStore()->retrieve(attrListColl, *iFolder) );
414 
415  if (!attrListColl) {
416  ATH_MSG_ERROR("Has not retrieved AttributeListCollection (ptr is 0) from " << *iFolder );
417  return StatusCode::FAILURE;
418  }
419 
420  //=== find the general comment
421  std::string generalComment("");
423  if (iComment != attrListColl->end()) {
424  const coral::Blob& blob = (iComment->second)[blobName].data<coral::Blob>();
426  generalComment = cmt->getFullComment();
427  delete cmt;
428  }
429 
430  //=== loop over collection
431  CondAttrListCollection::const_iterator iColl = attrListColl->begin();
432  CondAttrListCollection::const_iterator last = attrListColl->end();
433  for (; iColl != last; ++iColl) {
434 
435  //=== do not print comment channel
436  if (iColl == iComment) continue;
437 
438  //=== try to find comment for this drawer
439  const coral::Blob& blob = (iColl->second)[blobName].data<coral::Blob>();
440  //=== do not print empty blobs
441  if (!blob.size()) {
442  continue;
443  }
444 
446  std::ostringstream attrStr1;
447  (*iColl).second.toOutputStream(attrStr1);
448  ATH_MSG_DEBUG( "ChanNum " << (*iColl).first << " Attribute list " << attrStr1.str() );
449 
450  // Print out range if it exits
451  CondAttrListCollection::ChanNum chanNum = (*iColl).first;
453  if (iovIt != attrListColl->iov_end()) {
454  const IOVRange& range = (*iovIt).second;
455  if (range.start().isTimestamp()) {
456  ATH_MSG_DEBUG( "Range timestamp :"
457  << " since " << range.start().timestamp()
458  << " till " << range.stop().timestamp() );
459 
460  } else {
461  ATH_MSG_DEBUG( "Range R/LB :"
462  << " since " << range.start().run() << " " << range.start().event()
463  << " till " << range.stop().run() << " " << range.stop().event() );
464  }
465  } else {
466  ATH_MSG_DEBUG( "No range found " );
467  }
468 
469  //=== print the comment
470  std::string comment = cmt->getFullComment();
471  if (comment.empty()) {
472  comment = generalComment;
473  }
474  ATH_MSG_DEBUG( "Comment: " << comment );
475  delete cmt;
476 
477  }
478  } //end iFolder
479 
480  return StatusCode::SUCCESS;
481 }
482 
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TileOFC2DBAlg::initialize
StatusCode initialize()
Definition: TileOFC2DBAlg.cxx:51
TileOFC2DBAlg::m_runIOVSince
UnsignedIntegerProperty m_runIOVSince
Definition: TileOFC2DBAlg.h:53
CondAttrListCollection::end
const_iterator end() const
Definition: CondAttrListCollection.h:315
ReadOfcFromCool.phase
phase
Definition: ReadOfcFromCool.py:127
TileOFC2DBAlg::m_runType
std::string m_runType
Definition: TileOFC2DBAlg.h:60
TileOFC2DBAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: TileOFC2DBAlg.h:49
TileOFC2DBAlg::m_creatAllModules
bool m_creatAllModules
Definition: TileOFC2DBAlg.h:76
IOVRange
Validity Range object. Holds two IOVTimes (start and stop)
Definition: IOVRange.h:30
TileCalibUtils::getMaxDrawer
static unsigned int getMaxDrawer(unsigned int ros)
Returns the maximal channel number for a given drawer.
Definition: TileCalibUtils.cxx:136
CondAttrListCollection::iov_end
iov_const_iterator iov_end() const
Definition: CondAttrListCollection.h:343
IOVTime::MAXRUN
static constexpr uint32_t MAXRUN
Definition: IOVTime.h:48
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
TileOFC2DBAlg::printCondObjects
StatusCode printCondObjects()
Definition: TileOFC2DBAlg.cxx:394
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
TileCalibBlobPython_writeOfc.phases
phases
Definition: TileCalibBlobPython_writeOfc.py:89
TileOfcWeightsStruct::g
float g[99]
Definition: ITileCondToolOfc.h:14
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TileCalibUtils::MAX_DRAWERIDX
static const unsigned int MAX_DRAWERIDX
Maximal drawer index
Definition: TileCalibUtils.h:143
TileOFC2DBAlg::finalize
StatusCode finalize()
Definition: TileOFC2DBAlg.cxx:349
TileOfcWeightsStruct::w_c
float w_c[99]
Definition: ITileCondToolOfc.h:14
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
TileOFC2DBAlg::~TileOFC2DBAlg
~TileOFC2DBAlg()
Definition: TileOFC2DBAlg.cxx:46
AthCommonMsg< Algorithm >::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
IIOVRegistrationSvc.h
This is an interface to a tool used to register conditions objects in the Interval of Validity (IOV) ...
TileCalibUtils.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
IIOVRegistrationSvc::registerIOV
virtual StatusCode registerIOV(const std::string &typeName) const =0
Register IOV DB for an object given its typeName - run/LB numbers interval or times interval and tag ...
TileCalibBlobPython_writeOfc.cmt
cmt
Definition: TileCalibBlobPython_writeOfc.py:142
TileOFC2DBAlg::m_lbnIOVUntil
UnsignedIntegerProperty m_lbnIOVUntil
Definition: TileOFC2DBAlg.h:56
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
CondAttrListCollection::iov_const_iterator
ChanIOVMap::const_iterator iov_const_iterator
Definition: CondAttrListCollection.h:66
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
TileOFC2DBAlg::m_lbnIOVSince
UnsignedIntegerProperty m_lbnIOVSince
Definition: TileOFC2DBAlg.h:55
TileCalibBlobPython_writeOfc.objVersion
objVersion
Definition: TileCalibBlobPython_writeOfc.py:71
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
IOVTime::MINRUN
static constexpr uint32_t MINRUN
Definition: IOVTime.h:44
TileOfcWeightsStruct::n_samples
int n_samples
Definition: ITileCondToolOfc.h:15
python.PyAthena.module
module
Definition: PyAthena.py:134
IOVTime
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
Definition: IOVTime.h:33
TileOfcWeightsStruct::dg
float dg[99]
Definition: ITileCondToolOfc.h:14
TileOFC2DBAlg::m_runIOVUntil
UnsignedIntegerProperty m_runIOVUntil
Definition: TileOFC2DBAlg.h:54
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TileOFC2DBAlg::m_drawerIdxs
std::vector< unsigned int > m_drawerIdxs
Definition: TileOFC2DBAlg.h:75
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:27
TileOFC2DBAlg::m_of2
bool m_of2
Definition: TileOFC2DBAlg.h:58
sim_rttUpdate.user
def user
Definition: sim_rttUpdate.py:662
TileOFC2DBAlg::m_tileCondToolOfc
ToolHandle< ITileCondToolOfc > m_tileCondToolOfc
Definition: TileOFC2DBAlg.h:66
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
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TileOfcWeightsStruct
Definition: ITileCondToolOfc.h:13
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TileOFC2DBAlg::registerCondObjects
StatusCode registerCondObjects()
Definition: TileOFC2DBAlg.cxx:364
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TileCalibUtils::MAX_ROS
static const unsigned int MAX_ROS
Number of ROSs
Definition: TileCalibUtils.h:138
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileOFC2DBAlg::m_fixedPhases
bool m_fixedPhases
Definition: TileOFC2DBAlg.h:59
CondAttrListCollection::ChanNum
unsigned int ChanNum
Definition: CondAttrListCollection.h:55
AthAlgorithm
Definition: AthAlgorithm.h:47
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
IOVTime::MAXEVENT
static constexpr uint32_t MAXEVENT
Definition: IOVTime.h:51
CaloCondBlobAlgs_fillNoiseFromASCII.comment
string comment
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:27
TileCalibDrawerOfc::FieldC
@ FieldC
Definition: TileCalibDrawerOfc.h:45
TileOFC2DBAlg::m_modules
std::vector< std::string > m_modules
Definition: TileOFC2DBAlg.h:74
TileOFC2DBAlg::m_maxChan
UnsignedIntegerProperty m_maxChan
Definition: TileOFC2DBAlg.h:57
TileCalibBlobPython_writeOfc.drawerOfc
drawerOfc
Definition: TileCalibBlobPython_writeOfc.py:87
TileCalibUtils::getCommentChannel
static unsigned int getCommentChannel()
Returns the COOL channel number for the comment channel.
Definition: TileCalibUtils.h:82
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
errorcheck.h
Helpers for checking error return status codes and reporting errors.
TileOFC2DBAlg.h
IOVTime::MINEVENT
static constexpr uint32_t MINEVENT
Definition: IOVTime.h:50
TileCalibDrawerOfc::FieldB
@ FieldB
Definition: TileCalibDrawerOfc.h:45
EventInfo.h
TileOFC2DBAlg::m_phaseStep
double m_phaseStep
Definition: TileOFC2DBAlg.h:73
CondAttrListCollection::chanAttrListPair
const_iterator chanAttrListPair(ChanNum chanNum) const
Access to Chan/AttributeList pairs via channel number: returns map iterator.
Definition: CondAttrListCollection.h:301
TileCalibDrawerOfc
Definition: TileCalibDrawerOfc.h:40
TileOFC2DBAlg::execute
StatusCode execute()
Definition: TileOFC2DBAlg.cxx:86
TileCalibDrawerOfc::getInstance
static TileCalibDrawerOfc * getInstance(coral::Blob &blob, uint16_t objVersion, uint32_t nSamples, int32_t nPhases, uint16_t nChans, uint16_t nGains, const std::string &author="", const std::string &comment="", uint64_t timeStamp=0)
Returns a pointer to a non-const TileCalibDrawerOfc.
Definition: TileCalibDrawerOfc.cxx:14
SCT_ConditionsAlgorithms::CoveritySafe::getenv
std::string getenv(const std::string &variableName)
get an environment variable
Definition: SCT_ConditionsUtilities.cxx:17
TileOFC2DBAlg::m_tileToolTiming
ToolHandle< TileCondToolTiming > m_tileToolTiming
Definition: TileOFC2DBAlg.h:64
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
TileCalibDrawerCmt::getInstance
static const TileCalibDrawerCmt * getInstance(const coral::Blob &blob)
Returns a pointer to a const TileCalibDrawerCmt.
Definition: TileCalibDrawerCmt.cxx:24
DEBUG
#define DEBUG
Definition: page_access.h:11
TileCalibDrawerOfc::FieldDG
@ FieldDG
Definition: TileCalibDrawerOfc.h:45
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
xAOD::EventInfo_v1::timeStamp
uint32_t timeStamp() const
POSIX time in seconds from 1970. January 1st.
TileCalibDrawerOfc::FieldA
@ FieldA
Definition: TileCalibDrawerOfc.h:45
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
TileOFC2DBAlg::m_folders
std::set< std::string > m_folders
Definition: TileOFC2DBAlg.h:70
TileCalibDrawerCmt
Class to store comments in BLOB without any data.
Definition: TileCalibDrawerCmt.h:20
TileOfcWeightsStruct::w_a
float w_a[99]
Definition: ITileCondToolOfc.h:14
TileCalibUtils::getDrawerIdx
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Definition: TileCalibUtils.cxx:60
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
TileCalibDrawerOfc.h
TileCalibUtils::MAX_CHAN
static const unsigned int MAX_CHAN
Number of channels in drawer.
Definition: TileCalibUtils.h:141
CondAttrListCollection::chanIOVPair
iov_const_iterator chanIOVPair(ChanNum chanNum) const
Access to Chan/IOV pairs via channel number: returns map iterator.
Definition: CondAttrListCollection.h:330
TileOFC2DBAlg::TileOFC2DBAlg
TileOFC2DBAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TileOFC2DBAlg.cxx:26
TileCalibDrawerCmt.h
CondAttrListCollection::add
bool add(ChanNum chanNum, const AttributeList &attributeList)
Adding in chan/attrList pairs.
Definition: CondAttrListCollection.h:452
TileCalibDrawerOfc::FieldG
@ FieldG
Definition: TileCalibDrawerOfc.h:45
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
TileOFC2DBAlg::m_regSvc
IIOVRegistrationSvc * m_regSvc
Definition: TileOFC2DBAlg.h:63
TileOfcWeightsStruct::w_b
float w_b[99]
Definition: ITileCondToolOfc.h:14
TileOFC2DBAlg::m_nFixedPhases
int m_nFixedPhases
Definition: TileOFC2DBAlg.h:72
TileCalibUtils::MAX_GAIN
static const unsigned int MAX_GAIN
Number of gains per channel
Definition: TileCalibUtils.h:142