00001 #ifndef L1TriggerConfig_L1ScalesProducers_L1CaloInputScalesProducer_h 00002 #define L1TriggerConfig_L1ScalesProducers_L1CaloInputScalesProducer_h 00003 // -*- C++ -*- 00004 // 00005 // Package: L1ScalesProducers 00006 // Class : L1CaloInputScalesProducer 00007 // 00016 // 00017 // Original Author: Werner Sun 00018 // Created: Fri May 30 18:25:56 CEST 2008 00019 // $Id: L1CaloInputScalesProducer.h,v 1.2 2008/10/20 17:11:55 bachtis Exp $ 00020 // 00021 00022 // system include files 00023 #include <memory> 00024 #include "boost/shared_ptr.hpp" 00025 00026 // user include files 00027 #include "FWCore/Framework/interface/ModuleFactory.h" 00028 #include "FWCore/Framework/interface/ESProducer.h" 00029 00030 #include "CondFormats/L1TObjects/interface/L1CaloEcalScale.h" 00031 #include "CondFormats/L1TObjects/interface/L1CaloHcalScale.h" 00032 #include "CondFormats/DataRecord/interface/L1CaloEcalScaleRcd.h" 00033 #include "CondFormats/DataRecord/interface/L1CaloHcalScaleRcd.h" 00034 00035 00036 // forward declarations 00037 00038 class L1CaloInputScalesProducer : public edm::ESProducer { 00039 public: 00040 L1CaloInputScalesProducer(const edm::ParameterSet&); 00041 ~L1CaloInputScalesProducer(); 00042 00043 //typedef boost::shared_ptr<L1CaloInputScale> ReturnType; 00044 00045 boost::shared_ptr<L1CaloEcalScale> 00046 produceEcalScale(const L1CaloEcalScaleRcd&); 00047 boost::shared_ptr<L1CaloHcalScale> 00048 produceHcalScale(const L1CaloHcalScaleRcd&); 00049 private: 00050 // ----------member data --------------------------- 00051 std::vector<double> m_ecalEtThresholdsPosEta; 00052 std::vector<double> m_ecalEtThresholdsNegEta; 00053 std::vector<double> m_hcalEtThresholdsPosEta; 00054 std::vector<double> m_hcalEtThresholdsNegEta; 00055 00056 }; 00057 00058 #endif