#include <HLTLevel1GTSeed.h>
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
parameter description More... | |
Static Public Member Functions inherited from HLTStreamFilter | |
static void | makeHLTFilterDescription (edm::ParameterSetDescription &desc) |
Static Public Member Functions inherited from edm::stream::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | convertStringToBitNumber () |
void | debugPrint (bool) const |
void | dumpTriggerFilterObjectWithRefs (trigger::TriggerFilterObjectWithRefs &) const |
detailed print of filter content More... | |
const std::vector< L1GtObject > * | objectTypeVec (const int chipNumber, const std::string &cndName) const |
get the vector of object types for a condition cndName on the GTL chip chipNumber More... | |
bool | seedsL1Extra (edm::Event &, trigger::TriggerFilterObjectWithRefs &) const |
bool | seedsL1TriggerObjectMaps (edm::Event &, trigger::TriggerFilterObjectWithRefs &, const L1GtTriggerMask *, const L1GlobalTriggerReadoutRecord *, const int physicsDaqPartition) |
seeding is done via L1 trigger object maps, considering the objects which fired in L1 More... | |
void | updateAlgoLogicParser (const L1GtTriggerMenu *, const AlgorithmMap &) |
void | updateAlgoLogicParser (const std::vector< bool > >Word, const std::vector< unsigned int > &triggerMask, const int physicsDaqPartition) |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDFilter<> | |
using | CacheTypes = CacheContexts< T...> |
using | GlobalCache = typename CacheTypes::GlobalCache |
using | HasAbility = AbilityChecker< T...> |
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
using | RunCache = typename CacheTypes::RunCache |
using | RunContext = RunContextT< RunCache, GlobalCache > |
using | RunSummaryCache = typename CacheTypes::RunSummaryCache |
Public Types inherited from edm::stream::EDFilterBase | |
typedef EDFilterAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::ProducerBase | |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
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) |
Description: filter L1 bits and extract seed objects from L1 GT for HLT algorithms.
Implementation: This class is an HLTStreamFilter (-> stream::EDFilter). It implements:
Definition at line 50 of file HLTLevel1GTSeed.h.
|
explicit |
constructor
Definition at line 68 of file HLTLevel1GTSeed.cc.
References convertStringToBitNumber(), L1GtLogicParser::expressionSeedsOperandList(), LogDebug, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1CollectionsTag, m_l1GlobalDecision, m_l1GtObjectMapTag, m_l1GtReadoutRecordTag, m_l1MuonCollectionTag, m_l1NrBxInEvent, m_l1SeedsLogicalExpression, m_l1TechTriggerSeeding, m_l1UseAliasesForSeeding, m_l1UseL1TriggerObjectMaps, L1GtLogicParser::operandTokenVector(), and findQualityFiles::size.
|
override |
|
private |
for seeding via technical triggers, convert the "name" to tokenNumber (seeding via bit numbers) - done once in constructor
Definition at line 497 of file HLTLevel1GTSeed.cc.
References Exception, mps_fire::i, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1SeedsLogicalExpression, L1GtLogicParser::operandTokenVector(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by HLTLevel1GTSeed().
|
private |
debug print grouped in a single function can be called for a new menu (bool "true") or for a new event
Definition at line 529 of file HLTLevel1GTSeed.cc.
References L1GtTriggerMenu::gtTriggerMenuName(), mps_fire::i, dqmiolumiharvest::j, isotrackApplyRegressor::k, LogDebug, LogTrace, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1GtMenu, m_l1TechTriggerSeeding, getGTfromDQMFile::obj, L1GtLogicParser::operandTokenVector(), and findQualityFiles::size.
Referenced by updateAlgoLogicParser().
|
private |
detailed print of filter content
Definition at line 1557 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::getObjects(), mps_fire::i, LogDebug, LogTrace, getGTfromDQMFile::obj, trigger::TriggerL1CenJet, trigger::TriggerL1ETM, trigger::TriggerL1ETT, trigger::TriggerL1ForJet, trigger::TriggerL1HTM, trigger::TriggerL1HTT, trigger::TriggerL1IsoEG, trigger::TriggerL1Mu, trigger::TriggerL1NoIsoEG, and trigger::TriggerL1TauJet.
Referenced by hltFilter().
|
static |
parameter description
Definition at line 177 of file HLTLevel1GTSeed.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, HLTStreamFilter::makeHLTFilterDescription(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
overridevirtual |
filter the event
Implements HLTStreamFilter.
Definition at line 234 of file HLTLevel1GTSeed.cc.
References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), dumpTriggerFilterObjectWithRefs(), L1GtLogicParser::expressionResult(), edm::EventSetup::get(), edm::Event::getByToken(), edm::EventSetup::getHandle(), edm::HandleBase::isValid(), LogTrace, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1CenJetTag, m_l1EtMissMETTag, m_l1EtMissMHTTag, m_l1ExtraTag, m_l1ForJetTag, m_l1GlobalDecision, m_l1GtMenu, m_l1GtMenuCacheID, m_l1GtReadoutRecordTag, m_l1GtReadoutRecordToken, m_l1GtTriggerMaskAlgoTrigRcdToken, m_l1GtTriggerMaskTechTrigRcdToken, m_l1GtTriggerMenuToken, m_l1IsoEGTag, m_l1IsoTauJetTag, m_l1MuonTag, m_l1NoIsoEGTag, m_l1TauJetTag, m_l1TechTriggerSeeding, m_l1UseAliasesForSeeding, m_l1UseL1TriggerObjectMaps, edm::Handle< T >::product(), HLTStreamFilter::saveTags(), seedsL1Extra(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
get the vector of object types for a condition cndName on the GTL chip chipNumber
Definition at line 352 of file HLTLevel1GTSeed.cc.
References Exception, L1GtTriggerMenu::gtConditionMap(), and m_l1GtMenu.
Referenced by updateAlgoLogicParser().
|
private |
seeding is done ignoring if a L1 object fired or not if the event is selected at L1, fill all the L1 objects of types corresponding to the L1 conditions from the seeding logical expression for bunch crosses F, 0, 1 directly from L1Extra and use them as seeds at HLT method and filter return true if at least an object is filled
Definition at line 1128 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, ETM, ETT, ForJet, edm::Event::getByToken(), HfRingEtSums, HTM, HTT, IsoEG, edm::HandleBase::isValid(), JetCounts, LogDebug, LogTrace, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1CenJetTag, m_l1CenJetToken, m_l1EtMissMETTag, m_l1EtMissMETToken, m_l1EtMissMHTTag, m_l1EtMissMHTToken, m_l1ForJetTag, m_l1ForJetToken, m_l1IsoEGTag, m_l1IsoEGToken, m_l1IsoTauJetTag, m_l1IsoTauJetToken, m_l1MuonTag, m_l1MuonToken, m_l1NoIsoEGTag, m_l1NoIsoEGToken, m_l1NrBxInEvent, m_l1TauJetTag, m_l1TauJetToken, Mu, NoIsoEG, AlCaHLTBitMon_QueryRunRegistry::string, TauJet, trigger::TriggerL1CenJet, trigger::TriggerL1ETM, trigger::TriggerL1ETT, trigger::TriggerL1ForJet, trigger::TriggerL1HTM, trigger::TriggerL1HTT, trigger::TriggerL1IsoEG, trigger::TriggerL1Mu, trigger::TriggerL1NoIsoEG, and trigger::TriggerL1TauJet.
Referenced by hltFilter().
|
private |
seeding is done via L1 trigger object maps, considering the objects which fired in L1
Definition at line 606 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, L1GlobalTriggerReadoutRecord::decisionWord(), ETM, ETT, L1GtLogicParser::expressionResult(), L1GtLogicParser::expressionSeedsOperandList(), ForJet, edm::Event::getByToken(), L1GlobalTriggerObjectMap::getCombinationsInCond(), L1GtTriggerMask::gtTriggerMask(), HfRingEtSums, HTM, HTT, IsoEG, edm::HandleBase::isValid(), JetCounts, LogDebug, LogTrace, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1CenJetTag, m_l1CenJetToken, m_l1EtMissMETTag, m_l1EtMissMETToken, m_l1EtMissMHTTag, m_l1EtMissMHTToken, m_l1ForJetTag, m_l1ForJetToken, m_l1GtObjectMapToken, m_l1GtReadoutRecordTag, m_l1IsoEGTag, m_l1IsoEGToken, m_l1IsoTauJetTag, m_l1IsoTauJetToken, m_l1MuonTag, m_l1MuonToken, m_l1NoIsoEGTag, m_l1NoIsoEGToken, m_l1SeedsLogicalExpression, m_l1TauJetTag, m_l1TauJetToken, Mu, NoIsoEG, L1GlobalTriggerObjectMap::operandTokenVector(), L1GlobalTriggerReadoutRecord::printGtDecision(), AlCaHLTBitMon_QueryRunRegistry::string, TauJet, trigger::TriggerL1CenJet, trigger::TriggerL1ETM, trigger::TriggerL1ETT, trigger::TriggerL1ForJet, trigger::TriggerL1HTM, trigger::TriggerL1HTT, trigger::TriggerL1IsoEG, trigger::TriggerL1Mu, trigger::TriggerL1NoIsoEG, trigger::TriggerL1TauJet, and updateAlgoLogicParser().
Referenced by hltFilter().
|
private |
update the tokenNumber (holding the bit numbers) from m_l1AlgoLogicParser for a new L1 Trigger menu
Definition at line 366 of file HLTLevel1GTSeed.cc.
References debugPrint(), Exception, L1GtTriggerMenu::gtTriggerMenuName(), mps_fire::i, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, objectTypeVec(), L1GtLogicParser::operandTokenVector(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
update the tokenResult members from m_l1AlgoLogicParser for a new event
Definition at line 440 of file HLTLevel1GTSeed.cc.
References debugPrint(), mps_fire::i, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, and L1GtLogicParser::operandTokenVector().
|
private |
cache edm::isDebugEnabled()
Definition at line 191 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
logic parser for m_l1SeedsLogicalExpression
Definition at line 116 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), debugPrint(), hltFilter(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
list of required algorithms for seeding
Definition at line 119 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), debugPrint(), HLTLevel1GTSeed(), seedsL1Extra(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
vector of object-type vectors for each condition in the required algorithms for seeding
Definition at line 125 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), HLTLevel1GTSeed(), seedsL1Extra(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
vector of Rpn vectors for the required algorithms for seeding
Definition at line 122 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
Definition at line 174 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 175 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 particle collections (except muon)
Definition at line 161 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 182 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 183 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 184 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 185 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
|
private |
Definition at line 176 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 177 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
replace string "L1GlobalDecision" with bool to speed up the "if"
Definition at line 188 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
trigger menu
Definition at line 107 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), hltFilter(), and objectTypeVec().
|
private |
Definition at line 108 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
InputTag for L1 Global Trigger object maps.
Definition at line 157 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 158 of file HLTLevel1GTSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
InputTag for the L1 Global Trigger DAQ readout record.
Definition at line 153 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 154 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 112 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 113 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 111 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 170 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 171 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 180 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 181 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 muon collection.
Definition at line 164 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 168 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 169 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 172 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 173 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
option used forL1UseL1TriggerObjectMaps = False only number of BxInEvent: 1: L1A=0; 3: -1, L1A=0, 1; 5: -2, -1, L1A=0, 1, 2
Definition at line 140 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed(), and seedsL1Extra().
|
private |
logical expression for the required L1 algorithms the algorithms are specified by name
Definition at line 150 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 178 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 179 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
seeding done via technical trigger bits, if value is "true"
Definition at line 143 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), hltFilter(), and HLTLevel1GTSeed().
|
private |
seeding uses algorithm aliases instead of algorithm names, if value is "true"
Definition at line 146 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
if true: seeding done via L1 trigger object maps, with objects that fired only objects from the central BxInEvent (L1A) are used if false: seeding is done ignoring if a L1 object fired or not, adding all L1EXtra objects corresponding to the object types used in all conditions from the algorithms in logical expression for a given number of BxInEvent
Definition at line 136 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().