CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoParticleFlow/PFProducer/interface/PFMuonAlgo.h

Go to the documentation of this file.
00001 #ifndef RecoParticleFlow_PFProducer_PFMuonAlgo_h
00002 #define RecoParticleFlow_PFProducer_PFMuonAlgo_h 
00003 
00004 #include "DataFormats/ParticleFlowReco/interface/PFBlockElement.h"
00005 #include "DataFormats/MuonReco/interface/Muon.h"
00006 
00007 class PFMuonAlgo {
00008 
00009  public:
00010 
00012   PFMuonAlgo() {;}
00013 
00015   virtual ~PFMuonAlgo() {;}
00016   
00018   static bool isMuon( const reco::PFBlockElement& elt );
00019 
00020   static bool isLooseMuon( const reco::PFBlockElement& elt );
00021 
00022   static bool isGlobalTightMuon( const reco::PFBlockElement& elt );
00023 
00024   static bool isGlobalLooseMuon( const reco::PFBlockElement& elt );
00025 
00026   static bool isTrackerTightMuon( const reco::PFBlockElement& elt );
00027 
00028   static bool isTrackerLooseMuon( const reco::PFBlockElement& elt );
00029 
00030   static bool isIsolatedMuon( const reco::PFBlockElement& elt );
00031 
00032   static bool isMuon( const reco::MuonRef& muonRef );  
00033 
00034   static bool isLooseMuon( const reco::MuonRef& muonRef );
00035 
00036   static bool isGlobalTightMuon( const reco::MuonRef& muonRef );
00037 
00038   static bool isGlobalLooseMuon( const reco::MuonRef& muonRef );
00039 
00040   static bool isTrackerTightMuon( const reco::MuonRef& muonRef );
00041   
00042   static bool isTrackerLooseMuon( const reco::MuonRef& muonRef );
00043   
00044   static bool isIsolatedMuon( const reco::MuonRef& muonRef );
00045 
00046   static bool isTightMuonPOG(const reco::MuonRef& muonRef);
00047 
00048   static void printMuonProperties( const reco::MuonRef& muonRef );
00049   
00050  private:
00051 
00052 };
00053 
00054 #endif