#include <HLTLevel1GTSeed.h>
Public Member Functions | |
bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) override |
filter the event More... | |
HLTLevel1GTSeed (const edm::ParameterSet &) | |
constructor More... | |
~HLTLevel1GTSeed () 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 | |
bool | hasAbilityToProduceInLumis () const final |
bool | hasAbilityToProduceInRuns () const final |
Public Member Functions inherited from edm::stream::EDFilterBase | |
EDFilterBase () | |
ModuleDescription const & | moduleDescription () const |
~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 |
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) |
~ProducerBase () 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 | |
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::vector< ModuleDescription const * > &modules, 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 |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
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 | 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<> | |
typedef CacheContexts< T... > | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T... > | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | 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::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
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 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) |
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 52 of file HLTLevel1GTSeed.h.
|
explicit |
constructor
Definition at line 76 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 556 of file HLTLevel1GTSeed.cc.
References Exception, cmsPerfPublish::fail(), 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 602 of file HLTLevel1GTSeed.cc.
References L1GtTriggerMenu::gtTriggerMenuName(), mps_fire::i, gen::k, LogDebug, LogTrace, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1GtMenu, m_l1TechTriggerSeeding, GetRecoTauVFromDQM_MC_cff::obj, L1GtLogicParser::operandTokenVector(), and findQualityFiles::size.
Referenced by updateAlgoLogicParser().
|
private |
detailed print of filter content
Definition at line 1902 of file HLTLevel1GTSeed.cc.
References DEFINE_FWK_MODULE, trigger::TriggerRefsCollections::getObjects(), mps_fire::i, LogDebug, LogTrace, GetRecoTauVFromDQM_MC_cff::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 197 of file HLTLevel1GTSeed.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), HLTStreamFilter::makeHLTFilterDescription(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
overridevirtual |
filter the event
Implements HLTStreamFilter.
Definition at line 254 of file HLTLevel1GTSeed.cc.
References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), dumpTriggerFilterObjectWithRefs(), L1GtLogicParser::expressionResult(), L1GlobalTriggerReadoutRecord::finalOR(), edm::EventSetup::get(), edm::Event::getByToken(), L1GtTriggerMenu::gtAlgorithmAliasMap(), L1GtTriggerMenu::gtAlgorithmMap(), L1GtTriggerMask::gtTriggerMask(), L1GtTriggerMenu::gtTriggerMenuInterface(), 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_l1IsoEGTag, m_l1IsoTauJetTag, m_l1MuonTag, m_l1NoIsoEGTag, m_l1TauJetTag, m_l1TechTriggerSeeding, m_l1UseAliasesForSeeding, m_l1UseL1TriggerObjectMaps, edm::Handle< T >::product(), edm::ESHandle< T >::product(), HLTStreamFilter::saveTags(), seedsL1Extra(), seedsL1TriggerObjectMaps(), L1GlobalTriggerReadoutRecord::technicalTriggerWord(), and updateAlgoLogicParser().
|
private |
get the vector of object types for a condition cndName on the GTL chip chipNumber
Definition at line 389 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 1332 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, ETM, ETT, ForJet, edm::Event::getByToken(), HfRingEtSums, HTM, HTT, IsoEG, edm::HandleBase::isValid(), JetCounts, triggerObjects_cff::l1Muon, 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 713 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, L1GlobalTriggerReadoutRecord::decisionWord(), ETM, ETT, L1GtLogicParser::expressionResult(), L1GtLogicParser::expressionSeedsOperandList(), ForJet, edm::Event::getByToken(), L1GlobalTriggerObjectMap::getCombinationsInCond(), L1GlobalTriggerObjectMapRecord::getObjectMap(), L1GtTriggerMask::gtTriggerMask(), HfRingEtSums, HTM, HTT, IsoEG, edm::HandleBase::isValid(), JetCounts, triggerObjects_cff::l1Muon, 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 405 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 494 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 196 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
logic parser for m_l1SeedsLogicalExpression
Definition at line 119 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), debugPrint(), hltFilter(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
list of required algorithms for seeding
Definition at line 122 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 128 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 125 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
Definition at line 179 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 180 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 particle collections (except muon)
Definition at line 166 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 187 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 188 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 189 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 190 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
|
private |
Definition at line 181 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 182 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
replace string "L1GlobalDecision" with bool to speed up the "if"
Definition at line 193 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
trigger menu
Definition at line 115 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), hltFilter(), and objectTypeVec().
|
private |
Definition at line 116 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
InputTag for L1 Global Trigger object maps.
Definition at line 162 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 163 of file HLTLevel1GTSeed.h.
Referenced by seedsL1TriggerObjectMaps().
|
private |
InputTag for the L1 Global Trigger DAQ readout record.
Definition at line 158 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 159 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 175 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 176 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 185 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 186 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Meta InputTag for L1 muon collection.
Definition at line 169 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
Definition at line 173 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 174 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 177 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 178 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 145 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 155 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 183 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 184 of file HLTLevel1GTSeed.h.
Referenced by seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
seeding done via technical trigger bits, if value is "true"
Definition at line 148 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 151 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 141 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().