00001 #ifndef L1ScalesProducers_L1ScalesTrivialProducer_h 00002 #define L1ScalesProducers_L1ScalesTrivialProducer_h 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: L1ScalesProducers 00007 // Class: L1ScalesTrivialProducer 00008 // 00016 // 00017 // Original Author: Jim Brooke 00018 // Created: Wed Sep 27 17:51:32 CEST 2006 00019 // $Id: L1ScalesTrivialProducer.h,v 1.1 2007/03/20 14:37:20 heath Exp $ 00020 // 00021 // 00022 00023 00024 // system include files 00025 #include <memory> 00026 #include <boost/shared_ptr.hpp> 00027 #include <vector> 00028 00029 // user include files 00030 #include "FWCore/Framework/interface/ModuleFactory.h" 00031 #include "FWCore/Framework/interface/ESProducer.h" 00032 00033 #include "FWCore/Framework/interface/ESHandle.h" 00034 00035 #include "CondFormats/L1TObjects/interface/L1CaloEtScale.h" 00036 #include "CondFormats/DataRecord/interface/L1EmEtScaleRcd.h" 00037 #include "CondFormats/DataRecord/interface/L1JetEtScaleRcd.h" 00038 00039 00040 // 00041 // class declaration 00042 // 00043 00044 class L1ScalesTrivialProducer : public edm::ESProducer { 00045 public: 00046 L1ScalesTrivialProducer(const edm::ParameterSet&); 00047 ~L1ScalesTrivialProducer(); 00048 00049 std::auto_ptr<L1CaloEtScale> produceEmScale(const L1EmEtScaleRcd&); 00050 std::auto_ptr<L1CaloEtScale> produceJetScale(const L1JetEtScaleRcd&); 00051 00052 private: 00053 // ----------member data --------------------------- 00054 00055 double m_emEtScaleInputLsb; 00056 std::vector<double> m_emEtThresholds; 00057 00058 double m_jetEtScaleInputLsb; 00059 std::vector<double> m_jetEtThresholds; 00060 00061 }; 00062 00063 #endif