00001 #ifndef MuonReco_MuonSelectors_h
00002 #define MuonReco_MuonSelectors_h
00003
00004
00005
00006
00007
00008
00009
00010 #include "DataFormats/MuonReco/interface/Muon.h"
00011 #include "TMath.h"
00012
00013 namespace muon {
00015 bool isGoodMuon( const reco::Muon& muon, reco::Muon::SelectionType type );
00016
00017
00018
00019
00020 enum AlgorithmType { TMLastStation, TM2DCompatibility, TMOneStation };
00021
00022
00023 bool isGoodMuon( const reco::Muon& muon,
00024 AlgorithmType type,
00025 double minCompatibility);
00026
00027 bool isGoodMuon( const reco::Muon& muon,
00028 AlgorithmType type,
00029 int minNumberOfMatches,
00030 double maxAbsDx,
00031 double maxAbsPullX,
00032 double maxAbsDy,
00033 double maxAbsPullY,
00034 double maxChamberDist,
00035 double maxChamberDistPull,
00036 reco::Muon::ArbitrationType arbitrationType );
00037
00038
00039 unsigned int RequiredStationMask( const reco::Muon& muon,
00040 double maxChamberDist,
00041 double maxChamberDistPull,
00042 reco::Muon::ArbitrationType arbitrationType );
00043
00044
00045 float caloCompatibility(const reco::Muon& muon);
00046
00047
00048 float segmentCompatibility(const reco::Muon& muon);
00049
00050
00051 }
00052 #endif