00001 // 00002 // $Id: PATMETProducer.h,v 1.5.4.1 2008/11/25 15:39:40 gpetrucc Exp $ 00003 // 00004 00005 #ifndef PhysicsTools_PatAlgos_PATMETProducer_h 00006 #define PhysicsTools_PatAlgos_PATMETProducer_h 00007 00020 #include "FWCore/Framework/interface/EDProducer.h" 00021 #include "FWCore/Framework/interface/Event.h" 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 00024 #include "PhysicsTools/Utilities/interface/EtComparator.h" 00025 00026 #include "DataFormats/PatCandidates/interface/MET.h" 00027 #include "PhysicsTools/PatAlgos/interface/EfficiencyLoader.h" 00028 00029 00030 #include "DataFormats/PatCandidates/interface/UserData.h" 00031 #include "PhysicsTools/PatAlgos/interface/PATUserDataHelper.h" 00032 00033 00034 namespace pat { 00035 00036 class PATMETProducer : public edm::EDProducer { 00037 00038 public: 00039 00040 explicit PATMETProducer(const edm::ParameterSet & iConfig); 00041 ~PATMETProducer(); 00042 00043 virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); 00044 00045 private: 00046 00047 // configurables 00048 edm::InputTag metSrc_; 00049 bool addGenMET_; 00050 edm::InputTag genMETSrc_; 00051 bool addTrigMatch_; 00052 std::vector<edm::InputTag> trigMatchSrc_; 00053 bool addResolutions_; 00054 bool addMuonCorr_; 00055 edm::InputTag muonSrc_; 00056 // tools 00057 GreaterByEt<MET> eTComparator_; 00058 00059 bool addEfficiencies_; 00060 pat::helper::EfficiencyLoader efficiencyLoader_; 00061 00062 bool useUserData_; 00063 pat::PATUserDataHelper<pat::MET> userDataHelper_; 00064 00065 00066 }; 00067 00068 00069 } 00070 00071 #endif