CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/L1TriggerConfig/L1ScalesProducers/interface/L1ScalesTrivialProducer.h

Go to the documentation of this file.
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.3 2009/03/25 23:17:55 jbrooke 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 #include "CondFormats/DataRecord/interface/L1HtMissScaleRcd.h"
00039 #include "CondFormats/DataRecord/interface/L1HfRingEtScaleRcd.h"
00040 
00041 
00042 //
00043 // class declaration
00044 //
00045 
00046 class L1ScalesTrivialProducer : public edm::ESProducer {
00047 public:
00048   L1ScalesTrivialProducer(const edm::ParameterSet&);
00049   ~L1ScalesTrivialProducer();
00050   
00051   std::auto_ptr<L1CaloEtScale> produceEmScale(const L1EmEtScaleRcd&);
00052   std::auto_ptr<L1CaloEtScale> produceJetScale(const L1JetEtScaleRcd&);
00053   std::auto_ptr<L1CaloEtScale> produceHtMissScale(const L1HtMissScaleRcd&);
00054   std::auto_ptr<L1CaloEtScale> produceHfRingScale(const L1HfRingEtScaleRcd&);
00055 
00056 private:
00057   // ----------member data ---------------------------
00058   
00059   double m_emEtScaleInputLsb;
00060   std::vector<double> m_emEtThresholds;
00061 
00062   double m_jetEtScaleInputLsb;
00063   std::vector<double> m_jetEtThresholds;
00064 
00065   std::vector<double> m_htMissThresholds;
00066   std::vector<double> m_hfRingThresholds;
00067   
00068 };
00069 
00070 #endif