@@ -881,18 +881,31 @@ void TrackerTraits<NLayers>::markTracks(int iteration, bounded_vector<bounded_ve
881881 return t1.getFirstLayerClusterIndex () < t2.getFirstLayerClusterIndex ();
882882 });
883883
884+ auto areTracksSelected = [this , iteration](const TrackITSExt& t1, const TrackITSExt& t2) {
885+ const auto t1FirstLayer{t1.getFirstClusterLayer ()}, t2FirstLayer{t2.getFirstClusterLayer ()};
886+ if (mTimeFrame ->getClusterROF (t1FirstLayer, t1.getClusterIndex (t1FirstLayer)) != mTimeFrame ->getClusterROF (t2FirstLayer, t2.getClusterIndex (t2FirstLayer))) {
887+ return false ;
888+ }
889+ if (o2::math_utils::detail::deltaPhiSmall (t1.getPhi (), t2.getPhi ()) > mTrkParams [iteration].SharedClusterMaxDeltaPhi ) {
890+ return false ;
891+ }
892+ if (std::abs (t1.getEta () - t2.getEta ()) > mTrkParams [iteration].SharedClusterMaxDeltaEta ) {
893+ return false ;
894+ }
895+ if (mTrkParams [iteration].SharedClusterOppositeSign && t1.getSign () == t2.getSign ()) {
896+ return false ;
897+ }
898+ return true ;
899+ };
900+
884901 for (int i{0 }; i < static_cast <int >(tracks.size ()); ++i) {
885902 auto & track = tracks[i];
886903 int firstLayer{track.getFirstClusterLayer ()}, firstCluster{track.getFirstLayerClusterIndex ()};
887904 if (std::binary_search (sharedFirstClusters[firstLayer].begin (), sharedFirstClusters[firstLayer].end (), firstCluster)) {
888905 int j = i + 1 ;
889906 while (j < static_cast <int >(tracks.size ()) && tracks[j].getFirstLayerClusterIndex () == firstCluster) {
890907 auto & track2 = tracks[j];
891- if (areTracksSelected (iteration, track, track2)) {
892- for (int iLayer{track.getFirstClusterLayer ()}; iLayer < track.getFirstClusterLayer () + track.getNClusters (); ++iLayer) {
893- }
894- for (int iLayer{track2.getFirstClusterLayer ()}; iLayer < track2.getFirstClusterLayer () + track2.getNClusters (); ++iLayer) {
895- }
908+ if (areTracksSelected (track, track2)) {
896909 track.setSharedClusters ();
897910 track2.setSharedClusters ();
898911 }
@@ -903,25 +916,6 @@ void TrackerTraits<NLayers>::markTracks(int iteration, bounded_vector<bounded_ve
903916 }
904917}
905918
906- template <int NLayers>
907- bool TrackerTraits<NLayers>::areTracksSelected(int iteration, const TrackITSExt& t1, const TrackITSExt& t2)
908- {
909- const auto t1FirstLayer{t1.getFirstClusterLayer ()}, t2FirstLayer{t2.getFirstClusterLayer ()};
910- if (mTimeFrame ->getClusterROF (t1FirstLayer, t1.getClusterIndex (t1FirstLayer)) != mTimeFrame ->getClusterROF (t2FirstLayer, t2.getClusterIndex (t2FirstLayer))) {
911- return false ;
912- }
913- if (o2::math_utils::detail::deltaPhiSmall (t1.getPhi (), t2.getPhi ()) > mTrkParams [iteration].SharedClusterMaxDeltaPhi ) {
914- return false ;
915- }
916- if (std::abs (t1.getEta () - t2.getEta ()) > mTrkParams [iteration].SharedClusterMaxDeltaEta ) {
917- return false ;
918- }
919- if (mTrkParams [iteration].SharedClusterOppositeSign && t1.getSign () == t2.getSign ()) {
920- return false ;
921- }
922- return true ;
923- }
924-
925919template <int NLayers>
926920void TrackerTraits<NLayers>::setBz(float bz)
927921{
0 commit comments