29 std::vector<std::pair<SiStripDetVOff*, cond::Time_t> >
newPayloads;
35 m_condDb(iConfig.getParameter<std::
string>(
"conditionDatabase")),
36 m_localCondDbFile(iConfig.getParameter<std::
string>(
"condDbFile")),
37 m_targetTag(iConfig.getParameter<std::
string>(
"targetTag")),
38 maxTimeBeforeNewIOV_(iConfig.getUntrackedParameter<int>(
"maxTimeBeforeNewIOV", 24)) {
51 std::shared_ptr<SiStripDetVOff> lastPayload;
53 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
54 <<
"Retrieve last IOV from " <<
m_condDb;
57 if (m_condDb.find(
"sqlite") == 0 && (!condDbSession.
existsDatabase())) {
60 <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
61 <<
"No information can be retrieved from " << m_condDb <<
" because the file is empty.\n"
62 <<
"Will assume all HV/LV's are off.";
66 if (!lastPayloadHash.empty()) {
70 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
71 <<
" ... last IOV: " << lastIov <<
" , "
72 <<
"last Payload: " << lastPayloadHash;
81 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
82 <<
"Finished building " <<
newPayloads.size() <<
" new payloads.";
85 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
91 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
92 <<
"No HV/LV transition was found from PVSS query.";
93 bool forceNewIOV =
true;
102 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
103 <<
" ... No payload transfered.";
106 <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
107 <<
" ... The last IOV is too old. Will start a new IOV from " <<
newPayloads[0].second <<
"("
109 <<
") with the same payload.";
116 <<
"[SiStripDetVOffHandler::" << __func__ <<
"] "
130 edm::LogInfo(
"SiStripDetVOffHandler") <<
"[SiStripDetVOffHandler::" << __func__ <<
"] " << newPayloads.size()
131 <<
" payloads written to sqlite file.";
#define DEFINE_FWK_MODULE(type)
void start(bool readOnly=true)
void analyze(const edm::Event &evt, const edm::EventSetup &evtSetup) override
IOVEditor createIov(const std::string &tag, cond::TimeType timeType, cond::SynchronizationType synchronizationType=cond::SYNCH_ANY)
std::unique_ptr< T > fetchPayload(const cond::Hash &payloadHash)
void setDescription(const std::string &description)
Transaction & transaction()
void setParameters(const edm::ParameterSet &connectionPset)
U second(std::pair< T, U > const &p)
unsigned long long Time_t
edm::Service< SiStripDetVOffBuilder > modHVBuilder
Session createSession(const std::string &connectionString, bool writeCapable=false)
cond::persistency::ConnectionPool m_connectionPool
IOVProxy readIov(const std::string &tag)
IOVEditor editIov(const std::string &tag)
Log< level::Info, false > LogInfo
~SiStripDetVOffHandler() override
void insert(cond::Time_t since, const cond::Hash &payloadHash, bool checkType=false)
std::vector< std::pair< SiStripDetVOff *, cond::Time_t > > newPayloads
T getParameter(std::string const &) const
bool existsIov(const std::string &tag)
void setLastSiStripDetVOff(SiStripDetVOff *lastPayload, cond::Time_t lastTimeStamp)
cond::Hash storePayload(const T &payload, const boost::posix_time::ptime &creationTime=boost::posix_time::microsec_clock::universal_time())
std::vector< std::pair< SiStripDetVOff *, cond::Time_t > > getModulesVOff()
SiStripDetVOffHandler SiStripO2ODetVOff
SiStripDetVOffHandler(const edm::ParameterSet &iConfig)
std::string m_localCondDbFile
Log< level::Warning, false > LogWarning
boost::posix_time::ptime to_boost(Time_t iValue)