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);
124 std::vector<const tt::SensorModule*>
getSensorModules(
unsigned int layerdisk,
126 std::array<double, 2> tan_range = {{-1, -1}},
127 unsigned int nzbins = 1,
128 unsigned int zbin = 0);
130 std::array<double, 2>
getTanRange(
const std::vector<const tt::SensorModule*>& sensorModules);
132 std::vector<std::array<double, 2>>
getBendCut(
unsigned int layerdisk,
133 const std::vector<const tt::SensorModule*>& sensorModules,
135 double FEbendcut = 0);
138 unsigned int layerdisk,
double bend,
unsigned int irbin,
double rmean,
double dr,
double drmax)
const;
140 int getVMRLookup(
unsigned int layerdisk,
double z,
double r,
double dz,
double dr,
int iseed = -1)
const;
void initBendMatch(unsigned int layerdisk)
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 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)
void initVMRTable(unsigned int layerdisk, VMRTableType type, int region=-1)