1 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletCalculatorBase_h
2 #define L1Trigger_TrackFindingTracklet_interface_TrackletCalculatorBase_h
39 double phiprojdisk[
N_DISK],
40 double rprojdisk[N_DISK],
41 double phiderdisk[N_DISK],
42 double rderdisk[N_DISK]);
56 double zprojLayer[N_PSLAYER],
57 double phiderLayer[N_PSLAYER],
58 double zderLayer[N_PSLAYER],
59 double phiproj[N_DISK - 2],
60 double rproj[N_DISK - 2],
61 double phider[N_DISK - 2],
62 double rder[N_DISK - 2]);
75 double phiprojLayer[N_PSLAYER],
76 double zprojLayer[N_PSLAYER],
77 double phiderLayer[N_PSLAYER],
78 double zderLayer[N_PSLAYER],
79 double phiproj[N_DISK - 2],
80 double rproj[N_DISK - 2],
81 double phider[N_DISK - 2],
82 double rder[N_DISK - 2]);
112 bool inSector(
int iphi0,
int irinv,
double phi0approx,
double rinvapprox);
116 const Stub* outerFPGAStub,
120 const Stub* outerFPGAStub,
124 const Stub* outerFPGAStub,
void exacttracklet(double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiproj[N_LAYER-2], double zproj[N_LAYER-2], double phider[N_LAYER-2], double zder[N_LAYER-2], double phiprojdisk[N_DISK], double rprojdisk[N_DISK], double phiderdisk[N_DISK], double rderdisk[N_DISK])
bool diskSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
void exacttrackletOverlap(double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiprojLayer[N_PSLAYER], double zprojLayer[N_PSLAYER], double phiderLayer[N_PSLAYER], double zderLayer[N_PSLAYER], double phiproj[N_DISK-2], double rproj[N_DISK-2], double phider[N_DISK-2], double rder[N_DISK-2])
bool goodTrackPars(bool goodrinv, bool goodz0)
bool addLayerProj(Tracklet *tracklet, int layer)
constexpr std::array< uint8_t, layerIndexSize > layer
void exactprojdisk(double zproj, double rinv, double phi0, double t, double z0, double &phiproj, double &rproj, double &phider, double &rder)
bool overlapSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
void addProjection(int layer, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet)
void exacttrackletdisk(double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiprojLayer[N_PSLAYER], double zprojLayer[N_PSLAYER], double phiderLayer[N_PSLAYER], double zderLayer[N_PSLAYER], double phiproj[N_DISK-2], double rproj[N_DISK-2], double phider[N_DISK-2], double rder[N_DISK-2])
TrackletParametersMemory * trackletpars_
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojdisks_
constexpr unsigned int N_PSLAYER
void exactproj(double rproj, double rinv, double phi0, double t, double z0, double &phiproj, double &zproj, double &phider, double &zder)
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojlayers_
double rinv(double phi1, double phi2, double r1, double r2)
TrackletCalculatorBase(std::string name, Settings const &settings, Globals *global)
void addDiskProj(Tracklet *tracklet, int disk)
void addProjectionDisk(int disk, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet)
~TrackletCalculatorBase() override=default
bool inSector(int iphi0, int irinv, double phi0approx, double rinvapprox)
bool barrelSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)