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) | |
void | produce (edm::Event &iEvent, const edm::EventSetup &iSetup) override |
~MuonCleanerBySegmentsT () override | |
Public Member Functions inherited from edm::stream::EDProducer<> | |
EDProducer ()=default | |
EDProducer (const EDProducer &)=delete | |
bool | hasAbilityToProduceInBeginLumis () const final |
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
bool | hasAbilityToProduceInBeginRuns () const final |
bool | hasAbilityToProduceInEndLumis () const final |
bool | hasAbilityToProduceInEndProcessBlocks () const final |
bool | hasAbilityToProduceInEndRuns () const final |
const EDProducer & | operator= (const EDProducer &)=delete |
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::stream::EDProducer<> | |
using | CacheTypes = CacheContexts< T... > |
using | GlobalCache = typename CacheTypes::GlobalCache |
using | HasAbility = AbilityChecker< T... > |
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
using | RunCache = typename CacheTypes::RunCache |
using | RunContext = RunContextT< RunCache, GlobalCache > |
using | RunSummaryCache = typename CacheTypes::RunSummaryCache |
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 38 of file MuonCleanerBySegments.cc.
|
private |
Cut on the pair of objects together.
Definition at line 67 of file MuonCleanerBySegments.cc.
|
explicit |
Definition at line 76 of file MuonCleanerBySegments.cc.
|
inlineoverride |
Definition at line 41 of file MuonCleanerBySegments.cc.
bool modules::MuonCleanerBySegmentsT< T >::isBetterMuon | ( | const T & | mu1, |
const T & | mu2 | ||
) | const |
Definition at line 136 of file MuonCleanerBySegments.cc.
References HLTMuonOfflineAnalyzer_cfi::deltaR2, and reco::Muon::SegmentArbitration.
|
inline |
Definition at line 45 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 159 of file MuonCleanerBySegments.cc.
References pat::PATObject< ObjectType >::originalObjectRef().
|
override |
Definition at line 90 of file MuonCleanerBySegments.cc.
References caHitNtupletGeneratorKernels::good, mps_fire::i, iEvent, dqmiolumiharvest::j, eostools::move(), MillePedeFileConverter_cfg::out, reco::Muon::SegmentArbitration, muon::sharedSegments(), and TrackRefitter_38T_cff::src.
|
private |
Definition at line 68 of file MuonCleanerBySegments.cc.
|
private |
Use default criteria to choose the best muon.
Definition at line 65 of file MuonCleanerBySegments.cc.
|
private |
Always-accept cut.
Definition at line 59 of file MuonCleanerBySegments.cc.
|
private |
Preselection cut.
Definition at line 57 of file MuonCleanerBySegments.cc.
|
private |
Fraction of shared segments.
Definition at line 62 of file MuonCleanerBySegments.cc.
|
private |
Tokens for input collections.
Definition at line 54 of file MuonCleanerBySegments.cc.