00001 #ifndef EcaltrigprimProducer_h 00002 #define EcaltrigprimProducer_h 00003 00021 #include "FWCore/Framework/interface/EDProducer.h" 00022 #include "FWCore/Framework/interface/Event.h" 00023 #include "FWCore/Framework/interface/EventSetup.h" 00024 00025 #include "DataFormats/Common/interface/Handle.h" 00026 00027 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00028 00029 class TFile; 00030 class TTree; 00031 class EcalTrigPrimFunctionalAlgo; 00032 00033 class EcalTrigPrimProducer : public edm::EDProducer 00034 { 00035 public: 00036 00037 explicit EcalTrigPrimProducer(const edm::ParameterSet& conf); 00038 00039 virtual ~EcalTrigPrimProducer(); 00040 00041 void beginJob(); 00042 void beginRun(edm::Run & run, const edm::EventSetup & es); 00043 void endRun(edm::Run &, const edm::EventSetup &); 00044 virtual void produce(edm::Event& e, const edm::EventSetup& c); 00045 00046 private: 00047 EcalTrigPrimFunctionalAlgo *algo_; 00048 TFile *histfile_; 00049 bool barrelOnly_; 00050 bool tcpFormat_; 00051 bool debug_; 00052 std::string label_; 00053 std::string instanceNameEB_; 00054 std::string instanceNameEE_; 00055 00056 int binOfMaximum_; 00057 00058 const edm::ParameterSet ps_; 00059 00060 //method to get EventSetupRecords 00061 unsigned long long getRecords(edm::EventSetup const& setup); 00062 unsigned long long cacheID_; 00063 }; 00064 00065 #endif 00066 00067 00068