CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
l1ct::TrackInputEmulator Class Reference

#include <tkinput_ref.h>

Public Types

enum  Encoding { Encoding::Stepping, Encoding::Biased, Encoding::Unbiased }
 encoding used in the digitized track word More...
 
enum  Region { Region::Barrel, Region::Endcap, Region::Any }
 

Public Member Functions

l1ct::tkdeta_t calcDEtaBarrel (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
l1ct::tkdeta_t calcDEtaHGCal (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
l1ct::tkdphi_t calcDPhiBarrel (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
l1ct::tkdphi_t calcDPhiHGCal (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
void configDEtaBarrel (int dEtaBarrelBits, int dEtaBarrelZ0PreShift, int dEtaBarrelZ0PostShift, float offs=0)
 
void configDEtaHGCal (int dEtaHGCalBits, int dEtaHGCalZ0PreShift, int dEtaHGCalRInvPreShift, int dEtaHGCalLUTBits, int dEtaHGCalLUTShift, float offs=0)
 
void configDPhiBarrel (int dPhiBarrelBits, int dPhiBarrelRInvPreShift, int dPhiBarrelRInvPostShift, float offs=0)
 
void configDPhiHGCal (int dPhiHGCalBits, int dPhiHGCalZ0PreShift, int dPhiHGCalZ0PostShift, int dPhiHGCalRInvShift, int dPhiHGCalTanlInvShift, int dPhiHGCalTanlLUTBits, float offs=0)
 
void configEta (int lutBits, int preOffs, int shift, int postOffs, bool lutSigned, bool endcap)
 
void configPhi (int bits)
 
void configPt (int lutBits)
 
void configZ0 (int bits)
 
l1ct::glbeta_t convEta (ap_int< 16 > tanl) const
 convert track-word int tanl into eta at vertex in layer 1 units More...
 
l1ct::phi_t convPhi (ap_int< 12 > phi) const
 convert track-word int phi into phi at vertex in layer 1 units More...
 
l1ct::pt_t convPt (ap_int< 15 > Rinv) const
 
l1ct::z0_t convZ0 (ap_int< 12 > z0) const
 
unsigned int countSetBits (unsigned int n) const
 
std::pair< l1ct::TkObjEmu, bool > decodeTrack (ap_uint< 96 > tkword, const l1ct::PFRegionEmu &sector) const
 
std::pair< l1ct::TkObjEmu, bool > decodeTrack (ap_uint< 96 > tkword, const l1ct::PFRegionEmu &sector, bool bitwise) const
 
std::pair< l1ct::TkObjEmu, bool > decodeTrack (ap_uint< 96 > tkword, const l1ct::PFRegionEmu &sector, bool bitwise, bool slim) const
 
const std::vector< int > & dEtaHGCalLUT () const
 
const std::vector< int > & dPhiHGCalTanlLUT () const
 
float floatDEtaBarrel (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
float floatDEtaHGCal (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
float floatDPhiBarrel (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
float floatDPhiHGCal (ap_int< 12 > z0, ap_int< 15 > Rinv, ap_int< 16 > tanl) const
 
float floatEta (ap_int< 16 > tanl) const
 convert track-word int tanl into float eta (at vertex) in radiants (exact) More...
 
float floatPhi (ap_int< 12 > phi) const
 convert track-word int phi into float phi (at vertex) in radiants (exact) More...
 
float floatPt (ap_int< 15 > Rinv) const
 convert track-word Rinv into float pt (almost exact) More...
 
float floatTanl (ap_int< 16 > tanl) const
 just unpack tanl to a float More...
 
float floatZ0 (ap_int< 12 > z0) const
 convert track-word int z0 into float z0 in cm (exact) More...
 
const std::vector< l1ct::pt_t > & ptLUT () const
 
void setDebug (bool debug=true)
 
void setDEtaBarrelParams (float pZ0)
 
void setDEtaHGCalParams (float pZ0, float pRinv2C, float pRinv2ITanl1, float pRinv2ITanl2)
 
void setDPhiBarrelParams (float pC)
 
void setDPhiHGCalParams (float pZ0, float pC)
 
void setPhiScale (float phiScale)
 
void setRinvToPtFactor (float rInvToPt)
 
void setZ0Scale (float z0Scale)
 
const std::vector< int > & tanlLUT () const
 
 TrackInputEmulator (const edm::ParameterSet &iConfig)
 
 TrackInputEmulator (Region=Region::Endcap, Encoding encoding=Encoding::Stepping, bool bitwise=true, bool slim=true)
 

Static Public Member Functions

static bool charge (const ap_uint< 96 > &tkword)
 
static bool mayReachHGCal (ap_int< 16 > tanl)
 conservative cut to select tracks that may have |eta| > 1.25 or |calo eta| > 1.25 More...
 
static ap_int< 12 > signedPhi (const ap_uint< 96 > &tkword)
 
static ap_int< 15 > signedRinv (const ap_uint< 96 > &tkword)
 
static ap_int< 16 > signedTanl (const ap_uint< 96 > &tkword)
 
static ap_int< 12 > signedZ0 (const ap_uint< 96 > &tkword)
 
static bool valid (const ap_uint< 96 > &tkword)
 
static bool withinBarrel (ap_int< 16 > tanl)
 conservative cut to avoid filling LUTs outside of the barrel range More...
 
static bool withinTracker (ap_int< 16 > tanl)
 conservative cut to avoid filling LUTs outside of the tracker range More...
 

Protected Member Functions

template<int N>
float toFloat_ (ap_int< N > signedVal) const
 

Protected Attributes

bool bitwise_
 Whether to run the bitwise accurate or floating point conversions. More...
 
bool debug_
 enable debug printout in some metods More...
 
int dEtaBarrelBits_
 
int dEtaBarrelOffs_
 
float dEtaBarrelParamZ0_
 Parameters for track propagation in floating point. More...
 
int dEtaBarrelZ0_
 
int dEtaBarrelZ0PostShift_
 
int dEtaBarrelZ0PreShift_
 
int dEtaHGCalBits_
 
std::vector< int > dEtaHGCalLUT_
 
int dEtaHGCalLUTShift_
 
int dEtaHGCalOffs_
 
float dEtaHGCalParamRInv2C_
 
float dEtaHGCalParamRInv2ITanl1_
 
float dEtaHGCalParamRInv2ITanl2_
 
float dEtaHGCalParamZ0_
 Parameters for track propagation in floating point. More...
 
int dEtaHGCalRInvPreShift_
 
int dEtaHGCalTanlShift_
 
int dEtaHGCalTanlTermOffs_
 
int dEtaHGCalTanlTermShift_
 
int dEtaHGCalZ0_
 
int dEtaHGCalZ0PreShift_
 
int dPhiBarrelBits_
 
int dPhiBarrelC_
 
int dPhiBarrelOffs_
 
float dPhiBarrelParamC_
 
int dPhiBarrelRInvPostShift_
 
int dPhiBarrelRInvPreShift_
 
int dPhiHGCalBits_
 
int dPhiHGCalOffs_
 
float dPhiHGCalParamC_
 
float dPhiHGCalParamZ0_
 
int dPhiHGCalPreOffs_
 
int dPhiHGCalRInvShift_
 
int dPhiHGCalTanlInvShift_
 
std::vector< int > dPhiHGCalTanlLUT_
 
int dPhiHGCalTanlShift_
 
int dPhiHGCalZ0_
 
int dPhiHGCalZ0PostShift_
 
int dPhiHGCalZ0PreShift_
 
Encoding encoding_
 Encoding used for track word inputs. More...
 
float phiScale_
 
std::vector< l1ct::pt_tptLUT_
 
int ptLUTShift_
 
Region region_
 Region for which the emulation is configured. More...
 
float rInvToPt_
 Main constants. More...
 
bool slim_
 Whether to unpack and populate also nstubs and various chi2 variables (needed for CompibedID in the endcap) More...
 
std::vector< int > tanlLUT_
 
int tanlLUTPostOffs_
 
int tanlLUTPreOffs_
 
int tanlLUTShift_
 
bool tanlLUTSigned_
 
int vtxPhiBitShift_
 
int vtxPhiMult_
 
int vtxPhiOffsNeg_
 
int vtxPhiOffsPos_
 
int z0BitShift_
 
int z0Mult_
 
int z0OffsNeg_
 
int z0OffsPos_
 
float z0Scale_
 

Detailed Description

Definition at line 13 of file tkinput_ref.h.

Member Enumeration Documentation

◆ Encoding

encoding used in the digitized track word

Enumerator
Stepping 
Biased 
Unbiased 

Definition at line 18 of file tkinput_ref.h.

18  {
19  Stepping, // J = sign(F) * floor(abs(F)/LSB); F = sign(J) * ( abs(J) + 0.5 ) * LSB
20  Biased, // J = floor(F/LSB); F = (J + 0.5)*LSB
21  Unbiased // J = round(F/LSB); F = J * LSB
22  };

◆ Region

Enumerator
Barrel 
Endcap 
Any 

Definition at line 15 of file tkinput_ref.h.

15 { Barrel, Endcap, Any }; // but only Endcap supported for now

Constructor & Destructor Documentation

◆ TrackInputEmulator() [1/2]

l1ct::TrackInputEmulator::TrackInputEmulator ( const edm::ParameterSet iConfig)

◆ TrackInputEmulator() [2/2]

l1ct::TrackInputEmulator::TrackInputEmulator ( Region  = Region::Endcap,
Encoding  encoding = Encoding::Stepping,
bool  bitwise = true,
bool  slim = true 
)

Member Function Documentation

◆ calcDEtaBarrel()

l1ct::tkdeta_t l1ct::TrackInputEmulator::calcDEtaBarrel ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ calcDEtaHGCal()

l1ct::tkdeta_t l1ct::TrackInputEmulator::calcDEtaHGCal ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ calcDPhiBarrel()

l1ct::tkdphi_t l1ct::TrackInputEmulator::calcDPhiBarrel ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ calcDPhiHGCal()

l1ct::tkdphi_t l1ct::TrackInputEmulator::calcDPhiHGCal ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ charge()

static bool l1ct::TrackInputEmulator::charge ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 46 of file tkinput_ref.h.

46 { return !tkword[94]; }

◆ configDEtaBarrel()

void l1ct::TrackInputEmulator::configDEtaBarrel ( int  dEtaBarrelBits,
int  dEtaBarrelZ0PreShift,
int  dEtaBarrelZ0PostShift,
float  offs = 0 
)

◆ configDEtaHGCal()

void l1ct::TrackInputEmulator::configDEtaHGCal ( int  dEtaHGCalBits,
int  dEtaHGCalZ0PreShift,
int  dEtaHGCalRInvPreShift,
int  dEtaHGCalLUTBits,
int  dEtaHGCalLUTShift,
float  offs = 0 
)

◆ configDPhiBarrel()

void l1ct::TrackInputEmulator::configDPhiBarrel ( int  dPhiBarrelBits,
int  dPhiBarrelRInvPreShift,
int  dPhiBarrelRInvPostShift,
float  offs = 0 
)

◆ configDPhiHGCal()

void l1ct::TrackInputEmulator::configDPhiHGCal ( int  dPhiHGCalBits,
int  dPhiHGCalZ0PreShift,
int  dPhiHGCalZ0PostShift,
int  dPhiHGCalRInvShift,
int  dPhiHGCalTanlInvShift,
int  dPhiHGCalTanlLUTBits,
float  offs = 0 
)

◆ configEta()

void l1ct::TrackInputEmulator::configEta ( int  lutBits,
int  preOffs,
int  shift,
int  postOffs,
bool  lutSigned,
bool  endcap 
)

◆ configPhi()

void l1ct::TrackInputEmulator::configPhi ( int  bits)

◆ configPt()

void l1ct::TrackInputEmulator::configPt ( int  lutBits)

◆ configZ0()

void l1ct::TrackInputEmulator::configZ0 ( int  bits)

◆ convEta()

l1ct::glbeta_t l1ct::TrackInputEmulator::convEta ( ap_int< 16 >  tanl) const

convert track-word int tanl into eta at vertex in layer 1 units

◆ convPhi()

l1ct::phi_t l1ct::TrackInputEmulator::convPhi ( ap_int< 12 >  phi) const

convert track-word int phi into phi at vertex in layer 1 units

◆ convPt()

l1ct::pt_t l1ct::TrackInputEmulator::convPt ( ap_int< 15 >  Rinv) const

◆ convZ0()

l1ct::z0_t l1ct::TrackInputEmulator::convZ0 ( ap_int< 12 >  z0) const

◆ countSetBits()

unsigned int l1ct::TrackInputEmulator::countSetBits ( unsigned int  n) const
inline

Definition at line 164 of file tkinput_ref.h.

References submitPVResolutionJobs::count, and dqmiodumpmetadata::n.

164  {
165  unsigned int count = 0;
166  while (n) {
167  n &= (n - 1);
168  count++;
169  }
170  return count;
171  }

◆ decodeTrack() [1/3]

std::pair<l1ct::TkObjEmu, bool> l1ct::TrackInputEmulator::decodeTrack ( ap_uint< 96 >  tkword,
const l1ct::PFRegionEmu sector 
) const
inline

Definition at line 30 of file tkinput_ref.h.

References bitwise_, nano_mu_digi_cff::sector, and slim_.

Referenced by decodeTrack().

30  {
31  return decodeTrack(tkword, sector, bitwise_, slim_);
32  }
bool bitwise_
Whether to run the bitwise accurate or floating point conversions.
Definition: tkinput_ref.h:195
std::pair< l1ct::TkObjEmu, bool > decodeTrack(ap_uint< 96 > tkword, const l1ct::PFRegionEmu &sector) const
Definition: tkinput_ref.h:30
bool slim_
Whether to unpack and populate also nstubs and various chi2 variables (needed for CompibedID in the e...
Definition: tkinput_ref.h:198

◆ decodeTrack() [2/3]

std::pair<l1ct::TkObjEmu, bool> l1ct::TrackInputEmulator::decodeTrack ( ap_uint< 96 >  tkword,
const l1ct::PFRegionEmu sector,
bool  bitwise 
) const
inline

Definition at line 33 of file tkinput_ref.h.

References decodeTrack(), nano_mu_digi_cff::sector, and slim_.

35  {
36  return decodeTrack(tkword, sector, bitwise, slim_);
37  }
std::pair< l1ct::TkObjEmu, bool > decodeTrack(ap_uint< 96 > tkword, const l1ct::PFRegionEmu &sector) const
Definition: tkinput_ref.h:30
bool slim_
Whether to unpack and populate also nstubs and various chi2 variables (needed for CompibedID in the e...
Definition: tkinput_ref.h:198

◆ decodeTrack() [3/3]

std::pair<l1ct::TkObjEmu, bool> l1ct::TrackInputEmulator::decodeTrack ( ap_uint< 96 >  tkword,
const l1ct::PFRegionEmu sector,
bool  bitwise,
bool  slim 
) const

◆ dEtaHGCalLUT()

const std::vector<int>& l1ct::TrackInputEmulator::dEtaHGCalLUT ( ) const
inline

Definition at line 159 of file tkinput_ref.h.

References dEtaHGCalLUT_.

159 { return dEtaHGCalLUT_; }
std::vector< int > dEtaHGCalLUT_
Definition: tkinput_ref.h:226

◆ dPhiHGCalTanlLUT()

const std::vector<int>& l1ct::TrackInputEmulator::dPhiHGCalTanlLUT ( ) const
inline

Definition at line 160 of file tkinput_ref.h.

References dPhiHGCalTanlLUT_.

160 { return dPhiHGCalTanlLUT_; }
std::vector< int > dPhiHGCalTanlLUT_
Definition: tkinput_ref.h:231

◆ floatDEtaBarrel()

float l1ct::TrackInputEmulator::floatDEtaBarrel ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ floatDEtaHGCal()

float l1ct::TrackInputEmulator::floatDEtaHGCal ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ floatDPhiBarrel()

float l1ct::TrackInputEmulator::floatDPhiBarrel ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ floatDPhiHGCal()

float l1ct::TrackInputEmulator::floatDPhiHGCal ( ap_int< 12 >  z0,
ap_int< 15 >  Rinv,
ap_int< 16 >  tanl 
) const

◆ floatEta()

float l1ct::TrackInputEmulator::floatEta ( ap_int< 16 >  tanl) const

convert track-word int tanl into float eta (at vertex) in radiants (exact)

◆ floatPhi()

float l1ct::TrackInputEmulator::floatPhi ( ap_int< 12 >  phi) const

convert track-word int phi into float phi (at vertex) in radiants (exact)

◆ floatPt()

float l1ct::TrackInputEmulator::floatPt ( ap_int< 15 >  Rinv) const

convert track-word Rinv into float pt (almost exact)

◆ floatTanl()

float l1ct::TrackInputEmulator::floatTanl ( ap_int< 16 >  tanl) const
inline

just unpack tanl to a float

Definition at line 55 of file tkinput_ref.h.

References toFloat_().

55 { return toFloat_(tanl) / (1 << 12); }
float toFloat_(ap_int< N > signedVal) const
Definition: tkinput_ref.h:176

◆ floatZ0()

float l1ct::TrackInputEmulator::floatZ0 ( ap_int< 12 >  z0) const

convert track-word int z0 into float z0 in cm (exact)

◆ mayReachHGCal()

static bool l1ct::TrackInputEmulator::mayReachHGCal ( ap_int< 16 >  tanl)
inlinestatic

conservative cut to select tracks that may have |eta| > 1.25 or |calo eta| > 1.25

Definition at line 148 of file tkinput_ref.h.

148 { return (tanl > 6000) || (tanl < -6000); }

◆ ptLUT()

const std::vector<l1ct::pt_t>& l1ct::TrackInputEmulator::ptLUT ( ) const
inline

Definition at line 162 of file tkinput_ref.h.

References ptLUT_.

162 { return ptLUT_; }
std::vector< l1ct::pt_t > ptLUT_
Definition: tkinput_ref.h:240

◆ setDebug()

void l1ct::TrackInputEmulator::setDebug ( bool  debug = true)
inline

Definition at line 154 of file tkinput_ref.h.

References debug, and debug_.

154 { debug_ = debug; }
bool debug_
enable debug printout in some metods
Definition: tkinput_ref.h:243
#define debug
Definition: HDRShower.cc:19

◆ setDEtaBarrelParams()

void l1ct::TrackInputEmulator::setDEtaBarrelParams ( float  pZ0)
inline

Definition at line 101 of file tkinput_ref.h.

References dEtaBarrelParamZ0_.

101 { dEtaBarrelParamZ0_ = pZ0; }
float dEtaBarrelParamZ0_
Parameters for track propagation in floating point.
Definition: tkinput_ref.h:204

◆ setDEtaHGCalParams()

void l1ct::TrackInputEmulator::setDEtaHGCalParams ( float  pZ0,
float  pRinv2C,
float  pRinv2ITanl1,
float  pRinv2ITanl2 
)
inline

Definition at line 117 of file tkinput_ref.h.

References dEtaHGCalParamRInv2C_, dEtaHGCalParamRInv2ITanl1_, dEtaHGCalParamRInv2ITanl2_, and dEtaHGCalParamZ0_.

117  {
118  dEtaHGCalParamZ0_ = pZ0;
119  dEtaHGCalParamRInv2C_ = pRinv2C;
120  dEtaHGCalParamRInv2ITanl1_ = pRinv2ITanl1;
121  dEtaHGCalParamRInv2ITanl2_ = pRinv2ITanl2;
122  }
float dEtaHGCalParamZ0_
Parameters for track propagation in floating point.
Definition: tkinput_ref.h:208

◆ setDPhiBarrelParams()

void l1ct::TrackInputEmulator::setDPhiBarrelParams ( float  pC)
inline

Definition at line 102 of file tkinput_ref.h.

References dPhiBarrelParamC_.

102 { dPhiBarrelParamC_ = pC; }

◆ setDPhiHGCalParams()

void l1ct::TrackInputEmulator::setDPhiHGCalParams ( float  pZ0,
float  pC 
)
inline

Definition at line 123 of file tkinput_ref.h.

References dPhiHGCalParamC_, and dPhiHGCalParamZ0_.

123  {
124  dPhiHGCalParamZ0_ = pZ0;
125  dPhiHGCalParamC_ = pC;
126  }

◆ setPhiScale()

void l1ct::TrackInputEmulator::setPhiScale ( float  phiScale)
inline

Definition at line 71 of file tkinput_ref.h.

References phiScale_.

71 { phiScale_ = phiScale; }

◆ setRinvToPtFactor()

void l1ct::TrackInputEmulator::setRinvToPtFactor ( float  rInvToPt)
inline

Definition at line 70 of file tkinput_ref.h.

References rInvToPt_.

70 { rInvToPt_ = rInvToPt; }
float rInvToPt_
Main constants.
Definition: tkinput_ref.h:201

◆ setZ0Scale()

void l1ct::TrackInputEmulator::setZ0Scale ( float  z0Scale)
inline

Definition at line 72 of file tkinput_ref.h.

References l1ctLayer1_cff::z0Scale, and z0Scale_.

◆ signedPhi()

static ap_int<12> l1ct::TrackInputEmulator::signedPhi ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 51 of file tkinput_ref.h.

51 { return ap_int<12>(tkword(79, 68)); }

◆ signedRinv()

static ap_int<15> l1ct::TrackInputEmulator::signedRinv ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 48 of file tkinput_ref.h.

48 { return ap_int<15>(tkword(94, 80)); }

◆ signedTanl()

static ap_int<16> l1ct::TrackInputEmulator::signedTanl ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 50 of file tkinput_ref.h.

50 { return ap_int<16>(tkword(63, 48)); }

◆ signedZ0()

static ap_int<12> l1ct::TrackInputEmulator::signedZ0 ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 49 of file tkinput_ref.h.

49 { return ap_int<12>(tkword(47, 36)); }

◆ tanlLUT()

const std::vector<int>& l1ct::TrackInputEmulator::tanlLUT ( ) const
inline

Definition at line 161 of file tkinput_ref.h.

References tanlLUT_.

161 { return tanlLUT_; }
std::vector< int > tanlLUT_
Definition: tkinput_ref.h:235

◆ toFloat_()

template<int N>
float l1ct::TrackInputEmulator::toFloat_ ( ap_int< N signedVal) const
inlineprotected

Definition at line 176 of file tkinput_ref.h.

References Biased, encoding_, runTheMatrix::ret, and Stepping.

Referenced by floatTanl().

176  {
177  float ret = signedVal.to_float();
178  switch (encoding_) {
179  case Encoding::Stepping:
180  return (signedVal >= 0 ? ret + 0.5 : ret - 0.5);
181  case Encoding::Biased:
182  return ret + 0.5;
183  default:
184  return ret;
185  }
186  }
ret
prodAgent to be discontinued
Encoding encoding_
Encoding used for track word inputs.
Definition: tkinput_ref.h:192

◆ valid()

static bool l1ct::TrackInputEmulator::valid ( const ap_uint< 96 > &  tkword)
inlinestatic

Definition at line 45 of file tkinput_ref.h.

45 { return tkword[95]; }

◆ withinBarrel()

static bool l1ct::TrackInputEmulator::withinBarrel ( ap_int< 16 >  tanl)
inlinestatic

conservative cut to avoid filling LUTs outside of the barrel range

Definition at line 152 of file tkinput_ref.h.

152 { return (-13000 < tanl) && (tanl < 13000); }

◆ withinTracker()

static bool l1ct::TrackInputEmulator::withinTracker ( ap_int< 16 >  tanl)
inlinestatic

conservative cut to avoid filling LUTs outside of the tracker range

Definition at line 150 of file tkinput_ref.h.

150 { return (-25000 < tanl) && (tanl < 25000); }

Member Data Documentation

◆ bitwise_

bool l1ct::TrackInputEmulator::bitwise_
protected

Whether to run the bitwise accurate or floating point conversions.

Definition at line 195 of file tkinput_ref.h.

Referenced by decodeTrack().

◆ debug_

bool l1ct::TrackInputEmulator::debug_
protected

enable debug printout in some metods

Definition at line 243 of file tkinput_ref.h.

Referenced by setDebug().

◆ dEtaBarrelBits_

int l1ct::TrackInputEmulator::dEtaBarrelBits_
protected

Definition at line 218 of file tkinput_ref.h.

◆ dEtaBarrelOffs_

int l1ct::TrackInputEmulator::dEtaBarrelOffs_
protected

Definition at line 218 of file tkinput_ref.h.

◆ dEtaBarrelParamZ0_

float l1ct::TrackInputEmulator::dEtaBarrelParamZ0_
protected

Parameters for track propagation in floating point.

Definition at line 204 of file tkinput_ref.h.

Referenced by setDEtaBarrelParams().

◆ dEtaBarrelZ0_

int l1ct::TrackInputEmulator::dEtaBarrelZ0_
protected

Definition at line 218 of file tkinput_ref.h.

◆ dEtaBarrelZ0PostShift_

int l1ct::TrackInputEmulator::dEtaBarrelZ0PostShift_
protected

Definition at line 218 of file tkinput_ref.h.

◆ dEtaBarrelZ0PreShift_

int l1ct::TrackInputEmulator::dEtaBarrelZ0PreShift_
protected

Definition at line 218 of file tkinput_ref.h.

◆ dEtaHGCalBits_

int l1ct::TrackInputEmulator::dEtaHGCalBits_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalLUT_

std::vector<int> l1ct::TrackInputEmulator::dEtaHGCalLUT_
protected

Definition at line 226 of file tkinput_ref.h.

Referenced by dEtaHGCalLUT().

◆ dEtaHGCalLUTShift_

int l1ct::TrackInputEmulator::dEtaHGCalLUTShift_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalOffs_

int l1ct::TrackInputEmulator::dEtaHGCalOffs_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalParamRInv2C_

float l1ct::TrackInputEmulator::dEtaHGCalParamRInv2C_
protected

Definition at line 208 of file tkinput_ref.h.

Referenced by setDEtaHGCalParams().

◆ dEtaHGCalParamRInv2ITanl1_

float l1ct::TrackInputEmulator::dEtaHGCalParamRInv2ITanl1_
protected

Definition at line 208 of file tkinput_ref.h.

Referenced by setDEtaHGCalParams().

◆ dEtaHGCalParamRInv2ITanl2_

float l1ct::TrackInputEmulator::dEtaHGCalParamRInv2ITanl2_
protected

Definition at line 208 of file tkinput_ref.h.

Referenced by setDEtaHGCalParams().

◆ dEtaHGCalParamZ0_

float l1ct::TrackInputEmulator::dEtaHGCalParamZ0_
protected

Parameters for track propagation in floating point.

Definition at line 208 of file tkinput_ref.h.

Referenced by setDEtaHGCalParams().

◆ dEtaHGCalRInvPreShift_

int l1ct::TrackInputEmulator::dEtaHGCalRInvPreShift_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalTanlShift_

int l1ct::TrackInputEmulator::dEtaHGCalTanlShift_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalTanlTermOffs_

int l1ct::TrackInputEmulator::dEtaHGCalTanlTermOffs_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalTanlTermShift_

int l1ct::TrackInputEmulator::dEtaHGCalTanlTermShift_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalZ0_

int l1ct::TrackInputEmulator::dEtaHGCalZ0_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dEtaHGCalZ0PreShift_

int l1ct::TrackInputEmulator::dEtaHGCalZ0PreShift_
protected

Definition at line 224 of file tkinput_ref.h.

◆ dPhiBarrelBits_

int l1ct::TrackInputEmulator::dPhiBarrelBits_
protected

Definition at line 221 of file tkinput_ref.h.

◆ dPhiBarrelC_

int l1ct::TrackInputEmulator::dPhiBarrelC_
protected

Definition at line 221 of file tkinput_ref.h.

◆ dPhiBarrelOffs_

int l1ct::TrackInputEmulator::dPhiBarrelOffs_
protected

Definition at line 221 of file tkinput_ref.h.

◆ dPhiBarrelParamC_

float l1ct::TrackInputEmulator::dPhiBarrelParamC_
protected

Definition at line 205 of file tkinput_ref.h.

Referenced by setDPhiBarrelParams().

◆ dPhiBarrelRInvPostShift_

int l1ct::TrackInputEmulator::dPhiBarrelRInvPostShift_
protected

Definition at line 221 of file tkinput_ref.h.

◆ dPhiBarrelRInvPreShift_

int l1ct::TrackInputEmulator::dPhiBarrelRInvPreShift_
protected

Definition at line 221 of file tkinput_ref.h.

◆ dPhiHGCalBits_

int l1ct::TrackInputEmulator::dPhiHGCalBits_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalOffs_

int l1ct::TrackInputEmulator::dPhiHGCalOffs_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalParamC_

float l1ct::TrackInputEmulator::dPhiHGCalParamC_
protected

Definition at line 209 of file tkinput_ref.h.

Referenced by setDPhiHGCalParams().

◆ dPhiHGCalParamZ0_

float l1ct::TrackInputEmulator::dPhiHGCalParamZ0_
protected

Definition at line 209 of file tkinput_ref.h.

Referenced by setDPhiHGCalParams().

◆ dPhiHGCalPreOffs_

int l1ct::TrackInputEmulator::dPhiHGCalPreOffs_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalRInvShift_

int l1ct::TrackInputEmulator::dPhiHGCalRInvShift_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalTanlInvShift_

int l1ct::TrackInputEmulator::dPhiHGCalTanlInvShift_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalTanlLUT_

std::vector<int> l1ct::TrackInputEmulator::dPhiHGCalTanlLUT_
protected

Definition at line 231 of file tkinput_ref.h.

Referenced by dPhiHGCalTanlLUT().

◆ dPhiHGCalTanlShift_

int l1ct::TrackInputEmulator::dPhiHGCalTanlShift_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalZ0_

int l1ct::TrackInputEmulator::dPhiHGCalZ0_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalZ0PostShift_

int l1ct::TrackInputEmulator::dPhiHGCalZ0PostShift_
protected

Definition at line 229 of file tkinput_ref.h.

◆ dPhiHGCalZ0PreShift_

int l1ct::TrackInputEmulator::dPhiHGCalZ0PreShift_
protected

Definition at line 229 of file tkinput_ref.h.

◆ encoding_

Encoding l1ct::TrackInputEmulator::encoding_
protected

Encoding used for track word inputs.

Definition at line 192 of file tkinput_ref.h.

Referenced by toFloat_().

◆ phiScale_

float l1ct::TrackInputEmulator::phiScale_
protected

Definition at line 201 of file tkinput_ref.h.

Referenced by setPhiScale().

◆ ptLUT_

std::vector<l1ct::pt_t> l1ct::TrackInputEmulator::ptLUT_
protected

Definition at line 240 of file tkinput_ref.h.

Referenced by ptLUT().

◆ ptLUTShift_

int l1ct::TrackInputEmulator::ptLUTShift_
protected

Definition at line 239 of file tkinput_ref.h.

◆ region_

Region l1ct::TrackInputEmulator::region_
protected

Region for which the emulation is configured.

Definition at line 189 of file tkinput_ref.h.

◆ rInvToPt_

float l1ct::TrackInputEmulator::rInvToPt_
protected

Main constants.

Definition at line 201 of file tkinput_ref.h.

Referenced by setRinvToPtFactor().

◆ slim_

bool l1ct::TrackInputEmulator::slim_
protected

Whether to unpack and populate also nstubs and various chi2 variables (needed for CompibedID in the endcap)

Definition at line 198 of file tkinput_ref.h.

Referenced by decodeTrack().

◆ tanlLUT_

std::vector<int> l1ct::TrackInputEmulator::tanlLUT_
protected

Definition at line 235 of file tkinput_ref.h.

Referenced by tanlLUT().

◆ tanlLUTPostOffs_

int l1ct::TrackInputEmulator::tanlLUTPostOffs_
protected

Definition at line 234 of file tkinput_ref.h.

◆ tanlLUTPreOffs_

int l1ct::TrackInputEmulator::tanlLUTPreOffs_
protected

Definition at line 234 of file tkinput_ref.h.

◆ tanlLUTShift_

int l1ct::TrackInputEmulator::tanlLUTShift_
protected

Definition at line 234 of file tkinput_ref.h.

◆ tanlLUTSigned_

bool l1ct::TrackInputEmulator::tanlLUTSigned_
protected

Definition at line 236 of file tkinput_ref.h.

◆ vtxPhiBitShift_

int l1ct::TrackInputEmulator::vtxPhiBitShift_
protected

Definition at line 212 of file tkinput_ref.h.

◆ vtxPhiMult_

int l1ct::TrackInputEmulator::vtxPhiMult_
protected

Definition at line 212 of file tkinput_ref.h.

◆ vtxPhiOffsNeg_

int l1ct::TrackInputEmulator::vtxPhiOffsNeg_
protected

Definition at line 212 of file tkinput_ref.h.

◆ vtxPhiOffsPos_

int l1ct::TrackInputEmulator::vtxPhiOffsPos_
protected

Definition at line 212 of file tkinput_ref.h.

◆ z0BitShift_

int l1ct::TrackInputEmulator::z0BitShift_
protected

Definition at line 215 of file tkinput_ref.h.

◆ z0Mult_

int l1ct::TrackInputEmulator::z0Mult_
protected

Definition at line 215 of file tkinput_ref.h.

◆ z0OffsNeg_

int l1ct::TrackInputEmulator::z0OffsNeg_
protected

Definition at line 215 of file tkinput_ref.h.

◆ z0OffsPos_

int l1ct::TrackInputEmulator::z0OffsPos_
protected

Definition at line 215 of file tkinput_ref.h.

◆ z0Scale_

float l1ct::TrackInputEmulator::z0Scale_
protected

Definition at line 201 of file tkinput_ref.h.

Referenced by setZ0Scale().