![]() |
![]() |
00001 #ifndef METProducer_h 00002 #define METProducer_h 00003 00015 #include <vector> 00016 #include <cstdlib> 00017 #include <string.h> 00018 #include "FWCore/Framework/interface/EDProducer.h" 00019 #include "DataFormats/Common/interface/EDProduct.h" 00020 #include "FWCore/Framework/interface/Event.h" 00021 #include "DataFormats/Common/interface/Handle.h" 00022 #include "FWCore/Framework/interface/EventSetup.h" 00023 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00024 #include "RecoMET/METAlgorithms/interface/METAlgo.h" 00025 #include "DataFormats/Math/interface/LorentzVector.h" 00026 #include "DataFormats/Math/interface/Point3D.h" 00027 #include "DataFormats/JetReco/interface/CaloJetCollection.h" 00028 #include "DataFormats/Candidate/interface/Candidate.h" 00029 #include "DataFormats/Common/interface/OwnVector.h" 00030 00031 namespace cms 00032 { 00033 class METProducer: public edm::EDProducer 00034 { 00035 public: 00036 typedef math::XYZTLorentzVector LorentzVector; 00037 typedef math::XYZPoint Point; 00038 typedef edm::OwnVector<reco::Candidate> CandidateCollection; 00039 explicit METProducer(const edm::ParameterSet&); 00040 explicit METProducer(); 00041 virtual ~METProducer(); 00042 //const CandidateCollection* convert( const reco::CaloJetCollection* ); 00043 virtual void produce(edm::Event&, const edm::EventSetup&); 00044 private: 00045 METAlgo alg_; 00046 edm::InputTag inputLabel; 00047 std::string inputType; 00048 std::string METtype; 00049 std::string alias; 00050 bool noHF; 00051 double globalThreshold; 00052 edm::ParameterSet conf_; 00053 //CandidateCollection tempCol; 00054 }; 00055 } 00056 00057 #endif // METProducer_h