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::InputTag | src_ |
Labels for input collections. More... | |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
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) |
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.
|
inlinevirtual |
Definition at line 43 of file MuonCleanerBySegments.cc.
bool modules::MuonCleanerBySegmentsT< T >::isBetterMuon | ( | const T & | mu1, |
const T & | mu2 | ||
) | const |
Definition at line 134 of file MuonCleanerBySegments.cc.
References Geom::deltaR2(), and reco::Muon::SegmentArbitration.
|
inline |
Definition at line 47 of file MuonCleanerBySegments.cc.
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().
|
overridevirtual |
Implements edm::EDProducer.
Definition at line 93 of file MuonCleanerBySegments.cc.
References edm::Event::getByLabel(), i, j, dbtoconf::out, edm::Event::put(), reco::Muon::SegmentArbitration, muon::sharedSegments(), and alcazmumu_cfi::src.
|
private |
Definition at line 70 of file MuonCleanerBySegments.cc.
|
private |
Use default criteria to choose the best muon.
Definition at line 67 of file MuonCleanerBySegments.cc.
|
private |
Always-accept cut.
Definition at line 61 of file MuonCleanerBySegments.cc.
|
private |
Preselection cut.
Definition at line 59 of file MuonCleanerBySegments.cc.
|
private |
Fraction of shared segments.
Definition at line 64 of file MuonCleanerBySegments.cc.
|
private |
Labels for input collections.
Definition at line 56 of file MuonCleanerBySegments.cc.