File indexing completed on 2021-02-14 13:31:06
0001 #ifndef L1GCTCONFIGPRODUCERS_H_
0002 #define L1GCTCONFIGPRODUCERS_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <memory>
0023
0024 #include <vector>
0025
0026
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
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
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