#include <HLTL1TSeed.h>
Public Member Functions | |
bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) override |
filter the event More... | |
HLTL1TSeed (const edm::ParameterSet &) | |
constructor More... | |
~HLTL1TSeed () override | |
destructor More... | |
Public Member Functions inherited from HLTStreamFilter | |
HLTStreamFilter (const edm::ParameterSet &config) | |
int | module (edm::Event const &) const |
const std::string * | moduleLabel () const |
int | path (edm::Event const &) const |
const std::string * | pathName (edm::Event const &) const |
std::pair< int, int > | pmid (edm::Event const &) const |
bool | saveTags () const |
~HLTStreamFilter () override | |
Public Member Functions inherited from edm::stream::EDFilter<> | |
EDFilter ()=default | |
EDFilter (const EDFilter &)=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 |
const EDFilter & | operator= (const EDFilter &)=delete |
Public Member Functions inherited from edm::stream::EDFilterBase | |
EDFilterBase () | |
EDFilterBase (const EDFilterBase &)=delete | |
ModuleDescription const & | moduleDescription () const |
const EDFilterBase & | operator= (const EDFilterBase &)=delete |
~EDFilterBase () override | |
Public Member Functions inherited from edm::ProducerBase | |
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 | |
Public Member Functions inherited from edm::EDConsumerBase | |
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 | |
ESResolverIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
std::vector< ESResolverIndex > 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 |
void | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
void | updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) |
virtual | ~EDConsumerBase () noexcept(false) |
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 | dumpTriggerFilterObjectWithRefs (trigger::TriggerFilterObjectWithRefs &) const |
detailed print of filter content More... | |
bool | seedsL1TriggerObjectMaps (edm::Event &, trigger::TriggerFilterObjectWithRefs &) |
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 | |
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 |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::ProducerBase | |
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 () |
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 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 46 of file HLTL1TSeed.h.
|
explicit |
constructor
Definition at line 32 of file HLTL1TSeed.cc.
References Exception, GlobalLogicParser::expressionSeedsOperandList(), m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1GlobalDecision, m_l1SeedsLogicalExpression, GlobalLogicParser::operandTokenVector(), and findQualityFiles::size.
|
override |
|
private |
detailed print of filter content
Definition at line 155 of file HLTL1TSeed.cc.
References trigger::TriggerRefsCollections::getObjects(), mps_fire::i, LogTrace, m_l1SeedsLogicalExpression, getGTfromDQMFile::obj, trigger::TriggerL1AsymEt, trigger::TriggerL1AsymEtHF, trigger::TriggerL1AsymHt, trigger::TriggerL1AsymHtHF, trigger::TriggerL1Centrality, trigger::TriggerL1EG, trigger::TriggerL1ETM, trigger::TriggerL1ETMHF, trigger::TriggerL1ETT, trigger::TriggerL1HTM, trigger::TriggerL1HTMHF, trigger::TriggerL1HTT, trigger::TriggerL1Jet, trigger::TriggerL1MinBiasHFM0, trigger::TriggerL1MinBiasHFM1, trigger::TriggerL1MinBiasHFP0, trigger::TriggerL1MinBiasHFP1, trigger::TriggerL1Mu, trigger::TriggerL1MuShower, trigger::TriggerL1Tau, trigger::TriggerL1TowerCount, trigger::TriggerL1ZDCM, and trigger::TriggerL1ZDCP.
Referenced by hltFilter().
|
static |
parameter description
Definition at line 92 of file HLTL1TSeed.cc.
References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and HLTStreamFilter::makeHLTFilterDescription().
|
overridevirtual |
filter the event
Implements HLTStreamFilter.
Definition at line 114 of file HLTL1TSeed.cc.
References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), dumpTriggerFilterObjectWithRefs(), iEvent, m_isDebugEnabled, m_l1EGammaTag, m_l1EtSumTag, m_l1EtSumZdcTag, m_l1JetTag, m_l1MuonShowerTag, m_l1MuonTag, m_l1TauTag, HLTStreamFilter::saveTags(), and seedsL1TriggerObjectMaps().
|
private |
seeding is done via L1 trigger object maps, considering the objects which fired in L1
Loop over the list of required algorithms for seeding /////////////////////////////////////////////////////
Unpacked GT result of algorithm is false after masks and prescales - no seeds ////////////////////////////////////////////////////////////////////////////////
Emulated GT result of algorithm is false - no seeds - but still save the event
! FIXME: replace LogDebug with edm::LogWarning once unpacker of ZDC inputs to L1-uGT becomes available ! https://github.com/cms-sw/cmssw/pull/42634#issuecomment-1698132805 ! https://github.com/cms-sw/cmssw/blob/bece38936ef0ba111f4b5f4502e819595560afa6/EventFilter/L1TRawToDigi/plugins/implementations_stage2/GTSetup.cc#L76
Definition at line 482 of file HLTL1TSeed.cc.
References trigger::TriggerRefsCollections::addObject(), GlobalObjectMap::algoBitNumber(), GlobalObjectMap::algoGtlResult(), MillePedeAlignmentAlgorithm_cfi::algoName, GlobalObjectMap::algoName(), cms::cuda::assert(), BXVector< T >::at(), BXVector< T >::begin(), triggerObjects_cff::bit, GlobalObjectMap::combinationVector(), HLT_2024v13_cff::distance, BXVector< T >::end(), Exception, GlobalLogicParser::expressionResult(), GlobalObjectMap::getCombinationsInCond(), GlobalObjectMapRecord::getObjectMap(), l1t::gtAsymmetryEt, l1t::gtAsymmetryEtHF, l1t::gtAsymmetryHt, l1t::gtAsymmetryHtHF, l1t::gtCentrality0, l1t::gtCentrality1, l1t::gtCentrality2, l1t::gtCentrality3, l1t::gtCentrality4, l1t::gtCentrality5, l1t::gtCentrality6, l1t::gtCentrality7, l1t::gtEG, l1t::gtETM, l1t::gtETMHF, l1t::gtETT, l1t::gtETTem, l1t::gtHTM, l1t::gtHTMHF, l1t::gtHTT, l1t::gtJet, l1t::gtMinBiasHFM0, l1t::gtMinBiasHFM1, l1t::gtMinBiasHFP0, l1t::gtMinBiasHFP1, l1t::gtMu, l1t::gtMuShower, GlobalObjectMapRecord::gtObjectMap(), l1t::gtTau, l1t::gtTowerCount, l1t::gtZDCM, l1t::gtZDCP, mps_fire::i, iEvent, BXVector< T >::isEmpty(), edm::HandleBase::isValid(), PDWG_EXODelayedJetMET_cff::jets, l1t::EtSum::kAsymEt, l1t::EtSum::kAsymEtHF, l1t::EtSum::kAsymHt, l1t::EtSum::kAsymHtHF, l1t::EtSum::kCentrality, BXVector< T >::key(), l1t::EtSum::kMinBiasHFM0, l1t::EtSum::kMinBiasHFM1, l1t::EtSum::kMinBiasHFP0, l1t::EtSum::kMinBiasHFP1, l1t::EtSum::kMissingEt, l1t::EtSum::kMissingEtHF, l1t::EtSum::kMissingHt, l1t::EtSum::kMissingHtHF, l1t::EtSum::kTotalEt, l1t::EtSum::kTotalEtEm, l1t::EtSum::kTotalHt, l1t::EtSum::kTowerCount, l1t::EtSum::kZDCM, l1t::EtSum::kZDCP, LogDebug, LogTrace, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1EGammaTag, m_l1EGammaToken, m_l1EtSumTag, m_l1EtSumToken, m_l1EtSumZdcTag, m_l1EtSumZdcToken, m_l1GlobalDecision, m_l1GlobalTag, m_l1GlobalToken, m_l1GtObjectMapTag, m_l1GtObjectMapToken, m_l1JetTag, m_l1JetToken, m_l1MuonShowerTag, m_l1MuonShowerToken, m_l1MuonTag, m_l1MuonToken, m_l1SeedsLogicalExpression, m_l1TauTag, m_l1TauToken, DiMuonV_cfg::muons, GlobalObjectMap::objectTypeVector(), GlobalObjectMap::operandTokenVector(), GlobalLogicParser::operandTokenVector(), or, BXVector< T >::size(), AlCaHLTBitMon_QueryRunRegistry::string, Tau3MuMonitor_cff::taus, trigger::TriggerL1AsymEt, trigger::TriggerL1AsymEtHF, trigger::TriggerL1AsymHt, trigger::TriggerL1AsymHtHF, trigger::TriggerL1Centrality, trigger::TriggerL1EG, trigger::TriggerL1ETM, trigger::TriggerL1ETMHF, trigger::TriggerL1ETT, trigger::TriggerL1HTM, trigger::TriggerL1HTMHF, trigger::TriggerL1HTT, trigger::TriggerL1Jet, trigger::TriggerL1MinBiasHFM0, trigger::TriggerL1MinBiasHFM1, trigger::TriggerL1MinBiasHFP0, trigger::TriggerL1MinBiasHFP1, trigger::TriggerL1Mu, trigger::TriggerL1MuShower, trigger::TriggerL1Tau, trigger::TriggerL1TotalEtEm, trigger::TriggerL1TowerCount, trigger::TriggerL1ZDCM, and trigger::TriggerL1ZDCP.
Referenced by hltFilter().
|
inlineprivate |
update the tokenNumber (holding the bit numbers) from m_l1AlgoLogicParser for a new L1 Trigger menu
Definition at line 63 of file HLTL1TSeed.h.
|
inlineprivate |
update the tokenResult members from m_l1AlgoLogicParser for a new event
Definition at line 67 of file HLTL1TSeed.h.
|
private |
cache edm::isDebugEnabled()
Definition at line 147 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
logic parser for m_l1SeedsLogicalExpression
Definition at line 79 of file HLTL1TSeed.h.
Referenced by HLTL1TSeed(), and seedsL1TriggerObjectMaps().
|
private |
list of required algorithms for seeding
Definition at line 82 of file HLTL1TSeed.h.
Referenced by HLTL1TSeed(), and seedsL1TriggerObjectMaps().
|
private |
vector of object-type vectors for each condition in the required algorithms for seeding
Definition at line 88 of file HLTL1TSeed.h.
Referenced by HLTL1TSeed().
|
private |
vector of Rpn vectors for the required algorithms for seeding
Definition at line 85 of file HLTL1TSeed.h.
Referenced by HLTL1TSeed().
|
private |
Meta InputTag for L1 Egamma collection.
Definition at line 119 of file HLTL1TSeed.h.
|
private |
Definition at line 120 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 121 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 EtSum collection.
Definition at line 134 of file HLTL1TSeed.h.
|
private |
Definition at line 135 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 136 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 EtSum (ZDC) collection.
Definition at line 139 of file HLTL1TSeed.h.
|
private |
Definition at line 140 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 141 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
flag to pass if L1TGlobal accept
Definition at line 144 of file HLTL1TSeed.h.
Referenced by HLTL1TSeed(), and seedsL1TriggerObjectMaps().
|
private |
InputTag for L1 Global Trigger.
Definition at line 104 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Definition at line 105 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
InputTag for L1 Global Trigger object maps. This is done per menu. Should be part of Run.
Definition at line 100 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Definition at line 101 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 Jet collection.
Definition at line 124 of file HLTL1TSeed.h.
|
private |
Definition at line 125 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 126 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 Muon collection.
Definition at line 109 of file HLTL1TSeed.h.
|
private |
Meta InputTag for L1 Muon collection.
Definition at line 114 of file HLTL1TSeed.h.
|
private |
Definition at line 115 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 116 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
Definition at line 110 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 111 of file HLTL1TSeed.h.
Referenced by 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 93 of file HLTL1TSeed.h.
|
private |
logical expression for the required L1 algorithms the algorithms are specified by name
Definition at line 97 of file HLTL1TSeed.h.
Referenced by dumpTriggerFilterObjectWithRefs(), HLTL1TSeed(), and seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 Tau collection.
Definition at line 129 of file HLTL1TSeed.h.
|
private |
Definition at line 130 of file HLTL1TSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 131 of file HLTL1TSeed.h.
Referenced by seedsL1TriggerObjectMaps().