@@ -267,6 +267,7 @@ GPUg() void fitTrackSeedsKernel(
267267 CellSeed* trackSeeds,
268268 const TrackingFrameInfo** foundTrackingFrameInfo,
269269 o2::its::TrackITSExt* tracks,
270+ const float * minPts,
270271 const unsigned int nSeeds,
271272 const float Bz,
272273 const int startLevel,
@@ -317,7 +318,7 @@ GPUg() void fitTrackSeedsKernel(
317318 foundTrackingFrameInfo, // TrackingFrameInfo** trackingFrameInfo,
318319 propagator, // const o2::base::Propagator* propagator,
319320 matCorrType); // o2::base::PropagatorF::MatCorrType matCorrType
320- if (!fitSuccess) {
321+ if (!fitSuccess || temporaryTrack. getPt () < minPts[nLayers - temporaryTrack. getNClusters ()] ) {
321322 continue ;
322323 }
323324 tracks[iCurrentTrackSeedIndex] = temporaryTrack;
@@ -1089,6 +1090,7 @@ void filterCellNeighboursHandler(std::vector<int>& neighHost,
10891090void trackSeedHandler (CellSeed* trackSeeds,
10901091 const TrackingFrameInfo** foundTrackingFrameInfo,
10911092 o2::its::TrackITSExt* tracks,
1093+ std::vector<float >& minPtsHost,
10921094 const unsigned int nSeeds,
10931095 const float Bz,
10941096 const int startLevel,
@@ -1099,17 +1101,19 @@ void trackSeedHandler(CellSeed* trackSeeds,
10991101 const int nBlocks,
11001102 const int nThreads)
11011103{
1104+ thrust::device_vector<float > minPts (minPtsHost);
11021105 gpu::fitTrackSeedsKernel<<<nBlocks, nThreads>>> (
1103- trackSeeds, // CellSeed*
1104- foundTrackingFrameInfo, // TrackingFrameInfo**
1105- tracks, // TrackITSExt*
1106- nSeeds, // const unsigned int
1107- Bz, // const float
1108- startLevel, // const int
1109- maxChi2ClusterAttachment, // float
1110- maxChi2NDF, // float
1111- propagator, // const o2::base::Propagator*
1112- matCorrType); // o2::base::PropagatorF::MatCorrType
1106+ trackSeeds, // CellSeed*
1107+ foundTrackingFrameInfo, // TrackingFrameInfo**
1108+ tracks, // TrackITSExt*
1109+ thrust::raw_pointer_cast (&minPts[0 ]), // const float* minPts,
1110+ nSeeds, // const unsigned int
1111+ Bz, // const float
1112+ startLevel, // const int
1113+ maxChi2ClusterAttachment, // float
1114+ maxChi2NDF, // float
1115+ propagator, // const o2::base::Propagator*
1116+ matCorrType); // o2::base::PropagatorF::MatCorrType
11131117
11141118 gpuCheckError (cudaPeekAtLastError ());
11151119 gpuCheckError (cudaDeviceSynchronize ());
0 commit comments