#include <HLTMuonL1Filter.h>
Public Member Functions | |
bool | hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override |
HLTMuonL1Filter (const edm::ParameterSet &) | |
~HLTMuonL1Filter () override | |
Public Member Functions inherited from HLTFilter | |
HLTFilter (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 |
~HLTFilter () override | |
Public Member Functions inherited from edm::global::EDFilter<> | |
EDFilter ()=default | |
bool | hasAbilityToProduceInLumis () const final |
bool | hasAbilityToProduceInRuns () const final |
bool | wantsGlobalLuminosityBlocks () const final |
bool | wantsGlobalRuns () const final |
bool | wantsStreamLuminosityBlocks () const final |
bool | wantsStreamRuns () const final |
Public Member Functions inherited from edm::global::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 () 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 | |
ESProxyIndex const * | esGetTokenIndices (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::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) |
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
virtual | ~EDConsumerBase () noexcept(false) |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from HLTFilter | |
static void | makeHLTFilterDescription (edm::ParameterSetDescription &desc) |
Static Public Member Functions inherited from edm::global::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Member Functions | |
bool | isSingleSegmentCSC (const l1extra::L1MuonParticleRef &muon, L1CSCTrackCollection const &csctfTracks, L1MuTriggerScales const &scales) const |
checks if the passed L1MuExtraParticle is a single segment CSC More... | |
Private Attributes | |
edm::InputTag | candTag_ |
input tag identifying the product containing muons More... | |
edm::EDGetTokenT< l1extra::L1MuonParticleCollection > | candToken_ |
edm::InputTag | csctfTag_ |
input tag identifying the product containing CSCTF tracks More... | |
edm::EDGetTokenT< L1CSCTrackCollection > | csctfToken_ |
bool | excludeSingleSegmentCSC_ |
should we exclude single-segment CSC trigger objects from our counting? More... | |
double | maxEta_ |
max Eta cut More... | |
int | minN_ |
required number of passing candidates to pass the filter More... | |
double | minPt_ |
pT threshold More... | |
edm::InputTag | previousCandTag_ |
input tag identifying the product containing refs to muons passing the previous level More... | |
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > | previousCandToken_ |
int | qualityBitMask_ |
Additional Inherited Members | |
Public Types inherited from edm::global::EDFilterBase | |
typedef EDFilterBase | 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
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) |
See header file for documentation
This class is an HLTFilter (-> EDFilter) implementing a filter on L1 GMT input
Definition at line 29 of file HLTMuonL1Filter.h.
|
explicit |
Definition at line 32 of file HLTMuonL1Filter.cc.
References candTag_, edm::errors::Configuration, csctfTag_, edm::InputTag::encode(), Exception, excludeSingleSegmentCSC_, mps_fire::i, edm::isDebugEnabled(), LogDebug, maxEta_, minN_, minPt_, previousCandTag_, qualityBitMask_, HLTFilter::saveTags(), and ~HLTMuonL1Filter().
|
overridedefault |
Referenced by HLTMuonL1Filter().
|
static |
Definition at line 80 of file HLTMuonL1Filter.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and HLTFilter::makeHLTFilterDescription().
|
overridevirtual |
handle for CSCTFtracks
Implements HLTFilter.
Definition at line 105 of file HLTMuonL1Filter.cc.
References accept(), trigger::TriggerFilterObjectWithRefs::addCollectionTag(), trigger::TriggerRefsCollections::addObject(), allMuons_cfi::allMuons, candTag_, candToken_, csctfToken_, excludeSingleSegmentCSC_, spr::find(), alignBH_cfg::fixed, edm::EventSetup::get(), edm::Event::getByToken(), trigger::TriggerRefsCollections::getObjects(), mps_fire::i, edm::isDebugEnabled(), isSingleSegmentCSC(), trigger::TriggerRefsCollections::l1muonSize(), LogDebug, maxEta_, minN_, minPt_, RPCpg::mu, metsig::muon, gen::n, previousCandToken_, edm::Handle< T >::product(), edm::ESHandle< T >::product(), jets_cff::quality, qualityBitMask_, HLTFilter::saveTags(), and trigger::TriggerL1Mu.
|
private |
checks if the passed L1MuExtraParticle is a single segment CSC
Definition at line 198 of file HLTMuonL1Filter.cc.
References DEFINE_FWK_MODULE, L1MuScale::getCenter(), L1MuScale::getLowEdge(), L1MuTriggerScales::getPhiScale(), L1MuTriggerScales::getRegionalEtaScale(), and Pi.
Referenced by hltFilter().
|
private |
input tag identifying the product containing muons
Definition at line 39 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().
|
private |
Definition at line 40 of file HLTMuonL1Filter.h.
Referenced by hltFilter().
|
private |
input tag identifying the product containing CSCTF tracks
Definition at line 82 of file HLTMuonL1Filter.h.
Referenced by HLTMuonL1Filter().
|
private |
Definition at line 83 of file HLTMuonL1Filter.h.
Referenced by hltFilter().
|
private |
should we exclude single-segment CSC trigger objects from our counting?
Definition at line 76 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().
|
private |
max Eta cut
Definition at line 47 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().
|
private |
required number of passing candidates to pass the filter
Definition at line 73 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().
|
private |
pT threshold
Definition at line 50 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().
|
private |
input tag identifying the product containing refs to muons passing the previous level
Definition at line 43 of file HLTMuonL1Filter.h.
Referenced by HLTMuonL1Filter().
|
private |
Definition at line 44 of file HLTMuonL1Filter.h.
Referenced by hltFilter().
|
private |
Quality codes:
0 .. no muon 1 .. beam halo muon (CSC) 2 .. very low quality level 1 (e.g. ignore in single and di-muon trigger) 3 .. very low quality level 2 (e.g. ignore in single muon trigger use in di-muon trigger) 4 .. very low quality level 3 (e.g. ignore in di-muon trigger, use in single-muon trigger) 5 .. unmatched RPC 6 .. unmatched DT or CSC 7 .. matched DT-RPC or CSC-RPC
attention: try not to rely on quality codes in analysis: they may change again
Quality bit mask:
the eight lowest order or least significant bits correspond to the qulity codes above; if a bit is 1, that code is accepted, otherwise not; example: 11101000 accepts qualities 3, 5, 6, 7
Definition at line 70 of file HLTMuonL1Filter.h.
Referenced by hltFilter(), and HLTMuonL1Filter().