79 : folderName_(ps.getUntrackedParameter<std::
string>(
"dqmFolder",
"HLT/HLTScalers_EvF")),
80 processname_(ps.getParameter<std::
string>(
"processname")),
84 scalersException_(nullptr),
85 hltCorrelations_(nullptr),
86 detailedScalers_(nullptr),
90 hltBxVsPath_(nullptr),
91 hltOverallScaler_(nullptr),
92 hltOverallScalerN_(nullptr),
95 monitorDaemon_(ps.getUntrackedParameter<bool>(
"MonitorDaemon",
false)),
98 LogDebug(
"HLTScalers") <<
"HLTScalers: constructor....";
102 LogDebug(
"HLTScalers") <<
"HLTScalers::beginRun, run " << run.
id();
105 bool changed =
false;
111 edm::LogError(
"TrigXMonitor") <<
"HLTConfigProvider failed to initialize.";
121 for (
unsigned int i = 0;
i < PD.size();
i++) {
130 LogDebug(
"HLTScalers") <<
"HLTScalers::beginRun, steamm A not in the HLT menu ";
153 int maxModules = 200;
155 scalersPD_ = iBooker.
book1D(
"pdScalers",
"PD scalers (stream A)", nPD, -0.5, nPD - 0.5);
157 iBooker.
book2D(
"detailedHltScalers",
"HLT Scalers", npath, -0.5, npath - 0.5, maxModules, 0, maxModules - 1);
158 scalers_ = iBooker.
book1D(
"hltScalers",
"HLT scalers", npath, -0.5, npath - 0.5);
159 scalersN_ = iBooker.
book1D(
"hltScalersN",
"Reset HLT scalers", npath, -0.5, npath - 0.5);
162 iBooker.
book2D(
"hltCorrelations",
"HLT Scalers", npath, -0.5, npath - 0.5, npath, -0.5, npath - 0.5);
167 iBooker.
book2D(
"hltBxVsPath",
"HLT Accept vs Bunch Number", 3600, -0.5, 3599.5, npath, -0.5, npath - 0.5);
168 hltBx_ = iBooker.
book1D(
"hltBx",
"Bx of HLT Accepted Events ", 3600, -0.5, 3599.5);
172 LogDebug(
"HLTScalers") <<
"Start of luminosity block.";
191 edm::LogInfo(
"HLTScalers") <<
"getByLabel for TriggerResults failed"
192 <<
" with label " << l.
module;
195 int npath = hltResults->size();
207 LogDebug(
"HLTScalers") << q <<
": " << *
j;
212 for (
unsigned int i = 0;
i < nPD;
i++) {
222 for (
int i = 0;
i < npath; ++
i) {
225 for (
unsigned int j = 0;
j < hltResults->index(
i); ++
j) {
233 for (
int j =
i + 1;
j < npath; ++
j) {
249 bool anyGroupPassed =
false;
250 for (
unsigned int mi = 0; mi <
pairPDPaths_.size(); mi++) {
251 bool groupPassed =
false;
260 if (pathByIndex >= hltResults->size())
271 if (hltResults->accept(pathByIndex)) {
279 anyGroupPassed =
true;
292 LogDebug(
"HLTScalers") <<
"End of luminosity block.";
296 LogDebug(
"HLTScalers") <<
"HLTScalers::endRun , run " << run.
id();
unsigned int size() const
number of trigger paths in trigger table
LuminosityBlockID id() const
std::vector< std::pair< std::string, std::vector< std::string > > > pairPDPaths_
const edm::EventSetup & c
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
virtual void setCurrentFolder(std::string const &fullpath)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
HLTScalers(const edm::ParameterSet &ps)
MonitorElement * scalersN_
MonitorElement * detailedScalers_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
DQM Client Diagnostic should be performed here:
int bunchCrossing() const
unsigned int triggerIndex(std::string_view name) const
MonitorElement * hltOverallScaler_
MonitorElement * scalers_
unsigned int streamIndex(const std::string &stream) const
index of stream with name
Log< level::Error, false > LogError
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
MonitorElement * diagnostic_
Strings const & triggerNames() const
const std::string names[nVars_]
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
U second(std::pair< T, U > const &p)
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
MonitorElement * hltBxVsPath_
const std::vector< std::string > & streamNames() const
void dqmBeginRun(const edm::Run &run, const edm::EventSetup &c) override
const std::vector< std::string > & streamContent(unsigned int stream) const
names of datasets in stream with index i
MonitorElement * hltCorrelations_
HLTConfigProvider hltConfig_
const std::vector< std::string > & datasetContent(unsigned int dataset) const
names of trigger paths in dataset with index i
Log< level::Info, false > LogInfo
static const char *const trigNames[]
MonitorElement * scalersException_
MonitorElement * nLumiBlock_
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hltOverallScalerN_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * bookInt(TString const &name, FUNC onbooking=NOOP())
LuminosityBlockNumber_t luminosityBlock() const
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * scalersPD_
void analyze(const edm::Event &e, const edm::EventSetup &c) override
void dqmEndRun(const edm::Run &run, const edm::EventSetup &c) override
edm::EDGetTokenT< edm::TriggerResults > trigResultsSource_