CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
l1t::MicroGMTExtrapolationLUT Class Reference

#include <MicroGMTExtrapolationLUT.h>

Inheritance diagram for l1t::MicroGMTExtrapolationLUT:
l1t::MicroGMTLUT l1t::LUT

Public Member Functions

int getEtaRedInWidth () const
 
int getPtRedInWidth () const
 
int hashInput (int angle, int pt) const
 
int lookup (int angle, int pt) const
 
 MicroGMTExtrapolationLUT ()
 
 MicroGMTExtrapolationLUT (const std::string &fname, const int outWidth, const int etaRedInWidth, const int ptRedInWidth)
 
 MicroGMTExtrapolationLUT (l1t::LUT *lut, const int outWidth, const int etaRedInWidth, const int ptRedInWidth)
 
void unHashInput (int input, int &angle, int &pt) const
 
 ~MicroGMTExtrapolationLUT () override
 
- Public Member Functions inherited from l1t::MicroGMTLUT
int checkedInput (unsigned in, unsigned maxWidth) const
 
void initialize ()
 
int load (const std::string &inFileName)
 
virtual int lookupPacked (int input) const
 
 MicroGMTLUT ()
 
 MicroGMTLUT (l1t::LUT *lut)
 
void save (std::ofstream &output)
 
virtual ~MicroGMTLUT ()
 
- Public Member Functions inherited from l1t::LUT
int data (unsigned int address) const
 
bool empty () const
 
 LUT ()
 
 LUT (std::istream &stream)
 
unsigned int maxSize () const
 
unsigned int nrBitsAddress () const
 
unsigned int nrBitsData () const
 
int read (std::istream &stream)
 
void write (std::ostream &stream) const
 
 ~LUT ()
 

Private Attributes

int m_etaRedInWidth
 
int m_etaRedMask
 
int m_ptRedInWidth
 
int m_ptRedMask
 

Additional Inherited Members

- Public Types inherited from l1t::LUT
enum  ReadCodes {
  SUCCESS =0, NO_ENTRIES =1, DUP_ENTRIES =2, MISS_ENTRIES =3,
  MAX_ADDRESS_OUTOFRANGE =4, NO_HEADER =5
}
 
- Protected Attributes inherited from l1t::MicroGMTLUT
bool m_initialized
 
std::vector< MicroGMTConfiguration::input_tm_inputs
 
unsigned m_outWidth
 
unsigned m_totalInWidth
 

Detailed Description

Definition at line 10 of file MicroGMTExtrapolationLUT.h.

Constructor & Destructor Documentation

l1t::MicroGMTExtrapolationLUT::MicroGMTExtrapolationLUT ( )
inline
l1t::MicroGMTExtrapolationLUT::MicroGMTExtrapolationLUT ( const std::string &  fname,
const int  outWidth,
const int  etaRedInWidth,
const int  ptRedInWidth 
)
explicit

Definition at line 3 of file MicroGMTExtrapolationLUT.cc.

References l1t::MicroGMTConfiguration::ETA_COARSE, l1t::MicroGMTLUT::load(), m_etaRedInWidth, m_etaRedMask, l1t::MicroGMTLUT::m_inputs, l1t::MicroGMTLUT::m_outWidth, m_ptRedInWidth, m_ptRedMask, l1t::MicroGMTLUT::m_totalInWidth, l1t::MicroGMTConfiguration::PT, and AlCaHLTBitMon_QueryRunRegistry::string.

3  : MicroGMTLUT(), m_etaRedInWidth(etaRedInWidth), m_ptRedInWidth(ptRedInWidth)
4 {
6  m_outWidth = outWidth;
7 
8  m_ptRedMask = (1 << m_ptRedInWidth) - 1;
10 
13 
14  if (fname != std::string("")) {
15  load(fname);
16  }
17 }
unsigned m_totalInWidth
Definition: MicroGMTLUT.h:34
int load(const std::string &inFileName)
Definition: MicroGMTLUT.cc:21
std::vector< MicroGMTConfiguration::input_t > m_inputs
Definition: MicroGMTLUT.h:36
string fname
main script
unsigned m_outWidth
Definition: MicroGMTLUT.h:35
l1t::MicroGMTExtrapolationLUT::MicroGMTExtrapolationLUT ( l1t::LUT lut,
const int  outWidth,
const int  etaRedInWidth,
const int  ptRedInWidth 
)
explicit

Definition at line 19 of file MicroGMTExtrapolationLUT.cc.

References l1t::MicroGMTConfiguration::ETA_COARSE, m_etaRedInWidth, m_etaRedMask, l1t::MicroGMTLUT::m_initialized, l1t::MicroGMTLUT::m_inputs, l1t::MicroGMTLUT::m_outWidth, m_ptRedInWidth, m_ptRedMask, l1t::MicroGMTLUT::m_totalInWidth, and l1t::MicroGMTConfiguration::PT.

l1t::MicroGMTExtrapolationLUT::~MicroGMTExtrapolationLUT ( )
inlineoverride

Member Function Documentation

int l1t::MicroGMTExtrapolationLUT::getEtaRedInWidth ( ) const

Definition at line 63 of file MicroGMTExtrapolationLUT.cc.

References m_etaRedInWidth.

Referenced by ~MicroGMTExtrapolationLUT().

int l1t::MicroGMTExtrapolationLUT::getPtRedInWidth ( ) const

Definition at line 69 of file MicroGMTExtrapolationLUT.cc.

References m_ptRedInWidth.

Referenced by ~MicroGMTExtrapolationLUT().

int l1t::MicroGMTExtrapolationLUT::hashInput ( int  angle,
int  pt 
) const

Definition at line 47 of file MicroGMTExtrapolationLUT.cc.

References m_ptRedInWidth, EnergyCorrector::pt, and mps_fire::result.

Referenced by lookup(), and ~MicroGMTExtrapolationLUT().

48 {
49  int result = 0;
50  result += eta << m_ptRedInWidth;
51  result += pt;
52  return result;
53 }
int l1t::MicroGMTExtrapolationLUT::lookup ( int  angle,
int  pt 
) const

Definition at line 34 of file MicroGMTExtrapolationLUT.cc.

References l1t::MicroGMTLUT::checkedInput(), hashInput(), l1t::MicroGMTLUT::lookupPacked(), m_etaRedInWidth, l1t::MicroGMTLUT::m_initialized, m_ptRedInWidth, and mps_fire::result.

Referenced by ~MicroGMTExtrapolationLUT().

35 {
36  // normalize these two to the same scale and then calculate?
37  if (m_initialized) {
38  // unsigned eta_twocomp = MicroGMTConfiguration::getTwosComp(eta, m_etaRedInWidth);
40  }
41  int result = 0;
42  // normalize to out width
43  return result;
44 }
virtual int lookupPacked(int input) const
Definition: MicroGMTLUT.cc:37
int checkedInput(unsigned in, unsigned maxWidth) const
Definition: MicroGMTLUT.cc:62
int hashInput(int angle, int pt) const
void l1t::MicroGMTExtrapolationLUT::unHashInput ( int  input,
int &  angle,
int &  pt 
) const

Member Data Documentation

int l1t::MicroGMTExtrapolationLUT::m_etaRedInWidth
private

Definition at line 26 of file MicroGMTExtrapolationLUT.h.

Referenced by getEtaRedInWidth(), lookup(), and MicroGMTExtrapolationLUT().

int l1t::MicroGMTExtrapolationLUT::m_etaRedMask
private

Definition at line 29 of file MicroGMTExtrapolationLUT.h.

Referenced by MicroGMTExtrapolationLUT(), and unHashInput().

int l1t::MicroGMTExtrapolationLUT::m_ptRedInWidth
private
int l1t::MicroGMTExtrapolationLUT::m_ptRedMask
private

Definition at line 30 of file MicroGMTExtrapolationLUT.h.

Referenced by MicroGMTExtrapolationLUT(), and unHashInput().