6 #include <boost/regex.hpp> 7 #include <boost/format.hpp> 41 event.getByToken(token, handle);
47 template <
typename R,
typename T>
51 setup.get<
R>().
get(handle);
129 descriptions.
add(
"triggerBxMonitor", desc);
140 m_ls_range( config.getUntrackedParameter<uint32_t>(
"lsRange" ) ),
174 m_l1tMenu = & get<L1TUtmTriggerMenuRcd, L1TUtmTriggerMenu>(
setup);
185 edm::LogError(
"TriggerBxMonitor") <<
"failed to read the L1 menu from the EventSetup, the L1 trigger bx distribution will not be monitored";
203 edm::LogError(
"TriggerBxMonitor") <<
"failed to initialise HLTConfigProvider, the HLT bx distribution will not be monitored";
219 for (
unsigned int i = 0;
i <
size; ++
i) {
242 unsigned int bit = keyval.second.getIndex();
251 m_l1t_bx_all->GetYaxis()->SetBinLabel(bit+1, keyval.first.c_str());
280 unsigned int bx =
event.bunchCrossing();
281 unsigned int ls =
event.luminosityBlock();
286 unsigned int type =
event.experimentType();
299 if (not bxvector.isEmpty(0)) {
300 auto const &
results = bxvector.at(0, 0);
302 if (
results.getAlgoDecisionFinal(
i)) {
unsigned int size() const
number of trigger paths in trigger table
static const char *const s_tcds_trigger_types[]
HLTConfigProvider m_hltConfig
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< TH2F * > m_hlt_bx_2d
#define DEFINE_FWK_MODULE(type)
const edm::EDGetTokenT< GlobalAlgBlkBxCollection > m_l1t_results
def setup(process, global_tag, zero_tesla=False)
const edm::EDGetTokenT< edm::TriggerResults > m_hlt_results
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
bool inited() const
Accessors (const methods)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
~TriggerBxMonitor() override
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
std::vector< TH1F * > m_tcds_bx
std::vector< TH1F * > m_l1t_bx
MonitorElement * book1D(Args &&...args)
format
Some error handling for the usage.
const uint32_t m_ls_range
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
const std::string m_dqm_path
TriggerBxMonitor(edm::ParameterSet const &)
std::vector< TH2F * > m_tcds_bx_2d
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
L1TUtmTriggerMenu const * m_l1tMenu
void setCurrentFolder(const std::string &fullpath)
static unsigned int maxPhysicsTriggers
T const * product() const
MonitorElement * book2D(Args &&...args)
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d'tor
const bool m_make_1d_plots
static const unsigned int s_bx_range
TH1F * getTH1F(void) const
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< TH1F * > m_hlt_bx
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
std::shared_ptr< cms::Exception > whyFailed() const
TH2F * getTH2F(void) const
const bool m_make_2d_plots
void analyze(edm::Event const &, edm::EventSetup const &) override
T const * product() const
std::vector< TH2F * > m_l1t_bx_2d