1 #ifndef GlobalTriggerAnalyzer_L1GtUtils_h
2 #define GlobalTriggerAnalyzer_L1GtUtils_h
120 const std::vector<std::pair<std::string, int> >&
triggerMasks();
122 const std::vector<std::pair<std::string, int> >&
errorCodes(
132 void reset(std::vector<std::pair<std::string, bool> >)
const;
133 void reset(std::vector<std::pair<std::string, int> >)
const;
272 std::string& nameL1Trigger)
const;
291 const std::string& nameAlgoTechTrig,
309 const std::string& nameAlgoTechTrig,
332 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
335 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
341 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
344 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
351 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
354 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
360 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
363 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
369 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
372 const std::string& nameAlgoTechTrig,
int& errorCode)
const;
377 triggerMask(
const std::string& nameAlgoTechTrig,
int& errorCode)
const;
437 const std::string& nameAlgoTechTrig,
bool m_retrieveL1GtTriggerMenuLite
edm::RunID m_runIDCache
run cache ID
bool m_validLogicalExpression
true if the logical expression uses accepted L1GtLogicParser operators
const bool l1TriggerNameFromBit(const int &bitNumber, const TriggerCategory &trigCategory, std::string &aliasL1Trigger, std::string &nameL1Trigger) const
const bool decisionAfterMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision after trigger mask for a given algorithm or technical trigger
LogicalExpressionL1Results(const std::string &, L1GtUtils &)
constructor(s)
std::vector< std::pair< std::string, bool > > m_decisionsBeforeMask
const int l1Results(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, bool &decisionBeforeMask, bool &decisionAfterMask, int &prescaleFactor, int &triggerMask) const
std::vector< unsigned int > m_triggerMaskSet
unsigned long long m_l1GtMenuCacheID
const std::vector< unsigned int > * m_triggerMaskAlgoTrig
const int logicalExpressionRunUpdate(const edm::Run &, const edm::EventSetup &, const std::string &)
const edm::InputTag & provL1GtReadoutRecordInputTag()
edm::InputTag m_provL1GtReadoutRecordInputTag
std::vector< L1GtLogicParser::OperandToken > m_expL1Triggers
void retrieveL1GtTriggerMenuLite(const edm::Run &, const edm::InputTag &)
retrieve L1GtTriggerMenuLite (per run product) and cache it to improve the speed
const L1GtTriggerMenuLite * ptrL1GtTriggerMenuLite(int &errorCode)
return a pointer to the L1GtTriggerMenuLite product
int m_l1ConfCode
code for L1 trigger configuration
const std::vector< unsigned int > * m_triggerMaskTechTrig
void l1Results(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag)
const L1GtTriggerMask * m_l1GtTmVetoTech
const bool l1AlgoTechTrigBitNumber(const std::string &nameAlgoTechTrig, TriggerCategory &trigCategory, int &bitNumber) const
const bool availableL1Configuration(int &errorCode, int &l1ConfCode) const
edm::InputTag m_provL1GtTriggerMenuLiteInputTag
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrigLite
const edm::InputTag & provL1GtRecordInputTag()
return the input tags found from provenance
virtual ~L1GtUtils()
destructor
const edm::InputTag & provL1GtTriggerMenuLiteInputTag()
const L1GtTriggerMask * m_l1GtTmAlgo
trigger masks & veto masks
const AlgorithmMap * m_algorithmMap
const std::vector< std::pair< std::string, int > > & prescaleFactors()
bool m_l1GtInputTagsFromProv
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrig
const L1GtStableParameters * m_l1GtStablePar
event setup cached stuff
unsigned long long m_l1GtPfAlgoCacheID
const std::vector< unsigned int > & triggerMaskSet(const TriggerCategory &trigCategory, int &errorCode)
const std::vector< std::pair< std::string, int > > & triggerMasks()
const std::string & l1TriggerMenu() const
return the L1 trigger menu name
const std::vector< std::vector< int > > * m_prescaleFactorsAlgoTrig
const bool decisionBeforeMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return decision before trigger mask for a given algorithm or technical trigger
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmAliasMapLite
const L1GtTriggerMenuLite::L1TriggerMap * m_algorithmMapLite
unsigned long long m_l1GtTmVetoTechCacheID
const std::vector< std::pair< std::string, bool > > & decisionsAfterMask()
std::vector< std::pair< std::string, int > > m_errorCodes
void getL1GtRecordInputTag(const edm::Event &iEvent, edm::InputTag &l1GtRecordInputTag, edm::InputTag &l1GtReadoutRecordInputTag) const
std::vector< std::pair< std::string, int > > m_triggerMasks
std::vector< std::pair< std::string, int > > m_prescaleFactors
const std::vector< std::pair< std::string, bool > > & decisionsBeforeMask()
const bool decision(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
edm::InputTag m_provL1GtRecordInputTag
cached input tags from provenance - they are updated once per run only
edm::RunID m_provRunIDCache
const std::string & l1TriggerMenuImplementation() const
return the L1 trigger menu implementation
const AlgorithmMap * m_algorithmAliasMap
unsigned long long m_l1GtTmTechCacheID
const std::vector< std::vector< int > > * m_prescaleFactorsTechTrigLite
const L1GtTriggerMask * m_l1GtTmVetoAlgo
std::vector< bool > DecisionWord
typedefs
static const std::string EmptyString
const std::string triggerCategory(const TriggerCategory &) const
public methods
std::string m_logicalExpression
private members as input parameters
const L1GtPrescaleFactors * m_l1GtPfAlgo
prescale factors
unsigned long long m_l1GtTmAlgoCacheID
const std::vector< int > & prescaleFactorSet(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const TriggerCategory &trigCategory, int &errorCode)
unsigned int m_numberTechnicalTriggers
number of technical triggers
std::vector< bool > m_expTriggerInMenu
void getL1GtTriggerMenuLiteInputTag(const edm::Run &iRun, edm::InputTag &l1GtTriggerMenuLiteInputTag) const
get the input tag for L1GtTriggerMenuLite
const std::vector< L1GtLogicParser::OperandToken > & expL1Triggers()
list of triggers in the logical expression, trigger decisions, prescale factors and masks...
bool m_retrieveL1EventSetup
flags to check which method was used to retrieve L1 trigger configuration
void retrieveL1EventSetup(const edm::EventSetup &)
retrieve all the relevant L1 trigger event setup records and cache them to improve the speed ...
unsigned int m_physicsDaqPartition
index of physics DAQ partition
unsigned int m_numberAlgorithmTriggers
number of algorithm triggers
bool m_l1ResultsAlreadyCalled
set to true if the method l1Results was called once
edm::InputTag m_l1GtRecordInputTag
bool m_expBitsTechTrigger
flag true, if the logical expression is built from technical trigger bits
void getL1GtRunCache(const edm::Run &, const edm::EventSetup &, const bool, const bool, const edm::InputTag &)
get all the run-constant quantities for L1 trigger and cache them
std::vector< L1GtUtils::TriggerCategory > m_expTriggerCategory
trigger category for each L1 trigger in the logical expression
const L1GtTriggerMask * m_l1GtTmTech
const L1GtTriggerMenuLite * m_l1GtMenuLite
L1GtTriggerMenuLite cached stuff.
size_t m_expL1TriggersSize
const L1GtPrescaleFactors * m_l1GtPfTech
const AlgorithmMap * m_technicalTriggerMap
void reset(std::vector< std::pair< std::string, bool > >) const
reset for each L1 trigger the value from pair.second
const std::vector< unsigned int > * m_triggerMaskVetoAlgoTrig
const std::vector< unsigned int > * m_triggerMaskTechTrigLite
const std::vector< unsigned int > * m_triggerMaskAlgoTrigLite
edm::InputTag m_l1GtReadoutRecordInputTag
bool m_beginRunCache
flag for call of getL1GtRunCache in beginRun
const int prescaleFactorSetIndex(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const TriggerCategory &trigCategory, int &errorCode) const
const int triggerMask(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return trigger mask for a given algorithm or technical trigger
const bool trigResult(const DecisionWord &decWord, const int bitNumber, const std::string &nameAlgoTechTrig, const TriggerCategory &trigCategory, int &errorCode) const
bool m_validL1Configuration
true if valid L1 configuration - if not, reset all quantities and return
const L1GtTriggerMenu * m_l1GtMenu
~LogicalExpressionL1Results()
destructor
unsigned long long m_l1GtPfTechCacheID
static const int L1GtNotValidError
std::vector< std::pair< std::string, bool > > m_decisionsAfterMask
unsigned long long m_l1GtTmVetoAlgoCacheID
std::vector< int > m_prescaleFactorSet
const L1GtTriggerMenu * ptrL1TriggerMenuEventSetup(int &errorCode)
return a pointer to the L1 trigger menu from event setup
const int prescaleFactor(const edm::Event &iEvent, const edm::InputTag &l1GtRecordInputTag, const edm::InputTag &l1GtReadoutRecordInputTag, const std::string &nameAlgoTechTrig, int &errorCode) const
return prescale factor for a given algorithm or technical trigger
unsigned long long m_l1GtStableParCacheID
const L1GtTriggerMenuLite::L1TriggerMap * m_technicalTriggerMapLite
bool isValid()
return true if the logical expression is syntactically correct
const std::vector< unsigned int > * m_triggerMaskVetoTechTrig
const std::vector< std::pair< std::string, int > > & errorCodes(const edm::Event &)