CMS 3D CMS Logo

L1GctJetEtCalibrationLut.h
Go to the documentation of this file.
1 #ifndef L1GCTJETETCALIBRATIONLUT_H_
2 #define L1GCTJETETCALIBRATIONLUT_H_
3 
4 #define JET_ET_CAL_LUT_ADD_BITS 11
5 #define JET_ET_CAL_LUT_DAT_BITS 6
6 
8 
10 class L1CaloEtScale;
11 
28 class L1GctJetEtCalibrationLut : public L1GctLut<JET_ET_CAL_LUT_ADD_BITS,JET_ET_CAL_LUT_DAT_BITS>
29 {
30  public:
31  static const int NAddress;
32  static const int NData;
33  static const unsigned JET_ENERGY_BITWIDTH;
34 
36  ~L1GctJetEtCalibrationLut() override;
37 
38  // set components
39  void setFunction(const L1GctJetFinderParams * const lutfn);
40  void setOutputEtScale(const L1CaloEtScale * const scale);
41  void setEtaBin(const unsigned eta);
42 
43  // get components
44  const L1GctJetFinderParams* getFunction() const { return m_lutFunction; }
45  const L1CaloEtScale* getOutputEtScale() const { return m_outputEtScale; }
46  unsigned etaBin() const { return static_cast<unsigned>(m_etaBin); }
47 
49  friend std::ostream& operator << (std::ostream& os, const L1GctJetEtCalibrationLut& lut);
50 
51  protected:
52 
53 
54  uint16_t value (const uint16_t lutAddress) const override;
55 
56  private:
57 
60 
61  uint8_t m_etaBin;
62 
63 };
64 
65 std::ostream& operator << (std::ostream& os, const L1GctJetEtCalibrationLut& lut);
66 
67 #endif /*L1GCTJETETCALIBRATIONLUT_H_*/
Jet Et calibration LUT.
const L1GctJetFinderParams * getFunction() const
friend std::ostream & operator<<(std::ostream &os, const L1GctJetEtCalibrationLut &lut)
Overload << operator.
void setFunction(const L1GctJetFinderParams *const lutfn)
Base class for LookUp Tables.
Definition: L1GctLut.h:20
void setOutputEtScale(const L1CaloEtScale *const scale)
const L1CaloEtScale * m_outputEtScale
uint16_t value(const uint16_t lutAddress) const override
static const unsigned JET_ENERGY_BITWIDTH
Input bitwidth of jet energy; must be 10 or more.
const L1GctJetFinderParams * m_lutFunction
void setEtaBin(const unsigned eta)
const L1CaloEtScale * getOutputEtScale() const