File indexing completed on 2024-04-06 12:04:49
0001 #include <iomanip>
0002 #include <ctime>
0003
0004 #include "DataFormats/OnlineMetaData/interface/OnlineLuminosityRecord.h"
0005 #include "DataFormats/OnlineMetaData/interface/OnlineMetaDataRaw.h"
0006
0007 OnlineLuminosityRecord::OnlineLuminosityRecord()
0008 : timestamp_(edm::Timestamp::invalidTimestamp()), instLumi_(0), avgPileUp_(0), lumiSection_(0), lumiNibble_(0) {}
0009
0010 OnlineLuminosityRecord::OnlineLuminosityRecord(const online::Luminosity_v1& lumi) {
0011
0012 const uint64_t seconds = lumi.timestamp / 1000;
0013 const uint32_t microseconds = (lumi.timestamp % 1000) * 1000;
0014 timestamp_ = edm::Timestamp((seconds << 32) | microseconds);
0015 instLumi_ = lumi.instLumi;
0016 avgPileUp_ = lumi.avgPileUp;
0017 lumiSection_ = lumi.lumiSection;
0018 lumiNibble_ = lumi.lumiNibble;
0019 }
0020
0021 OnlineLuminosityRecord::~OnlineLuminosityRecord() {}
0022
0023 std::ostream& operator<<(std::ostream& s, const OnlineLuminosityRecord& luminosity) {
0024 const time_t ts = luminosity.timestamp().unixTime();
0025
0026 s << "timeStamp: " << asctime(localtime(&ts));
0027 s << "lumiSection: " << luminosity.lumiSection() << std::endl;
0028 s << "lumiNibble: " << luminosity.lumiNibble() << std::endl;
0029
0030 std::streamsize ss = s.precision();
0031 s.setf(std::ios::fixed);
0032 s.precision(2);
0033 s << "instLumi: " << luminosity.instLumi() << std::endl;
0034 s << "avgPileUp: " << luminosity.avgPileUp() << std::endl;
0035 s.unsetf(std::ios::fixed);
0036 s.precision(ss);
0037
0038 return s;
0039 }