00001 // 00002 // $Id: PATMETProducer.h,v 1.10 2009/06/25 23:49:35 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 "CommonTools/Utils/interface/EtComparator.h" 00025 00026 #include "DataFormats/PatCandidates/interface/MET.h" 00027 #include "PhysicsTools/PatAlgos/interface/EfficiencyLoader.h" 00028 #include "PhysicsTools/PatAlgos/interface/KinResolutionsLoader.h" 00029 00030 00031 #include "DataFormats/PatCandidates/interface/UserData.h" 00032 #include "PhysicsTools/PatAlgos/interface/PATUserDataHelper.h" 00033 00034 00035 namespace pat { 00036 00037 class PATMETProducer : public edm::EDProducer { 00038 00039 public: 00040 00041 explicit PATMETProducer(const edm::ParameterSet & iConfig); 00042 ~PATMETProducer(); 00043 00044 virtual void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); 00045 00046 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00047 00048 private: 00049 00050 // configurables 00051 edm::InputTag metSrc_; 00052 bool addGenMET_; 00053 edm::InputTag genMETSrc_; 00054 bool addResolutions_; 00055 pat::helper::KinResolutionsLoader resolutionLoader_; 00056 bool addMuonCorr_; 00057 edm::InputTag muonSrc_; 00058 // tools 00059 GreaterByEt<MET> eTComparator_; 00060 00061 bool addEfficiencies_; 00062 pat::helper::EfficiencyLoader efficiencyLoader_; 00063 00064 bool useUserData_; 00065 pat::PATUserDataHelper<pat::MET> userDataHelper_; 00066 00067 00068 }; 00069 00070 00071 } 00072 00073 #endif