1313#include < unistd.h>
1414
1515#include < algorithm>
16+ #include < array>
1617
1718#include " ITStrackingGPU/TrackerTraitsGPU.h"
1819#include " ITStrackingGPU/TrackingKernels.h"
@@ -398,7 +399,13 @@ void TrackerTraitsGPU<NLayers>::buildTrackExtensionCandidates(const int iteratio
398399 mTimeFrameGPU ->syncStreams ();
399400 mTimeFrameGPU ->loadTrackExtensionStartStatesDevice ();
400401 mTimeFrameGPU ->createTrackExtensionCandidatesDevice (nTracks);
401- mTimeFrameGPU ->createTrackExtensionScratchDevice (nTracks, beamWidth);
402+ mTimeFrameGPU ->createTrackExtensionScratchDevice (kTrackExtensionLaunchThreads , beamWidth);
403+ std::array<float , NLayers> layerRadii{};
404+ std::array<float , NLayers> layerxX0{};
405+ for (int iLayer{0 }; iLayer < this ->mTrkParams [iteration].NLayers ; ++iLayer) {
406+ layerRadii[iLayer] = this ->mTrkParams [iteration].LayerRadii [iLayer];
407+ layerxX0[iLayer] = this ->mTrkParams [iteration].LayerxX0 [iLayer];
408+ }
402409 computeTrackExtensionCandidatesHandler<NLayers>(mTimeFrameGPU ->getDeviceTrackExtensionStartStates (),
403410 mTimeFrameGPU ->getDeviceIndexTableUtils (),
404411 mTimeFrameGPU ->getDeviceROFMaskTableView (),
@@ -412,8 +419,8 @@ void TrackerTraitsGPU<NLayers>::buildTrackExtensionCandidates(const int iteratio
412419 mTimeFrameGPU ->getDeviceTrackExtensionCandidateOffsets (),
413420 mTimeFrameGPU ->getDeviceActiveTrackExtensionHypotheses (),
414421 mTimeFrameGPU ->getDeviceNextTrackExtensionHypotheses (),
415- this -> mTrkParams [iteration]. LayerRadii ,
416- this -> mTrkParams [iteration]. LayerxX0 ,
422+ layerRadii ,
423+ layerxX0 ,
417424 static_cast <int >(nTracks),
418425 this ->mTrkParams [iteration].NLayers ,
419426 this ->mTrkParams [iteration].PhiBins ,
@@ -434,7 +441,7 @@ void TrackerTraitsGPU<NLayers>::buildTrackExtensionCandidates(const int iteratio
434441 mTimeFrameGPU ->getDeviceTrackExtensionCandidateOffsets (),
435442 mTimeFrameGPU ->getDeviceTrackExtensionResults (),
436443 mTimeFrameGPU ->getDeviceArrayTrackingFrameInfo (),
437- this -> mTrkParams [iteration]. LayerxX0 ,
444+ layerxX0 ,
438445 static_cast <int >(nTracks),
439446 this ->mTrkParams [iteration].NLayers ,
440447 this ->mBz ,
@@ -477,7 +484,7 @@ bool TrackerTraitsGPU<NLayers>::materializeTrackExtensionCandidate(TrackITSExt&
477484 diff |= (0x1u << iLayer);
478485 }
479486 }
480- track. setPattern (track. getPattern () | ( diff << 24 ) );
487+ applyExtendedClustersPattern<NLayers> (track, diff);
481488 return true ;
482489}
483490
0 commit comments