Removes duplicates from a muon collection using segment references. More...
Private Types | |
typedef std::pair< const reco::Muon *, const reco::Muon * > | MuonPointerPair |
Cut on the pair of objects together. More... | |
Private Attributes | |
StringCutObjectSelector< MuonPointerPair, true > | bestMuonSelector_ |
bool | defaultBestMuon_ |
Use default criteria to choose the best muon. More... | |
StringCutObjectSelector< T > | passthrough_ |
Always-accept cut. More... | |
StringCutObjectSelector< T > | preselection_ |
Preselection cut. More... | |
double | sharedFraction_ |
Fraction of shared segments. More... | |
edm::EDGetTokenT< edm::View< T > > | srcToken_ |
Tokens for input collections. More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | 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 |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
static bool | wantsGlobalLuminosityBlocks () |
static bool | wantsGlobalRuns () |
static bool | wantsStreamLuminosityBlocks () |
static bool | wantsStreamRuns () |
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) |
Removes duplicates from a muon collection using segment references.
This module removes duplicates from a muon collection using segment references.
All muons that don't pass the preselection are discarded first
Then, for each pair of muons that share at least a given fraction of segments, the worse one is flagged as ghost.
Finally, all muons that are not flagged as ghosts, or which pass a 'passthrough' selection, are saved in the output.
Definition at line 40 of file MuonCleanerBySegments.cc.
|
private |
Cut on the pair of objects together.
Definition at line 69 of file MuonCleanerBySegments.cc.
|
explicit |
Definition at line 79 of file MuonCleanerBySegments.cc.
|
inlineoverride |
Definition at line 43 of file MuonCleanerBySegments.cc.
References iEvent, and modules::MuonCleanerBySegmentsT< T >::produce().
bool modules::MuonCleanerBySegmentsT< T >::isBetterMuon | ( | const T & | mu1, |
const T & | mu2 | ||
) | const |
Definition at line 134 of file MuonCleanerBySegments.cc.
References modules::MuonCleanerBySegmentsT< T >::bestMuonSelector_, modules::MuonCleanerBySegmentsT< T >::defaultBestMuon_, reco::deltaR2(), and reco::Muon::SegmentArbitration.
Referenced by modules::MuonCleanerBySegmentsT< T >::isSameMuon(), and modules::MuonCleanerBySegmentsT< T >::produce().
|
inline |
Definition at line 47 of file MuonCleanerBySegments.cc.
References modules::MuonCleanerBySegmentsT< T >::isBetterMuon().
Referenced by modules::MuonCleanerBySegmentsT< T >::produce().
bool modules::MuonCleanerBySegmentsT< pat::Muon >::isSameMuon | ( | const pat::Muon & | mu1, |
const pat::Muon & | mu2 | ||
) | const |
bool modules::MuonCleanerBySegmentsT< pat::Muon >::isSameMuon | ( | const pat::Muon & | mu1, |
const pat::Muon & | mu2 | ||
) | const |
Definition at line 154 of file MuonCleanerBySegments.cc.
References pat::PATObject< ObjectType >::originalObjectRef().
|
override |
Definition at line 93 of file MuonCleanerBySegments.cc.
References edm::Event::getByToken(), mps_fire::i, modules::MuonCleanerBySegmentsT< T >::isBetterMuon(), modules::MuonCleanerBySegmentsT< T >::isSameMuon(), eostools::move(), MillePedeFileConverter_cfg::out, modules::MuonCleanerBySegmentsT< T >::passthrough_, modules::MuonCleanerBySegmentsT< T >::preselection_, edm::Event::put(), reco::Muon::SegmentArbitration, modules::MuonCleanerBySegmentsT< T >::sharedFraction_, muon::sharedSegments(), TrackRefitter_38T_cff::src, and modules::MuonCleanerBySegmentsT< T >::srcToken_.
Referenced by modules::MuonCleanerBySegmentsT< T >::~MuonCleanerBySegmentsT().
|
private |
Definition at line 70 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::isBetterMuon().
|
private |
Use default criteria to choose the best muon.
Definition at line 67 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::isBetterMuon().
|
private |
Always-accept cut.
Definition at line 61 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::produce().
|
private |
Preselection cut.
Definition at line 59 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::produce().
|
private |
Fraction of shared segments.
Definition at line 64 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::produce().
|
private |
Tokens for input collections.
Definition at line 56 of file MuonCleanerBySegments.cc.
Referenced by modules::MuonCleanerBySegmentsT< T >::produce().