![]() |
![]() |
Removes duplicates from a muon collection using segment references. More...
Public Member Functions | |
bool | isBetterMuon (const T &mu1, const T &mu2) const |
bool | isSameMuon (const T &mu1, const T &mu2) const |
template<> | |
bool | isSameMuon (const pat::Muon &mu1, const pat::Muon &mu2) const |
template<> | |
bool | isSameMuon (const pat::Muon &mu1, const pat::Muon &mu2) const |
MuonCleanerBySegmentsT (const edm::ParameterSet &iConfig) | |
virtual void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
virtual | ~MuonCleanerBySegmentsT () |
![]() | |
EDProducer () | |
virtual | ~EDProducer () |
![]() | |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
![]() | |
EDConsumerBase () | |
ProductHolderIndex | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
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 | |
![]() | |
typedef EDProducer | ModuleType |
typedef WorkerT< EDProducer > | WorkerType |
![]() | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
![]() | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
![]() | |
CurrentProcessingContext const * | currentContext () const |
![]() | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
![]() | |
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 41 of file MuonCleanerBySegments.cc.
|
private |
Cut on the pair of objects together.
Definition at line 70 of file MuonCleanerBySegments.cc.
|
explicit |
Definition at line 80 of file MuonCleanerBySegments.cc.
|
inlinevirtual |
Definition at line 44 of file MuonCleanerBySegments.cc.
bool modules::MuonCleanerBySegmentsT< T >::isBetterMuon | ( | const T & | mu1, |
const T & | mu2 | ||
) | const |
Definition at line 135 of file MuonCleanerBySegments.cc.
References Geom::deltaR2(), and reco::Muon::SegmentArbitration.
|
inline |
Definition at line 48 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 155 of file MuonCleanerBySegments.cc.
References pat::PATObject< ObjectType >::originalObjectRef().
|
overridevirtual |
Implements edm::EDProducer.
Definition at line 94 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 71 of file MuonCleanerBySegments.cc.
|
private |
Use default criteria to choose the best muon.
Definition at line 68 of file MuonCleanerBySegments.cc.
|
private |
Always-accept cut.
Definition at line 62 of file MuonCleanerBySegments.cc.
|
private |
Preselection cut.
Definition at line 60 of file MuonCleanerBySegments.cc.
|
private |
Fraction of shared segments.
Definition at line 65 of file MuonCleanerBySegments.cc.
|
private |
Labels for input collections.
Definition at line 57 of file MuonCleanerBySegments.cc.