00001 #ifndef JetProducers_BaseJetProducer_h 00002 #define JetProducers_BaseJetProducer_h 00003 00014 #include "FWCore/Framework/interface/EDProducer.h" 00015 #include "DataFormats/Common/interface/EDProductfwd.h" 00016 #include "RecoJets/JetAlgorithms/interface/JetRecoTypes.h" 00017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00018 00019 namespace cms 00020 { 00021 class BaseJetProducer : public edm::EDProducer 00022 { 00023 public: 00024 00025 BaseJetProducer(const edm::ParameterSet& ps); 00026 00028 virtual ~BaseJetProducer(); 00030 virtual void produce(edm::Event& e, const edm::EventSetup& c); 00032 std::string jetType () const {return mJetType;} 00033 00034 // abstract method to be set up in actual implementations 00036 virtual bool runAlgorithm (const JetReco::InputCollection& fInput, JetReco::OutputCollection* fOutput) = 0; 00037 00038 private: 00039 edm::InputTag mSrc; 00040 std::string mJetType; 00041 bool mVerbose; 00042 double mEtInputCut; 00043 double mEInputCut; 00044 double mJetPtMin; 00045 }; 00046 } 00047 00048 #endif