#include <PFMuonAlgo.h>
Classes | |
class | IndexPtComparator |
class | TrackMETComparator |
class | TrackPtErrorSorter |
Static Public Member Functions | |
static bool | isGlobalLooseMuon (const reco::PFBlockElement &elt) |
static bool | isGlobalLooseMuon (const reco::MuonRef &muonRef) |
static bool | isGlobalTightMuon (const reco::PFBlockElement &elt) |
static bool | isGlobalTightMuon (const reco::MuonRef &muonRef) |
static bool | isIsolatedMuon (const reco::PFBlockElement &elt) |
static bool | isIsolatedMuon (const reco::MuonRef &muonRef) |
static bool | isLooseMuon (const reco::PFBlockElement &elt) |
static bool | isLooseMuon (const reco::MuonRef &muonRef) |
static bool | isMuon (const reco::PFBlockElement &elt) |
static bool | isMuon (const reco::MuonRef &muonRef) |
static bool | isTightMuonPOG (const reco::MuonRef &muonRef) |
static bool | isTrackerLooseMuon (const reco::PFBlockElement &elt) |
static bool | isTrackerLooseMuon (const reco::MuonRef &muonRef) |
static bool | isTrackerTightMuon (const reco::PFBlockElement &elt) |
static bool | isTrackerTightMuon (const reco::MuonRef &muonRef) |
static void | printMuonProperties (const reco::MuonRef &muonRef) |
Private Types | |
typedef reco::Muon::MuonTrackType | MuonTrackType |
typedef reco::Muon::MuonTrackTypePair | MuonTrackTypePair |
Private Member Functions | |
bool | cleanMismeasured (reco::PFCandidate &, unsigned int) |
bool | cleanPunchThroughAndFakes (reco::PFCandidate &, reco::PFCandidateCollection *, unsigned int) |
void | estimateEventQuantities (const reco::PFCandidateCollection *) |
std::pair< double, double > | getMinMaxMET2 (const reco::PFCandidate &) |
MuonTrackTypePair | getTrackWithSmallestError (const std::vector< MuonTrackTypePair > &) |
std::vector< reco::Muon::MuonTrackTypePair > | goodMuonTracks (const reco::MuonRef &muon, bool includeSA=false) |
std::vector< reco::Muon::MuonTrackTypePair > | muonTracks (const reco::MuonRef &muon, bool includeSA=false, double dpt=1e+9) |
void | removeDeadCandidates (reco::PFCandidateCollection *, const std::vector< unsigned int > &) |
std::vector< MuonTrackTypePair > | tracksPointingAtMET (const std::vector< MuonTrackTypePair > &) |
std::vector< MuonTrackTypePair > | tracksWithBetterMET (const std::vector< MuonTrackTypePair > &, const reco::PFCandidate &) |
Definition at line 12 of file PFMuonAlgo.h.
|
private |
Definition at line 15 of file PFMuonAlgo.h.
|
private |
Definition at line 14 of file PFMuonAlgo.h.
PFMuonAlgo::PFMuonAlgo | ( | edm::ParameterSet const & | ) |
constructor
Definition at line 26 of file PFMuonAlgo.cc.
void PFMuonAlgo::addMissingMuons | ( | edm::Handle< reco::MuonCollection > | muons, |
reco::PFCandidateCollection * | cands | ||
) |
Definition at line 863 of file PFMuonAlgo.cc.
References changeTrack(), ALCARECOTkAlJpsiMuMu_cff::charge, cosmicRejDistance_, particleFlow_cfi::dEta, particleFlow_cfi::dPhi, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, goodMuonTracks(), mps_fire::i, edm::Ref< C, T, F >::isNonnull(), METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), pfAddedMuonCandidates_, pfElectronTranslator_cfi::PFCandidate, postCleaning_, mathSSE::sqrt(), reco::PFCandidate::trackRef(), l1t::tracks, tracksPointingAtMET(), and vertices_.
Referenced by PFAlgo::reconstructParticles().
void PFMuonAlgo::changeTrack | ( | reco::PFCandidate & | candidate, |
const MuonTrackTypePair & | track | ||
) |
Definition at line 702 of file PFMuonAlgo.cc.
References reco::Muon::CombinedTrack, reco::Muon::DYT, reco::Muon::InnerTrack, reco::PFCandidate::mu, reco::Muon::Picky, reco::LeafCandidate::setCharge(), reco::PFCandidate::setMuonTrackType(), reco::LeafCandidate::setP4(), reco::PFCandidate::setParticleType(), reco::PFCandidate::setVertexSource(), mathSSE::sqrt(), reco::Muon::TPFMS, and tkIsoDeposits_cff::trackType.
Referenced by addMissingMuons(), cleanMismeasured(), and reconstructMuon().
|
private |
Definition at line 971 of file PFMuonAlgo.cc.
References changeTrack(), eventFractionRejection_, goodMuonTracks(), maskedIndices_, metFactorRejection_, metSigForRejection_, METX_, METY_, minPostCleaningPt_, reco::PFCandidate::muonRef(), pfCleanedTrackerAndGlobalMuonCandidates_, pfFakeMuonCleanedCandidates_, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), sumet_, sumetPU_, l1t::tracks, and tracksWithBetterMET().
Referenced by postClean(), and transferAddedMuonCandidates().
|
private |
Definition at line 1080 of file PFMuonAlgo.cc.
References reco::PFCandidate::elementsInBlocks(), reco::LeafCandidate::eta(), getMinMaxMET2(), reco::PFCandidate::h, reco::PFCandidate::h0, mps_fire::i, isIsolatedMuon(), edm::Ref< C, T, F >::isNonnull(), edm::Ref< C, T, F >::key(), maskedIndices_, SiStripPI::max, metFactorFake_, metFactorHighEta_, METX_, METY_, minPostCleaningPt_, minPunchThroughEnergy_, minPunchThroughMomentum_, reco::PFCandidate::muonRef(), reco::LeafCandidate::p(), reco::PFCandidate::particleId(), pfFakeMuonCleanedCandidates_, pfPunchThroughHadronCleanedCandidates_, pfPunchThroughMuonCleanedCandidates_, reco::LeafCandidate::pt(), ptFactorHighEta_, punchThroughFactor_, punchThroughMETFactor_, reco::PFCandidate::rawEcalEnergy(), reco::PFCandidate::rawHcalEnergy(), edm::second(), sumet_, and sumetPU_.
Referenced by postClean(), and transferAddedMuonCandidates().
|
private |
Definition at line 740 of file PFMuonAlgo.cc.
References mps_fire::i, METX_, METY_, sumet_, and sumetPU_.
Referenced by postClean(), and transferAddedMuonCandidates().
|
private |
Definition at line 951 of file PFMuonAlgo.cc.
References goodMuonTracks(), mps_fire::i, METX_, METY_, reco::PFCandidate::muonRef(), funct::pow(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and l1t::tracks.
Referenced by cleanPunchThroughAndFakes(), and transferAddedMuonCandidates().
|
private |
Definition at line 731 of file PFMuonAlgo.cc.
References MCScenario_CRAFT1_22X::sorter().
Referenced by reconstructMuon(), and transferAddedMuonCandidates().
|
private |
Definition at line 559 of file PFMuonAlgo.cc.
References maxDPtOPt_, and muonTracks().
Referenced by addMissingMuons(), cleanMismeasured(), getMinMaxMET2(), hasValidTrack(), reconstructMuon(), and transferAddedMuonCandidates().
bool PFMuonAlgo::hasValidTrack | ( | const reco::MuonRef & | muonRef, |
bool | loose = false |
||
) |
Definition at line 412 of file PFMuonAlgo.cc.
References goodMuonTracks(), and muonTracks().
|
static |
Definition at line 111 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by isLooseMuon().
|
static |
Definition at line 254 of file PFMuonAlgo.cc.
References muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), min(), jets_cff::quality, mps_fire::result, and muon::TMLastStationAngTight.
|
static |
Definition at line 98 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by isMuon(), and PFAlgo::processBlock().
|
static |
Definition at line 163 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), min(), jets_cff::quality, mps_fire::result, and muon::TM2DCompatibilityTight.
|
static |
Definition at line 137 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by cleanPunchThroughAndFakes(), GreedyMuonPFCandidateFilter::filter(), isMuon(), and PFAlgo::processBlock().
|
static |
Definition at line 345 of file PFMuonAlgo.cc.
References edm::Ref< C, T, F >::isNonnull(), and objects.autophobj::relIso.
|
static |
Definition at line 78 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), PFAlgo::processBlock(), and reconstructMuon().
|
static |
Definition at line 156 of file PFMuonAlgo.cc.
References isGlobalLooseMuon(), and isTrackerLooseMuon().
|
static |
Definition at line 66 of file PFMuonAlgo.cc.
Referenced by GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), PFEGammaAlgo::isMuon(), PFAlgo::processBlock(), reconstructMuon(), and PFElectronAlgo::SetLinks().
|
static |
Definition at line 150 of file PFMuonAlgo.cc.
References isGlobalTightMuon(), isIsolatedMuon(), and isTrackerTightMuon().
|
static |
Definition at line 389 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, and muon::isGoodMuon().
|
static |
Referenced by isLooseMuon().
|
static |
Definition at line 323 of file PFMuonAlgo.cc.
References muon::AllArbitrated, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), jets_cff::quality, and muon::TMLastStationAngTight.
|
static |
Definition at line 124 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by isMuon(), and PFAlgo::processBlock().
|
static |
Definition at line 226 of file PFMuonAlgo.cc.
References muon::AllArbitrated, reco::TrackBase::hitPattern(), muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), reco::HitPattern::numberOfValidTrackerHits(), muon::TM2DCompatibilityTight, and HiIsolationCommonParameters_cff::track.
|
private |
Definition at line 565 of file PFMuonAlgo.cc.
References reco::Muon::CombinedTrack, reco::Muon::DYT, reco::Muon::InnerTrack, edm::Ref< C, T, F >::isNonnull(), MillePedeFileConverter_cfg::out, reco::Muon::OuterTrack, reco::Muon::Picky, and reco::Muon::TPFMS.
Referenced by goodMuonTracks(), hasValidTrack(), reconstructMuon(), and transferAddedMuonCandidates().
void PFMuonAlgo::postClean | ( | reco::PFCandidateCollection * | cands | ) |
Definition at line 759 of file PFMuonAlgo.cc.
References egammaForCoreTracking_cff::cands, cleanMismeasured(), cleanPunchThroughAndFakes(), cosmicRejDistance_, GlobalTrackerMuonAlignment_cfi::cosmics, estimateEventQuantities(), eventFactorCosmics_, mps_fire::i, maskedIndices_, METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), extraflags_cff::muons, reco::PFCandidate::particleId(), pfCleanedTrackerAndGlobalMuonCandidates_, pfCosmicsMuonCleanedCandidates_, pfFakeMuonCleanedCandidates_, pfPunchThroughHadronCleanedCandidates_, pfPunchThroughMuonCleanedCandidates_, postCleaning_, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), removeDeadCandidates(), sumet_, sumetPU_, and vertices_.
Referenced by PFAlgo::reconstructParticles().
|
static |
Definition at line 422 of file PFMuonAlgo.cc.
References gather_cfg::cout, delta, reco::TrackBase::hitPattern(), muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), SiStripPI::max, min(), reco::HitPattern::numberOfValidTrackerHits(), particleFlowDisplacedVertex_cfi::ratio, mathSSE::sqrt(), conversionPostprocessing_cfi::standAlone, muon::TM2DCompatibilityLoose, muon::TM2DCompatibilityTight, muon::TMLastStationAngLoose, muon::TMLastStationAngTight, muon::TMLastStationLoose, muon::TMLastStationOptimizedBarrelLowPtLoose, muon::TMLastStationOptimizedBarrelLowPtTight, muon::TMLastStationOptimizedLowPtLoose, muon::TMLastStationOptimizedLowPtTight, muon::TMLastStationTight, muon::TMOneStationLoose, muon::TMOneStationTight, HiIsolationCommonParameters_cff::track, and trackingTruthProducer_cfi::tracker.
bool PFMuonAlgo::reconstructMuon | ( | reco::PFCandidate & | candidate, |
const reco::MuonRef & | muon, | ||
bool | allowLoose = false |
||
) |
Definition at line 627 of file PFMuonAlgo.cc.
References changeTrack(), errorCompScale_, getTrackWithSmallestError(), goodMuonTracks(), reco::Muon::InnerTrack, isLooseMuon(), jets_cff::isMu, isMuon(), edm::Ref< C, T, F >::isNonnull(), muonTracks(), reco::PFCandidate::setMuonRef(), muon::tevOptimized(), trackQuality_, and tkIsoDeposits_cff::trackType.
Referenced by PFAlgo::reconstructTrack().
|
private |
Definition at line 1173 of file PFMuonAlgo.cc.
References mps_fire::i, and N.
Referenced by postClean(), and transferAddedMuonCandidates().
void PFMuonAlgo::setInputsForCleaning | ( | reco::VertexCollection const & | vertices | ) |
Definition at line 1078 of file PFMuonAlgo.cc.
References electrons_cff::vertices, and vertices_.
Referenced by PFAlgo::setPFVertexParameters().
|
private |
Definition at line 1058 of file PFMuonAlgo.cc.
References mps_fire::i, metFactorCleaning_, METX_, METY_, and funct::pow().
Referenced by addMissingMuons(), and transferAddedMuonCandidates().
|
private |
Definition at line 1030 of file PFMuonAlgo.cc.
References eventFractionCleaning_, mps_fire::i, metFactorCleaning_, metSigForCleaning_, METX_, METY_, funct::pow(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), sumet_, and sumetPU_.
Referenced by cleanMismeasured(), and transferAddedMuonCandidates().
|
inline |
Definition at line 79 of file PFMuonAlgo.h.
References cleanMismeasured(), cleanPunchThroughAndFakes(), MillePedeFileConverter_cfg::e, estimateEventQuantities(), getMinMaxMET2(), getTrackWithSmallestError(), goodMuonTracks(), eostools::move(), muonTracks(), pfAddedMuonCandidates_, removeDeadCandidates(), tracksPointingAtMET(), and tracksWithBetterMET().
Referenced by PFProducer::produce().
|
inline |
Definition at line 59 of file PFMuonAlgo.h.
References eostools::move(), and pfCosmicsMuonCleanedCandidates_.
Referenced by PFProducer::produce().
|
inline |
Definition at line 67 of file PFMuonAlgo.h.
References eostools::move(), and pfFakeMuonCleanedCandidates_.
Referenced by PFProducer::produce().
|
inline |
Definition at line 63 of file PFMuonAlgo.h.
References eostools::move(), and pfCleanedTrackerAndGlobalMuonCandidates_.
Referenced by PFProducer::produce().
|
inline |
Definition at line 75 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughHadronCleanedCandidates_.
Referenced by PFProducer::produce().
|
inline |
Definition at line 71 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughMuonCleanedCandidates_.
Referenced by PFProducer::produce().
|
private |
Definition at line 154 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 138 of file PFMuonAlgo.h.
|
private |
Definition at line 136 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 141 of file PFMuonAlgo.h.
Referenced by postClean().
|
private |
Definition at line 137 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 145 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 123 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), and postClean().
|
private |
Definition at line 132 of file PFMuonAlgo.h.
Referenced by goodMuonTracks().
|
private |
Definition at line 144 of file PFMuonAlgo.h.
Referenced by tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 149 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 147 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 146 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 142 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 143 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 158 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 159 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 134 of file PFMuonAlgo.h.
|
private |
Definition at line 140 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), and cleanPunchThroughAndFakes().
|
private |
Definition at line 151 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 150 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 133 of file PFMuonAlgo.h.
|
private |
the collection of added muon candidates
Definition at line 121 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and transferAddedMuonCandidates().
|
private |
the collection of tracker/global cleaned muon candidates
Definition at line 113 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), postClean(), and transferCleanedTrackerAndGlobalCandidates().
|
private |
the collection of cosmics cleaned muon candidates
Definition at line 111 of file PFMuonAlgo.h.
Referenced by postClean(), and transferCleanedCosmicCandidates().
|
private |
the collection of fake cleaned muon candidates
Definition at line 115 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), postClean(), and transferCleanedFakeCandidates().
|
private |
the collection of punch-through cleaned neutral hadron candidates
Definition at line 119 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedHadronCandidates().
|
private |
the collection of punch-through cleaned muon candidates
Definition at line 117 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedMuonCandidates().
|
private |
Definition at line 139 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 148 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 152 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 153 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 157 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 156 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 135 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 127 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), postClean(), and setInputsForCleaning().