Classes | |
struct | SelectionTypeStringToEnum |
a lightweight "map" for selection type string label and enum value More... | |
struct | SelectorStringToEnum |
Enumerations | |
enum | AlgorithmType { TMLastStation, TM2DCompatibility, TMOneStation, RPCMu, ME0Mu, GEMMu } |
enum | SelectionType { All = 0, AllGlobalMuons = 1, AllStandAloneMuons = 2, AllTrackerMuons = 3, TrackerMuonArbitrated = 4, AllArbitrated = 5, GlobalMuonPromptTight = 6, TMLastStationLoose = 7, TMLastStationTight = 8, TM2DCompatibilityLoose = 9, TM2DCompatibilityTight = 10, TMOneStationLoose = 11, TMOneStationTight = 12, TMLastStationOptimizedLowPtLoose = 13, TMLastStationOptimizedLowPtTight = 14, GMTkChiCompatibility = 15, GMStaChiCompatibility = 16, GMTkKinkTight = 17, TMLastStationAngLoose = 18, TMLastStationAngTight = 19, TMOneStationAngLoose = 20, TMOneStationAngTight = 21, TMLastStationOptimizedBarrelLowPtLoose = 22, TMLastStationOptimizedBarrelLowPtTight = 23, RPCMuLoose = 24, AllME0Muons = 25, ME0MuonArbitrated = 26, AllGEMMuons = 27, GEMMuonArbitrated = 28, TriggerIdLoose = 29 } |
Selector type. More... | |
Functions | |
float | caloCompatibility (const reco::Muon &muon) |
reco::TrackRef | getTevRefitTrack (const reco::TrackRef &combinedTrack, const reco::TrackToTrackMap &map) |
bool | isGoodMuon (const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration) |
main GoodMuon wrapper call More... | |
bool | isGoodMuon (const reco::Muon &muon, AlgorithmType type, double minCompatibility, reco::Muon::ArbitrationType arbitrationType) |
bool | isGoodMuon (const reco::Muon &muon, AlgorithmType type, int minNumberOfMatches, double maxAbsDx, double maxAbsPullX, double maxAbsDy, double maxAbsPullY, double maxChamberDist, double maxChamberDistPull, reco::Muon::ArbitrationType arbitrationType, bool syncMinNMatchesNRequiredStationsInBarrelOnly=true, bool applyAlsoAngularCuts=false) |
bool | isHighPtMuon (const reco::Muon &, const reco::Vertex &) |
bool | isLooseMuon (const reco::Muon &) |
bool | isLooseTriggerMuon (const reco::Muon &) |
bool | isMediumMuon (const reco::Muon &, bool run2016_hip_mitigation=false) |
bool | isSoftMuon (const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false) |
bool | isTightMuon (const reco::Muon &, const reco::Vertex &) |
bool | isTrackerHighPtMuon (const reco::Muon &, const reco::Vertex &) |
reco::Muon::Selector | makeSelectorBitset (reco::Muon const &muon, reco::Vertex const *vertex=nullptr, bool run2016_hip_mitigation=false) |
bool | overlap (const reco::Muon &muon1, const reco::Muon &muon2, double pullX=1.0, double pullY=1.0, bool checkAdjacentChambers=false) |
unsigned int | RequiredStationMask (const reco::Muon &muon, double maxChamberDist, double maxChamberDistPull, reco::Muon::ArbitrationType arbitrationType) |
float | segmentCompatibility (const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration) |
SelectionType | selectionTypeFromString (const std::string &label) |
reco::Muon::Selector | selectorFromString (const std::string &label) |
int | sharedSegments (const reco::Muon &muon1, const reco::Muon &muon2, unsigned int segmentArbitrationMask=reco::MuonSegmentMatch::BestInChamberByDR) |
reco::Muon::MuonTrackTypePair | sigmaSwitch (const reco::TrackRef &combinedTrack, const reco::TrackRef &trackerTrack, const double nSigma=2., const double ptThreshold=200.) |
reco::Muon::MuonTrackTypePair | sigmaSwitch (const reco::Muon &muon, const double nSigma=2., const double ptThreshold=200.) |
reco::Muon::MuonTrackTypePair | tevOptimized (const reco::TrackRef &combinedTrack, const reco::TrackRef &trackerTrack, const reco::TrackRef &tpfmsTrack, const reco::TrackRef &pickyTrack, const reco::TrackRef &dytTrack, const double ptThreshold=200., const double tune1=17., const double tune2=40., const double dptcut=0.25) |
reco::Muon::MuonTrackTypePair | tevOptimized (const reco::Muon &muon, const double ptThreshold=200., const double tune1=17., const double tune2=40., const double dptcut=0.25) |
reco::Muon::MuonTrackTypePair | TMR (const reco::TrackRef &trackerTrack, const reco::TrackRef &fmsTrack, const double tune=4.) |
double | trackProbability (const reco::TrackRef track) |
Variables | |
static const SelectionTypeStringToEnum | selectionTypeStringToEnumMap [] |
static const SelectorStringToEnum | selectorStringToEnumMap [] |
enum muon::AlgorithmType |
Enumerator | |
---|---|
TMLastStation | |
TM2DCompatibility | |
TMOneStation | |
RPCMu | |
ME0Mu | |
GEMMu |
Definition at line 156 of file MuonSelectors.h.
enum muon::SelectionType |
Selector type.
Definition at line 18 of file MuonSelectors.h.
float muon::caloCompatibility | ( | const reco::Muon & | muon | ) |
Definition at line 58 of file MuonSelectors.cc.
Referenced by CSCEfficiency::filter(), isGoodMuon(), and pat::MuonSelector::muIdSelection_().
reco::TrackRef muon::getTevRefitTrack | ( | const reco::TrackRef & | combinedTrack, |
const reco::TrackToTrackMap & | map | ||
) |
Definition at line 131 of file MuonCocktails.cc.
References genParticles_cff::map, and edm::helpers::KeyVal< K, V >::val.
Referenced by MuonIdProducer::makeMuon().
bool muon::isGoodMuon | ( | const reco::Muon & | muon, |
SelectionType | type, | ||
reco::Muon::ArbitrationType | arbitrationType = reco::Muon::SegmentAndTrackArbitration |
||
) |
main GoodMuon wrapper call
Definition at line 649 of file MuonSelectors.cc.
References funct::abs(), All, AllArbitrated, AllGEMMuons, AllGlobalMuons, AllME0Muons, AllStandAloneMuons, AllTrackerMuons, arbitrationType, GEMMu, GEMMuonArbitrated, GlobalMuonPromptTight, GMStaChiCompatibility, GMTkChiCompatibility, GMTkKinkTight, isLooseTriggerMuon(), ME0Mu, ME0MuonArbitrated, RPCMu, RPCMuLoose, TM2DCompatibility, TM2DCompatibilityLoose, TM2DCompatibilityTight, TMLastStation, TMLastStationAngLoose, TMLastStationAngTight, TMLastStationLoose, TMLastStationOptimizedBarrelLowPtLoose, TMLastStationOptimizedBarrelLowPtTight, TMLastStationOptimizedLowPtLoose, TMLastStationOptimizedLowPtTight, TMLastStationTight, TMOneStation, TMOneStationAngLoose, TMOneStationAngTight, TMOneStationLoose, TMOneStationTight, TrackerMuonArbitrated, and TriggerIdLoose.
Referenced by BPHSoftMuonSelect::accept(), ExampleMuonAnalyzer::analyze(), BPhysicsOniaDQM::analyze(), TrackEfficiencyMonitor::analyze(), HiggsDQM::analyze(), MuonIdVal::analyze(), MuonCosmicCompatibilityFiller::checkMuonID(), PFRecoTauDiscriminationAgainstMuon::discriminate(), ZtoMMEventSelector::filter(), HLTDiMuonGlbTrkFilter::hltFilter(), HLTMuonTrkFilter::hltFilter(), HLTMuonTrkL1TFilter::hltFilter(), HLTMuonL3PreFilter::hltFilter(), PFMuonAlgo::isGlobalLooseMuon(), PFMuonAlgo::isGlobalTightMuon(), isLooseTriggerMuon(), isSoftMuon(), MuonIDTableProducer::isSoftMuonHIP(), isTightMuon(), PFMuonAlgo::isTightMuonPOG(), PFMuonAlgo::isTrackerLooseMuon(), PFMuonAlgo::isTrackerTightMuon(), PFB::match(), JetPlusTrackCorrector::matchMuons(), pat::MuonSelector::muIdSelection_(), MuonSelectorVIDWrapper< selectionType, arbitrationType >::operator()(), MuonBadTrackFilter::printMuonProperties(), PFMuonAlgo::printMuonProperties(), MuonIDFilterProducerForHLT::produce(), MuonRefProducer::produce(), MuonSelectionTypeValueMapProducer::produce(), MuonTrackProducer::produce(), pat::PackedCandidateMuonSelectorProducer::produce(), SoftLepton::produce(), and MuonSelectorVIDWrapper< selectionType, arbitrationType >::value().
bool muon::isGoodMuon | ( | const reco::Muon & | muon, |
AlgorithmType | type, | ||
double | minCompatibility, | ||
reco::Muon::ArbitrationType | arbitrationType | ||
) |
Definition at line 293 of file MuonSelectors.cc.
References arbitrationType, caloCompatibility(), segmentCompatibility(), and TM2DCompatibility.
bool muon::isGoodMuon | ( | const reco::Muon & | muon, |
AlgorithmType | type, | ||
int | minNumberOfMatches, | ||
double | maxAbsDx, | ||
double | maxAbsPullX, | ||
double | maxAbsDy, | ||
double | maxAbsPullY, | ||
double | maxChamberDist, | ||
double | maxChamberDistPull, | ||
reco::Muon::ArbitrationType | arbitrationType, | ||
bool | syncMinNMatchesNRequiredStationsInBarrelOnly = true , |
||
bool | applyAlsoAngularCuts = false |
||
) |
Definition at line 318 of file MuonSelectors.cc.
References funct::abs(), arbitrationType, hgcalTestNeighbor_cfi::detector, fftjetvertexadder_cfi::errX, MuonSubdetId::GEM, GEMMu, HLT_2022v11_cff::maxAbsDx, HLT_2022v11_cff::maxAbsDy, HLT_2022v11_cff::maxAbsPullX, HLT_2022v11_cff::maxAbsPullY, MuonSubdetId::ME0, ME0Mu, HLT_2022v11_cff::minNumberOfMatches, or, RequiredStationMask(), MuonSubdetId::RPC, RPCMu, mathSSE::sqrt(), relativeConstraints::station, TMLastStation, and TMOneStation.
bool muon::isHighPtMuon | ( | const reco::Muon & | muon, |
const reco::Vertex & | vtx | ||
) |
Definition at line 933 of file MuonSelectors.cc.
References funct::abs(), hfClusterShapes_cfi::hits, and extraflags_cff::vtx.
Referenced by MuonKinVsEtaAnalyzer::analyze(), makeSelectorBitset(), Muon.Muon::muonID(), MuonPOGStandardCut::operator()(), MuonMiniAOD::PassesCut_A(), HLTDQMMuonSelector::passMuonSel(), MuonIDTableProducer::produce(), and MuonPOGStandardCut::value().
bool muon::isLooseMuon | ( | const reco::Muon & | muon | ) |
Definition at line 895 of file MuonSelectors.cc.
Referenced by DiMuonHistograms::analyze(), EfficiencyAnalyzer::analyze(), MuonKinVsEtaAnalyzer::analyze(), L1TTauOffline::getTightMuons(), isMediumMuon(), MuonIDTableProducer::isMediumMuonHIP(), Muon.Muon::looseId(), makeSelectorBitset(), Muon.Muon::muonID(), MuonPOGStandardCut::operator()(), MuonMiniAOD::PassesCut_A(), ZCounting::passMuonID(), HLTDQMMuonSelector::passMuonSel(), SoftPFMuonTagInfoProducer::produce(), and MuonPOGStandardCut::value().
bool muon::isLooseTriggerMuon | ( | const reco::Muon & | muon | ) |
Definition at line 866 of file MuonSelectors.cc.
References isGoodMuon(), or, and TMOneStationTight.
Referenced by isGoodMuon(), makeSelectorBitset(), and MuonIDFilterProducerForHLT::produce().
bool muon::isMediumMuon | ( | const reco::Muon & | muon, |
bool | run2016_hip_mitigation = false |
||
) |
Definition at line 899 of file MuonSelectors.cc.
References isLooseMuon(), and segmentCompatibility().
Referenced by DiMuonHistograms::analyze(), EfficiencyAnalyzer::analyze(), MuonKinVsEtaAnalyzer::analyze(), HcalHBHEMuonAnalyzer::analyze(), makeSelectorBitset(), MuonPOGStandardCut::operator()(), MuonMiniAOD::PassesCut_A(), ZCounting::passMuonID(), HLTDQMMuonSelector::passMuonSel(), MuonIDTableProducer::produce(), AlCaHcalHBHEMuonProducer::produce(), BadGlobalMuonTagger::tighterId(), and MuonPOGStandardCut::value().
bool muon::isSoftMuon | ( | const reco::Muon & | muon, |
const reco::Vertex & | vtx, | ||
bool | run2016_hip_mitigation = false |
||
) |
Definition at line 916 of file MuonSelectors.cc.
References funct::abs(), reco::TrackBase::highPurity, isGoodMuon(), hgcalTopologyTester_cfi::layers, TMOneStationTight, and extraflags_cff::vtx.
Referenced by DiMuonHistograms::analyze(), MuonKinVsEtaAnalyzer::analyze(), LeptonSkimming::filter(), makeSelectorBitset(), Muon.Muon::muonID(), MuonPOGStandardCut::operator()(), MuonMiniAOD::PassesCut_A(), HLTDQMMuonSelector::passMuonSel(), MuonIDTableProducer::produce(), and MuonPOGStandardCut::value().
bool muon::isTightMuon | ( | const reco::Muon & | muon, |
const reco::Vertex & | vtx | ||
) |
Definition at line 880 of file MuonSelectors.cc.
References funct::abs(), GlobalMuonPromptTight, hfClusterShapes_cfi::hits, isGoodMuon(), and extraflags_cff::vtx.
Referenced by METplusTrackMonitor::analyze(), RecoMuonValidator::analyze(), MuonKinVsEtaAnalyzer::analyze(), DiMuonHistograms::analyze(), EfficiencyAnalyzer::analyze(), MuonPFAnalyzer::analyze(), MuonRecoOneHLT::analyze(), HcalHBHEMuonAnalyzer::analyze(), L1TMuonDQMOffline::getTightMuons(), makeSelectorBitset(), Muon.Muon::muonID(), MuonPOGStandardCut::operator()(), MuonMiniAOD::PassesCut_A(), ZCounting::passMuonID(), HLTDQMMuonSelector::passMuonSel(), MuonIDTableProducer::produce(), AlCaHcalHBHEMuonProducer::produce(), and MuonPOGStandardCut::value().
bool muon::isTrackerHighPtMuon | ( | const reco::Muon & | muon, |
const reco::Vertex & | vtx | ||
) |
Definition at line 962 of file MuonSelectors.cc.
References funct::abs(), hfClusterShapes_cfi::hits, and extraflags_cff::vtx.
Referenced by makeSelectorBitset().
reco::Muon::Selector muon::makeSelectorBitset | ( | reco::Muon const & | muon, |
reco::Vertex const * | vertex = nullptr , |
||
bool | run2016_hip_mitigation = false |
||
) |
Definition at line 1033 of file MuonSelectors.cc.
References funct::abs(), reco::Muon::CutBasedIdGlobalHighPt, reco::Muon::CutBasedIdLoose, reco::Muon::CutBasedIdMedium, reco::Muon::CutBasedIdMediumPrompt, reco::Muon::CutBasedIdTight, reco::Muon::CutBasedIdTrkHighPt, reco::Muon::InTimeMuon, isHighPtMuon(), isLooseMuon(), isLooseTriggerMuon(), isMediumMuon(), isSoftMuon(), isTightMuon(), isTrackerHighPtMuon(), SiStripPI::max, outOfTimeMuon(), reco::Muon::PFIsoLoose, reco::Muon::PFIsoMedium, reco::Muon::PFIsoTight, reco::Muon::PFIsoVeryLoose, reco::Muon::PFIsoVeryTight, reco::Muon::PFIsoVeryVeryTight, TrackValidation_cff::selectors, reco::Muon::SoftCutBasedId, reco::Muon::TkIsoLoose, reco::Muon::TkIsoTight, muons_cff::tkRelIso, reco::Muon::TriggerIdLoose, and bphysicsOniaDQM_cfi::vertex.
Referenced by MuonProducer::produce(), pat::PATMuonProducer::produce(), and pat::LeptonUpdater< T >::recomputeMuonBasicSelectors().
bool muon::overlap | ( | const reco::Muon & | muon1, |
const reco::Muon & | muon2, | ||
double | pullX = 1.0 , |
||
double | pullY = 1.0 , |
||
bool | checkAdjacentChambers = false |
||
) |
Definition at line 791 of file MuonSelectors.cc.
References funct::abs(), MuonSubdetId::CSC, globals_cff::id1, globals_cff::id2, reco::Muon::matches(), reco::Muon::numberOfMatches(), reco::LeafCandidate::pt(), reco::Muon::SegmentAndTrackArbitration, and mathSSE::sqrt().
unsigned int muon::RequiredStationMask | ( | const reco::Muon & | muon, |
double | maxChamberDist, | ||
double | maxChamberDistPull, | ||
reco::Muon::ArbitrationType | arbitrationType | ||
) |
Definition at line 40 of file MuonSelectors.cc.
References arbitrationType.
Referenced by isGoodMuon().
float muon::segmentCompatibility | ( | const reco::Muon & | muon, |
reco::Muon::ArbitrationType | arbitrationType = reco::Muon::SegmentAndTrackArbitration |
||
) |
Definition at line 61 of file MuonSelectors.cc.
References arbitrationType, f, mps_fire::i, and funct::pow().
Referenced by ExampleMuonAnalyzer::analyze(), HiggsDQM::analyze(), StudyTriggerHLT::analyze(), MuonIdVal::analyze(), HcalHBHEMuonAnalyzer::analyze(), StudyCaloResponse::analyze(), HcalHBHEMuonHighEtaAnalyzer::analyzeMuon(), MuonCosmicCompatibilityFiller::checkMuonSegments(), PFRecoTauDiscriminationAgainstMuon::discriminate(), BadParticleFilter::filter(), isGoodMuon(), isMediumMuon(), isMediumMuonCustom(), MuonIDTableProducer::isMediumMuonHIP(), pat::MuonSelector::muIdSelection_(), Muon.Muon::muonID(), HcalIsoTrkAnalyzer::notaMuon(), AlCaHcalIsotrkProducer::notaMuon(), MuonSegmentCompatibilityCut::operator()(), AlCaHcalHBHEMuonProducer::produce(), and MuonSegmentCompatibilityCut::value().
SelectionType muon::selectionTypeFromString | ( | const std::string & | label | ) |
Definition at line 9 of file MuonSelectors.cc.
References Exception, newFWLiteAna::found, mps_fire::i, label, muon::SelectionTypeStringToEnum::label, selectionTypeStringToEnumMap, relativeConstraints::value, and muon::SelectionTypeStringToEnum::value.
Referenced by MuonSelectionTypeValueMapProducer::MuonSelectionTypeValueMapProducer(), MuonTrackProducer::produce(), and pat::PackedCandidateMuonSelectorProducer::produce().
reco::Muon::Selector muon::selectorFromString | ( | const std::string & | label | ) |
Definition at line 24 of file MuonSelectors.cc.
References Exception, newFWLiteAna::found, mps_fire::i, label, muon::SelectorStringToEnum::label, selectorStringToEnumMap, relativeConstraints::value, and muon::SelectorStringToEnum::value.
int muon::sharedSegments | ( | const reco::Muon & | muon1, |
const reco::Muon & | muon2, | ||
unsigned int | segmentArbitrationMask = reco::MuonSegmentMatch::BestInChamberByDR |
||
) |
Determine the number of shared segments between two muons. Comparison is done using the segment references in the reco::Muon object.
Definition at line 978 of file MuonSelectors.cc.
References reco::Muon::matches(), amptDefaultParameters_cff::mu, and runTheMatrix::ret.
Referenced by heppy::CMGMuonCleanerBySegmentsAlgo::clean(), BadGlobalMuonTagger::filter(), and modules::MuonCleanerBySegmentsT< T >::produce().
reco::Muon::MuonTrackTypePair muon::sigmaSwitch | ( | const reco::TrackRef & | combinedTrack, |
const reco::TrackRef & | trackerTrack, | ||
const double | nSigma = 2. , |
||
const double | ptThreshold = 200. |
||
) |
Definition at line 139 of file MuonCocktails.cc.
References reco::Muon::CombinedTrack, dumpMFGeometry_cfg::delta, reco::Muon::InnerTrack, HLTSiStripMonitoring_cff::nSigma, ewkMuLumiMonitorDQM_cfi::ptThreshold, and remoteMonitoring_LASER_era2018_cfg::threshold.
Referenced by MuonIdProducer::makeMuon(), and sigmaSwitch().
|
inline |
Definition at line 57 of file MuonCocktails.h.
References HLTSiStripMonitoring_cff::nSigma, ewkMuLumiMonitorDQM_cfi::ptThreshold, and sigmaSwitch().
reco::Muon::MuonTrackTypePair muon::tevOptimized | ( | const reco::TrackRef & | combinedTrack, |
const reco::TrackRef & | trackerTrack, | ||
const reco::TrackRef & | tpfmsTrack, | ||
const reco::TrackRef & | pickyTrack, | ||
const reco::TrackRef & | dytTrack, | ||
const double | ptThreshold = 200. , |
||
const double | tune1 = 17. , |
||
const double | tune2 = 40. , |
||
const double | dptcut = 0.25 |
||
) |
Definition at line 9 of file MuonCocktails.cc.
References reco::Muon::CombinedTrack, reco::Muon::DYT, first, mps_fire::i, reco::Muon::InnerTrack, reco::Muon::Picky, TtFullHadEvtBuilder_cfi::prob, ewkMuLumiMonitorDQM_cfi::ptThreshold, reco::Muon::TPFMS, trackProbability(), and validateGeometry_cfg::valid.
Referenced by MuonIdProducer::makeMuon(), MuonsFromRefitTracksProducer::produce(), PFMuonAlgo::reconstructMuon(), and tevOptimized().
|
inline |
Definition at line 31 of file MuonCocktails.h.
References ewkMuLumiMonitorDQM_cfi::ptThreshold, and tevOptimized().
reco::Muon::MuonTrackTypePair muon::TMR | ( | const reco::TrackRef & | trackerTrack, |
const reco::TrackRef & | fmsTrack, | ||
const double | tune = 4. |
||
) |
Definition at line 160 of file MuonCocktails.cc.
References reco::Muon::InnerTrack, edm::Ref< C, T, F >::isNonnull(), reco::Muon::None, reco::Muon::TPFMS, and trackProbability().
double muon::trackProbability | ( | const reco::TrackRef | track | ) |
Definition at line 122 of file MuonCocktails.cc.
References createfilelist::int, dqm-mbProfile::log, and HLT_2022v11_cff::track.
Referenced by HistogramProbabilityEstimator::probability(), tevOptimized(), tevOptimizedTMR(), and TMR().
|
static |
Definition at line 66 of file MuonSelectors.h.
Referenced by selectionTypeFromString().
|
static |
Definition at line 107 of file MuonSelectors.h.
Referenced by selectorFromString().