Go to the documentation of this file. 1 #ifndef L1Trigger_TrackFindingTMTT_HTrphi_h
2 #define L1Trigger_TrackFindingTMTT_HTrphi_h
46 float phiCentreSector,
53 void store(
Stub* stub,
const std::vector<bool>& inEtaSubSecs);
67 std::pair<float, float>
helix2Dhough(
unsigned int i,
unsigned int j)
const override;
76 std::pair<unsigned int, unsigned int>
trueCell(
const TP*
tp)
const override;
81 std::pair<unsigned int, unsigned int>
cell(
const L1fittedTrack* fitTrk)
const override;
85 bool mergedCell(
unsigned int iQoverPtBin,
unsigned int jPhiTrkBin)
const;
96 std::pair<unsigned int, unsigned int>
iPhiRange(
const Stub* stub,
97 unsigned int iQoverPtBin,
98 bool debug =
false)
const;
102 unsigned int iPhiTrkBinMin,
103 unsigned int iPhiTrkBinMax,
104 unsigned int jPhiTrkBinMinLast,
105 unsigned int jPhiTrkBinMaxLast);
117 std::vector<unsigned int>
rowOrder(
unsigned int numRows)
const override;
std::atomic< unsigned int > numErrorsTypeB
unsigned int nReceivedStubs_
unsigned int busyInputSectorNumStubs_
float binSizeQoverPtAxis_
void store(Stub *stub, const std::vector< bool > &inEtaSubSecs)
unsigned int nBinsQoverPtAxis_
std::pair< float, float > helix2Dconventional(unsigned int i, unsigned int j) const override
bool busySectorUseMbinRanges_
bool busyInputSectorKill_
float minInvPtToMerge2x2_
unsigned int busySectorNumStubs_
std::pair< unsigned int, unsigned int > cell(const L1fittedTrack *fitTrk) const override
unsigned int nBinsPhiTrkAxis_
std::pair< unsigned int, unsigned int > iPhiRange(const Stub *stub, unsigned int iQoverPtBin, bool debug=false) const
std::atomic< unsigned int > numErrorsTypeA
unsigned int killSomeHTCellsRphi_
std::pair< float, float > helix2Dhough(unsigned int i, unsigned int j) const override
std::pair< unsigned int, unsigned int > trueCell(const TP *tp) const override
std::vector< std::vector< std::pair< float, float > > > cellCenters_
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
std::vector< unsigned int > busySectorMbinOrder_
unsigned int getMbinRange(const L1track2D &trk) const
std::vector< unsigned int > rowOrder(unsigned int numRows) const override
std::vector< unsigned int > busySectorMbinLow_
bool busySectorUseMbinOrder_
unsigned int nReceivedStubs() const
std::atomic< float > maxLineGradient
bool mergedCell(unsigned int iQoverPtBin, unsigned int jPhiTrkBin) const
~HTrphi() override=default
std::vector< unsigned int > busySectorMbinRanges_
std::atomic< unsigned int > numErrorsNorm
std::vector< unsigned int > busySectorMbinHigh_
void countFirmwareErrors(unsigned int iQoverPtBin, unsigned int iPhiTrkBinMin, unsigned int iPhiTrkBinMax, unsigned int jPhiTrkBinMinLast, unsigned int jPhiTrkBinMaxLast)
=== This is the base class for the linearised chi-squared track fit algorithms.
std::list< L1track2D > killTracksBusySec(const std::list< L1track2D > &tracks) const override
HTrphi(const Settings *settings, unsigned int iPhiSec, unsigned int iEtaReg, float etaMinSector, float etaMaxSector, float phiCentreSector, ErrorMonitor *errMon=nullptr)
float calcLineGradArray(float r) const