00001 #ifndef Type1MET_TauMET_h 00002 #define Type1MET_TauMET_h 00003 00004 // Original Authors: Alfredo Gurrola, Chi Nhan Nguyen 00005 00006 // system include files 00007 #include <memory> 00008 00009 // user include files 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 00013 #include "FWCore/Framework/interface/Event.h" 00014 #include "FWCore/Framework/interface/MakerMacros.h" 00015 00016 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00017 #include "DataFormats/Common/interface/Handle.h" 00018 00019 #include "JetMETCorrections/Type1MET/src/TauMETAlgo.h" 00020 00021 using namespace std; 00022 namespace cms 00023 { 00024 class TauMET : public edm::EDProducer { 00025 public: 00026 explicit TauMET(const edm::ParameterSet&); 00027 ~TauMET(); 00028 00029 private: 00030 virtual void beginJob(const edm::EventSetup&) ; 00031 virtual void produce(edm::Event&, const edm::EventSetup&); 00032 virtual void endJob() ; 00033 00034 // Input parameters 00035 string _InputTausLabel; 00036 string _tauType; 00037 string _InputCaloJetsLabel; 00038 double _jetPTthreshold; 00039 double _jetEMfracLimit; 00040 string _correctorLabel; 00041 string _InputMETLabel; 00042 string _metType; 00043 double _JetMatchDeltaR; 00044 double _TauMinEt; 00045 double _TauEtaMax; 00046 bool _UseSeedTrack; 00047 double _seedTrackPt; 00048 bool _UseTrackIsolation; 00049 double _trackIsolationMinPt; 00050 bool _UseECALIsolation; 00051 double _gammaIsolationMinPt; 00052 bool _UseProngStructure; 00053 00054 TauMETAlgo _algo; 00055 00056 00057 }; 00058 } 00059 00060 #endif