CMS 3D CMS Logo

MicroGMTMatchQualLUT.h
Go to the documentation of this file.
1 #ifndef __l1microgmtmatchquallut_h
2 #define __l1microgmtmatchquallut_h
3 
4 #include "MicroGMTLUT.h"
6 
9 
10 namespace l1t {
11  enum cancel_t {
21  };
22 
24  public:
26  explicit MicroGMTMatchQualLUT(l1t::LUT* lut) : MicroGMTLUT(lut){};
27  ~MicroGMTMatchQualLUT() override{};
28 
29  virtual int lookup(int etaFine, int dEta, int dPhi) const = 0;
30 
31  int getDeltaEtaWidth() const { return m_dEtaRedInWidth; }
32  int getDeltaPhiWidth() const { return m_dPhiRedInWidth; }
33 
34  protected:
39 
40  double m_etaScale;
41  double m_phiScale;
42 
43  double m_maxDR;
44  double m_fEta;
45  double m_fPhi;
46 
48  };
49 
50  // LUT class for LUTs without eta fine bit, the eta fine bit in the lookup function is ignored
52  public:
55  const std::string&, const double maxDR, const double fEta, const double fPhi, cancel_t cancelType);
56  explicit MicroGMTMatchQualSimpleLUT(l1t::LUT* lut, cancel_t cancelType);
58 
59  int lookup(int etaFine, int dEta, int dPhi) const override;
60  int lookupPacked(int in) const override;
61  int hashInput(int dEta, int dPhi) const;
62  void unHashInput(int input, int& dEta, int& dPhi) const;
63  };
64 
65  // LUT class for LUTs with eta fine bit
67  public:
69  explicit MicroGMTMatchQualFineLUT(const std::string&,
70  const double maxDR,
71  const double fEta,
72  const double fEtaCoarse,
73  const double fPhi,
74  cancel_t cancelType);
75  explicit MicroGMTMatchQualFineLUT(l1t::LUT* lut, cancel_t cancelType);
77 
78  int lookup(int etaFine, int dEta, int dPhi) const override;
79  int lookupPacked(int in) const override;
80  int hashInput(int etaFine, int dEta, int dPhi) const;
81  void unHashInput(int input, int& etaFine, int& dEta, int& dPhi) const;
82 
83  private:
85  double m_fEtaCoarse;
86  };
87 } // namespace l1t
88 #endif /* defined(__l1microgmtmatchquallut_h) */
int lookup(int etaFine, int dEta, int dPhi) const override
void unHashInput(int input, int &etaFine, int &dEta, int &dPhi) const
delete x;
Definition: CaloConfig.h:22
static std::string const input
Definition: EdmProvDump.cc:50
int lookupPacked(int in) const override
int hashInput(int etaFine, int dEta, int dPhi) const
int lookup(int etaFine, int dEta, int dPhi) const override
void unHashInput(int input, int &dEta, int &dPhi) const
Definition: LUT.h:29
virtual int lookup(int etaFine, int dEta, int dPhi) const =0
int hashInput(int dEta, int dPhi) const