CMS 3D CMS Logo

Classes | Namespaces | Enumerations | Functions
MuonSelectors.h File Reference
#include "DataFormats/MuonReco/interface/Muon.h"
#include "TMath.h"
#include <string>

Go to the source code of this file.

Classes

struct  muon::SelectionTypeStringToEnum
 a lightweight "map" for selection type string label and enum value More...
 

Namespaces

 muon
 
 reco
 fixed size matrix
 

Enumerations

enum  muon::AlgorithmType {
  muon::TMLastStation, muon::TM2DCompatibility, muon::TMOneStation, muon::RPCMu,
  muon::ME0Mu, muon::GEMMu
}
 
enum  muon::SelectionType {
  muon::All = 0, muon::AllGlobalMuons = 1, muon::AllStandAloneMuons = 2, muon::AllTrackerMuons = 3,
  muon::TrackerMuonArbitrated = 4, muon::AllArbitrated = 5, muon::GlobalMuonPromptTight = 6, muon::TMLastStationLoose = 7,
  muon::TMLastStationTight = 8, muon::TM2DCompatibilityLoose = 9, muon::TM2DCompatibilityTight = 10, muon::TMOneStationLoose = 11,
  muon::TMOneStationTight = 12, muon::TMLastStationOptimizedLowPtLoose = 13, muon::TMLastStationOptimizedLowPtTight = 14, muon::GMTkChiCompatibility = 15,
  muon::GMStaChiCompatibility = 16, muon::GMTkKinkTight = 17, muon::TMLastStationAngLoose = 18, muon::TMLastStationAngTight = 19,
  muon::TMOneStationAngLoose = 20, muon::TMOneStationAngTight = 21, muon::TMLastStationOptimizedBarrelLowPtLoose = 22, muon::TMLastStationOptimizedBarrelLowPtTight = 23,
  muon::RPCMuLoose = 24, muon::AllME0Muons = 25, muon::ME0MuonArbitrated = 26, muon::AllGEMMuons = 27,
  muon::GEMMuonArbitrated = 28, muon::TriggerIdLoose = 29, muon::All = 0, muon::VeryLoose = 1,
  muon::Loose = 2, muon::Tight = 3
}
 Selector type. More...
 

Functions

float muon::caloCompatibility (const reco::Muon &muon)
 
bool muon::isGoodMuon (const reco::Muon &muon, SelectionType type, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
 main GoodMuon wrapper call More...
 
bool muon::isGoodMuon (const reco::Muon &muon, AlgorithmType type, double minCompatibility, reco::Muon::ArbitrationType arbitrationType)
 
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)
 
bool muon::isHighPtMuon (const reco::Muon &, const reco::Vertex &)
 
bool muon::isLooseMuon (const reco::Muon &)
 
bool muon::isLooseTriggerMuon (const reco::Muon &)
 
bool muon::isMediumMuon (const reco::Muon &, bool run2016_hip_mitigation=false)
 
bool muon::isSoftMuon (const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false)
 
bool muon::isTightMuon (const reco::Muon &, const reco::Vertex &)
 
bool muon::isTrackerHighPtMuon (const reco::Muon &, const reco::Vertex &)
 
bool muon::overlap (const reco::Muon &muon1, const reco::Muon &muon2, double pullX=1.0, double pullY=1.0, bool checkAdjacentChambers=false)
 
unsigned int muon::RequiredStationMask (const reco::Muon &muon, double maxChamberDist, double maxChamberDistPull, reco::Muon::ArbitrationType arbitrationType)
 
float muon::segmentCompatibility (const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
 
SelectionType muon::selectionTypeFromString (const std::string &label)
 
void muon::setCutBasedSelectorFlags (reco::Muon &muon, const reco::Vertex *vertex=0, bool run2016_hip_mitigation=false)
 
int muon::sharedSegments (const reco::Muon &muon1, const reco::Muon &muon2, unsigned int segmentArbitrationMask=reco::MuonSegmentMatch::BestInChamberByDR)