Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:31:06

0001 #ifndef L1GCTCONFIGPRODUCERS_H_
0002 #define L1GCTCONFIGPRODUCERS_H_
0003 // -*- C++ -*-
0004 //
0005 // Package:    GctConfigProducers
0006 // Class:      L1GctConfigProducers
0007 //
0008 /**\class L1GctConfigProducers L1GctConfigProducers.h L1Trigger/L1GctConfigProducers/interface/L1GctConfigProducers.h
0009 
0010  Description: <one line class summary>
0011 
0012  Implementation:
0013      <Notes on implementation>
0014 */
0015 //
0016 // Original Author:  Gregory Heath
0017 //         Created:  Thu Mar  1 15:10:47 CET 2007
0018 //
0019 //
0020 
0021 // system include files
0022 #include <memory>
0023 
0024 #include <vector>
0025 
0026 // user include files
0027 
0028 #include "FWCore/Framework/interface/Frameworkfwd.h"
0029 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0030 #include "FWCore/Framework/interface/ModuleFactory.h"
0031 #include "FWCore/Framework/interface/ESProducer.h"
0032 
0033 #include "FWCore/Framework/interface/ESHandle.h"
0034 
0035 class L1CaloGeometry;
0036 
0037 class L1GctJetFinderParams;
0038 class L1GctChannelMask;
0039 
0040 class L1GctJetFinderParamsRcd;
0041 class L1GctChannelMaskRcd;
0042 
0043 //
0044 // class declaration
0045 //
0046 
0047 class L1GctConfigProducers : public edm::ESProducer {
0048 public:
0049   L1GctConfigProducers(const edm::ParameterSet&);
0050   ~L1GctConfigProducers() override;
0051 
0052   using JfParamsReturnType = std::unique_ptr<L1GctJetFinderParams>;
0053   using ChanMaskReturnType = std::unique_ptr<L1GctChannelMask>;
0054 
0055   JfParamsReturnType produceJfParams(const L1GctJetFinderParamsRcd&);
0056   ChanMaskReturnType produceChanMask(const L1GctChannelMaskRcd&);
0057 
0058   std::vector<double> etToEnergyConversion(const L1CaloGeometry* geom) const;
0059 
0060 private:
0061   // ----------member data ---------------------------
0062   double m_rgnEtLsb;
0063   double m_htLsb;
0064   double m_CenJetSeed;
0065   double m_FwdJetSeed;
0066   double m_TauJetSeed;
0067   double m_tauIsoThresh;
0068   double m_htJetThresh;
0069   double m_mhtJetThresh;
0070   unsigned m_EtaBoundry;
0071   unsigned m_corrFunType;
0072   bool m_convertToEnergy;
0073 
0074   std::vector<std::vector<double> > m_jetCalibFunc;
0075   std::vector<std::vector<double> > m_tauCalibFunc;
0076 
0077   unsigned m_metEtaMask;
0078   unsigned m_tetEtaMask;
0079   unsigned m_mhtEtaMask;
0080   unsigned m_thtEtaMask;
0081 };
0082 
0083 #endif