62 : record_(iConfig.getParameter<
string>(
"record")), iov_(iConfig.getParameter<unsigned long long>(
"iov")) {
63 if (strcmp(
record_.c_str(),
"CTPPSRPAlignmentCorrectionsDataRcd") == 0) {
64 tokenAlignmentIdeal_ = esConsumes<CTPPSRPAlignmentCorrectionsData, CTPPSRPAlignmentCorrectionsDataRcd>();
65 }
else if (strcmp(
record_.c_str(),
"RPRealAlignmentRecord") == 0) {
75 const auto alignments = [&
r =
record_,
80 if (
r ==
"CTPPSRPAlignmentCorrectionsDataRcd") {
81 return &eS.getData(tAI);
82 }
else if (
r ==
"RPRealAlignmentRecord") {
83 return &eS.getData(tAR);
85 return &eS.getData(tAM);
91 edm::LogError(
"CTPPSAlignmentInfoAnalyzer") <<
" DbService not available ";
101 time_t unixTime =
event.time().unixTime();
103 strftime(timeStr, 50,
"%F %T", localtime(&unixTime));
106 <<
"New alignments found in run=" <<
event.id().run() <<
", event=" <<
event.id().event()
107 <<
", UNIX timestamp=" << unixTime <<
" (" << timeStr <<
"):\n"
edm::ESGetToken< CTPPSRPAlignmentCorrectionsData, RPRealAlignmentRecord > tokenAlignmentReal_
Class to print out information on current geometry.
Log< level::Error, false > LogError
void printInfo(const CTPPSRPAlignmentCorrectionsData &alignments, const edm::Event &event) const
unsigned long long Time_t
Hash writeOneIOV(const T &payload, Time_t time, const std::string &recordName)
#define DEFINE_FWK_MODULE(type)
~CTPPSRPAlignmentInfoAnalyzer() override
Log< level::Info, false > LogInfo
void analyze(const edm::Event &e, const edm::EventSetup &es) override
edm::ESGetToken< CTPPSRPAlignmentCorrectionsData, CTPPSRPAlignmentCorrectionsDataRcd > tokenAlignmentIdeal_
edm::ESGetToken< CTPPSRPAlignmentCorrectionsData, RPMisalignedAlignmentRecord > tokenAlignmentMisaligned_
Container for CTPPS RP alignment corrections. The corrections are stored on two levels - RP and senso...
CTPPSRPAlignmentInfoAnalyzer(const edm::ParameterSet &ps)