11 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletLUT_h 12 #define L1Trigger_TrackFindingTracklet_interface_TrackletLUT_h 61 unsigned int layerdisk1,
62 unsigned int layerdisk2,
63 unsigned int nbitsfinephidiff,
70 unsigned int layerdisk1,
71 unsigned int layerdisk2,
72 unsigned int iAllStub,
73 unsigned int nbitsfinephidiff,
74 unsigned int nbitsfinephi,
82 unsigned int layerdisk1,
83 unsigned int layerdisk2,
84 unsigned int innerphibits,
85 unsigned int outerphibits,
94 void initProjectionBend(
double k_phider,
unsigned int idisk,
unsigned int nrbits,
unsigned int nphiderbits);
126 std::vector<const tt::SensorModule*>
getSensorModules(
unsigned int layerdisk,
128 std::array<double, 2> tan_range = {{-1, -1}},
129 unsigned int nzbins = 1,
130 unsigned int zbin = 0);
132 std::array<double, 2>
getTanRange(
const std::vector<const tt::SensorModule*>& sensorModules);
134 std::vector<std::array<double, 2>>
getBendCut(
unsigned int layerdisk,
135 const std::vector<const tt::SensorModule*>& sensorModules,
137 double FEbendcut = 0);
140 unsigned int layerdisk,
double bend,
unsigned int irbin,
double rmean,
double dr,
double drmax)
const;
142 int getVMRLookup(
unsigned int layerdisk,
double z,
double r,
double dz,
double dr,
int iseed = -1)
const;
void initBendMatch(unsigned int layerdisk)
unsigned int nbits() const
void initmatchcut(unsigned int layerdisk, MatchType type, unsigned int region)
Class to process and provide run-time constants used by Track Trigger emulators.
void initProjectionBend(double k_phider, unsigned int idisk, unsigned int nrbits, unsigned int nphiderbits)
void initteptlut(bool fillInner, bool fillTEMem, unsigned int iSeed, unsigned int layerdisk1, unsigned int layerdisk2, unsigned int innerphibits, unsigned int outerphibits, double innerphimin, double innerphimax, double outerphimin, double outerphimax, const std::string &innermem, const std::string &outermem)
const Settings & settings_
int lookup(unsigned int index) const
int getphiCorrValue(unsigned int layerdisk, double bend, unsigned int irbin, double rmean, double dr, double drmax) const
TrackletLUT(const Settings &settings)
void initPhiCorrTable(unsigned int layerdisk, unsigned int rbits)
std::array< double, 2 > getTanRange(const std::vector< const tt::SensorModule *> &sensorModules)
TrackletLUT & operator=(const TrackletLUT &other)
unsigned int size() const
void initVMRTable(unsigned int layerdisk, VMRTableType type, int region=-1, bool combined=true)
void initTPlut(bool fillInner, unsigned int iSeed, unsigned int layerdisk1, unsigned int layerdisk2, unsigned int nbitsfinephidiff, unsigned int iTP)
void initTPregionlut(unsigned int iSeed, unsigned int layerdisk1, unsigned int layerdisk2, unsigned int iAllStub, unsigned int nbitsfinephidiff, unsigned int nbitsfinephi, const TrackletLUT &tplutinner, unsigned int iTP)
std::vector< std::array< double, 2 > > getBendCut(unsigned int layerdisk, const std::vector< const tt::SensorModule *> &sensorModules, bool isPS, double FEbendcut=0)
int getVMRLookup(unsigned int layerdisk, double z, double r, double dz, double dr, int iseed=-1) const
std::vector< int > table_
void initProjectionDiskRadius(int nrbits)
std::vector< const tt::SensorModule * > getSensorModules(unsigned int layerdisk, bool isPS, std::array< double, 2 > tan_range={{-1, -1}}, unsigned int nzbins=1, unsigned int zbin=0)