16 #define SECS_PER_LUMI_SECTION 23.31040958083832;
25 l1AlgoCurrentRate_(nullptr),
26 l1TechTrigCurrentRate_(nullptr),
29 algoSelected_(ps.getUntrackedParameter<std::
vector<int>>(
"algoMonitorBits", std::
vector<int>())),
30 techSelected_(ps.getUntrackedParameter<std::
vector<int>>(
"techMonitorBits", std::
vector<int>())),
31 folderName_(ps.getUntrackedParameter<std::
string>(
"dqmFolder",
"L1T/L1Scalers_EvF")),
32 currentLumiBlockNumber_(0),
49 "Selected L1 Algorithm"
86 snprintf(name, 256,
"rate_algobit%03d",
i);
100 snprintf(name, 256,
"rate_ttbit%03d",
i);
113 int npath_high =
kPerHisto * (k + 1) - 1;
114 snprintf(mename1, 64,
"L1AlgoBits_%0d", k);
115 snprintf(metitle1, 64,
"L1 rates - Algo Bits %d to %d", npath_low, npath_high);
128 int npath_high =
kPerHisto * (k + 1) - 1;
129 snprintf(mename2, 64,
"L1TechBits_%0d", k);
130 snprintf(metitle2, 64,
"L1 rates - Tech. Trig. Bits %d to %d", npath_low, npath_high);
134 std::ostringstream
params;
139 params <<
", Tech: ";
143 LogDebug(
"Parameter") <<
"L1 bits to monitor are " << params.str();
170 if (algoScalers ==
nullptr || ttScalers ==
nullptr) {
171 LogInfo(
"Status") <<
"cannot get l1 scalers histogram, bailing out.";
175 int nalgobits = algoScalers->
getNbinsX();
183 LogDebug(
"Status") <<
"I see " << nalgobits <<
" algo paths. ";
184 LogDebug(
"Status") <<
"I see " << nttbits <<
" tt paths. ";
188 for (
int i = 0;
i < nalgobits; ++
i) {
192 snprintf(pname, 256,
"AlgoBit%03d",
i);
194 snprintf(pname, 256,
"Rate - Algorithm Bit %03d",
i);
202 for (
int i = 0;
i < nttbits; ++
i) {
206 snprintf(pname, 256,
"TechBit%03d",
i);
208 snprintf(pname, 256,
"Rate - Technical Bit %03d",
i);
216 int testval = (nLumi !=
nullptr ? nLumi->
getIntValue() : -1);
217 LogDebug(
"Parameter") <<
"Lumi Block from DQM: " << testval <<
", local is " <<
nLumi_;
221 LogDebug(
"Status") <<
"Too many Lumi segments, " << nL <<
" is greater than MAX_LUMI_SEG,"
227 LogDebug(
"Status") <<
" time is negative ... " << delta_t;
230 LogInfo(
"Status") <<
"divide by zero: same lumi section 2x " << nL;
237 for (
int i = 1;
i <= nalgobits; ++
i) {
244 for (
int j = 1;
j <= 3600; ++
j) {
253 LogDebug(
"Parameter") <<
"rate path " <<
i <<
" is " <<
rate;
265 for (
int i = 1;
i <= nttbits; ++
i) {
272 for (
int j = 1;
j <= 3600; ++
j) {
281 LogDebug(
"Parameter") <<
"rate path " <<
i <<
" is " <<
rate;
293 if (l1AlgoCounter !=
nullptr && l1TtCounter !=
nullptr) {
LuminosityBlockID id() const
virtual void setTitle(const std::string &title)
set (ie. change) histogram/profile title
const edm::EventSetup & c
int currentLumiBlockNumber_
unsigned long int l1AlgoScalerCounters_[140]
std::vector< int > algoSelected_
void setCurrentFolder(std::string const &fullpath) override
L1ScalersClient(const edm::ParameterSet &ps)
Constructors.
virtual int64_t getIntValue() const
MonitorElement * l1TechTrigCurrentRatePerAlgo_[80]
#define SECS_PER_LUMI_SECTION
void beginJob(void) override
BeginJob.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
void endRun(const edm::Run &run, const edm::EventSetup &c) override
EndRun.
virtual int getNbinsX() const
get # of bins in X-axis
MonitorElement * l1AlgoCurrentRatePerAlgo_[140]
virtual MonitorElement * get(std::string const &fullpath) const
MonitorElement * l1AlgoCurrentRate_
void beginRun(const edm::Run &run, const edm::EventSetup &c) override
BeginRun.
void analyze(const edm::Event &e, const edm::EventSetup &c) override
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual double getBinContent(int binx) const
get content of bin (1-D)
unsigned long int l1TechTrigScalerCounters_[80]
Log< level::Info, false > LogInfo
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
std::vector< int > techSelected_
LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * totalTtRate_
MonitorElement * totalAlgoRate_
MonitorElement * l1TechTrigRateHistories_[80]
MonitorElement * bxSelected_
MonitorElement * l1AlgoRateHistories_[140]
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * selected_
MonitorElement * l1TechTrigCurrentRate_