CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
RunInfoUpdate Class Reference

#include <RunInfoUpdate.h>

Public Member Functions

void appendNewRun (const RunInfo &run)
 
size_t import (size_t maxEntries, const std::string &tag, cond::persistency::Session &sourceSession)
 
 RunInfoUpdate (cond::persistency::Session &dbSession)
 
 ~RunInfoUpdate ()
 

Private Attributes

cond::persistency::Sessionm_dbSession
 

Detailed Description

Definition at line 12 of file RunInfoUpdate.h.

Constructor & Destructor Documentation

RunInfoUpdate::RunInfoUpdate ( cond::persistency::Session dbSession)
explicit

Definition at line 29 of file RunInfoUpdate.cc.

29 : m_dbSession(dbSession) {}
cond::persistency::Session & m_dbSession
Definition: RunInfoUpdate.h:22
RunInfoUpdate::~RunInfoUpdate ( )

Definition at line 31 of file RunInfoUpdate.cc.

31 {}

Member Function Documentation

void RunInfoUpdate::appendNewRun ( const RunInfo run)

Definition at line 33 of file RunInfoUpdate.cc.

References cond::persistency::Session::editRunInfo(), end, cond::persistency::RunInfoEditor::flush(), cond::persistency::RunInfoEditor::insertNew(), m_dbSession, RunInfo::m_run, and command_line::start.

Referenced by RunInfoHandler::getNewObjects().

33  {
35  boost::posix_time::ptime start;
36  boost::posix_time::ptime end;
37  getRunTimeParams(runInfo, start, end);
38  edm::LogInfo("RunInfoUpdate") << "[RunInfoUpdate::" << __func__ << "]: Checking run " << runInfo.m_run
39  << " for insertion in Condition DB" << std::endl;
40  runInfoWriter.insertNew(runInfo.m_run, start, end);
41  size_t newRuns = runInfoWriter.flush();
42  edm::LogInfo("RunInfoUpdate") << "[RunInfoUpdate::" << __func__ << "]: " << newRuns << " new run(s) inserted."
43  << std::endl;
44 }
RunInfoEditor editRunInfo()
Definition: Session.cc:210
void insertNew(cond::Time_t runNumber, const boost::posix_time::ptime &start, const boost::posix_time::ptime &end)
#define end
Definition: vmac.h:39
cond::persistency::Session & m_dbSession
Definition: RunInfoUpdate.h:22
size_t RunInfoUpdate::import ( size_t  maxEntries,
const std::string &  tag,
cond::persistency::Session sourceSession 
)

Definition at line 47 of file RunInfoUpdate.cc.

References cond::persistency::IOVProxy::begin(), gather_cfg::cout, cond::persistency::Session::editRunInfo(), end, cond::persistency::IOVProxy::end(), cond::persistency::Session::fetchPayload(), cond::persistency::IOVProxy::find(), cond::persistency::RunInfoEditor::flush(), cond::persistency::RunInfoEditor::getLastInserted(), h, cond::persistency::RunInfoEditor::insert(), SiStripBadComponentsDQMServiceTemplate_cfg::lastRun, m_dbSession, maxEntries, cond::persistency::Session::readIov(), and command_line::start.

49  {
51  std::cout << "# Loading tag " << sourceTag << "..." << std::endl;
52  cond::persistency::IOVProxy runInfoTag = sourceSession.readIov(sourceTag, true);
53  editor = m_dbSession.editRunInfo();
55  std::cout << "# Last run found in RunInfo db : " << lastRun << std::endl;
57  if (lastRun > 0) {
58  it = runInfoTag.find(lastRun + 1);
59  }
60  if (it == runInfoTag.end() || (*it).since == lastRun) {
61  std::cout << "# No more run found to be imported." << std::endl;
62  return 0;
63  }
64  size_t n_entries = 0;
65  while (it != runInfoTag.end() && n_entries <= maxEntries) {
66  auto h = (*it).payloadId;
67  std::shared_ptr<RunInfo> runInfo = sourceSession.fetchPayload<RunInfo>(h);
68  if (runInfo->m_run != -1) {
69  n_entries++;
70  std::cout << "# Inserting run #" << runInfo->m_run << " (from since=" << (*it).since << ")" << std::endl;
71  boost::posix_time::ptime start;
72  boost::posix_time::ptime end;
73  getRunTimeParams(*runInfo, start, end);
74  editor.insert(runInfo->m_run, start, end);
75  } else {
76  std::cout << "# Skipping fake run #" << std::endl;
77  }
78  it++;
79  }
80  editor.flush();
81  return n_entries;
82 }
void insert(cond::Time_t runNumber, const boost::posix_time::ptime &start, const boost::posix_time::ptime &end)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
RunInfoEditor editRunInfo()
Definition: Session.cc:210
std::unique_ptr< T > fetchPayload(const cond::Hash &payloadHash)
Definition: Session.h:224
const unsigned int maxEntries
Iterator begin() const
Definition: IOVProxy.cc:282
IOVProxy readIov(const std::string &tag, bool full=false)
Definition: Session.cc:54
unsigned long long Time_t
Definition: Time.h:14
Iterator find(cond::Time_t time)
Definition: IOVProxy.cc:322
#define end
Definition: vmac.h:39
cond::persistency::Session & m_dbSession
Definition: RunInfoUpdate.h:22
Iterator end() const
Definition: IOVProxy.cc:293

Member Data Documentation

cond::persistency::Session& RunInfoUpdate::m_dbSession
private

Definition at line 22 of file RunInfoUpdate.h.

Referenced by appendNewRun(), and import().