00001 #ifndef L1GCTCONFIGPRODUCERS_H_ 00002 #define L1GCTCONFIGPRODUCERS_H_ 00003 // -*- C++ -*- 00004 // 00005 // Package: GctConfigProducers 00006 // Class: L1GctConfigProducers 00007 // 00015 // 00016 // Original Author: Gregory Heath 00017 // Created: Thu Mar 1 15:10:47 CET 2007 00018 // $Id: L1GctConfigProducers.h,v 1.10 2010/02/10 01:33:25 jbrooke Exp $ 00019 // 00020 // 00021 00022 00023 // system include files 00024 #include <memory> 00025 #include "boost/shared_ptr.hpp" 00026 00027 #include<vector> 00028 00029 // user include files 00030 00031 #include "FWCore/Framework/interface/Frameworkfwd.h" 00032 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00033 #include "FWCore/Framework/interface/ModuleFactory.h" 00034 #include "FWCore/Framework/interface/ESProducer.h" 00035 00036 #include "FWCore/Framework/interface/ESHandle.h" 00037 00038 class L1CaloGeometry; 00039 00040 class L1GctJetFinderParams; 00041 class L1GctChannelMask; 00042 00043 class L1GctJetFinderParamsRcd; 00044 class L1GctChannelMaskRcd; 00045 00046 00047 // 00048 // class declaration 00049 // 00050 00051 class L1GctConfigProducers : public edm::ESProducer { 00052 public: 00053 L1GctConfigProducers(const edm::ParameterSet&); 00054 ~L1GctConfigProducers(); 00055 00056 typedef boost::shared_ptr<L1GctJetFinderParams> JfParamsReturnType; 00057 typedef boost::shared_ptr<L1GctChannelMask> ChanMaskReturnType; 00058 00059 JfParamsReturnType produceJfParams(const L1GctJetFinderParamsRcd&); 00060 ChanMaskReturnType produceChanMask(const L1GctChannelMaskRcd&); 00061 00062 std::vector<double> etToEnergyConversion(const L1CaloGeometry* geom) const; 00063 00064 private: 00065 // ----------member data --------------------------- 00066 double m_rgnEtLsb; 00067 double m_htLsb; 00068 double m_CenJetSeed; 00069 double m_FwdJetSeed; 00070 double m_TauJetSeed; 00071 double m_tauIsoThresh; 00072 double m_htJetThresh; 00073 double m_mhtJetThresh; 00074 unsigned m_EtaBoundry; 00075 unsigned m_corrFunType; 00076 bool m_convertToEnergy; 00077 00078 std::vector< std::vector<double> > m_jetCalibFunc; 00079 std::vector< std::vector<double> > m_tauCalibFunc; 00080 00081 }; 00082 00083 #endif 00084 00085