CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/PhysicsTools/PatUtils/interface/JetSelector.h

Go to the documentation of this file.
00001 #ifndef PhysicsTools_PatUtils_JetSelector_h
00002 #define PhysicsTools_PatUtils_JetSelector_h
00003 
00021 #include <string>
00022 #include "DataFormats/JetReco/interface/Jet.h"
00023 #include "DataFormats/JetReco/interface/CaloJet.h"
00024 #include "DataFormats/JetReco/interface/PFJet.h"
00025 #include "PhysicsTools/PatUtils/interface/JetSelection.h"
00026 #include "PhysicsTools/PatUtils/interface/CaloJetSelector.h"
00027 #include "DataFormats/Common/interface/ValueMap.h"
00028 
00029 #include "PhysicsTools/PatUtils/interface/ParticleCode.h"
00030 
00031 
00032 namespace pat {
00033 
00034   typedef edm::ValueMap<double> JetValueMap;
00035 
00036   template<typename JetType>
00037   class JetSelector {
00038 
00039 
00040   public:
00041     JetSelector( const JetSelection& config );
00042     ~JetSelector() {}
00043 
00049     const ParticleStatus
00050     filter( const unsigned int&       index,
00051             const edm::View<JetType>& Jets,
00052             const JetValueMap*        JetMap
00053            ) const;
00054     
00055 
00056   private:
00057 
00058     JetSelection config_;
00059 
00060     std::auto_ptr<CaloJetSelector> CaloJetSelector_;
00061     //std::auto_ptr<CaloJetSelector> PFSelector_;///Selects PFJets
00062 
00063   }; // class
00064 
00065 } // namespace
00066 
00067 #endif