CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/PhysicsTools/PatAlgos/plugins/PATMETProducer.h

Go to the documentation of this file.
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