CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MicroGMTMatchQualLUT.h
Go to the documentation of this file.
1 #ifndef __l1microgmtmatchquallut_h
2 #define __l1microgmtmatchquallut_h
3 
4 #include "MicroGMTLUT.h"
6 
7 
10 
11 namespace l1t {
12  enum cancel_t {
14  };
15 
16 
18  public:
21  virtual ~MicroGMTMatchQualLUT() {};
22 
23  virtual int lookup(int etaFine, int dEta, int dPhi) const = 0;
24 
25  int getDeltaEtaWidth() const { return m_dEtaRedInWidth; }
26  int getDeltaPhiWidth() const { return m_dPhiRedInWidth; }
27  protected:
32 
33  double m_etaScale;
34  double m_phiScale;
35 
36  double m_maxDR;
37  double m_fEta;
38  double m_fPhi;
39 
41  };
42 
43  // LUT class for LUTs without eta fine bit, the eta fine bit in the lookup function is ignored
45  public:
47  explicit MicroGMTMatchQualSimpleLUT(const std::string&, const double maxDR, const double fEta, const double fPhi, cancel_t cancelType);
48  explicit MicroGMTMatchQualSimpleLUT(l1t::LUT* lut, cancel_t cancelType);
50 
51  int lookup(int etaFine, int dEta, int dPhi) const;
52  virtual int lookupPacked(int in) const;
53  int hashInput(int dEta, int dPhi) const;
54  void unHashInput(int input, int& dEta, int& dPhi) const;
55  };
56 
57  // LUT class for LUTs with eta fine bit
59  public:
61  explicit MicroGMTMatchQualFineLUT(const std::string&, const double maxDR, const double fEta, const double fEtaCoarse, const double fPhi, cancel_t cancelType);
62  explicit MicroGMTMatchQualFineLUT(l1t::LUT* lut, cancel_t cancelType);
64 
65  int lookup(int etaFine, int dEta, int dPhi) const;
66  virtual int lookupPacked(int in) const;
67  int hashInput(int etaFine, int dEta, int dPhi) const;
68  void unHashInput(int input, int& etaFine, int& dEta, int& dPhi) const;
69  private:
71  double m_fEtaCoarse;
72  };
73 }
74 #endif /* defined(__l1microgmtmatchquallut_h) */
virtual int lookupPacked(int in) const
int hashInput(int dEta, int dPhi) const
static std::string const input
Definition: EdmProvDump.cc:44
void unHashInput(int input, int &etaFine, int &dEta, int &dPhi) const
double dPhi(double phi1, double phi2)
Definition: JetUtil.h:30
tuple lut
Definition: lumiPlot.py:244
int lookup(int etaFine, int dEta, int dPhi) const
Definition: LUT.h:29
virtual int lookup(int etaFine, int dEta, int dPhi) const =0
int hashInput(int etaFine, int dEta, int dPhi) const
void unHashInput(int input, int &dEta, int &dPhi) const
int lookup(int etaFine, int dEta, int dPhi) const