Go to the documentation of this file. 1 #ifndef GlobalTriggerAnalyzer_L1GtUtils_h
2 #define GlobalTriggerAnalyzer_L1GtUtils_h
101 template <
typename T>
114 template <
typename T>
124 template <
typename T>
184 const std::vector<std::pair<std::string, int> >&
triggerMasks();
194 void reset(
const std::vector<std::pair<std::string, bool> >&)
const;
195 void reset(
const std::vector<std::pair<std::string, int> >&)
const;
383 int& errorCode)
const;
496 template <
typename T>
504 template <
typename T>
514 template <
typename T>
532 template <
typename T>
unsigned long long m_l1GtPfAlgoCacheID
const std::vector< std::pair< std::string, bool > > & decisionsAfterMask()
const std::vector< int > & prescaleFactorSet(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode)
const std::vector< unsigned int > & triggerMaskSet(const TriggerCategory &trigCategory, int &errorCode)
std::vector< unsigned int > m_triggerMaskSet
const std::vector< std::pair< std::string, int > > & triggerMasks()
std::string m_logicalExpression
private members as input parameters
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_L1GtTriggerMaskVetoAlgoTrigRunToken
const std::vector< std::pair< std::string, int > > & prescaleFactors()
const L1GtTriggerMenuLite * ptrL1GtTriggerMenuLite(int &errorCode)
return a pointer to the L1GtTriggerMenuLite product
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_L1GtStableParametersRunToken
const std::string & l1TriggerMenuImplementation() const
return the L1 trigger menu implementation
bool m_beginRunCache
flag for call of getL1GtRunCache in beginRun
unsigned long long m_l1GtTmAlgoCacheID
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool)
get all the run-constant quantities for L1 trigger and cache them
unsigned int m_physicsDaqPartition
index of physics DAQ partition
const bool decisionBeforeMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision before trigger mask for a given algorithm or technical trigger
const int logicalExpressionRunUpdate(const edm::Run &, const edm::EventSetup &, const std::string &)
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
const std::vector< L1GtLogicParser::OperandToken > & expL1Triggers()
list of triggers in the logical expression, trigger decisions, prescale factors and masks,...
std::vector< std::pair< std::string, bool > > m_decisionsBeforeMask
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_L1GtTriggerMaskAlgoTrigRunToken
virtual ~L1GtUtils()
destructor
edm::RunID m_runIDCache
run cache ID
const bool decision(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
static const std::string EmptyString
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoAlgoTrigRcd > m_L1GtTriggerMaskVetoAlgoTrigEventToken
const AlgorithmMap * m_algorithmMap
unsigned long long m_l1GtPfTechCacheID
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
static const int L1GtNotValidError
std::unique_ptr< L1GtUtilsHelper > m_l1GtUtilsHelper
std::vector< std::pair< std::string, int > > m_triggerMasks
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskAlgoTrigRcd > m_L1GtTriggerMaskAlgoTrigEventToken
bool m_retrieveL1EventSetup
flags to check which method was used to retrieve L1 trigger configuration
const std::vector< unsigned int > * m_triggerMaskTechTrig
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_L1GtPrescaleFactorsAlgoTrigRunToken
std::vector< bool > m_expTriggerInMenu
std::vector< L1GtLogicParser::OperandToken > m_expL1Triggers
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_L1GtTriggerMenuEventToken
const AlgorithmMap * m_algorithmAliasMap
const bool trigResult(const DecisionWord &decWord, const int bitNumber, const std::string &nameAlgoTechTrig, const TriggerCategory &trigCategory, int &errorCode) const
void l1Results(const edm::Event &iEvent)
std::vector< std::pair< std::string, int > > m_prescaleFactors
bool m_l1ResultsAlreadyCalled
set to true if the method l1Results was called once
const std::string triggerCategory(const TriggerCategory &) const
public methods
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
static const bool useL1GtTriggerMenuLite(true)
int m_l1ConfCode
code for L1 trigger configuration
const std::string & l1TriggerMenu() const
return the L1 trigger menu name
std::vector< std::pair< std::string, int > > m_errorCodes
const std::vector< unsigned int > * m_triggerMaskTechTrigLite
bool isValid()
return true if the logical expression is syntactically correct
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_L1GtTriggerMaskTechTrigEventToken
unsigned int m_numberTechnicalTriggers
number of technical triggers
size_t m_expL1TriggersSize
void reset(const std::vector< std::pair< std::string, bool > > &) const
reset for each L1 trigger the value from pair.second
const L1GtStableParameters * m_l1GtStablePar
event setup cached stuff
static void fillDescription(edm::ParameterSetDescription &desc)
const int l1Results(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, bool &decisionBeforeMask, bool &decisionAfterMask, int &prescaleFactor, int &triggerMask) const
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsAlgoTrigRcd > m_L1GtPrescaleFactorsAlgoTrigEventToken
const bool decisionAfterMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision after trigger mask for a given algorithm or technical trigger
void retrieveL1EventSetup(const edm::EventSetup &, bool isRun=true)
retrieve all the relevant L1 trigger event setup records and cache them to improve the speed
const std::vector< std::pair< std::string, int > > & errorCodes(const edm::Event &)
const L1GtTriggerMenu * m_l1GtMenu
const L1GtTriggerMenuLite * m_l1GtMenuLite
L1GtTriggerMenuLite cached stuff.
void retrieveL1GtTriggerMenuLite(const edm::Run &)
retrieve L1GtTriggerMenuLite (per run product) and cache it to improve the speed
const bool l1AlgoTechTrigBitNumber(const std::string &nameAlgoTechTrig, TriggerCategory &trigCategory, int &bitNumber) const
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmAliasMapLite
const L1GtPrescaleFactors * m_l1GtPfTech
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrigLite
edm::ESGetToken< L1GtStableParameters, L1GtStableParametersRcd > m_L1GtStableParametersEventToken
~LogicalExpressionL1Results()
destructor
bool m_validLogicalExpression
true if the logical expression uses accepted L1GtLogicParser operators
std::vector< bool > DecisionWord
typedefs
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmMapLite
const L1GtTriggerMenuLite::L1TriggerMap * m_technicalTriggerMapLite
const AlgorithmMap * m_technicalTriggerMap
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
bool m_expBitsTechTrigger
flag true, if the logical expression is built from technical trigger bits
std::vector< L1GtUtils::TriggerCategory > m_expTriggerCategory
trigger category for each L1 trigger in the logical expression
const bool l1TriggerNameFromBit(const int &bitNumber, const TriggerCategory &trigCategory, std::string &aliasL1Trigger, std::string &nameL1Trigger) const
L1GtUtils(edm::ParameterSet const &pset, edm::ConsumesCollector &&iC, bool useL1GtTriggerMenuLite, UseEventSetupIn use=UseEventSetupIn::Run)
edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_L1GtTriggerMenuRunToken
const std::vector< std::pair< std::string, bool > > & decisionsBeforeMask()
const int triggerMask(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return trigger mask for a given algorithm or technical trigger
const int prescaleFactorSetIndex(const edm::Event &iEvent, const TriggerCategory &trigCategory, int &errorCode) const
bool m_retrieveL1GtTriggerMenuLite
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
const std::vector< unsigned int > * m_triggerMaskAlgoTrigLite
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskTechTrigRcd > m_L1GtTriggerMaskTechTrigRunToken
unsigned long long m_l1GtMenuCacheID
const L1GtTriggerMask * m_l1GtTmTech
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrigLite
std::vector< int > m_prescaleFactorSet
bool m_validL1Configuration
true if valid L1 configuration - if not, reset all quantities and return
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
unsigned long long m_l1GtTmTechCacheID
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_L1GtTriggerMaskVetoTechTrigEventToken
static void fillDescription(edm::ParameterSetDescription &desc)
unsigned long long m_l1GtTmVetoAlgoCacheID
unsigned long long m_l1GtTmVetoTechCacheID
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
LogicalExpressionL1Results(const std::string &, L1GtUtils &)
constructor(s)
const L1GtTriggerMask * m_l1GtTmVetoTech
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_L1GtPrescaleFactorsTechTrigRunToken
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
const int prescaleFactor(const edm::Event &iEvent, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned long long m_l1GtStableParCacheID
std::vector< std::pair< std::string, bool > > m_decisionsAfterMask
edm::ESGetToken< L1GtPrescaleFactors, L1GtPrescaleFactorsTechTrigRcd > m_L1GtPrescaleFactorsTechTrigEventToken
edm::ESGetToken< L1GtTriggerMask, L1GtTriggerMaskVetoTechTrigRcd > m_L1GtTriggerMaskVetoTechTrigRunToken
const L1GtTriggerMask * m_l1GtTmVetoAlgo
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks