CMS 3D CMS Logo

PoolDBOutputService.cc
Go to the documentation of this file.
10 //
11 #include <vector>
12 #include <memory>
13 #include <cassert>
14 
15 //In order to make PoolDBOutputService::currentTime() to work we have to keep track
16 // of which stream is presently being processed on a given thread during the call of
17 // a module which calls that method.
18 static thread_local int s_streamIndex = -1;
19 
21  Record thisrecord;
22 
23  thisrecord.m_idName = recordPset.getParameter<std::string>("record");
24  thisrecord.m_tag = recordPset.getParameter<std::string>("tag");
25 
26  thisrecord.m_timetype =
27  cond::time::timeTypeFromName(recordPset.getUntrackedParameter<std::string>("timetype", gTimeTypeStr));
28 
29  thisrecord.m_onlyAppendUpdatePolicy = recordPset.getUntrackedParameter<bool>("onlyAppendUpdatePolicy", false);
30 
31  m_records.insert(std::make_pair(thisrecord.m_idName, thisrecord));
32 
33  cond::UserLogInfo userloginfo;
34  m_logheaders.insert(std::make_pair(thisrecord.m_idName, userloginfo));
35 }
36 
38  : m_logger(iConfig.getUntrackedParameter<std::string>("jobName", "DBOutputService")),
39  m_currentTimes{},
40  m_session(),
41  m_transactionActive(false),
42  m_dbInitialised(false),
43  m_records(),
44  m_logheaders() {
45  std::string timetypestr = iConfig.getUntrackedParameter<std::string>("timetype", "runnumber");
46  m_timetype = cond::time::timeTypeFromName(timetypestr);
47  m_autoCommit = iConfig.getUntrackedParameter<bool>("autoCommit", false);
48  m_writeTransactionDelay = iConfig.getUntrackedParameter<unsigned int>("writeTransactionDelay", 0);
49  edm::ParameterSet connectionPset = iConfig.getParameter<edm::ParameterSet>("DBParameters");
50  m_connection.setParameters(connectionPset);
51  m_connection.setLogDestination(m_logger);
52  m_connection.configure();
53  std::string connectionString = iConfig.getParameter<std::string>("connect");
54  m_session = m_connection.createSession(connectionString, true);
55  bool saveLogsOnDb = iConfig.getUntrackedParameter<bool>("saveLogsOnDB", false);
56  if (saveLogsOnDb)
57  m_logger.setDbDestination(connectionString);
58  // implicit start
59  doStartTransaction();
60  typedef std::vector<edm::ParameterSet> Parameters;
61  Parameters toPut = iConfig.getParameter<Parameters>("toPut");
62  for (Parameters::iterator itToPut = toPut.begin(); itToPut != toPut.end(); ++itToPut)
63  fillRecord(*itToPut, timetypestr);
64 
65  iAR.watchPostEndJob(this, &cond::service::PoolDBOutputService::postEndJob);
66  iAR.watchPreallocate(
67  [this](edm::service::SystemBounds const& iBounds) { m_currentTimes.resize(iBounds.maxNumberOfStreams()); });
68  if (m_timetype == cond::timestamp) { //timestamp
70  iAR.watchPreModuleEvent(this, &cond::service::PoolDBOutputService::preModuleEvent);
71  iAR.watchPostModuleEvent(this, &cond::service::PoolDBOutputService::postModuleEvent);
72  } else if (m_timetype == cond::runnumber) { //runnumber
73  //NOTE: this assumes only one run is being processed at a time.
74  // This is true for 7_1_X but plan are to allow multiple in flight at a time
75  s_streamIndex = 0;
76  iAR.watchPreGlobalBeginRun(this, &cond::service::PoolDBOutputService::preGlobalBeginRun);
77  } else if (m_timetype == cond::lumiid) {
78  //NOTE: this assumes only one lumi is being processed at a time.
79  // This is true for 7_1_X but plan are to allow multiple in flight at a time
80  s_streamIndex = 0;
81  iAR.watchPreGlobalBeginLumi(this, &cond::service::PoolDBOutputService::preGlobalBeginLumi);
82  }
83 }
84 
86  const std::string& transactionId) {
88  ret = m_connection.createReadOnlySession(connectionString, transactionId);
89  return ret;
90 }
91 
93 
95  std::lock_guard<std::recursive_mutex> lock(m_mutex);
96  doStartTransaction();
97  cond::persistency::TransactionScope scope(m_session.transaction());
98  this->initDB();
99  for (auto& iR : m_records) {
100  if (iR.second.m_isNewTag == false) {
101  cond::persistency::IOVEditor editor = m_session.editIov(iR.second.m_tag);
102  editor.lock();
103  }
104  }
105  doCommitTransaction();
106  scope.close();
107 }
108 
110  std::lock_guard<std::recursive_mutex> lock(m_mutex);
111  doStartTransaction();
112  cond::persistency::TransactionScope scope(m_session.transaction());
113  this->initDB();
114  for (auto& iR : m_records) {
115  if (iR.second.m_isNewTag == false) {
116  cond::persistency::IOVEditor editor = m_session.editIov(iR.second.m_tag);
117  editor.unlock();
118  }
119  }
120  doCommitTransaction();
121  scope.close();
122 }
123 
125  return this->lookUpRecord(recordName).m_tag;
126 }
127 
129  Record& myrecord = this->lookUpRecord(recordName);
130  return myrecord.m_isNewTag;
131 }
132 
134  if (!m_transactionActive) {
135  m_session.transaction().start(false);
136  m_transactionActive = true;
137  }
138 }
139 
141  if (m_transactionActive) {
142  m_session.transaction().commit();
143  m_transactionActive = false;
144  }
145 }
146 
148  std::lock_guard<std::recursive_mutex> lock(m_mutex);
149  doStartTransaction();
150 }
151 
153  std::lock_guard<std::recursive_mutex> lock(m_mutex);
154  doCommitTransaction();
155 }
156 
158  if (!m_dbInitialised) {
159  if (!m_session.existsDatabase())
160  m_session.createDatabase();
161  else {
162  for (auto& iR : m_records) {
163  if (m_session.existsIov(iR.second.m_tag))
164  iR.second.m_isNewTag = false;
165  }
166  }
167  m_dbInitialised = true;
168  }
169 }
170 
171 void cond::service::PoolDBOutputService::postEndJob() { commitTransaction(); }
172 
174  m_currentTimes[iContext.streamID().value()] = iContext.timestamp().value();
175 }
176 
178  edm::ModuleCallingContext const&) {
179  s_streamIndex = iContext.streamID().value();
180 }
181 
183  edm::ModuleCallingContext const&) {
184  s_streamIndex = -1;
185 }
186 
188  for (auto& time : m_currentTimes) {
189  time = iContext.luminosityBlockID().run();
190  }
191 }
192 
194  for (auto& time : m_currentTimes) {
195  time = iContext.luminosityBlockID().value();
196  }
197 }
198 
200 
202  std::lock_guard<std::recursive_mutex> lock(m_mutex);
203  doStartTransaction();
204  cond::persistency::TransactionScope scope(m_session.transaction());
205  try {
206  initDB();
207  } catch (const std::exception& er) {
208  cond::throwException(std::string(er.what()), "PoolDBOutputService::forceInit");
209  }
210  scope.close();
211 }
212 
214 
216 
218  assert(-1 != s_streamIndex);
219  return m_currentTimes[s_streamIndex];
220 }
221 
223  cond::Time_t firstSinceTime,
224  const std::string& recordName) {
225  std::lock_guard<std::recursive_mutex> lock(m_mutex);
226  Record& myrecord = this->lookUpRecord(recordName);
227  if (!myrecord.m_isNewTag) {
228  cond::throwException(myrecord.m_tag + " is not a new tag", "PoolDBOutputService::createNewIOV");
229  }
230  m_logger.logInfo() << "Creating new tag " << myrecord.m_tag << ", adding iov with since " << firstSinceTime
231  << " pointing to payload id " << firstPayloadId;
232  doStartTransaction();
233  cond::persistency::TransactionScope scope(m_session.transaction());
234  try {
235  this->initDB();
237  m_session.createIovForPayload(firstPayloadId, myrecord.m_tag, myrecord.m_timetype, cond::SYNCH_ANY);
238  editor.setDescription("New Tag");
239  editor.insert(firstSinceTime, firstPayloadId);
240  cond::UserLogInfo a = this->lookUpUserLogInfo(myrecord.m_idName);
241  editor.flush(a.usertext);
242  myrecord.m_isNewTag = false;
243  } catch (const std::exception& er) {
244  cond::throwException(std::string(er.what()), "PoolDBOutputService::createNewIov");
245  }
246  scope.close();
247 }
248 
250  const std::string payloadType,
251  cond::Time_t firstSinceTime,
252  Record& myrecord) {
253  m_logger.logInfo() << "Creating new tag " << myrecord.m_tag << " for payload type " << payloadType
254  << ", adding iov with since " << firstSinceTime;
255  // FIX ME: synchronization type and description have to be passed as the other parameters?
257  m_session.createIov(payloadType, myrecord.m_tag, myrecord.m_timetype, cond::SYNCH_ANY);
258  editor.setDescription("New Tag");
259  editor.insert(firstSinceTime, firstPayloadId);
260  cond::UserLogInfo a = this->lookUpUserLogInfo(myrecord.m_idName);
261  editor.flush(a.usertext);
262  myrecord.m_isNewTag = false;
263 }
264 
267  const std::string& recordName) {
268  std::lock_guard<std::recursive_mutex> lock(m_mutex);
269  Record& myrecord = this->lookUpRecord(recordName);
270  if (myrecord.m_isNewTag) {
271  cond::throwException(std::string("Cannot append to non-existing tag ") + myrecord.m_tag,
272  "PoolDBOutputService::appendSinceTime");
273  }
274  bool ret = false;
275  doStartTransaction();
276  cond::persistency::TransactionScope scope(m_session.transaction());
277  try {
278  ret = appendSinceTime(payloadId, time, myrecord);
279  } catch (const std::exception& er) {
280  cond::throwException(std::string(er.what()), "PoolDBOutputService::appendSinceTime");
281  }
282  scope.close();
283  return ret;
284 }
285 
288  Record& myrecord) {
289  m_logger.logInfo() << "Updating existing tag " << myrecord.m_tag << ", adding iov with since " << time;
291  try {
292  cond::persistency::IOVEditor editor = m_session.editIov(myrecord.m_tag);
293  payloadType = editor.payloadType();
294  editor.insert(time, payloadId);
295  cond::UserLogInfo a = this->lookUpUserLogInfo(myrecord.m_idName);
296  editor.flush(a.usertext);
297  } catch (const std::exception& er) {
298  cond::throwException(std::string(er.what()), "PoolDBOutputService::appendSinceTime");
299  }
300  return true;
301 }
302 
304  cond::Time_t sinceTime,
305  const std::string& recordName) {
306  std::lock_guard<std::recursive_mutex> lock(m_mutex);
307  Record& myrecord = this->lookUpRecord(recordName);
308  if (myrecord.m_isNewTag) {
309  cond::throwException(std::string("Cannot delete from non-existing tag ") + myrecord.m_tag,
310  "PoolDBOutputService::appendSinceTime");
311  }
312  m_logger.logInfo() << "Updating existing tag " << myrecord.m_tag << ", removing iov with since " << sinceTime
313  << " pointing to payload id " << payloadId;
314  doStartTransaction();
315  cond::persistency::TransactionScope scope(m_session.transaction());
316  try {
317  cond::persistency::IOVEditor editor = m_session.editIov(myrecord.m_tag);
318  editor.erase(sinceTime, payloadId);
319  cond::UserLogInfo a = this->lookUpUserLogInfo(recordName);
320  editor.flush(a.usertext);
321 
322  } catch (const std::exception& er) {
323  cond::throwException(std::string(er.what()), "PoolDBOutputService::eraseSinceTime");
324  }
325  scope.close();
326 }
327 
329  const std::string& recordName) {
330  std::map<std::string, Record>::iterator it = m_records.find(recordName);
331  if (it == m_records.end()) {
332  cond::throwException("The record \"" + recordName + "\" has not been registered.",
333  "PoolDBOutputService::lookUpRecord");
334  }
335  return it->second;
336 }
337 
339  std::map<std::string, cond::UserLogInfo>::iterator it = m_logheaders.find(recordName);
340  if (it == m_logheaders.end())
341  throw cond::Exception("Log db was not set for record " + recordName +
342  " from PoolDBOutputService::lookUpUserLogInfo");
343  return it->second;
344 }
345 
347  std::lock_guard<std::recursive_mutex> lock(m_mutex);
348  Record& myrecord = lookUpRecord(recordName);
349  if (myrecord.m_isNewTag) {
350  cond::throwException(std::string("Cannot close non-existing tag ") + myrecord.m_tag,
351  "PoolDBOutputService::closeIOV");
352  }
353  m_logger.logInfo() << "Updating existing tag " << myrecord.m_tag << ", closing with end of validity " << lastTill;
354  doStartTransaction();
355  cond::persistency::TransactionScope scope(m_session.transaction());
356  try {
357  cond::persistency::IOVEditor editor = m_session.editIov(myrecord.m_tag);
358  editor.setEndOfValidity(lastTill);
359  editor.flush("Tag closed.");
360  } catch (const std::exception& er) {
361  cond::throwException(std::string(er.what()), "PoolDBOutputService::closeIOV");
362  }
363  scope.close();
364 }
365 
367  const std::string& dataprovenance,
368  const std::string& usertext) {
369  cond::UserLogInfo& myloginfo = this->lookUpUserLogInfo(recordName);
370  myloginfo.provenance = dataprovenance;
371  myloginfo.usertext = usertext;
372 }
373 
374 // Still required.
376  Record& record = lookUpRecord(recordName);
377  result.name = record.m_tag;
378  m_logger.logDebug() << "Fetching tag info for " << record.m_tag;
379  doStartTransaction();
380  bool ret = false;
381  cond::persistency::TransactionScope scope(m_session.transaction());
382  try {
383  //use iovproxy to find out.
384  if (m_session.existsIov(record.m_tag)) {
385  cond::persistency::IOVProxy iov = m_session.readIov(record.m_tag);
386  result.lastInterval = iov.getLast();
387  ret = true;
388  }
389  } catch (const std::exception& er) {
390  cond::throwException(std::string(er.what()), "PoolDBOutputService::tagInfo");
391  }
392  scope.close();
393  return ret;
394 }
395 
396 // Still required.
398  std::lock_guard<std::recursive_mutex> lock(m_mutex);
399  return getTagInfo(recordName, result);
400 }
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:542
edm::GlobalContext::luminosityBlockID
LuminosityBlockID const & luminosityBlockID() const
Definition: GlobalContext.h:60
cond::persistency::TransactionScope
Definition: Session.h:231
cond::service::PoolDBOutputService::Record::m_isNewTag
bool m_isNewTag
Definition: PoolDBOutputService.h:204
cond::service::PoolDBOutputService::lookUpRecord
Record & lookUpRecord(const std::string &recordName)
Definition: PoolDBOutputService.cc:328
cond::service::PoolDBOutputService::tag
std::string tag(const std::string &recordName)
Definition: PoolDBOutputService.cc:124
cond::persistency::IOVEditor::insert
void insert(cond::Time_t since, const cond::Hash &payloadHash, bool checkType=false)
Definition: IOVEditor.cc:160
cond::service::PoolDBOutputService::Record
Definition: PoolDBOutputService.h:198
cond::lumiid
Definition: Time.h:19
cond::service::PoolDBOutputService::initDB
void initDB()
Definition: PoolDBOutputService.cc:157
cond::TimeTypeSpecs::beginValue
Time_t beginValue
Definition: Time.h:41
cond::service::PoolDBOutputService::m_logheaders
std::map< std::string, cond::UserLogInfo > m_logheaders
Definition: PoolDBOutputService.h:257
cond::persistency::IOVProxy::getLast
cond::Iov_t getLast()
Definition: IOVProxy.cc:390
cond::service::PoolDBOutputService::beginOfTime
cond::Time_t beginOfTime() const
Definition: PoolDBOutputService.cc:215
Exception.h
s_streamIndex
static thread_local int s_streamIndex
Definition: PoolDBOutputService.cc:18
cond::service::PoolDBOutputService::eraseSinceTime
void eraseSinceTime(const std::string &payloadId, cond::Time_t sinceTime, const std::string &recordName)
Definition: PoolDBOutputService.cc:303
Exception.h
cond::service::PoolDBOutputService::Record::m_timetype
cond::TimeType m_timetype
Definition: PoolDBOutputService.h:206
align_cfg.recordName
recordName
Definition: align_cfg.py:66
cond::service::PoolDBOutputService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: PoolDBOutputService.cc:177
cond::service::PoolDBOutputService::tagInfo
bool tagInfo(const std::string &recordName, cond::TagInfo_t &result)
Definition: PoolDBOutputService.cc:397
cond::persistency::IOVEditor
Definition: IOVEditor.h:28
cond::service::PoolDBOutputService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: PoolDBOutputService.cc:193
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
cond::service::PoolDBOutputService::appendSinceTime
void appendSinceTime(const T *payloadObj, cond::Time_t sinceTime, const std::string &recordName)
Definition: PoolDBOutputService.h:141
cond::service::PoolDBOutputService::closeIOV
void closeIOV(Time_t lastTill, const std::string &recordName)
Definition: PoolDBOutputService.cc:346
cms::cuda::assert
assert(be >=bs)
protons_cff.time
time
Definition: protons_cff.py:39
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::Timestamp::value
TimeValue_t value() const
Definition: Timestamp.h:45
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:43
cond::service::PoolDBOutputService::m_records
std::map< std::string, Record > m_records
Definition: PoolDBOutputService.h:256
cond::service::PoolDBOutputService::Record::m_idName
std::string m_idName
Definition: PoolDBOutputService.h:205
cond::timestamp
Definition: Time.h:19
PoolDBOutputService.h
cond::service::PoolDBOutputService::lookUpUserLogInfo
cond::UserLogInfo & lookUpUserLogInfo(const std::string &recordName)
Definition: PoolDBOutputService.cc:338
cond::timeTypeSpecs
const TimeTypeSpecs timeTypeSpecs[]
Definition: Time.cc:16
edm::StreamContext
Definition: StreamContext.h:31
cond::service::PoolDBOutputService::createNewIOV
void createNewIOV(const T *firstPayloadObj, cond::Time_t firstSinceTime, cond::Time_t, const std::string &recordName)
Definition: PoolDBOutputService.h:116
cond::service::PoolDBOutputService::session
cond::persistency::Session session() const
Definition: PoolDBOutputService.cc:92
cond::service::PoolDBOutputService::preEventProcessing
void preEventProcessing(edm::StreamContext const &)
Definition: PoolDBOutputService.cc:173
EventID.h
cond::service::PoolDBOutputService::Record::m_onlyAppendUpdatePolicy
bool m_onlyAppendUpdatePolicy
Definition: PoolDBOutputService.h:207
edm::ActivityRegistry
Definition: ActivityRegistry.h:134
cond::service::PoolDBOutputService::commitTransaction
void commitTransaction()
Definition: PoolDBOutputService.cc:152
cond::service::PoolDBOutputService::postEndJob
void postEndJob()
Definition: PoolDBOutputService.cc:171
cond::service::PoolDBOutputService::doStartTransaction
void doStartTransaction()
Definition: PoolDBOutputService.cc:133
cond::service::PoolDBOutputService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: PoolDBOutputService.cc:182
cond::service::PoolDBOutputService::fillRecord
void fillRecord(edm::ParameterSet &pset, const std::string &gTimeTypeStr)
Definition: PoolDBOutputService.cc:20
cond::persistency::IOVEditor::setDescription
void setDescription(const std::string &description)
Definition: IOVEditor.cc:140
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cond::persistency::IOVProxy
Definition: IOVProxy.h:92
cppFunctionSkipper.exception
exception
Definition: cppFunctionSkipper.py:10
edm::GlobalContext
Definition: GlobalContext.h:29
edm::service::SystemBounds
Definition: SystemBounds.h:29
cond::service::PoolDBOutputService::doCommitTransaction
void doCommitTransaction()
Definition: PoolDBOutputService.cc:140
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
GlobalContext.h
Timestamp.h
cond::UserLogInfo::usertext
std::string usertext
Definition: Types.h:24
cond::SYNCH_ANY
Definition: Types.h:28
CommonMethods.lock
def lock()
Definition: CommonMethods.py:82
edm::StreamContext::streamID
StreamID const & streamID() const
Definition: StreamContext.h:54
cond::runnumber
Definition: Time.h:19
cond::persistency::Session
Definition: Session.h:63
cond::Time_t
unsigned long long Time_t
Definition: Time.h:14
cond::service::PoolDBOutputService::getTagInfo
bool getTagInfo(const std::string &recordName, cond::TagInfo_t &result)
Definition: PoolDBOutputService.cc:375
cond::persistency::Exception
Base exception class for the object to relational access.
Definition: Exception.h:11
cond::TimeTypeSpecs::endValue
Time_t endValue
Definition: Time.h:42
edm::service::SystemBounds::maxNumberOfStreams
unsigned int maxNumberOfStreams() const
Definition: SystemBounds.h:35
DBConfiguration_cff.toPut
toPut
Definition: DBConfiguration_cff.py:25
edm::LuminosityBlockID::value
uint64_t value() const
Definition: LuminosityBlockID.cc:13
cond::persistency::IOVEditor::payloadType
std::string payloadType() const
Definition: IOVEditor.cc:114
cond::service::PoolDBOutputService::endOfTime
cond::Time_t endOfTime() const
Definition: PoolDBOutputService.cc:213
cond::service::PoolDBOutputService::releaseLocks
void releaseLocks()
Definition: PoolDBOutputService.cc:109
HLT_FULL_cff.payloadType
payloadType
Definition: HLT_FULL_cff.py:9452
std
Definition: JetResolutionObject.h:76
cond::service::PoolDBOutputService::setLogHeaderForRecord
void setLogHeaderForRecord(const std::string &recordName, const std::string &provenance, const std::string &usertext)
Definition: PoolDBOutputService.cc:366
cond::service::PoolDBOutputService::Record::m_tag
std::string m_tag
Definition: PoolDBOutputService.h:203
cond::persistency::IOVEditor::setEndOfValidity
void setEndOfValidity(cond::Time_t validity)
Definition: IOVEditor.cc:130
cond::UserLogInfo
Definition: Types.h:22
cond::service::PoolDBOutputService::isNewTagRequest
bool isNewTagRequest(const std::string &recordName)
Definition: PoolDBOutputService.cc:128
cond::time::timeTypeFromName
TimeType timeTypeFromName(const std::string &name)
Definition: Time.cc:25
cond::service::PoolDBOutputService::~PoolDBOutputService
virtual ~PoolDBOutputService()
Definition: PoolDBOutputService.cc:199
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
cond::service::PoolDBOutputService::newReadOnlySession
cond::persistency::Session newReadOnlySession(const std::string &connectionString, const std::string &transactionId)
Definition: PoolDBOutputService.cc:85
edm::LuminosityBlockID::run
RunNumber_t run() const
Definition: LuminosityBlockID.h:41
cond::persistency::IOVEditor::erase
void erase(cond::Time_t since, const cond::Hash &payloadHash)
Definition: IOVEditor.cc:175
edm::StreamContext::timestamp
Timestamp const & timestamp() const
Definition: StreamContext.h:62
mps_fire.result
result
Definition: mps_fire.py:311
cond::service::PoolDBOutputService::lockRecords
void lockRecords()
Definition: PoolDBOutputService.cc:94
cond::service::PoolDBOutputService::preGlobalBeginRun
void preGlobalBeginRun(edm::GlobalContext const &)
Definition: PoolDBOutputService.cc:187
ParameterSet.h
StreamContext.h
cond::TagInfo_t
Definition: Types.h:69
l1RCTOmdsFedVectorProducer_cfi.connectionString
connectionString
Definition: l1RCTOmdsFedVectorProducer_cfi.py:4
cond::persistency::IOVEditor::flush
bool flush()
Definition: IOVEditor.cc:316
Parameters
vector< ParameterSet > Parameters
Definition: HLTMuonPlotter.cc:25
cond::persistency::IOVEditor::lock
void lock()
Definition: IOVEditor.cc:326
cond::UserLogInfo::provenance
std::string provenance
Definition: Types.h:23
SystemBounds.h
cond::persistency::IOVEditor::unlock
void unlock()
Definition: IOVEditor.cc:349
cond::service::PoolDBOutputService::currentTime
cond::Time_t currentTime() const
Definition: PoolDBOutputService.cc:217
cond::service::PoolDBOutputService::startTransaction
void startTransaction()
Definition: PoolDBOutputService.cc:147
cond::service::PoolDBOutputService::forceInit
void forceInit()
Definition: PoolDBOutputService.cc:201
cond::service::PoolDBOutputService::PoolDBOutputService
PoolDBOutputService(const edm::ParameterSet &iConfig, edm::ActivityRegistry &iAR)
Definition: PoolDBOutputService.cc:37
cond::throwException
void throwException(const std::string &message, const std::string &methodName)
Definition: Exception.cc:18
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29