#include <PFMuonAlgo.h>
Classes | |
class | IndexPtComparator |
class | TrackMETComparator |
class | TrackPtErrorSorter |
Public Member Functions | |
void | addMissingMuons (edm::Handle< reco::MuonCollection >, reco::PFCandidateCollection *cands) |
void | changeTrack (reco::PFCandidate &, const MuonTrackTypePair &) |
PFMuonAlgo (edm::ParameterSet const &, bool postMuonCleaning) | |
constructor More... | |
void | postClean (reco::PFCandidateCollection *) |
bool | reconstructMuon (reco::PFCandidate &, const reco::MuonRef &, bool allowLoose=false) |
void | setInputsForCleaning (reco::VertexCollection const &) |
std::unique_ptr< reco::PFCandidateCollection > | transferAddedMuonCandidates () |
std::unique_ptr< reco::PFCandidateCollection > | transferCleanedCosmicCandidates () |
std::unique_ptr< reco::PFCandidateCollection > | transferCleanedFakeCandidates () |
std::unique_ptr< reco::PFCandidateCollection > | transferCleanedTrackerAndGlobalCandidates () |
std::unique_ptr< reco::PFCandidateCollection > | transferPunchThroughCleanedHadronCandidates () |
std::unique_ptr< reco::PFCandidateCollection > | transferPunchThroughCleanedMuonCandidates () |
Static Public Member Functions | |
static void | fillPSetDescription (edm::ParameterSetDescription &iDesc) |
static bool | hasValidTrack (const reco::MuonRef &muonRef, bool loose, double maxDPtOPt) |
static bool | isGlobalLooseMuon (const reco::MuonRef &muonRef) |
static bool | isGlobalLooseMuon (const reco::PFBlockElement &elt) |
static bool | isGlobalTightMuon (const reco::MuonRef &muonRef) |
static bool | isGlobalTightMuon (const reco::PFBlockElement &elt) |
static bool | isIsolatedMuon (const reco::MuonRef &muonRef) |
static bool | isIsolatedMuon (const reco::PFBlockElement &elt) |
static bool | isLooseMuon (const reco::MuonRef &muonRef) |
static bool | isLooseMuon (const reco::PFBlockElement &elt) |
static bool | isMuon (const reco::MuonRef &muonRef) |
static bool | isMuon (const reco::PFBlockElement &elt) |
static bool | isTightMuonPOG (const reco::MuonRef &muonRef) |
static bool | isTrackerLooseMuon (const reco::MuonRef &muonRef) |
static bool | isTrackerLooseMuon (const reco::PFBlockElement &elt) |
static bool | isTrackerTightMuon (const reco::MuonRef &muonRef) |
static bool | isTrackerTightMuon (const reco::PFBlockElement &elt) |
static std::vector< reco::Muon::MuonTrackTypePair > | muonTracks (const reco::MuonRef &muon, double maxDPtOPt=1e+9, bool includeSA=false) |
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 > &) |
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 13 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 & | iConfig, |
bool | postMuonCleaning | ||
) |
constructor
Definition at line 17 of file PFMuonAlgo.cc.
void PFMuonAlgo::addMissingMuons | ( | edm::Handle< reco::MuonCollection > | muons, |
reco::PFCandidateCollection * | cands | ||
) |
Definition at line 717 of file PFMuonAlgo.cc.
References HLT_FULL_cff::cands, changeTrack(), ALCARECOTkAlJpsiMuMu_cff::charge, cosmicRejDistance_, HLT_FULL_cff::dEta, HLT_FULL_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, mps_fire::i, edm::Ref< C, T, F >::isNonnull(), maxDPtOPt_, METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), PDWG_BPHSkim_cff::muons, muonTracks(), pfAddedMuonCandidates_, pfElectronTranslator_cfi::PFCandidate, postCleaning_, mathSSE::sqrt(), reco::PFCandidate::trackRef(), PDWG_EXOHSCP_cff::tracks, tracksPointingAtMET(), and vertices_.
void PFMuonAlgo::changeTrack | ( | reco::PFCandidate & | candidate, |
const MuonTrackTypePair & | track | ||
) |
Definition at line 589 of file PFMuonAlgo.cc.
References HCALHighEnergyHPDFilter_cfi::energy, reco::PFCandidate::mu, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, reco::LeafCandidate::setCharge(), reco::PFCandidate::setMuonTrackType(), reco::LeafCandidate::setP4(), reco::PFCandidate::setParticleType(), reco::LeafCandidate::setVertex(), mathSSE::sqrt(), HLT_FULL_cff::track, and PbPb_ZMuSkimMuonDPG_cff::trackType.
Referenced by addMissingMuons(), cleanMismeasured(), and reconstructMuon().
|
private |
Definition at line 818 of file PFMuonAlgo.cc.
References changeTrack(), eventFractionRejection_, mps_fire::i, maskedIndices_, maxDPtOPt_, metFactorRejection_, metSigForRejection_, METX_, METY_, minPostCleaningPt_, reco::PFCandidate::muonRef(), muonTracks(), pfCleanedTrackerAndGlobalMuonCandidates_, pfFakeMuonCleanedCandidates_, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), sumet_, sumetPU_, PDWG_EXOHSCP_cff::tracks, and tracksWithBetterMET().
Referenced by postClean().
|
private |
Definition at line 916 of file PFMuonAlgo.cc.
References HLT_FULL_cff::cands, reco::PFCandidate::elementsInBlocks(), reco::LeafCandidate::eta(), DQMScaleToClient_cfi::factor, 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().
|
private |
Definition at line 613 of file PFMuonAlgo.cc.
References mps_fire::i, METX_, METY_, sumet_, and sumetPU_.
Referenced by postClean().
|
static |
Definition at line 1016 of file PFMuonAlgo.cc.
References edm::ParameterSetDescription::add(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by PFProducer::fillDescriptions().
|
private |
Definition at line 799 of file PFMuonAlgo.cc.
References mps_fire::i, maxDPtOPt_, METX_, METY_, reco::PFCandidate::muonRef(), muonTracks(), funct::pow(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and PDWG_EXOHSCP_cff::tracks.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 607 of file PFMuonAlgo.cc.
References MCScenario_CRAFT1_22X::sorter(), and PDWG_EXOHSCP_cff::tracks.
Referenced by reconstructMuon().
|
static |
Definition at line 348 of file PFMuonAlgo.cc.
References muonTracks().
Referenced by GeneralTracksImporter::importToBlock(), and GeneralTracksImporterWithVeto::importToBlock().
|
static |
Definition at line 197 of file PFMuonAlgo.cc.
References muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), min(), TrackCollections2monitor_cff::normalizedChi2, qcdUeDQM_cfi::quality, mps_fire::result, and muon::TMLastStationAngTight.
|
static |
Definition at line 76 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isLooseMuon().
|
static |
Definition at line 111 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), min(), qcdUeDQM_cfi::quality, mps_fire::result, and muon::TM2DCompatibilityTight.
|
static |
Definition at line 67 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isMuon().
|
static |
Definition at line 279 of file PFMuonAlgo.cc.
References edm::Ref< C, T, F >::isNonnull(), and objects.autophobj::relIso.
|
static |
Definition at line 94 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by cleanPunchThroughAndFakes(), PFAlgo::createCandidatesHCAL(), GreedyMuonPFCandidateFilter::filter(), and isMuon().
|
static |
Definition at line 107 of file PFMuonAlgo.cc.
References isGlobalLooseMuon(), and isTrackerLooseMuon().
|
static |
Definition at line 57 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by PFAlgo::createCandidatesHCAL(), GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), and reconstructMuon().
|
static |
Definition at line 103 of file PFMuonAlgo.cc.
References isGlobalTightMuon(), isIsolatedMuon(), and isTrackerTightMuon().
|
static |
Definition at line 48 of file PFMuonAlgo.cc.
References cms::cuda::assert().
Referenced by PFAlgo::createCandidatesHCAL(), GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), PFEGammaAlgo::isMuon(), reconstructMuon(), and PFAlgo::recoTracksNotHCAL().
|
static |
Definition at line 323 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, and muon::isGoodMuon().
|
static |
Definition at line 256 of file PFMuonAlgo.cc.
References muon::AllArbitrated, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), qcdUeDQM_cfi::quality, and muon::TMLastStationAngTight.
|
static |
Referenced by isLooseMuon().
|
static |
Definition at line 168 of file PFMuonAlgo.cc.
References muon::AllArbitrated, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), muon::TM2DCompatibilityTight, and HLT_FULL_cff::track.
|
static |
Definition at line 85 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isMuon().
|
static |
Definition at line 479 of file PFMuonAlgo.cc.
References reco::Muon::CombinedTrack, reco::Muon::DYT, reco::Muon::InnerTrack, MillePedeFileConverter_cfg::out, reco::Muon::OuterTrack, reco::Muon::Picky, and reco::Muon::TPFMS.
Referenced by addMissingMuons(), cleanMismeasured(), getMinMaxMET2(), hasValidTrack(), and reconstructMuon().
void PFMuonAlgo::postClean | ( | reco::PFCandidateCollection * | cands | ) |
Definition at line 626 of file PFMuonAlgo.cc.
References HLT_FULL_cff::cands, cleanMismeasured(), cleanPunchThroughAndFakes(), cosmicRejDistance_, GlobalTrackerMuonAlignment_cfi::cosmics, estimateEventQuantities(), eventFactorCosmics_, mps_fire::i, maskedIndices_, METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), PDWG_BPHSkim_cff::muons, pfCleanedTrackerAndGlobalMuonCandidates_, pfCosmicsMuonCleanedCandidates_, pfFakeMuonCleanedCandidates_, pfPunchThroughHadronCleanedCandidates_, pfPunchThroughMuonCleanedCandidates_, postCleaning_, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), removeDeadCandidates(), sumet_, sumetPU_, and vertices_.
|
static |
Definition at line 355 of file PFMuonAlgo.cc.
References gather_cfg::cout, dumpMFGeometry_cfg::delta, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), SiStripPI::max, min(), particleFlowDisplacedVertex_cfi::ratio, mathSSE::sqrt(), egammaDQMOffline_cff::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, HLT_FULL_cff::track, and PbPb_ZMuSkimMuonDPG_cff::tracker.
bool PFMuonAlgo::reconstructMuon | ( | reco::PFCandidate & | candidate, |
const reco::MuonRef & | muon, | ||
bool | allowLoose = false |
||
) |
Definition at line 530 of file PFMuonAlgo.cc.
References changeTrack(), errorCompScale_, getTrackWithSmallestError(), reco::Muon::InnerTrack, isLooseMuon(), jets_cff::isMu, isMuon(), maxDPtOPt_, muonTracks(), reco::PFCandidate::setMuonRef(), muon::tevOptimized(), trackQuality_, and PbPb_ZMuSkimMuonDPG_cff::trackType.
|
private |
Definition at line 1006 of file PFMuonAlgo.cc.
References mps_fire::i, bTagCombinedSVVariables_cff::indices, N, and getGTfromDQMFile::obj.
Referenced by postClean().
void PFMuonAlgo::setInputsForCleaning | ( | reco::VertexCollection const & | vertices | ) |
Definition at line 914 of file PFMuonAlgo.cc.
References pwdgSkimBPark_cfi::vertices, and vertices_.
|
private |
Definition at line 897 of file PFMuonAlgo.cc.
References mps_fire::i, metFactorCleaning_, METX_, METY_, funct::pow(), and PDWG_EXOHSCP_cff::tracks.
Referenced by addMissingMuons().
|
private |
Definition at line 872 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_, sumetPU_, and PDWG_EXOHSCP_cff::tracks.
Referenced by cleanMismeasured().
|
inline |
Definition at line 75 of file PFMuonAlgo.h.
References eostools::move(), and pfAddedMuonCandidates_.
|
inline |
Definition at line 55 of file PFMuonAlgo.h.
References eostools::move(), and pfCosmicsMuonCleanedCandidates_.
|
inline |
Definition at line 63 of file PFMuonAlgo.h.
References eostools::move(), and pfFakeMuonCleanedCandidates_.
|
inline |
Definition at line 59 of file PFMuonAlgo.h.
References eostools::move(), and pfCleanedTrackerAndGlobalMuonCandidates_.
|
inline |
Definition at line 71 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughHadronCleanedCandidates_.
|
inline |
Definition at line 67 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughMuonCleanedCandidates_.
|
private |
Definition at line 143 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 125 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 130 of file PFMuonAlgo.h.
Referenced by postClean().
|
private |
Definition at line 128 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 134 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 115 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), and postClean().
|
private |
Definition at line 122 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), getMinMaxMET2(), and reconstructMuon().
|
private |
Definition at line 133 of file PFMuonAlgo.h.
Referenced by tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 138 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 136 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 135 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 131 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 132 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 147 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 148 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 129 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), and cleanPunchThroughAndFakes().
|
private |
Definition at line 140 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 139 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
the collection of added muon candidates
Definition at line 113 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and transferAddedMuonCandidates().
|
private |
the collection of tracker/global cleaned muon candidates
Definition at line 105 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), postClean(), and transferCleanedTrackerAndGlobalCandidates().
|
private |
the collection of cosmics cleaned muon candidates
Definition at line 103 of file PFMuonAlgo.h.
Referenced by postClean(), and transferCleanedCosmicCandidates().
|
private |
the collection of fake cleaned muon candidates
Definition at line 107 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), postClean(), and transferCleanedFakeCandidates().
|
private |
the collection of punch-through cleaned neutral hadron candidates
Definition at line 111 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedHadronCandidates().
|
private |
the collection of punch-through cleaned muon candidates
Definition at line 109 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedMuonCandidates().
|
private |
Definition at line 127 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 137 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 141 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 142 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 146 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 145 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 124 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 118 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), postClean(), and setInputsForCleaning().