6 #include <unordered_set> 16 Make3Dtracks::Make3Dtracks(
const Settings* settings,
21 float phiCentreSector)
26 etaMinSector_(etaMinSector),
27 etaMaxSector_(etaMaxSector),
28 phiCentreSector_(phiCentreSector),
31 runRZfilter_(not settings->useRZfilter().
empty()) {
44 for (
const L1track2D& trkRphi : vecTracksRphi) {
45 const vector<Stub*>& stubsOnTrkRphi = trkRphi.stubs();
47 float qOverPt = trkRphi.helix2D().first;
48 float phi0 = trkRphi.helix2D().second;
53 const float small = 0.1;
54 const unsigned int nHelixBits = 18;
58 pair<float, float> helixRphi(qOverPt, phi0);
64 pair<float, float> helixRz(
z0, tan_lambda);
69 trkRphi.cellLocationHT(),
75 trkRphi.mergedHTcell());
79 bool cheat_keep =
true;
81 cheat_keep = trk3D.
cheat();
98 list<L1track3D> vecTracks3D_tmp;
101 bool cheat_keep = trk_tmp.
cheat();
103 vecTracks3D_tmp.push_back(trk_tmp);
116 vector<const L1track3D*> assocRecoTrk;
119 for (
const L1track3D& trk : allTracks3D) {
120 if (trk.matchedTP() !=
nullptr) {
121 if (trk.matchedTP()->index() ==
tp.index())
122 assocRecoTrk.push_back(&trk);
const Settings * settings_
bool enableDigitize() const
std::unique_ptr< TrkRZfilter > rzFilter_
double kf_phi0Range() const
bool trackFitCheat() const
std::vector< const L1track3D * > assocTrackCands3D(const TP &tp, bool rzFiltered) const
Tan< T >::type tan(const T &t)
=== This is the base class for the linearised chi-squared track fit algorithms.
void makeUnfilteredTrks(const std::list< L1track2D > &vecTracksRphi)
double kf_oneOver2rRange() const
void makeRZfilteredTrks(const std::list< L1track2D > &vecTracksRphi)
std::list< L1track3D > vecTracks3D_rzFiltered_
std::list< L1track3D > vecTracks3D_unfiltered_
Power< A, B >::type pow(const A &a, const B &b)
double invPtToInvR() const