#include <HLTPrescaleProvider.h>
Public Member Functions | |
template<> | |
FractionalPrescale | convertL1PS (double val) const |
HLTConfigProvider const & | hltConfigProvider () const |
template<typename T > | |
HLTPrescaleProvider (edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, T &module) | |
template<typename T > | |
HLTPrescaleProvider (edm::ParameterSet const &pset, edm::ConsumesCollector &iC, T &module) | |
bool | init (const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed) |
L1GtUtils const & | l1GtUtils () const |
l1t::L1TGlobalUtil const & | l1tGlobalUtil () const |
int | prescaleSet (const edm::Event &iEvent, const edm::EventSetup &iSetup) |
template<typename T = unsigned int> | |
T | prescaleValue (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) |
combining the two methods above More... | |
template<typename TL1 = int, typename THLT = TL1> | |
std::pair< TL1, THLT > | prescaleValues (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) |
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path. More... | |
template<typename TL1 = int, typename THLT = TL1> | |
std::pair< std::vector< std::pair< std::string, TL1 > >, THLT > | prescaleValuesInDetail (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) |
bool | rejectedByHLTPrescaler (const edm::TriggerResults &triggerResults, unsigned int i) const |
Static Public Member Functions | |
static void | fillPSetDescription (edm::ParameterSetDescription &desc, unsigned int stageL1Trigger, edm::InputTag const &l1tAlgBlkInputTag, edm::InputTag const &l1tExtBlkInputTag, bool readPrescalesFromFile) |
static int | l1PrescaleDenominator () |
Private Member Functions | |
void | checkL1GtUtils () const |
void | checkL1TGlobalUtil () const |
template<typename T > | |
T | convertL1PS (double val) const |
double | getL1PrescaleValue (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) |
std::vector< std::pair< std::string, double > > | getL1PrescaleValueInDetail (const edm::Event &iEvent, const edm::EventSetup &iSetup, const std::string &trigger) |
Private Attributes | |
unsigned char | count_ [5] = {0, 0, 0, 0, 0} |
HLTConfigProvider | hltConfigProvider_ |
bool | inited_ = false |
std::unique_ptr< L1GtUtils > | l1GtUtils_ |
std::unique_ptr< l1t::L1TGlobalUtil > | l1tGlobalUtil_ |
Static Private Attributes | |
static constexpr int | kL1PrescaleDenominator_ = 100 |
static constexpr const char * | l1tGlobalDecisionKeyword_ = "L1GlobalDecision" |
This class provides access routines to get hold of the HLT Configuration, as well as the prescales of Level-1 and High-Level triggers.
Originally the functions in here were in HLTConfigProvider. The functions that use L1GtUtils and get products from the Event were moved into this class in 2015 when the consumes function calls were added. W. David Dagenhart
See header file for documentation
Definition at line 39 of file HLTPrescaleProvider.h.
HLTPrescaleProvider::HLTPrescaleProvider | ( | edm::ParameterSet const & | pset, |
edm::ConsumesCollector && | iC, | ||
T & | module | ||
) |
Definition at line 139 of file HLTPrescaleProvider.h.
HLTPrescaleProvider::HLTPrescaleProvider | ( | edm::ParameterSet const & | pset, |
edm::ConsumesCollector & | iC, | ||
T & | module | ||
) |
Definition at line 143 of file HLTPrescaleProvider.h.
References l1GtUtils_, l1tGlobalUtil_, callgraph::module, muonDTDigis_cfi::pset, l1t::Run, L1GtUtils::Run, and PDWG_DiPhoton_SD_cff::stageL1Trigger.
|
private |
Definition at line 370 of file HLTPrescaleProvider.cc.
References Exception, and l1GtUtils_.
Referenced by getL1PrescaleValue(), getL1PrescaleValueInDetail(), init(), l1GtUtils(), and prescaleSet().
|
private |
Definition at line 380 of file HLTPrescaleProvider.cc.
References Exception, and l1tGlobalUtil_.
Referenced by getL1PrescaleValue(), getL1PrescaleValueInDetail(), init(), l1tGlobalUtil(), and prescaleSet().
|
inlineprivate |
Definition at line 110 of file HLTPrescaleProvider.h.
References or, and heppy_batch::val.
FractionalPrescale HLTPrescaleProvider::convertL1PS | ( | double | val | ) | const |
Definition at line 107 of file HLTPrescaleProvider.cc.
References funct::abs(), kL1PrescaleDenominator_, and heppy_batch::val.
|
static |
Definition at line 390 of file HLTPrescaleProvider.cc.
References submitPVResolutionJobs::desc, l1t::L1TGlobalUtil::fillDescription(), L1GtUtils::fillDescription(), SiStripSourceConfigTier0_cff::l1tAlgBlkInputTag, SiStripSourceConfigTier0_cff::l1tExtBlkInputTag, and PDWG_DiPhoton_SD_cff::stageL1Trigger.
Referenced by BPHMonitor::fillDescriptions().
|
private |
error - can't handle properly multiple L1GTSeed modules
error - can't handle properly multiple L1TSeed modules
Definition at line 119 of file HLTPrescaleProvider.cc.
References checkL1GtUtils(), checkL1TGlobalUtil(), count_, countMax(), GCP_Ntuples_cfg::dump, hltConfigProvider_, HLTConfigProvider::hltL1GTSeeds(), HLTConfigProvider::hltL1TSeeds(), mps_fire::i, iEvent, l1GtUtils_, l1tGlobalDecisionKeyword_, l1tGlobalUtil_, HLTConfigProvider::l1tType(), LogDebug, mps_fire::result, AlCaHLTBitMon_QueryRunRegistry::string, useL1EventSetup(), and useL1GtTriggerMenuLite().
Referenced by prescaleValues().
|
private |
error - can't handle properly multiple L1GTSeed modules
error - can't handle properly multiple L1TSeed modules
Definition at line 228 of file HLTPrescaleProvider.cc.
References funct::abs(), checkL1GtUtils(), checkL1TGlobalUtil(), GlobalLogicParser::checkLogicalExpression(), count_, countMax(), GCP_Ntuples_cfg::dump, mps_splice::entry, L1GtUtils::LogicalExpressionL1Results::errorCodes(), GlobalLogicParser::expressionSeedsOperandList(), hltConfigProvider_, HLTConfigProvider::hltL1GTSeeds(), HLTConfigProvider::hltL1TSeeds(), mps_fire::i, iEvent, L1GtUtils::LogicalExpressionL1Results::isValid(), l1GtUtils_, l1tGlobalDecisionKeyword_, l1tGlobalUtil_, HLTConfigProvider::l1tType(), LogDebug, L1GtUtils::LogicalExpressionL1Results::logicalExpressionRunUpdate(), L1GtUtils::LogicalExpressionL1Results::prescaleFactors(), mps_fire::result, AlCaHLTBitMon_QueryRunRegistry::string, useL1EventSetup(), and useL1GtTriggerMenuLite().
Referenced by prescaleValuesInDetail().
|
inline |
Definition at line 53 of file HLTPrescaleProvider.h.
References hltConfigProvider_.
Referenced by HLTEventAnalyzerAOD::analyze(), IsoTrig::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), HLTEventAnalyzerAOD::beginRun(), pat::PATTriggerProducer::beginRun(), BPHMonitor::bookHistograms(), CandidateTriggerObjectProducer::produce(), and pat::PATTriggerProducer::produce().
bool HLTPrescaleProvider::init | ( | const edm::Run & | iRun, |
const edm::EventSetup & | iSetup, | ||
const std::string & | processName, | ||
bool & | changed | ||
) |
Run-dependent initialisation (non-const method) "init" return value indicates whether intitialisation has succeeded "changed" parameter indicates whether the config has actually changed This must be called at beginRun for most of the other functions in this class to succeed
L1 GTA V3: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideL1TriggerL1GtUtils#Version_3
Definition at line 22 of file HLTPrescaleProvider.cc.
References checkL1GtUtils(), checkL1TGlobalUtil(), count_, hltConfigProvider_, HLTConfigProvider::init(), inited_, l1GtUtils_, l1tGlobalUtil_, HLTConfigProvider::l1tType(), SimL1EmulatorRepack_CalouGT_cff::processName, mps_fire::result, useL1EventSetup(), and useL1GtTriggerMenuLite().
Referenced by HLTPrescaleExample::beginRun(), CandidateTriggerObjectProducer::beginRun(), HLTEventAnalyzerAOD::beginRun(), pat::PATTriggerProducer::beginRun(), IsoTrig::beginRun(), BPHMonitor::bookHistograms(), EwkElecDQM::dqmBeginRun(), and EwkMuDQM::dqmBeginRun().
L1GtUtils const & HLTPrescaleProvider::l1GtUtils | ( | ) | const |
Definition at line 51 of file HLTPrescaleProvider.cc.
References checkL1GtUtils(), and l1GtUtils_.
Referenced by pat::PATTriggerProducer::produce().
|
inlinestatic |
Definition at line 95 of file HLTPrescaleProvider.h.
References kL1PrescaleDenominator_.
l1t::L1TGlobalUtil const & HLTPrescaleProvider::l1tGlobalUtil | ( | ) | const |
Definition at line 56 of file HLTPrescaleProvider.cc.
References checkL1TGlobalUtil(), and l1tGlobalUtil_.
int HLTPrescaleProvider::prescaleSet | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) |
HLT prescale values via (L1) EventSetup current (default) prescale set index - to be taken from L1GtUtil via Event
error - notify user!
Definition at line 61 of file HLTPrescaleProvider.cc.
References L1GtUtils::AlgorithmTrigger, cms::cuda::assert(), checkL1GtUtils(), checkL1TGlobalUtil(), count_, countMax(), Exception, hltConfigProvider_, iEvent, inited_, l1GtUtils_, l1tGlobalUtil_, HLTConfigProvider::l1tType(), HLTConfigProvider::processName(), L1GtUtils::TechnicalTrigger, useL1EventSetup(), and useL1GtTriggerMenuLite().
Referenced by EwkMuDQM::analyze(), EwkElecDQM::analyze(), prescaleValue(), and pat::PATTriggerProducer::produce().
|
inline |
combining the two methods above
Definition at line 64 of file HLTPrescaleProvider.h.
References hltConfigProvider_, iEvent, prescaleSet(), and HLTConfigProvider::prescaleValue().
Referenced by HLTPrescaleExample::analyze().
|
inline |
Combined L1T (pair.first) and HLT (pair.second) prescales per HLT path.
Definition at line 73 of file HLTPrescaleProvider.h.
References getL1PrescaleValue(), and iEvent.
Referenced by HLTPrescaleExample::analyze(), IsoTrig::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), and CandidateTriggerObjectProducer::produce().
|
inline |
Definition at line 83 of file HLTPrescaleProvider.h.
References mps_splice::entry, getL1PrescaleValueInDetail(), iEvent, and eostools::move().
Referenced by HLTPrescaleExample::analyze(), HLTEventAnalyzerAOD::analyzeTrigger(), BPHMonitor::Prescale(), and pat::PATTriggerProducer::produce().
bool HLTPrescaleProvider::rejectedByHLTPrescaler | ( | const edm::TriggerResults & | triggerResults, |
unsigned int | i | ||
) | const |
Definition at line 366 of file HLTPrescaleProvider.cc.
References hltConfigProvider_, mps_fire::i, HLTConfigProvider::moduleLabel(), HLTConfigProvider::moduleType(), and triggerResults.
|
private |
Definition at line 134 of file HLTPrescaleProvider.h.
Referenced by getL1PrescaleValue(), getL1PrescaleValueInDetail(), init(), and prescaleSet().
|
private |
Definition at line 129 of file HLTPrescaleProvider.h.
Referenced by getL1PrescaleValue(), getL1PrescaleValueInDetail(), hltConfigProvider(), init(), prescaleSet(), prescaleValue(), and rejectedByHLTPrescaler().
|
private |
Definition at line 135 of file HLTPrescaleProvider.h.
Referenced by init(), and prescaleSet().
|
staticprivate |
Definition at line 127 of file HLTPrescaleProvider.h.
Referenced by convertL1PS(), and l1PrescaleDenominator().
|
private |
Definition at line 131 of file HLTPrescaleProvider.h.
Referenced by checkL1GtUtils(), getL1PrescaleValue(), getL1PrescaleValueInDetail(), HLTPrescaleProvider(), init(), l1GtUtils(), and prescaleSet().
|
staticprivate |
Definition at line 104 of file HLTPrescaleProvider.h.
Referenced by getL1PrescaleValue(), and getL1PrescaleValueInDetail().
|
private |
Definition at line 132 of file HLTPrescaleProvider.h.
Referenced by checkL1TGlobalUtil(), getL1PrescaleValue(), getL1PrescaleValueInDetail(), HLTPrescaleProvider(), init(), l1tGlobalUtil(), and prescaleSet().