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);