CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
popcon::PopCon Class Reference

#include <PopCon.h>

Public Types

typedef cond::Summary Summary
 
typedef cond::Time_t Time_t
 

Public Member Functions

 PopCon (const edm::ParameterSet &pset)
 
template<typename Source >
void write (Source const &source)
 
template<typename T >
void writeOne (T *payload, Time_t time)
 
virtual ~PopCon ()
 

Private Member Functions

void finalize (Time_t lastTill)
 
void initialize ()
 

Private Attributes

bool m_close
 
edm::Service
< cond::service::PoolDBOutputService
m_dbService
 
bool m_IsDestDbCheckedInQueryLog
 
Time_t m_lastTill
 
cond::LogDBEntry m_logDBEntry
 
bool m_LoggingOn
 
std::string m_payload_name
 
std::string m_record
 
std::string m_tag
 
cond::TagInfo m_tagInfo
 

Detailed Description

Definition at line 43 of file PopCon.h.

Member Typedef Documentation

Definition at line 46 of file PopCon.h.

Definition at line 45 of file PopCon.h.

Constructor & Destructor Documentation

popcon::PopCon::PopCon ( const edm::ParameterSet pset)

Definition at line 9 of file PopCon.cc.

9  :
10  m_record(pset.getParameter<std::string> ("record")),
11  m_payload_name(pset.getUntrackedParameter<std::string> ("name","")),
12  m_LoggingOn(pset.getUntrackedParameter< bool > ("loggingOn",true)),
13  m_IsDestDbCheckedInQueryLog(pset.getUntrackedParameter< bool > ("IsDestDbCheckedInQueryLog",true)),
14  m_close(pset.getUntrackedParameter< bool > ("closeIOV",false)),
15  m_lastTill(pset.getUntrackedParameter< bool > ("lastTill",0))
16  {
17  //TODO set the policy (cfg or global configuration?)
18  //Policy if corrupted data found
19 
20  edm::LogInfo ("PopCon") << "This is PopCon (Populator of Condition) V4.0\n"
21  << "Please report any problem and feature request through the savannah portal under the category conditions\n" ;
22 
23  }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
Time_t m_lastTill
Definition: PopCon.h:85
bool m_close
Definition: PopCon.h:84
std::string m_record
Definition: PopCon.h:70
bool m_IsDestDbCheckedInQueryLog
Definition: PopCon.h:76
std::string m_payload_name
Definition: PopCon.h:72
bool m_LoggingOn
Definition: PopCon.h:74
popcon::PopCon::~PopCon ( )
virtual

Definition at line 25 of file PopCon.cc.

25 {}

Member Function Documentation

void popcon::PopCon::finalize ( Time_t  lastTill)
private

Definition at line 60 of file PopCon.cc.

References cond::service::PoolDBOutputService::closeIOV(), m_close, m_dbService, m_lastTill, and m_record.

Referenced by write().

60  {
61 
62  if (m_close) {
63  // avoid to close it before lastSince
64  if (m_lastTill>lastTill) lastTill=m_lastTill;
65  m_dbService->closeIOV(lastTill,m_record);
66  }
67  }
void closeIOV(Time_t lastTill, const std::string &recordName, bool withlogging=false)
Time_t m_lastTill
Definition: PopCon.h:85
bool m_close
Definition: PopCon.h:84
std::string m_record
Definition: PopCon.h:70
edm::Service< cond::service::PoolDBOutputService > m_dbService
Definition: PopCon.h:68
void popcon::PopCon::initialize ( )
private

Definition at line 28 of file PopCon.cc.

References cond::DbSession::connectionString(), gather_cfg::cout, edm::hlt::Exception, edm::Service< T >::isAvailable(), cond::service::PoolDBOutputService::isNewTagRequest(), cond::TagInfo::lastInterval, cond::Logger::LookupLastEntryByTag(), m_dbService, m_IsDestDbCheckedInQueryLog, m_logDBEntry, m_payload_name, m_record, m_tag, m_tagInfo, cond::TagInfo::name, cond::LogDBEntry::payloadIdx, cond::LogDBEntry::provenance, cond::service::PoolDBOutputService::queryLog(), cond::service::PoolDBOutputService::session(), cond::TagInfo::size, cond::service::PoolDBOutputService::tag(), and cond::service::PoolDBOutputService::tagInfo().

Referenced by write().

28  {
29  edm::LogInfo ("PopCon")<<"payload name "<<m_payload_name<<std::endl;
30  if(!m_dbService.isAvailable() ) throw Exception("DBService not available");
31  const std::string & connectionStr = m_dbService->session().connectionString();
36  // m_dbService->queryLog().LookupLastEntryByTag(m_tag, m_logDBEntry);
39  std::cout << " ------ log info searched in the same db: " << connectionStr << "------" <<std::endl;
40  } else {
42  std::cout << " ------ log info found in another db " << "------" <<std::endl;
43  }
44 
45  edm::LogInfo ("PopCon") << "DB: " << connectionStr << "\n"
46  << "TAG: " << m_tag
47  << ", last since/till: " << m_tagInfo.lastInterval.first
48  << "/" << m_tagInfo.lastInterval.second
49  << ", , size: " << m_tagInfo.size << "\n"
50  << "Last writer: " << m_logDBEntry.provenance
51  << ", size: " << m_logDBEntry.payloadIdx+1 << std::endl;
52  } else {
53  edm::LogInfo ("PopCon") << "DB: " << connectionStr << "\n"
54  << "TAG: " << m_tag
55  << "; First writer to this new tag." << std::endl;
56  }
57  }
const std::string & connectionString() const
Definition: DbSession.cc:169
cond::LogDBEntry m_logDBEntry
Definition: PopCon.h:82
unsigned int payloadIdx
Definition: LogDBEntry.h:23
std::string m_tag
Definition: PopCon.h:78
std::string m_record
Definition: PopCon.h:70
std::string tag(const std::string &recordName)
std::string name
Definition: TagInfo.h:9
bool isNewTagRequest(const std::string &recordName)
bool isAvailable() const
Definition: Service.h:47
size_t size
Definition: TagInfo.h:13
void tagInfo(const std::string &recordName, cond::TagInfo &result)
bool m_IsDestDbCheckedInQueryLog
Definition: PopCon.h:76
std::string provenance
Definition: LogDBEntry.h:19
cond::TagInfo m_tagInfo
Definition: PopCon.h:80
cond::ValidityInterval lastInterval
Definition: TagInfo.h:11
void LookupLastEntryByTag(const std::string &iovtag, LogDBEntry &logentry, bool filterFailedOp=true) const
Definition: Logger.cc:289
tuple cout
Definition: gather_cfg.py:121
std::string m_payload_name
Definition: PopCon.h:72
const cond::Logger & queryLog() const
edm::Service< cond::service::PoolDBOutputService > m_dbService
Definition: PopCon.h:68
template<typename Source >
void popcon::PopCon::write ( Source const &  source)

Definition at line 125 of file PopCon.h.

References popcon::displayHelper(), popcon::displayIovHelper(), finalize(), initialize(), m_dbService, m_logDBEntry, m_LoggingOn, m_record, m_tagInfo, tauJetCorrections_cff::payloads, run_regression::ret, cond::service::PoolDBOutputService::session(), cond::service::PoolDBOutputService::setLogHeaderForRecord(), LaserTracksInput_cfi::source, cond::rpcobgas::time, and cond::userInfo().

Referenced by ExTestEcalChannelStatusAnalyzer::write(), CastorElectronicsMapPopConAnalyzer::write(), HcalZSThresholdsPopConAnalyzer::write(), HcalValidationCorrsPopConAnalyzer::write(), CastorPedestalWidthsPopConAnalyzer::write(), HcalDcsValuesPopConAnalyzer::write(), HcalRespCorrsPopConAnalyzer::write(), HcalRecoParamsPopConAnalyzer::write(), HcalQIEDataPopConAnalyzer::write(), HcalPFCorrsPopConAnalyzer::write(), HcalPedestalWidthsPopConAnalyzer::write(), HcalPedestalsPopConAnalyzer::write(), HcalMCParamsPopConAnalyzer::write(), HcalLutMetadataPopConAnalyzer::write(), HcalLUTCorrsPopConAnalyzer::write(), HcalLongRecoParamsPopConAnalyzer::write(), HcalL1TriggerObjectsPopConAnalyzer::write(), HcalGainWidthsPopConAnalyzer::write(), HcalGainsPopConAnalyzer::write(), HcalFlagHFDigiTimeParamsPopConAnalyzer::write(), HcalTimeCorrsPopConAnalyzer::write(), HcalTimingParamsPopConAnalyzer::write(), HcalDcsMapPopConAnalyzer::write(), HcalCovarianceMatricesPopConAnalyzer::write(), HcalCholeskyMatricesPopConAnalyzer::write(), HcalChannelQualityPopConAnalyzer::write(), CastorSaturationCorrsPopConAnalyzer::write(), CastorRecoParamsPopConAnalyzer::write(), HcalElectronicsMapPopConAnalyzer::write(), CastorQIEDataPopConAnalyzer::write(), CastorPedestalsPopConAnalyzer::write(), CastorGainWidthsPopConAnalyzer::write(), CastorGainsPopConAnalyzer::write(), CastorChannelQualityPopConAnalyzer::write(), popcon::PopConAnalyzer< HcalPedestalWidthsHandler >::write(), and RPCDBPopConAnalyzer::write().

125  {
126  typedef typename Source::value_type value_type;
127  typedef typename Source::Container Container;
128 
129  initialize();
130  std::pair<Container const *, std::string const> ret = source(m_dbService->session(),
132  Container const & payloads = *ret.first;
133 
134  if(m_LoggingOn)
135  m_dbService->setLogHeaderForRecord(m_record,source.id(),"PopCon v4.0; " +
136  cond::userInfo() + displayIovHelper(payloads) + ret.second);
137 
138  displayHelper(payloads);
139 
140  std::for_each(payloads.begin(),payloads.end(),
141  boost::bind(&popcon::PopCon::writeOne<value_type>,this,
142  boost::bind(&Container::value_type::payload,_1),
143  boost::bind(&Container::value_type::time,_1)
144  )
145  );
146 
147 
148  finalize(payloads.empty() ? Time_t(0): payloads.back().time);
149  }
cond::LogDBEntry m_logDBEntry
Definition: PopCon.h:82
void finalize(Time_t lastTill)
Definition: PopCon.cc:60
EcalChannelStatus Container
cond::Time_t Time_t
Definition: PopCon.h:45
std::string m_record
Definition: PopCon.h:70
void displayHelper(Container const &payloads)
Definition: PopCon.h:98
Container::value_type value_type
void setLogHeaderForRecord(const std::string &recordName, const std::string &provenance, const std::string &usertext)
void initialize()
Definition: PopCon.cc:28
cond::TagInfo m_tagInfo
Definition: PopCon.h:80
std::string userInfo()
Definition: IOVInfo.cc:9
const std::string displayIovHelper(Container const &payloads)
Definition: PopCon.h:106
edm::Service< cond::service::PoolDBOutputService > m_dbService
Definition: PopCon.h:68
bool m_LoggingOn
Definition: PopCon.h:74
template<typename T >
void popcon::PopCon::writeOne ( T payload,
Time_t  time 
)

Definition at line 92 of file PopCon.h.

References m_dbService, m_LoggingOn, m_record, and cond::service::PoolDBOutputService::writeOne().

92  {
94  }
std::string m_record
Definition: PopCon.h:70
void writeOne(T *payload, Time_t time, const std::string &recordName, bool withlogging=false)
edm::Service< cond::service::PoolDBOutputService > m_dbService
Definition: PopCon.h:68
bool m_LoggingOn
Definition: PopCon.h:74

Member Data Documentation

bool popcon::PopCon::m_close
private

Definition at line 84 of file PopCon.h.

Referenced by finalize().

edm::Service<cond::service::PoolDBOutputService> popcon::PopCon::m_dbService
private

Definition at line 68 of file PopCon.h.

Referenced by finalize(), initialize(), write(), and writeOne().

bool popcon::PopCon::m_IsDestDbCheckedInQueryLog
private

Definition at line 76 of file PopCon.h.

Referenced by initialize().

Time_t popcon::PopCon::m_lastTill
private

Definition at line 85 of file PopCon.h.

Referenced by finalize().

cond::LogDBEntry popcon::PopCon::m_logDBEntry
private

Definition at line 82 of file PopCon.h.

Referenced by initialize(), and write().

bool popcon::PopCon::m_LoggingOn
private

Definition at line 74 of file PopCon.h.

Referenced by write(), and writeOne().

std::string popcon::PopCon::m_payload_name
private

Definition at line 72 of file PopCon.h.

Referenced by initialize().

std::string popcon::PopCon::m_record
private

Definition at line 70 of file PopCon.h.

Referenced by finalize(), initialize(), write(), and writeOne().

std::string popcon::PopCon::m_tag
private

Definition at line 78 of file PopCon.h.

Referenced by initialize().

cond::TagInfo popcon::PopCon::m_tagInfo
private

Definition at line 80 of file PopCon.h.

Referenced by initialize(), and write().