ATLAS Offline Software
CoolInserter.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // this
7 
12 // coral
13 #include "AthenaKernel/IOVTime.h"
14 #include "CoolKernel/ConstRecordAdapter.h"
15 #include "CoolKernel/FolderSpecification.h"
16 #include "CoralBase/Attribute.h"
17 #include "CoralBase/AttributeList.h"
18 
19 // MuonCalibIdentifier
21 
22 // MuonCalibMath
24 
25 // MuonCalibStandAloneBase
28 
29 // c - c++
30 #include <typeinfo>
31 
32 #include "exception"
33 #include "iostream"
34 #include "sstream"
35 #include "zlib.h"
36 
37 namespace MuonCalib {
38 
39  CoolInserter::CoolInserter(const std::string &name, ISvcLocator *pSvcLocator) :
40  AthAlgorithm(name, pSvcLocator),
41  m_version("v0.0"),
42  p_reg_sel_svc(nullptr),
43  m_cool_connect(false),
44  m_t0_created(false),
45  m_rt_created(false) {
46  declareProperty("CoolConnectionString", m_cool_connection_string);
47  declareProperty("RtVersion", m_version);
48  declareProperty("T0Tag", m_tagt0);
49  declareProperty("RtTag", m_tagrt);
50  declareProperty("IOVStart", m_iov_start);
51  declareProperty("IOVEnd", m_iov_end);
52  declareProperty("T0Folder", m_t0_folder);
53  declareProperty("RtFolder", m_rt_folder);
54  declareProperty("T0FolderCompress", m_compressed_t0);
55  declareProperty("RtFolderCompress", m_compressed_rt);
57  m_n_tubes_added = 0;
58  m_iovt_start = 0;
59  m_iovt_end = 0;
60  m_aver_t0 = 0;
61  m_aver_adc = 0;
62  }
63 
65  // check jo
66  if (m_tagt0.size() != m_t0_folder.size() || m_tagrt.size() != m_rt_folder.size()) {
67  ATH_MSG_FATAL("Configuration error: Number of folders and tags do not match!");
68  return StatusCode::FAILURE;
69  }
70 
71  ATH_CHECK(m_idHelperSvc.retrieve());
72 
74 
75  // get region selection service
76  ATH_CHECK(service("RegionSelectionSvc", p_reg_sel_svc));
77 
78  // connect to cool database
79  try {
80  m_db = m_app.databaseService().openDatabase(m_cool_connection_string, false);
81  } catch (cool::DatabaseDoesNotExist &e) {
82  ATH_MSG_INFO("Creating new database.");
83  try {
84  m_db = m_app.databaseService().createDatabase(m_cool_connection_string);
85  } catch (cool::Exception &e) {
86  ATH_MSG_FATAL("Cannot create database and datbasae does not exist!");
87  return StatusCode::FAILURE;
88  }
89  }
90  m_cool_connect = true;
91  if (m_t0_folder.size()) {
92  ATH_MSG_INFO("Replication into t0 folders: ");
93  for (unsigned int i = 0; i < m_t0_folder.size(); i++) { ATH_MSG_INFO(m_t0_folder[i] << "(" << m_tagt0[i] << ") "); }
94  }
95  if (m_rt_folder.size()) {
96  ATH_MSG_INFO("Replication into rt folders: ");
97  for (unsigned int i = 0; i < m_rt_folder.size(); i++) { ATH_MSG_INFO(m_rt_folder[i] << "(" << m_tagrt[i] << ") "); }
98  }
99  // retrieve calibration sources
100  ATH_CHECK(m_calibration_sources.retrieve());
101 
102  // get iov
103  for (unsigned int i = 0; i < m_calibration_sources.size(); i++) {
104  int iov_start(-1), iov_end(-1);
106  if (m_iov_start < 0 && iov_start >= 0) m_iov_start = iov_start;
107  if (m_iov_end == -1 && iov_end != -1) m_iov_end = iov_end;
108  }
109  if (m_iov_start < 0 || m_iov_end == -1) {
110  ATH_MSG_FATAL("IOV has to be set, if no calibration source provides it!");
111  return StatusCode::FAILURE;
112  }
114  m_iovt_start = start.re_time();
115  if (m_iov_end < -1) {
117  m_iovt_end = end.timestamp();
118  } else {
119  IOVTime end(m_iov_end, 0);
120  m_iovt_end = end.re_time();
121  }
122  ATH_MSG_INFO("IOV is " << m_iov_start << " to " << m_iov_end);
123  // fill compressed flags
124  if (m_compressed_t0.size() < m_t0_folder.size())
125  for (unsigned int i = m_compressed_t0.size(); i < m_t0_folder.size(); i++) m_compressed_t0.push_back(false);
126  if (m_compressed_rt.size() < m_rt_folder.size())
127  for (unsigned int i = m_compressed_rt.size(); i < m_rt_folder.size(); i++) m_compressed_rt.push_back(false);
128  return StatusCode::SUCCESS;
129  }
130 
132  ATH_MSG_INFO("finalizing ");
133  try {
134  for (auto & i : m_mdtt0_fld) i->flushStorageBuffer();
135  for (auto & i : m_mdtrt_fld) i->flushStorageBuffer();
136  } catch (std::exception &e) {
137  ATH_MSG_FATAL("Exception in finalize: " << e.what());
138  return StatusCode::FAILURE;
139  }
140  return StatusCode::SUCCESS;
141  }
142 
144  for (unsigned int i = 0; i < m_calibration_sources.size(); i++) {
145  ATH_MSG_INFO("Now running " << m_calibration_sources[i]);
146  if (!m_calibration_sources[i]->InstertCalibration(this, static_cast<bool>(m_t0_folder.size()),
147  static_cast<bool>(m_rt_folder.size()))) {
148  ATH_MSG_FATAL("Calibration Source " << m_calibration_sources[i].name() << " failed!");
149  return StatusCode::FAILURE;
150  }
151  }
152  return StatusCode::SUCCESS;
153  }
154 
156  m_n_tubes_added = 0;
157  m_sid = sid;
158  m_sid.SetMultilayer(0);
159 
161  const MuonGM::MuonDetectorManager *MuonDetMgr = DetectorManagerHandle.cptr();
162  if (MuonDetMgr == nullptr) {
163  ATH_MSG_ERROR("Null pointer to the read MuonDetectorManager conditions object");
164  return false;
165  }
166 
167  if (!m_sid.InitializeGeometry(m_idHelperSvc->mdtIdHelper(), MuonDetMgr)) return false;
168  // get number of tubes
169  int max_nly(-1);
170  int max_ntb(-1);
171  for (int ml = 0; ml < m_sid.NMultilayers(); ml++) {
172  if (max_nly < m_sid.NLayers(ml)) max_nly = m_sid.NLayers(ml);
173  if (max_ntb < m_sid.NTubes(ml)) max_ntb = m_sid.NTubes(ml);
174  }
175  m_n_tubes_chamber = max_nly * max_ntb * m_sid.NMultilayers();
176  m_data_string.str("");
177  m_data_string.clear();
178  m_data_string << "T0" << m_sid.regionId() << "," << m_version << ",1," << m_n_tubes_chamber << std::endl;
179  m_aver_t0 = 0;
180  m_aver_adc = 0;
181  return true;
182  }
183 
184  bool CoolInserter::AppendT0(float t0, int validflag, float adc0) {
185  if (m_n_tubes_added >= m_n_tubes_chamber) { return false; }
186  m_data_string << t0 << "," << validflag << "," << adc0 << ",";
187  m_n_tubes_added++;
188  m_aver_t0 += t0;
189  m_aver_adc += adc0;
190  return true;
191  }
192 
193  bool CoolInserter::StoreT0Chamber(const NtupleStationId &id, const std::string &file, unsigned int creation_flags) {
194  MuonFixedId fid(id.FixedId());
195  // generate fixed if for chamber
196  if (!p_reg_sel_svc->isInRegion(fid)) { return true; }
197  // do not fill double
198  if (m_t0_filled.find(id) != m_t0_filled.end()) { return true; }
199  m_t0_filled.insert(id);
200  // check number of added tubes
202  ATH_MSG_WARNING("Filling missing tubes with average for chamber" << m_sid.regionId());
205  for (int i = m_n_tubes_added; i < m_n_tubes_chamber; i++) { AppendT0(m_aver_t0, 5, m_aver_adc); }
206  }
207  // cool
208  if (m_cool_connect && !m_t0_created) {
209  for (unsigned int i = 0; i < m_t0_folder.size(); i++) {
210  if (!m_db->existsFolder(m_t0_folder[i])) {
211  if (!create_folder(i, false)) {
212  ATH_MSG_FATAL("Cannot create folder '" << m_t0_folder[i] << "'!");
213  return false;
214  }
215  }
216  m_mdtt0_fld.push_back(m_db->getFolder(m_t0_folder[i]));
217  m_mdtt0_fld[i]->setupStorageBuffer();
218 
219  cool::RecordSpecification mdtt0_rec = (m_mdtt0_fld[i]->payloadSpecification());
220  bool compressed(false);
221  if (m_compressed_t0.size() > i) compressed = m_compressed_t0[i];
222  m_mdtt0_cool_row[compressed] = cool::Record(mdtt0_rec).attributeList();
223  }
224  m_t0_created = true;
225  }
226  if (m_t0_created) {
227  for (auto & it : m_mdtt0_cool_row) {
228  it.second["file"].data<cool::String4k>() = file;
229  it.second["tech"].data<int>() = creation_flags;
230  if (it.first) {
231  uLongf dest_len = compressBound(m_data_string.str().size());
232  coral::Blob &blob(it.second["data"].data<coral::Blob>());
233  blob.resize(dest_len);
234  Bytef *p = static_cast<Bytef *>(blob.startingAddress());
235 
236  compress(p, &dest_len, reinterpret_cast<const Bytef *>(m_data_string.str().c_str()), m_data_string.str().size());
237  blob.resize(dest_len);
238  } else {
239  it.second["data"].data<cool::String16M>() = m_data_string.str();
240  }
241  for (unsigned int i = 0; i < m_mdtt0_fld.size(); i++) {
242  cool::ConstRecordAdapter record(m_mdtt0_fld[i]->payloadSpecification(), m_mdtt0_cool_row[m_compressed_t0[i]]);
243  m_mdtt0_fld[i]->storeObject(m_iovt_start, m_iovt_end, record, id.FixedId(), m_tagt0[i]);
244  }
245  }
246  }
247  return true;
248  }
249 
250  bool CoolInserter::StoreRtChamber(const NtupleStationId &id, const std::map<int, SamplePoint> &points, const std::string &file,
251  unsigned int creation_flags) {
252  // generate fixed if for chamber
253  MuonFixedId fid(id.FixedId());
254  if (!p_reg_sel_svc->isInRegion(fid)) { return true; }
255  // check for duplicates
256  NtupleStationId id_cp(id);
257  bool found[3];
258  for (int i = 0; i < 3; i++) {
259  id_cp.SetMultilayer(i);
260  found[i] = (m_rt_filled.find(id_cp) != m_rt_filled.end());
261  }
262  if (id.GetMl() == 0) {
263  if (found[0] || (found[1] && found[2])) return true;
264  if (found[1]) { id_cp.SetMultilayer(2); }
265  if (found[2]) { id_cp.SetMultilayer(1); }
266  if (!found[1] && !found[2]) { id_cp.SetMultilayer(0); }
267  }
268  if (id.GetMl() != 0) {
269  if (found[0] || found[id.GetMl()]) return true;
270  }
271  m_rt_filled.insert(id_cp);
272  if (m_cool_connect && !m_rt_created) {
273  for (unsigned int i = 0; i < m_rt_folder.size(); i++) {
274  if (!m_db->existsFolder(m_rt_folder[i])) {
275  if (!create_folder(i, true)) {
276  ATH_MSG_FATAL("Cannot create folder '" << m_rt_folder[i] << "'!");
277  return false;
278  }
279  }
280  m_mdtrt_fld.push_back(m_db->getFolder(m_rt_folder[i]));
281  m_mdtrt_fld[i]->setupStorageBuffer();
282 
283  cool::RecordSpecification mdtrt_rec = (m_mdtrt_fld[i]->payloadSpecification());
284  bool compressed(false);
285  if (m_compressed_rt.size() > i) compressed = m_compressed_rt[i];
286  m_mdtrt_cool_row[compressed] = cool::Record(mdtrt_rec).attributeList();
287  }
288  m_rt_created = true;
289  }
290  std::ostringstream data_column;
291  data_column << id_cp.FixedId() << "," << points.size() << std::endl;
292  for (const auto & point : points) {
293  data_column << point.second.x2() << "," << point.second.x1() << "," << point.second.error() << ",";
294  }
295  if (m_rt_created) {
296  for (auto & it : m_mdtrt_cool_row) {
297  it.second["tech"].data<int>() = creation_flags;
298  it.second["file"].data<cool::String4k>() = file;
299  if (it.first) {
300  uLongf dest_len = compressBound(data_column.str().size());
301  coral::Blob &blob(it.second["data"].data<coral::Blob>());
302  blob.resize(dest_len);
303  Bytef *p = static_cast<Bytef *>(blob.startingAddress());
304 
305  compress(p, &dest_len, reinterpret_cast<const Bytef *>(data_column.str().c_str()), data_column.str().size());
306  blob.resize(dest_len);
307  } else {
308  it.second["data"].data<cool::String16M>() = data_column.str();
309  }
310  } // for(std::map<bool, coral::AttributeList> ...
311  for (unsigned int i = 0; i < m_mdtrt_fld.size(); i++) {
312  cool::ConstRecordAdapter record(m_mdtrt_fld[i]->payloadSpecification(), m_mdtrt_cool_row[m_compressed_rt[i]]);
313  m_mdtrt_fld[i]->storeObject(m_iovt_start, m_iovt_end, record, id_cp.FixedId(), m_tagrt[i]);
314  }
315  }
316  return true;
317  }
318 
319  inline bool CoolInserter::create_folder(const unsigned int &fldr_nr, const bool &is_rt) {
320  std::string folder;
321  std::string description;
322  if (is_rt) {
323  folder = m_rt_folder[fldr_nr];
324  description = std::string(
325  "<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type=\"71\" clid=\"1238547719\" "
326  "/></addrHeader><typeName>CondAttrListCollection</typeName><key>") +
327  folder + "</key>";
328  } else {
329  folder = m_t0_folder[fldr_nr];
330  description = std::string(
331  "<timeStamp>run-lumi</timeStamp><addrHeader><address_header service_type=\"71\" clid=\"1238547719\" "
332  "/></addrHeader><typeName>CondAttrListCollection</typeName><key>") +
333  folder + "</key>";
334  }
335 
336  bool compressed(false);
337  if (is_rt) {
338  if (m_compressed_rt.size() > fldr_nr)
339  if (m_compressed_rt[fldr_nr]) compressed = true;
340  } else {
341  if (m_compressed_t0.size() > fldr_nr)
342  if (m_compressed_t0[fldr_nr]) compressed = true;
343  }
344  cool::RecordSpecification spec;
345  spec.extend("tech", cool::StorageType::Int32);
346  if (compressed) {
347  spec.extend("file", cool::StorageType::String255);
348  spec.extend("data", cool::StorageType::Blob64k);
349  } else {
350  spec.extend("file", cool::StorageType::String4k);
351  if (is_rt) {
352  spec.extend("data", cool::StorageType::String4k);
353  } else {
354  spec.extend("data", cool::StorageType::String16M);
355  }
356  }
357  cool::FolderSpecification fspec(cool::FolderVersioning::MULTI_VERSION, spec);
358  m_db->createFolder(folder, fspec, description, true);
359  return true;
360  }
361 
362 } // namespace MuonCalib
CalibDbConnection.h
MuonCalib::CoolInserter::m_aver_t0
float m_aver_t0
Definition: CoolInserter.h:93
MdtReadoutElement.h
MuonCalib::NtupleStationId::NMultilayers
int NMultilayers() const
return geometry information
Definition: NtupleStationId.h:173
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
MuonCalib::CoolInserter::m_rt_filled
std::set< NtupleStationId > m_rt_filled
Definition: CoolInserter.h:83
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Amg::compress
void compress(const AmgSymMatrix(N) &covMatrix, std::vector< float > &vec)
Definition: EventPrimitivesHelpers.h:56
MuonCalib::NtupleStationId::SetMultilayer
void SetMultilayer(const int &ml)
Definition: NtupleStationId.h:110
MuonCalib::NtupleStationId::NLayers
int NLayers(int ml) const
Definition: NtupleStationId.h:177
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
MuonCalib::CoolInserter::m_db
cool::IDatabasePtr m_db
Definition: CoolInserter.h:74
MuonCalib::NtupleStationId::InitializeGeometry
bool InitializeGeometry(const MdtIdHelper &mdtIdHelper, const MuonGM::MuonDetectorManager *detMgr)
initialize geometry information
Definition: NtupleStationId.cxx:37
MuonCalib::NtupleStationId::regionId
std::string regionId() const
return the region id string
Definition: NtupleStationId.cxx:69
MuonCalib::CoolInserter::m_mdtrt_cool_row
std::map< bool, coral::AttributeList > m_mdtrt_cool_row
Definition: CoolInserter.h:79
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
MuonCalib::CoolInserter::m_mdtt0_fld
std::vector< cool::IFolderPtr > m_mdtt0_fld
Definition: CoolInserter.h:75
MuonCalib::NtupleStationId
Definition: NtupleStationId.h:36
MuonCalib::CoolInserter::m_n_tubes_chamber
int m_n_tubes_chamber
Definition: CoolInserter.h:92
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
ALFA_EventTPCnv_Dict::t0
std::vector< ALFA_RawData_p1 > t0
Definition: ALFA_EventTPCnvDict.h:42
MuonCalib::CoolInserter::m_t0_created
bool m_t0_created
Definition: CoolInserter.h:81
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonCalib::CoolInserter::m_sid
NtupleStationId m_sid
Definition: CoolInserter.h:94
MuonCalib::CoolInserter::finalize
StatusCode finalize()
finalize functions
Definition: CoolInserter.cxx:131
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
MuonCalib::NtupleStationId::FixedId
int FixedId() const
Definition: NtupleStationId.cxx:93
MuonCalib::CoolInserter::m_iovt_end
long long m_iovt_end
Definition: CoolInserter.h:60
CalibT0DbOperations.h
MuonCalib::CoolInserter::m_DetectorManagerKey
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
Definition: CoolInserter.h:87
MuonCalib::CoolInserter::m_aver_adc
float m_aver_adc
Definition: CoolInserter.h:93
MuonCalib::CoolInserter::StoreT0Chamber
bool StoreT0Chamber(const NtupleStationId &id, const std::string &file, unsigned int creation_flags=0)
Definition: CoolInserter.cxx:193
MuonCalib::CoolInserter::m_t0_filled
std::set< NtupleStationId > m_t0_filled
Definition: CoolInserter.h:83
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
IOVTime.h
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
MuonCalib::CoolInserter::m_t0_folder
std::vector< std::string > m_t0_folder
Definition: CoolInserter.h:64
RegionSelectionSvc::isInRegion
bool isInRegion(const MuonCalib::MuonFixedId &id) const
return true if id is in selected region
Definition: RegionSelectionSvc.cxx:63
IOVTime
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
Definition: IOVTime.h:33
MuonCalib::CoolInserter::m_compressed_t0
std::vector< bool > m_compressed_t0
Definition: CoolInserter.h:67
MuonCalib::CoolInserter::AppendT0
bool AppendT0(float t0, int validflag, float adc0)
Definition: CoolInserter.cxx:184
MuonCalib::CoolInserter::initialize
StatusCode initialize()
Is called at the beginning of the analysis.
Definition: CoolInserter.cxx:64
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonCalib::CoolInserter::m_mdtrt_fld
std::vector< cool::IFolderPtr > m_mdtrt_fld
Definition: CoolInserter.h:76
MuonCalib::NtupleStationId::NTubes
int NTubes(int ml) const
Definition: NtupleStationId.h:181
calibdata.exception
exception
Definition: calibdata.py:496
IOVTime::MAXTIMESTAMP
static constexpr uint64_t MAXTIMESTAMP
Definition: IOVTime.h:58
file
TFile * file
Definition: tile_monitor.h:29
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonCalib::CoolInserter::m_rt_created
bool m_rt_created
Definition: CoolInserter.h:81
MuonCalib::CoolInserter::m_app
cool::Application m_app
Definition: CoolInserter.h:77
CoolInserter.h
MuonCalib::CoolInserter::create_folder
bool create_folder(const unsigned int &fldr_nr, const bool &is_rt)
Definition: CoolInserter.cxx:319
MuonCalib::CoolInserter::m_cool_connection_string
std::string m_cool_connection_string
Definition: CoolInserter.h:62
MuonCalib::CoolInserter::m_n_tubes_added
int m_n_tubes_added
Definition: CoolInserter.h:91
MuonCalib::CoolInserter::m_calibration_sources
ToolHandleArray< IMuonCalibConditionsSource > m_calibration_sources
Definition: CoolInserter.h:70
AthAlgorithm
Definition: AthAlgorithm.h:47
MuonCalib::CoolInserter::m_compressed_rt
std::vector< bool > m_compressed_rt
Definition: CoolInserter.h:68
MuonCalib::CoolInserter::m_iovt_start
long long m_iovt_start
Definition: CoolInserter.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
MuonCalib::CoolInserter::m_mdtt0_cool_row
std::map< bool, coral::AttributeList > m_mdtt0_cool_row
Definition: CoolInserter.h:78
MuonCalib::CoolInserter::m_tagrt
std::vector< std::string > m_tagrt
Definition: CoolInserter.h:57
MuonCalib::CoolInserter::m_rt_folder
std::vector< std::string > m_rt_folder
Definition: CoolInserter.h:65
MuonCalib::MuonFixedId
Definition: MuonFixedId.h:50
MuonCalib::CoolInserter::p_reg_sel_svc
const RegionSelectionSvc * p_reg_sel_svc
Definition: CoolInserter.h:72
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
MuonCalib::CoolInserter::m_tagt0
std::vector< std::string > m_tagt0
Definition: CoolInserter.h:56
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:49
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonCalib::CoolInserter::m_data_string
std::ostringstream m_data_string
Definition: CoolInserter.h:90
PixelModuleFeMask_create_db.iov_end
list iov_end
Definition: PixelModuleFeMask_create_db.py:75
CalibRtDbOperations.h
MuonCalib::CoolInserter::m_cool_connect
bool m_cool_connect
Definition: CoolInserter.h:81
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
PixelModuleFeMask_create_db.iov_start
list iov_start
Definition: PixelModuleFeMask_create_db.py:74
SamplePoint.h
MuonCalib::CoolInserter::m_iov_start
int m_iov_start
Definition: CoolInserter.h:59
MuonCalib::CoolInserter::m_version
std::string m_version
Definition: CoolInserter.h:54
CaloNoise_fillDB.fspec
fspec
Definition: CaloNoise_fillDB.py:118
MuonCalib::CoolInserter::execute
StatusCode execute()
execute function NOTE: This will read all events at once
Definition: CoolInserter.cxx:143
MuonCalib::CoolInserter::StoreRtChamber
bool StoreRtChamber(const NtupleStationId &id, const std::map< int, SamplePoint > &points, const std::string &file, unsigned int creation_flags=0)
Definition: CoolInserter.cxx:250
MuonFixedId.h
MuonCalib::CoolInserter::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: CoolInserter.h:84
MuonCalib::CoolInserter::StartT0Chamber
bool StartT0Chamber(const NtupleStationId &sid)
Definition: CoolInserter.cxx:155
MuonCalib::CoolInserter::m_iov_end
int m_iov_end
Definition: CoolInserter.h:59
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88
CalibHeadOperations.h
MuonCalib::CoolInserter::CoolInserter
CoolInserter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CoolInserter.cxx:39
RegionSelectionSvc.h