00001 #ifndef L1RCTProducer_h 00002 #define L1RCTProducer_h 00003 00004 #include "FWCore/Framework/interface/EDProducer.h" 00005 #include "DataFormats/Common/interface/EDProduct.h" 00006 00007 #include "DataFormats/Common/interface/Handle.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 #include "FWCore/Framework/interface/EventSetup.h" 00010 #include "FWCore/Framework/interface/Event.h" 00011 #include "FWCore/Framework/interface/ESHandle.h" 00012 00013 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00014 00015 #include <string> 00016 00017 class L1RCT; 00018 class L1RCTLookupTables; 00019 00020 class L1RCTProducer : public edm::EDProducer 00021 { 00022 public: 00023 explicit L1RCTProducer(const edm::ParameterSet& ps); 00024 virtual ~L1RCTProducer(); 00025 virtual void beginJob(const edm::EventSetup& c); 00026 virtual void produce(edm::Event& e, const edm::EventSetup& c); 00027 private: 00028 L1RCTLookupTables* rctLookupTables; 00029 L1RCT* rct; 00030 bool useEcal; 00031 bool useHcal; 00032 edm::InputTag ecalDigisLabel; 00033 edm::InputTag hcalDigisLabel; 00034 //std::string ecalESLabel; 00035 //std::string hcalESLabel; 00036 bool useDebugTpgScales; 00037 bool useHcalCosmicTiming; 00038 bool useEcalCosmicTiming; 00039 unsigned preSamples; 00040 unsigned postSamples; 00041 00042 00043 //Kludge the SOI for real data 00044 bool useMCAsInput; 00045 int hfShift; 00046 int hbShift; 00047 00048 00049 }; 00050 #endif