#include <HLTLevel1GTSeed.h>
Public Member Functions | |
virtual bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) |
filter the event More... | |
HLTLevel1GTSeed (const edm::ParameterSet &) | |
constructor More... | |
virtual | ~HLTLevel1GTSeed () |
destructor More... | |
Public Member Functions inherited from HLTFilter | |
HLTFilter (const edm::ParameterSet &config) | |
int | module () const |
const std::string * | moduleLabel () const |
int | path () const |
const std::string * | pathName () const |
std::pair< int, int > | pmid () const |
bool | saveTags () const |
virtual | ~HLTFilter () |
Public Member Functions inherited from edm::EDFilter | |
EDFilter () | |
virtual | ~EDFilter () |
Public Member Functions inherited from edm::ProducerBase | |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
boost::function< void(const BranchDescription &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Private Member Functions | |
void | convertStringToBitNumber () |
void | debugPrint (bool) |
void | dumpTriggerFilterObjectWithRefs (trigger::TriggerFilterObjectWithRefs &) |
detailed print of filter content More... | |
const std::vector< L1GtObject > * | objectTypeVec (const int chipNumber, const std::string &cndName) |
get the vector of object types for a condition cndName on the GTL chip chipNumber More... | |
bool | seedsL1Extra (edm::Event &, trigger::TriggerFilterObjectWithRefs &) |
bool | seedsL1TriggerObjectMaps (edm::Event &, trigger::TriggerFilterObjectWithRefs &, 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) |
Private Attributes | |
bool | m_isDebugEnabled |
cache edm::isDebugEnabled() More... | |
L1GtLogicParser | m_l1AlgoLogicParser |
logic parser for m_l1SeedsLogicalExpression More... | |
std::vector < L1GtLogicParser::OperandToken > | m_l1AlgoSeeds |
list of required algorithms for seeding More... | |
std::vector< std::vector < const std::vector < L1GtObject > * > > | m_l1AlgoSeedsObjType |
vector of object-type vectors for each condition in the required algorithms for seeding More... | |
std::vector< const std::vector < L1GtLogicParser::TokenRPN > * > | m_l1AlgoSeedsRpn |
vector of Rpn vectors for the required algorithms for seeding More... | |
edm::InputTag | m_l1CenJetTag |
edm::InputTag | m_l1CollectionsTag |
InputTag for L1 particle collections (except muon) More... | |
edm::InputTag | m_l1EtMissMET |
edm::InputTag | m_l1EtMissMHT |
edm::InputTag | m_l1ExtraTag |
edm::InputTag | m_l1ForJetTag |
bool | m_l1GlobalDecision |
replace string "L1GlobalDecision" with bool to speed up the "if" More... | |
const L1GtTriggerMenu * | m_l1GtMenu |
trigger menu More... | |
unsigned long long | m_l1GtMenuCacheID |
edm::InputTag | m_l1GtObjectMapTag |
InputTag for L1 Global Trigger object maps. More... | |
edm::InputTag | m_l1GtReadoutRecordTag |
InputTag for the L1 Global Trigger DAQ readout record. More... | |
const L1GtTriggerMask * | m_l1GtTmAlgo |
trigger masks More... | |
unsigned long long | m_l1GtTmAlgoCacheID |
const L1GtTriggerMask * | m_l1GtTmTech |
unsigned long long | m_l1GtTmTechCacheID |
edm::InputTag | m_l1IsoEGTag |
edm::InputTag | m_l1MuonCollectionTag |
InputTag for L1 muon collection. More... | |
edm::InputTag | m_l1MuonTag |
cached InputTags More... | |
edm::InputTag | m_l1NoIsoEGTag |
int | m_l1NrBxInEvent |
std::string | m_l1SeedsLogicalExpression |
edm::InputTag | m_l1TauJetTag |
bool | m_l1TechTriggerSeeding |
seeding done via technical trigger bits, if value is "true" More... | |
bool | m_l1UseAliasesForSeeding |
seeding uses algorithm aliases instead of algorithm names, if value is "true" More... | |
bool | m_l1UseL1TriggerObjectMaps |
std::vector< unsigned int > | m_triggerMaskAlgoTrig |
std::vector< unsigned int > | m_triggerMaskTechTrig |
Additional Inherited Members | |
Public Types inherited from edm::EDFilter | |
typedef EDFilter | ModuleType |
typedef WorkerT< EDFilter > | WorkerType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Static Public Member Functions inherited from HLTFilter | |
static void | makeHLTFilterDescription (edm::ParameterSetDescription &desc) |
Static Public Member Functions inherited from edm::EDFilter | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &) |
Protected Member Functions inherited from edm::EDFilter | |
CurrentProcessingContext const * | currentContext () const |
Protected Member Functions inherited from edm::ProducerBase | |
template<class TProducer , class TMethod > | |
void | callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod) |
Description: filter L1 bits and extract seed objects from L1 GT for HLT algorithms.
Implementation: This class is an HLTFilter (-> EDFilter). It implements:
$Date$ $Revision$
Definition at line 45 of file HLTLevel1GTSeed.h.
|
explicit |
constructor
Definition at line 77 of file HLTLevel1GTSeed.cc.
References convertStringToBitNumber(), L1GtLogicParser::expressionSeedsOperandList(), LogDebug, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1CollectionsTag, m_l1GlobalDecision, m_l1GtMenuCacheID, m_l1GtObjectMapTag, m_l1GtReadoutRecordTag, m_l1GtTmAlgoCacheID, m_l1GtTmTechCacheID, m_l1MuonCollectionTag, m_l1NrBxInEvent, m_l1SeedsLogicalExpression, m_l1TechTriggerSeeding, m_l1UseAliasesForSeeding, m_l1UseL1TriggerObjectMaps, L1GtLogicParser::operandTokenVector(), and findQualityFiles::size.
|
virtual |
|
private |
for seeding via technical triggers, convert the "name" to tokenNumber (seeding via bit numbers)
Definition at line 527 of file HLTLevel1GTSeed.cc.
References edm::hlt::Exception, cmsPerfPublish::fail(), i, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1SeedsLogicalExpression, and L1GtLogicParser::operandTokenVector().
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 573 of file HLTLevel1GTSeed.cc.
References L1GtTriggerMenu::gtTriggerMenuName(), i, j, gen::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 1793 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::getObjects(), 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().
|
virtual |
filter the event
Implements HLTFilter.
Definition at line 189 of file HLTLevel1GTSeed.cc.
References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), dumpTriggerFilterObjectWithRefs(), L1GtLogicParser::expressionResult(), edm::EventSetup::get(), edm::Event::getByLabel(), L1GtTriggerMask::gtTriggerMask(), edm::HandleBase::isValid(), LogTrace, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1CenJetTag, m_l1EtMissMET, m_l1EtMissMHT, m_l1ExtraTag, m_l1ForJetTag, m_l1GlobalDecision, m_l1GtMenu, m_l1GtMenuCacheID, m_l1GtReadoutRecordTag, m_l1GtTmAlgo, m_l1GtTmAlgoCacheID, m_l1GtTmTech, m_l1GtTmTechCacheID, m_l1IsoEGTag, m_l1MuonTag, m_l1NoIsoEGTag, m_l1TauJetTag, m_l1TechTriggerSeeding, m_l1UseAliasesForSeeding, m_l1UseL1TriggerObjectMaps, m_triggerMaskAlgoTrig, m_triggerMaskTechTrig, edm::Handle< T >::product(), edm::ESHandle< class >::product(), HLTFilter::saveTags(), seedsL1Extra(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
get the vector of object types for a condition cndName on the GTL chip chipNumber
Definition at line 358 of file HLTLevel1GTSeed.cc.
References asciidump::at, edm::hlt::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 1258 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, ETM, ETT, ForJet, edm::Event::getByLabel(), HTM, HTT, IsoEG, edm::HandleBase::isValid(), JetCounts, LogDebug, LogTrace, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1CenJetTag, m_l1EtMissMET, m_l1EtMissMHT, m_l1ForJetTag, m_l1IsoEGTag, m_l1MuonTag, m_l1NoIsoEGTag, m_l1NrBxInEvent, m_l1TauJetTag, Mu, NoIsoEG, 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 683 of file HLTLevel1GTSeed.cc.
References trigger::TriggerRefsCollections::addObject(), CenJet, L1GlobalTriggerReadoutRecord::decisionWord(), ETM, ETT, L1GtLogicParser::expressionResult(), L1GtLogicParser::expressionSeedsOperandList(), ForJet, edm::Event::getByLabel(), L1GlobalTriggerObjectMap::getCombinationsInCond(), HTM, HTT, i, IsoEG, edm::HandleBase::isValid(), JetCounts, LogDebug, LogTrace, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, m_l1CenJetTag, m_l1EtMissMET, m_l1EtMissMHT, m_l1ForJetTag, m_l1GtObjectMapTag, m_l1GtReadoutRecordTag, m_l1IsoEGTag, m_l1MuonTag, m_l1NoIsoEGTag, m_l1SeedsLogicalExpression, m_l1TauJetTag, m_triggerMaskAlgoTrig, Mu, NoIsoEG, L1GlobalTriggerObjectMap::operandTokenVector(), L1GlobalTriggerReadoutRecord::printGtDecision(), 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 374 of file HLTLevel1GTSeed.cc.
References debugPrint(), edm::hlt::Exception, L1GtTriggerMenu::gtTriggerMenuName(), i, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, m_l1AlgoSeedsObjType, m_l1AlgoSeedsRpn, objectTypeVec(), and L1GtLogicParser::operandTokenVector().
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
update the tokenResult members from m_l1AlgoLogicParser for a new event
Definition at line 465 of file HLTLevel1GTSeed.cc.
References debugPrint(), i, m_isDebugEnabled, m_l1AlgoLogicParser, m_l1AlgoSeeds, and L1GtLogicParser::operandTokenVector().
|
private |
cache edm::isDebugEnabled()
Definition at line 185 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
logic parser for m_l1SeedsLogicalExpression
Definition at line 120 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), debugPrint(), hltFilter(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
list of required algorithms for seeding
Definition at line 123 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 129 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 126 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), HLTLevel1GTSeed(), seedsL1TriggerObjectMaps(), and updateAlgoLogicParser().
|
private |
Definition at line 175 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
InputTag for L1 particle collections (except muon)
Definition at line 165 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
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 hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 172 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 176 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
replace string "L1GlobalDecision" with bool to speed up the "if"
Definition at line 182 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
trigger menu
Definition at line 104 of file HLTLevel1GTSeed.h.
Referenced by debugPrint(), hltFilter(), and objectTypeVec().
|
private |
Definition at line 105 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
InputTag for L1 Global Trigger object maps.
Definition at line 162 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
InputTag for the L1 Global Trigger DAQ readout record.
Definition at line 159 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
|
private |
Definition at line 109 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
Definition at line 111 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().
|
private |
Definition at line 112 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
Definition at line 173 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
InputTag for L1 muon collection.
Definition at line 168 of file HLTLevel1GTSeed.h.
Referenced by HLTLevel1GTSeed().
|
private |
cached InputTags
Definition at line 171 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 174 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), 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 146 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 156 of file HLTLevel1GTSeed.h.
Referenced by convertStringToBitNumber(), HLTLevel1GTSeed(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 177 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), seedsL1Extra(), and seedsL1TriggerObjectMaps().
|
private |
seeding done via technical trigger bits, if value is "true"
Definition at line 149 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 152 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 142 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and HLTLevel1GTSeed().
|
private |
Definition at line 114 of file HLTLevel1GTSeed.h.
Referenced by hltFilter(), and seedsL1TriggerObjectMaps().
|
private |
Definition at line 115 of file HLTLevel1GTSeed.h.
Referenced by hltFilter().