#include <PFMuonAlgo.h>
Classes | |
class | IndexPtComparator |
class | TrackMETComparator |
class | TrackPtErrorSorter |
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::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 int | muAssocToTrack (const reco::TrackRef &trackref, const reco::MuonCollection &muons) |
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 724 of file PFMuonAlgo.cc.
References HLT_2023v12_cff::cands, changeTrack(), ALCARECOTkAlJpsiMuMu_cff::charge, cosmicRejDistance_, HLT_2023v12_cff::dEta, HLT_2023v12_cff::dPhi, HGC3DClusterGenMatchSelector_cfi::dR, mps_fire::i, edm::Ref< C, T, F >::id(), edm::Ref< C, T, F >::isNonnull(), edm::Ref< C, T, F >::key(), pfDeepBoostedJetPreprocessParams_cfi::lower_bound, maxDPtOPt_, METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), DiMuonV_cfg::muons, muonTracks(), pfAddedMuonCandidates_, pfElectronTranslator_cfi::PFCandidate, postCleaning_, jetUpdater_cfi::sort, mathSSE::sqrt(), reco::PFCandidate::trackRef(), DiMuonV_cfg::tracks, tracksPointingAtMET(), vertices_, PbPb_ZMuSkimMuonDPG_cff::veto, and vetoes_.
void PFMuonAlgo::changeTrack | ( | reco::PFCandidate & | candidate, |
const MuonTrackTypePair & | track | ||
) |
Definition at line 596 of file PFMuonAlgo.cc.
References hcalRecHitTable_cff::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_2023v12_cff::track, and PbPb_ZMuSkimMuonDPG_cff::trackType.
Referenced by addMissingMuons(), cleanMismeasured(), and reconstructMuon().
|
private |
Definition at line 845 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_, DiMuonV_cfg::tracks, and tracksWithBetterMET().
Referenced by postClean().
|
private |
Definition at line 943 of file PFMuonAlgo.cc.
References HLT_2023v12_cff::cands, 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().
|
private |
Definition at line 620 of file PFMuonAlgo.cc.
References mps_fire::i, METX_, METY_, sumet_, and sumetPU_.
Referenced by postClean().
|
static |
Definition at line 1043 of file PFMuonAlgo.cc.
References edm::ParameterSetDescription::add(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by PFTICLProducer::fillDescriptions(), and PFProducer::fillDescriptions().
|
private |
Definition at line 826 of file PFMuonAlgo.cc.
References mps_fire::i, maxDPtOPt_, METX_, METY_, reco::PFCandidate::muonRef(), muonTracks(), funct::pow(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and DiMuonV_cfg::tracks.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 614 of file PFMuonAlgo.cc.
References l1ctLayer2EG_cff::sorter, and DiMuonV_cfg::tracks.
Referenced by reconstructMuon().
|
static |
Definition at line 348 of file PFMuonAlgo.cc.
References caHitNtupletGeneratorKernels::loose, particleFlowBlock_cfi::maxDPtOPt, and muonTracks().
Referenced by GeneralTracksImporter::importToBlock().
|
static |
Definition at line 76 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isLooseMuon().
|
static |
Definition at line 197 of file PFMuonAlgo.cc.
References muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), SiStripPI::min, TrackCollections2monitor_cff::normalizedChi2, quality, mps_fire::result, and muon::TMLastStationAngTight.
|
static |
Definition at line 67 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isMuon().
|
static |
Definition at line 111 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), SiStripPI::min, quality, mps_fire::result, and muon::TM2DCompatibilityTight.
|
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 279 of file PFMuonAlgo.cc.
References edm::Ref< C, T, F >::isNonnull(), and objects.autophobj::relIso.
|
static |
Definition at line 57 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by PFAlgo::createCandidatesHCAL(), GeneralTracksImporter::importToBlock(), and reconstructMuon().
|
static |
Definition at line 107 of file PFMuonAlgo.cc.
References isGlobalLooseMuon(), and isTrackerLooseMuon().
|
static |
Definition at line 48 of file PFMuonAlgo.cc.
References cms::cuda::assert().
Referenced by PFAlgo::createCandidatesHCAL(), GeneralTracksImporter::importToBlock(), PFEGammaAlgo::isMuon(), reconstructMuon(), and PFAlgo::recoTracksNotHCAL().
|
static |
Definition at line 103 of file PFMuonAlgo.cc.
References isGlobalTightMuon(), isIsolatedMuon(), and isTrackerTightMuon().
|
static |
Definition at line 323 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, and muon::isGoodMuon().
|
static |
Referenced by isLooseMuon().
|
static |
Definition at line 256 of file PFMuonAlgo.cc.
References muon::AllArbitrated, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), quality, and muon::TMLastStationAngTight.
|
static |
Definition at line 85 of file PFMuonAlgo.cc.
References cms::cuda::assert(), and reco::PFBlockElementTrack::muonRef().
Referenced by isMuon().
|
static |
Definition at line 168 of file PFMuonAlgo.cc.
References muon::AllArbitrated, muon::isGoodMuon(), edm::Ref< C, T, F >::isNonnull(), muon::TM2DCompatibilityTight, and HLT_2023v12_cff::track.
|
static |
Definition at line 479 of file PFMuonAlgo.cc.
References HLT_2023v12_cff::distance, visualization-live-secondInstance_cfg::m, HLT_2023v12_cff::muon, and DiMuonV_cfg::muons.
Referenced by GeneralTracksImporter::importToBlock(), ticl::LinkingAlgoByDirectionGeometric::linkTracksters(), and PFTICLProducer::produce().
|
static |
Definition at line 486 of file PFMuonAlgo.cc.
References reco::Muon::CombinedTrack, reco::Muon::DYT, reco::Muon::InnerTrack, particleFlowBlock_cfi::maxDPtOPt, 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 633 of file PFMuonAlgo.cc.
References HLT_2023v12_cff::cands, cleanMismeasured(), cleanPunchThroughAndFakes(), cosmicRejDistance_, ecal_dqm_sourceclient-live_cfg::cosmics, estimateEventQuantities(), eventFactorCosmics_, mps_fire::i, maskedIndices_, METX_, METY_, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), DiMuonV_cfg::muons, pfCleanedTrackerAndGlobalMuonCandidates_, pfCosmicsMuonCleanedCandidates_, pfFakeMuonCleanedCandidates_, pfPunchThroughHadronCleanedCandidates_, pfPunchThroughMuonCleanedCandidates_, postCleaning_, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), removeDeadCandidates(), jetUpdater_cfi::sort, 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, SiStripPI::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_2023v12_cff::track, and PbPb_ZMuSkimMuonDPG_cff::tracker.
bool PFMuonAlgo::reconstructMuon | ( | reco::PFCandidate & | candidate, |
const reco::MuonRef & | muon, | ||
bool | allowLoose = false |
||
) |
Definition at line 537 of file PFMuonAlgo.cc.
References changeTrack(), errorCompScale_, getTrackWithSmallestError(), reco::Muon::InnerTrack, isLooseMuon(), jetsAK4_CHS_cff::isMu, isMuon(), maxDPtOPt_, muonTracks(), reco::PFCandidate::setMuonRef(), muon::tevOptimized(), trackQuality_, and PbPb_ZMuSkimMuonDPG_cff::trackType.
|
private |
Definition at line 1033 of file PFMuonAlgo.cc.
References mps_fire::i, dqmdumpme::indices, N, and getGTfromDQMFile::obj.
Referenced by postClean().
void PFMuonAlgo::setInputsForCleaning | ( | reco::VertexCollection const & | vertices | ) |
Definition at line 941 of file PFMuonAlgo.cc.
References AlignmentTracksFromVertexSelector_cfi::vertices, and vertices_.
|
inline |
Definition at line 54 of file PFMuonAlgo.h.
References vetoes_.
Referenced by PFProducer::produce().
|
private |
Definition at line 924 of file PFMuonAlgo.cc.
References mps_fire::i, metFactorCleaning_, METX_, METY_, funct::pow(), and DiMuonV_cfg::tracks.
Referenced by addMissingMuons().
|
private |
Definition at line 899 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 DiMuonV_cfg::tracks.
Referenced by cleanMismeasured().
|
inline |
Definition at line 76 of file PFMuonAlgo.h.
References eostools::move(), and pfAddedMuonCandidates_.
|
inline |
Definition at line 56 of file PFMuonAlgo.h.
References eostools::move(), and pfCosmicsMuonCleanedCandidates_.
|
inline |
Definition at line 64 of file PFMuonAlgo.h.
References eostools::move(), and pfFakeMuonCleanedCandidates_.
|
inline |
Definition at line 60 of file PFMuonAlgo.h.
References eostools::move(), and pfCleanedTrackerAndGlobalMuonCandidates_.
|
inline |
Definition at line 72 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughHadronCleanedCandidates_.
|
inline |
Definition at line 68 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughMuonCleanedCandidates_.
|
private |
Definition at line 148 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 130 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 135 of file PFMuonAlgo.h.
Referenced by postClean().
|
private |
Definition at line 133 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 139 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 118 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), and postClean().
|
private |
Definition at line 127 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), getMinMaxMET2(), and reconstructMuon().
|
private |
Definition at line 138 of file PFMuonAlgo.h.
Referenced by tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 143 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 141 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 140 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 136 of file PFMuonAlgo.h.
Referenced by tracksWithBetterMET().
|
private |
Definition at line 137 of file PFMuonAlgo.h.
Referenced by cleanMismeasured().
|
private |
Definition at line 152 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 153 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), getMinMaxMET2(), postClean(), tracksPointingAtMET(), and tracksWithBetterMET().
|
private |
Definition at line 134 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), and cleanPunchThroughAndFakes().
|
private |
Definition at line 145 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 144 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
the collection of added muon candidates
Definition at line 116 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and transferAddedMuonCandidates().
|
private |
the collection of tracker/global cleaned muon candidates
Definition at line 108 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), postClean(), and transferCleanedTrackerAndGlobalCandidates().
|
private |
the collection of cosmics cleaned muon candidates
Definition at line 106 of file PFMuonAlgo.h.
Referenced by postClean(), and transferCleanedCosmicCandidates().
|
private |
the collection of fake cleaned muon candidates
Definition at line 110 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), postClean(), and transferCleanedFakeCandidates().
|
private |
the collection of punch-through cleaned neutral hadron candidates
Definition at line 114 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedHadronCandidates().
|
private |
the collection of punch-through cleaned muon candidates
Definition at line 112 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes(), postClean(), and transferPunchThroughCleanedMuonCandidates().
|
private |
Definition at line 132 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and postClean().
|
private |
Definition at line 142 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 146 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 147 of file PFMuonAlgo.h.
Referenced by cleanPunchThroughAndFakes().
|
private |
Definition at line 151 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 150 of file PFMuonAlgo.h.
Referenced by cleanMismeasured(), cleanPunchThroughAndFakes(), estimateEventQuantities(), postClean(), and tracksWithBetterMET().
|
private |
Definition at line 129 of file PFMuonAlgo.h.
Referenced by reconstructMuon().
|
private |
Definition at line 123 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), postClean(), and setInputsForCleaning().
|
private |
Definition at line 120 of file PFMuonAlgo.h.
Referenced by addMissingMuons(), and setVetoes().