00001 // -*- C++ -*- 00002 // 00003 // Package: PATMHTProducer 00004 // Class: PATMHTProducer 00005 // 00013 // 00014 // Original Author: Xin Shi & Freya Blekman, Cornell University 00015 // Created: Fri Sep 12 17:58:29 CEST 2008 00016 // $Id: PATMHTProducer.h,v 1.2 2008/10/16 16:53:41 fblekman Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 00024 // user include files 00025 00026 #include "FWCore/Framework/interface/Event.h" 00027 #include "FWCore/Framework/interface/EDProducer.h" 00028 #include "FWCore/Framework/interface/Frameworkfwd.h" 00029 #include "FWCore/Framework/interface/MakerMacros.h" 00030 00031 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00032 00033 #include "FWCore/ParameterSet/interface/FileInPath.h" 00034 #include "FWCore/ParameterSet/interface/InputTag.h" 00035 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00036 00037 00038 #include "DataFormats/Candidate/interface/Candidate.h" 00039 #include "DataFormats/Common/interface/View.h" 00040 #include "DataFormats/Math/interface/LorentzVector.h" 00041 #include "DataFormats/PatCandidates/interface/MHT.h" 00042 #include "DataFormats/PatCandidates/interface/Jet.h" 00043 #include "DataFormats/PatCandidates/interface/Photon.h" 00044 #include "DataFormats/PatCandidates/interface/Tau.h" 00045 #include "DataFormats/PatCandidates/interface/Electron.h" 00046 #include "DataFormats/PatCandidates/interface/Muon.h" 00047 00048 00049 #include "RecoMET/METAlgorithms/interface/SigInputObj.h" 00050 #include "RecoMET/METAlgorithms/interface/SignAlgoResolutions.h" 00051 #include "RecoMET/METAlgorithms/interface/significanceAlgo.h" 00052 00053 00054 00055 // 00056 // class declaration 00057 // 00058 00059 namespace pat { 00060 class PATMHTProducer : public edm::EDProducer { 00061 public: 00062 explicit PATMHTProducer(const edm::ParameterSet&); 00063 ~PATMHTProducer(); 00064 00065 private: 00066 virtual void beginJob(const edm::EventSetup&) ; 00067 virtual void beginRun(const edm::EventSetup&) ; 00068 virtual void produce(edm::Event&, const edm::EventSetup&); 00069 virtual void endJob() ; 00070 00071 // ----------member data --------------------------- 00072 00073 // input tags. 00074 edm::InputTag mhtLabel_; 00075 edm::InputTag jetLabel_; 00076 edm::InputTag eleLabel_; 00077 edm::InputTag muoLabel_; 00078 edm::InputTag tauLabel_; 00079 edm::InputTag phoLabel_; 00080 00081 std::vector<metsig::SigInputObj> physobjvector_ ; 00082 00083 double uncertaintyScaleFactor_; // scale factor for the uncertainty parameters. 00084 00085 }; 00086 //define this as a plug-in 00087 00088 } //end of namespace 00089