#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 | ( | ) |
constructor
Definition at line 17 of file PFMuonAlgo.cc.
|
inlinevirtual |
destructor
Definition at line 27 of file PFMuonAlgo.h.
References addMissingMuons(), egammaForCoreTracking_cff::cands, changeTrack(), hasValidTrack(), isGlobalLooseMuon(), isGlobalTightMuon(), isIsolatedMuon(), isLooseMuon(), isMuon(), isTightMuonPOG(), isTrackerLooseMuon(), isTrackerTightMuon(), postClean(), printMuonProperties(), reconstructMuon(), and setInputsForCleaning().
void PFMuonAlgo::addMissingMuons | ( | edm::Handle< reco::MuonCollection > | muons, |
reco::PFCandidateCollection * | cands | ||
) |
Definition at line 953 of file PFMuonAlgo.cc.
References ALCARECOTkAlJpsiMuMu_cff::charge, mixOne_premix_on_sim_cfi::comparator, particleFlow_cfi::dEta, particleFlow_cfi::dPhi, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, mps_fire::i, edm::Ref< C, T, F >::isNonnull(), reco::PFCandidate::mu, reco::PFCandidate::muonRef(), pfElectronTranslator_cfi::PFCandidate, mathSSE::sqrt(), reco::PFCandidate::trackRef(), and l1t::tracks.
Referenced by PFAlgo::reconstructParticles(), and ~PFMuonAlgo().
void PFMuonAlgo::changeTrack | ( | reco::PFCandidate & | candidate, |
const MuonTrackTypePair & | track | ||
) |
Definition at line 792 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 ~PFMuonAlgo().
|
private |
Definition at line 1061 of file PFMuonAlgo.cc.
References mixOne_premix_on_sim_cfi::comparator, reco::PFCandidate::muonRef(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), and l1t::tracks.
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 1172 of file PFMuonAlgo.cc.
References reco::PFCandidate::elementsInBlocks(), reco::LeafCandidate::eta(), reco::PFCandidate::h, reco::PFCandidate::h0, mps_fire::i, edm::Ref< C, T, F >::isNonnull(), edm::Ref< C, T, F >::key(), SiStripPI::max, reco::PFCandidate::muonRef(), reco::LeafCandidate::p(), reco::PFCandidate::particleId(), reco::LeafCandidate::pt(), reco::PFCandidate::rawEcalEnergy(), reco::PFCandidate::rawHcalEnergy(), and edm::second().
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 830 of file PFMuonAlgo.cc.
References mps_fire::i.
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 1041 of file PFMuonAlgo.cc.
References mps_fire::i, reco::PFCandidate::muonRef(), funct::pow(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and l1t::tracks.
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 821 of file PFMuonAlgo.cc.
References MCScenario_CRAFT1_22X::sorter().
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 649 of file PFMuonAlgo.cc.
Referenced by transferAddedMuonCandidates().
bool PFMuonAlgo::hasValidTrack | ( | const reco::MuonRef & | muonRef, |
bool | loose = false |
||
) |
Definition at line 502 of file PFMuonAlgo.cc.
Referenced by ~PFMuonAlgo().
|
static |
Definition at line 201 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by ~PFMuonAlgo().
|
static |
Definition at line 344 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 188 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by PFAlgo::processBlock(), and ~PFMuonAlgo().
|
static |
Definition at line 253 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 227 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by GreedyMuonPFCandidateFilter::filter(), PFAlgo::processBlock(), and ~PFMuonAlgo().
|
static |
Definition at line 435 of file PFMuonAlgo.cc.
References edm::Ref< C, T, F >::isNonnull(), and objects.autophobj::relIso.
|
static |
Definition at line 168 of file PFMuonAlgo.cc.
References muon::isLooseMuon(), and reco::PFBlockElementTrack::muonRef().
Referenced by GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), PFAlgo::processBlock(), and ~PFMuonAlgo().
|
static |
Definition at line 246 of file PFMuonAlgo.cc.
|
static |
Definition at line 155 of file PFMuonAlgo.cc.
References reco::isMuon(), and reco::PFBlockElementTrack::muonRef().
Referenced by GeneralTracksImporter::importToBlock(), GeneralTracksImporterWithVeto::importToBlock(), PFEGammaAlgo::isAMuon(), PFAlgo::processBlock(), PFElectronAlgo::SetLinks(), and ~PFMuonAlgo().
|
static |
Definition at line 240 of file PFMuonAlgo.cc.
|
static |
Definition at line 479 of file PFMuonAlgo.cc.
References muon::GlobalMuonPromptTight, and muon::isGoodMuon().
Referenced by ~PFMuonAlgo().
|
static |
Referenced by ~PFMuonAlgo().
|
static |
Definition at line 413 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 214 of file PFMuonAlgo.cc.
References reco::PFBlockElementTrack::muonRef().
Referenced by PFAlgo::processBlock(), and ~PFMuonAlgo().
|
static |
Definition at line 316 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 655 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 transferAddedMuonCandidates().
void PFMuonAlgo::postClean | ( | reco::PFCandidateCollection * | cands | ) |
Definition at line 849 of file PFMuonAlgo.cc.
References egammaForCoreTracking_cff::cands, mixOne_premix_on_sim_cfi::comparator, GlobalTrackerMuonAlignment_cfi::cosmics, mps_fire::i, reco::PFCandidate::mu, reco::PFCandidate::muonRef(), extraflags_cff::muons, reco::PFCandidate::particleId(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), and reco::LeafCandidate::py().
Referenced by PFAlgo::reconstructParticles(), and ~PFMuonAlgo().
|
static |
Definition at line 512 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.
Referenced by ~PFMuonAlgo().
bool PFMuonAlgo::reconstructMuon | ( | reco::PFCandidate & | candidate, |
const reco::MuonRef & | muon, | ||
bool | allowLoose = false |
||
) |
Definition at line 717 of file PFMuonAlgo.cc.
References reco::Muon::InnerTrack, muon::isLooseMuon(), jets_cff::isMu, reco::isMuon(), edm::Ref< C, T, F >::isNonnull(), reco::PFCandidate::setMuonRef(), muon::tevOptimized(), and tkIsoDeposits_cff::trackType.
Referenced by PFAlgo::reconstructTrack(), and ~PFMuonAlgo().
|
private |
Definition at line 1265 of file PFMuonAlgo.cc.
References mps_fire::i, and N.
Referenced by transferAddedMuonCandidates().
void PFMuonAlgo::setInputsForCleaning | ( | const reco::VertexCollection * | vertices | ) |
Definition at line 1168 of file PFMuonAlgo.cc.
References electrons_cff::vertices.
Referenced by PFAlgo::setPFVertexParameters(), and ~PFMuonAlgo().
void PFMuonAlgo::setParameters | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 29 of file PFMuonAlgo.cc.
References edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), reco::TrackBase::qualityByName(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by PFAlgo::setPFMuonAndFakeParameters().
|
private |
Definition at line 1148 of file PFMuonAlgo.cc.
References mps_fire::i, and funct::pow().
Referenced by transferAddedMuonCandidates().
|
private |
Definition at line 1120 of file PFMuonAlgo.cc.
References mps_fire::i, funct::pow(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), and mathSSE::sqrt().
Referenced by transferAddedMuonCandidates().
|
inline |
Definition at line 106 of file PFMuonAlgo.h.
References cleanMismeasured(), cleanPunchThroughAndFakes(), MillePedeFileConverter_cfg::e, estimateEventQuantities(), getMinMaxMET2(), getTrackWithSmallestError(), goodMuonTracks(), eostools::move(), muonTracks(), pfAddedMuonCandidates_, removeDeadCandidates(), tracksPointingAtMET(), and tracksWithBetterMET().
|
inline |
Definition at line 86 of file PFMuonAlgo.h.
References eostools::move(), and pfCosmicsMuonCleanedCandidates_.
|
inline |
Definition at line 94 of file PFMuonAlgo.h.
References eostools::move(), and pfFakeMuonCleanedCandidates_.
|
inline |
Definition at line 90 of file PFMuonAlgo.h.
References eostools::move(), and pfCleanedTrackerAndGlobalMuonCandidates_.
|
inline |
Definition at line 102 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughHadronCleanedCandidates_.
|
inline |
Definition at line 98 of file PFMuonAlgo.h.
References eostools::move(), and pfPunchThroughMuonCleanedCandidates_.
|
private |
Definition at line 183 of file PFMuonAlgo.h.
|
private |
Definition at line 167 of file PFMuonAlgo.h.
|
private |
Definition at line 164 of file PFMuonAlgo.h.
|
private |
Definition at line 170 of file PFMuonAlgo.h.
|
private |
Definition at line 165 of file PFMuonAlgo.h.
|
private |
Definition at line 174 of file PFMuonAlgo.h.
|
private |
Definition at line 150 of file PFMuonAlgo.h.
|
private |
Definition at line 159 of file PFMuonAlgo.h.
|
private |
Definition at line 173 of file PFMuonAlgo.h.
|
private |
Definition at line 178 of file PFMuonAlgo.h.
|
private |
Definition at line 176 of file PFMuonAlgo.h.
|
private |
Definition at line 175 of file PFMuonAlgo.h.
|
private |
Definition at line 171 of file PFMuonAlgo.h.
|
private |
Definition at line 172 of file PFMuonAlgo.h.
|
private |
Definition at line 186 of file PFMuonAlgo.h.
|
private |
Definition at line 187 of file PFMuonAlgo.h.
|
private |
Definition at line 161 of file PFMuonAlgo.h.
|
private |
Definition at line 169 of file PFMuonAlgo.h.
|
private |
Definition at line 180 of file PFMuonAlgo.h.
|
private |
Definition at line 179 of file PFMuonAlgo.h.
|
private |
Definition at line 160 of file PFMuonAlgo.h.
|
private |
the collection of added muon candidates
Definition at line 148 of file PFMuonAlgo.h.
Referenced by transferAddedMuonCandidates().
|
private |
the collection of tracker/global cleaned muon candidates
Definition at line 140 of file PFMuonAlgo.h.
Referenced by transferCleanedTrackerAndGlobalCandidates().
|
private |
the collection of cosmics cleaned muon candidates
Definition at line 138 of file PFMuonAlgo.h.
Referenced by transferCleanedCosmicCandidates().
|
private |
the collection of fake cleaned muon candidates
Definition at line 142 of file PFMuonAlgo.h.
Referenced by transferCleanedFakeCandidates().
|
private |
the collection of punch-through cleaned neutral hadron candidates
Definition at line 146 of file PFMuonAlgo.h.
Referenced by transferPunchThroughCleanedHadronCandidates().
|
private |
the collection of punch-through cleaned muon candidates
Definition at line 144 of file PFMuonAlgo.h.
Referenced by transferPunchThroughCleanedMuonCandidates().
|
private |
Definition at line 168 of file PFMuonAlgo.h.
|
private |
Definition at line 177 of file PFMuonAlgo.h.
|
private |
Definition at line 181 of file PFMuonAlgo.h.
|
private |
Definition at line 182 of file PFMuonAlgo.h.
|
private |
Definition at line 185 of file PFMuonAlgo.h.
|
private |
Definition at line 166 of file PFMuonAlgo.h.
|
private |
Definition at line 162 of file PFMuonAlgo.h.
|
private |
Definition at line 154 of file PFMuonAlgo.h.