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) */
l1t::MicroGMTMatchQualLUT::m_phiScale
double m_phiScale
Definition: MicroGMTMatchQualLUT.h:41
l1t::MicroGMTMatchQualFineLUT::m_fEtaCoarse
double m_fEtaCoarse
Definition: MicroGMTMatchQualLUT.h:85
l1t::MicroGMTMatchQualFineLUT::MicroGMTMatchQualFineLUT
MicroGMTMatchQualFineLUT()
Definition: MicroGMTMatchQualLUT.h:68
l1t::MicroGMTMatchQualLUT::getDeltaPhiWidth
int getDeltaPhiWidth() const
Definition: MicroGMTMatchQualLUT.h:32
l1t::MicroGMTMatchQualFineLUT::lookupPacked
int lookupPacked(int in) const override
Definition: MicroGMTMatchQualFineLUT.cc:80
l1t::emtf_emtf_pos
Definition: MicroGMTMatchQualLUT.h:16
input
static const std::string input
Definition: EdmProvDump.cc:48
l1t::MicroGMTMatchQualLUT::m_cancelType
cancel_t m_cancelType
Definition: MicroGMTMatchQualLUT.h:47
l1t::MicroGMTMatchQualLUT::getDeltaEtaWidth
int getDeltaEtaWidth() const
Definition: MicroGMTMatchQualLUT.h:31
l1t::cancel_t
cancel_t
Definition: MicroGMTMatchQualLUT.h:11
l1t::MicroGMTMatchQualLUT::m_dPhiRedInWidth
int m_dPhiRedInWidth
Definition: MicroGMTMatchQualLUT.h:38
l1t::MicroGMTMatchQualSimpleLUT::lookup
int lookup(int etaFine, int dEta, int dPhi) const override
Definition: MicroGMTMatchQualSimpleLUT.cc:54
l1t::MicroGMTMatchQualLUT::m_dEtaRedInWidth
int m_dEtaRedInWidth
Definition: MicroGMTMatchQualLUT.h:37
HLT_FULL_cff.dPhi
dPhi
Definition: HLT_FULL_cff.py:13765
l1t::MicroGMTMatchQualLUT::m_fEta
double m_fEta
Definition: MicroGMTMatchQualLUT.h:44
l1t::MicroGMTMatchQualFineLUT::unHashInput
void unHashInput(int input, int &etaFine, int &dEta, int &dPhi) const
Definition: MicroGMTMatchQualFineLUT.cc:100
l1t::MicroGMTMatchQualLUT::m_fPhi
double m_fPhi
Definition: MicroGMTMatchQualLUT.h:45
l1t::MicroGMTMatchQualSimpleLUT::lookupPacked
int lookupPacked(int in) const override
Definition: MicroGMTMatchQualSimpleLUT.cc:69
MicroGMTConfiguration.h
l1t::emtf_emtf_neg
Definition: MicroGMTMatchQualLUT.h:20
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
l1t::MicroGMTMatchQualFineLUT
Definition: MicroGMTMatchQualLUT.h:66
l1t::omtf_omtf_neg
Definition: MicroGMTMatchQualLUT.h:19
l1t
delete x;
Definition: CaloConfig.h:22
recoMuon::in
Definition: RecoMuonEnumerators.h:6
l1t::MicroGMTLUT
Definition: MicroGMTLUT.h:14
l1t::MicroGMTMatchQualLUT::m_etaScale
double m_etaScale
Definition: MicroGMTMatchQualLUT.h:40
l1t::MicroGMTMatchQualSimpleLUT::hashInput
int hashInput(int dEta, int dPhi) const
Definition: MicroGMTMatchQualSimpleLUT.cc:80
l1t::MicroGMTMatchQualLUT::lookup
virtual int lookup(int etaFine, int dEta, int dPhi) const =0
l1t::MicroGMTMatchQualFineLUT::lookup
int lookup(int etaFine, int dEta, int dPhi) const override
Definition: MicroGMTMatchQualFineLUT.cc:62
l1t::omtf_omtf_pos
Definition: MicroGMTMatchQualLUT.h:15
HLTMuonOfflineAnalyzer_cfi.etaFine
etaFine
Definition: HLTMuonOfflineAnalyzer_cfi.py:113
l1t::MicroGMTMatchQualFineLUT::~MicroGMTMatchQualFineLUT
~MicroGMTMatchQualFineLUT() override
Definition: MicroGMTMatchQualLUT.h:76
l1t::bmtf_bmtf
Definition: MicroGMTMatchQualLUT.h:12
l1t::omtf_bmtf_neg
Definition: MicroGMTMatchQualLUT.h:17
l1t::MicroGMTMatchQualLUT::~MicroGMTMatchQualLUT
~MicroGMTMatchQualLUT() override
Definition: MicroGMTMatchQualLUT.h:27
MicroGMTLUT.h
l1t::MicroGMTMatchQualSimpleLUT::MicroGMTMatchQualSimpleLUT
MicroGMTMatchQualSimpleLUT()
Definition: MicroGMTMatchQualLUT.h:53
l1t::LUT
Definition: LUT.h:29
l1t::omtf_bmtf_pos
Definition: MicroGMTMatchQualLUT.h:13
Frameworkfwd.h
HLT_FULL_cff.dEta
dEta
Definition: HLT_FULL_cff.py:13764
l1t::MicroGMTMatchQualLUT
Definition: MicroGMTMatchQualLUT.h:23
l1t::MicroGMTMatchQualSimpleLUT
Definition: MicroGMTMatchQualLUT.h:51
l1t::MicroGMTMatchQualLUT::m_dPhiRedMask
int m_dPhiRedMask
Definition: MicroGMTMatchQualLUT.h:36
l1t::omtf_emtf_pos
Definition: MicroGMTMatchQualLUT.h:14
l1t::MicroGMTMatchQualLUT::m_dEtaRedMask
int m_dEtaRedMask
Definition: MicroGMTMatchQualLUT.h:35
l1t::MicroGMTMatchQualSimpleLUT::unHashInput
void unHashInput(int input, int &dEta, int &dPhi) const
Definition: MicroGMTMatchQualSimpleLUT.cc:87
l1t::omtf_emtf_neg
Definition: MicroGMTMatchQualLUT.h:18
l1t::MicroGMTMatchQualFineLUT::hashInput
int hashInput(int etaFine, int dEta, int dPhi) const
Definition: MicroGMTMatchQualFineLUT.cc:92
l1t::MicroGMTMatchQualLUT::m_maxDR
double m_maxDR
Definition: MicroGMTMatchQualLUT.h:43
l1t::MicroGMTMatchQualSimpleLUT::~MicroGMTMatchQualSimpleLUT
~MicroGMTMatchQualSimpleLUT() override
Definition: MicroGMTMatchQualLUT.h:57
l1t::MicroGMTMatchQualLUT::MicroGMTMatchQualLUT
MicroGMTMatchQualLUT(l1t::LUT *lut)
Definition: MicroGMTMatchQualLUT.h:26
jets_cff.maxDR
maxDR
Definition: jets_cff.py:126
l1t::MicroGMTMatchQualFineLUT::m_etaFineMask
int m_etaFineMask
Definition: MicroGMTMatchQualLUT.h:84
ParameterSet.h
l1t::MicroGMTMatchQualLUT::MicroGMTMatchQualLUT
MicroGMTMatchQualLUT()
Definition: MicroGMTMatchQualLUT.h:25