CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/PhysicsTools/PatUtils/interface/MuonSelector.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_PatUtils_MuonSelector_h
00002 #define PhysicsTools_PatUtils_MuonSelector_h
00003 
00020 #include <string>
00021 
00022 #include "DataFormats/MuonReco/interface/Muon.h"
00023 
00024 #include "PhysicsTools/PatUtils/interface/ParticleCode.h"
00025 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
00026 
00027 namespace pat {
00028 
00030   struct MuonSelection {
00031     std::string selectionType; 
00032     
00034 
00035     double dPbyPmax;
00036     double chi2max;
00037     int    nHitsMin;
00039         
00041 
00042     muon::SelectionType flag;
00043         double minCaloCompatibility;
00044         double minSegmentCompatibility;
00046         
00047   };
00048 
00049 
00050   class MuonSelector {
00051 
00052   public:
00053     
00054     MuonSelector( const MuonSelection& cfg ) : config_( cfg ) {}
00055     ~MuonSelector() {}
00056 
00059     const pat::ParticleStatus
00060     filter( const unsigned int& index,
00061             const edm::View<reco::Muon>& muons ) const;
00062     
00063   private:
00064     
00065     MuonSelection config_;
00066 
00068     const pat::ParticleStatus
00069     customSelection_( const unsigned int& index,
00070                       const edm::View<reco::Muon>& muons  ) const;
00071         const pat::ParticleStatus
00072     muIdSelection_( const unsigned int& index,
00073                       const edm::View<reco::Muon>& muons  ) const;
00074     
00075 
00076   }; // class
00077 } // namespace
00078 
00079 #endif