|
| TriggerRatesMonitor (edm::ParameterSet const &) |
|
| ~TriggerRatesMonitor () override=default |
|
virtual void | dqmEndRun (edm::Run const &, edm::EventSetup const &, RunBasedHistograms const &) const |
|
void | globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup) const final |
|
void | accumulate (edm::StreamID id, edm::Event const &event, edm::EventSetup const &setup) const final |
|
| DQMGlobalEDAnalyzerBase () |
|
std::shared_ptr< RunBasedHistograms > | globalBeginRun (edm::Run const &run, edm::EventSetup const &setup) const final |
|
void | globalEndRun (edm::Run const &, edm::EventSetup const &) const final |
|
| EDProducer ()=default |
|
| EDProducer (const EDProducer &)=delete |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
bool | wantsStreamLuminosityBlocks () const final |
|
bool | wantsStreamRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef dqm::reco::DQMStore | DQMStore |
|
typedef dqm::reco::MonitorElement | MonitorElement |
|
typedef EDProducerBase | ModuleType |
|
template<typename T > |
using | BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T > |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
uint64_t | meId (edm::Run const &run) const |
|
template<Transition Tr = Transition::Event> |
auto | produces (std::string instanceName) noexcept |
| declare what type of product will make and with which optional label More...
|
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<Transition Tr = Transition::Event> |
auto | produces () noexcept |
|
ProducesCollector | producesCollector () |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
void | resetItemsToGetFrom (BranchType iType) |
|
DQMStore * | dqmstore_ |
|
edm::EDPutTokenT< DQMToken > | runToken_ |
|
Definition at line 97 of file TriggerRatesMonitor.cc.
Implements DQMGlobalEDAnalyzerBase< RunBasedHistograms, Args... >.
Definition at line 235 of file TriggerRatesMonitor.cc.
References triggerObjects_cff::bit, dqm::implementation::IBooker::book1D(), ztail::d, makeLayoutFileForGui::datasetNames, mps_fire::i, dqmiolumiharvest::j, label, m_dqm_path, m_l1tMenuToken, m_lumisections_range, Skims_PA_cff::name, or, s_tcds_trigger_types, dqm::implementation::NavigatorBase::setCurrentFolder(), singleTopDQM_cfi::setup, AlCaHLTBitMon_QueryRunRegistry::string, and runGCPTkAlMap::title.
244 unsigned int const sizeof_tcds_trigger_types =
sizeof(
s_tcds_trigger_types) /
sizeof(
const char *);
245 if (sizeof_tcds_trigger_types ==
histograms.tcds_counts.size()) {
246 for (
unsigned int i = 0;
i < sizeof_tcds_trigger_types; ++
i)
254 <<
"This should never happen: size of \"s_tcds_trigger_types\" array (" << sizeof_tcds_trigger_types
255 <<
") differs from size of \"histograms.tcds_counts\" vector (size=" <<
histograms.tcds_counts.size()
256 <<
").\nRate histograms of TCDS trigger types will not be booked for this run.";
261 for (
auto const &keyval : l1tMenu.getAlgorithmMap()) {
262 unsigned int const bit = keyval.second.getIndex();
265 <<
"This should never happen: bit of L1T algorithm (bit=" <<
bit <<
", name=\"" << keyval.first
266 <<
"\") is not smaller than size of \"histograms.l1t_counts\" vector (size=" <<
histograms.l1t_counts.size()
267 <<
").\nRate histogram of this L1T algorithm will not be booked for this run.";
273 fmt::sprintf(
"%s (bit %d)%s vs. lumisection", keyval.first,
bit, (masked ?
" (masked)" :
""));
283 for (
unsigned int i = 0;
i <
histograms.datasets[
d].size(); ++
i) {
287 name +
" pass L1 seed, vs. lumisection",
292 name +
" pass prescaler, vs. lumisection",
297 name +
" accept, vs. lumisection",
302 name +
" reject, vs. lumisection",
307 name +
" error, vs. lumisection",
320 if (
type ==
"HLTL1TSeed" or type ==
"HLTLevel1GTSeed" or type ==
"HLTLevel1Activity" or 321 type ==
"HLTLevel1Pattern") {
325 }
else if (
type ==
"HLTPrescaler") {
342 auto const &streamNames =
histograms.hltConfig.streamNames();
343 for (
unsigned int i = 0;
i < streamNames.size(); ++
i)
const std::string m_dqm_path
virtual void setCurrentFolder(std::string const &fullpath)
Log< level::Error, false > LogError
const uint32_t m_lumisections_range
static constexpr const char *const s_tcds_trigger_types[]
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const edm::ESGetToken< L1TUtmTriggerMenu, L1TUtmTriggerMenuRcd > m_l1tMenuToken
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
void TriggerRatesMonitor::dqmBeginRun |
( |
edm::Run const & |
run, |
|
|
edm::EventSetup const & |
setup, |
|
|
RunBasedHistograms & |
histograms |
|
) |
| const |
|
overrideprivatevirtual |
Reimplemented from DQMGlobalEDAnalyzerBase< RunBasedHistograms, Args... >.
Definition at line 161 of file TriggerRatesMonitor.cc.
References mps_fire::i, SummaryClient_cfi::labels, edm::EDConsumerBase::labelsForToken(), LogDebug, m_hlt_results, GlobalAlgBlk::maxPhysicsTriggers, castor_dqm_sourceclient_file_cfg::path, Skims_PA_cff::paths, writedatasetfile::run, s_tcds_trigger_types, singleTopDQM_cfi::setup, jetUpdater_cfi::sort, and tier0::unique().
177 auto const nTriggers =
histograms.hltConfig.size();
180 unsigned int const nDatasets =
histograms.hltConfig.datasetNames().size();
182 histograms.hlt_by_dataset_counts.resize(nDatasets);
186 for (
unsigned int i = 0;
i < nDatasets; ++
i) {
192 if (triggerIdx < nTriggers)
196 <<
"The rates of the HLT path \"" <<
path <<
"\" (dataset: \"" <<
histograms.hltConfig.datasetName(
i)
197 <<
"\") will not be monitored for this run.\nThis HLT path is not available in the process \"" 198 <<
labels.process <<
"\", but it is listed in its \"datasets\" PSet.";
204 unsigned int const nStreams =
histograms.hltConfig.streamNames().size();
207 for (
unsigned int i = 0;
i < nStreams; ++
i) {
211 if (triggerIdx < nTriggers)
215 <<
"The rates of the HLT path \"" <<
path <<
"\" (stream: \"" <<
histograms.hltConfig.streamName(
i)
216 <<
"\", dataset: \"" <<
dataset <<
"\") will not be monitored for this run.\n" 217 <<
"This HLT path is not available in the process \"" <<
labels.process
218 <<
"\", but it is listed in its \"datasets\" PSet.";
230 edm::LogError(
"TriggerRatesMonitor") <<
"Failed to initialise HLTConfigProvider: the rates of HLT triggers, " 231 "datasets and streams will not be monitored for this run.";
const edm::EDGetTokenT< edm::TriggerResults > m_hlt_results
Log< level::Error, false > LogError
static constexpr const char *const s_tcds_trigger_types[]
def unique(seq, keepstr=True)
static constexpr unsigned int maxPhysicsTriggers
void labelsForToken(EDGetToken iToken, Labels &oLabels) const