@@ -33,23 +33,33 @@ bool refitSeedITS(const typename DetectorTraits<NLayers>::TrackSeedN& seed,
3333 const o2::its::Cluster* const unsortedClusters[NLayers],
3434 const o2::base::PropagatorImpl<float >* propagator)
3535{
36- // Common TrackSeed matches o2::its::TrackSeed layout (hole-layer mask aside); refit uses ITS helper.
37- const auto & itsSeed = reinterpret_cast <const o2::its::TrackSeed<NLayers>&>(seed);
38- return o2::its::track::refitTrack<NLayers>(itsSeed,
39- track,
40- params.MaxChi2ClusterAttachment ,
41- params.MaxChi2NDF ,
42- bz,
43- tfInfos,
44- unsortedClusters,
45- params.LayerxX0 .data (),
46- params.LayerRadii .data (),
47- params.MinPt .data (),
48- propagator,
49- params.CorrType ,
50- params.ReseedIfShorter ,
51- params.ShiftRefToCluster ,
52- params.RepeatRefitOut );
36+ o2::its::TrackSeed<NLayers> itsSeed;
37+ static_cast <o2::track::TrackParCovF&>(itsSeed) = static_cast <const o2::track::TrackParCovF&>(seed);
38+ itsSeed.setHitLayerMask (o2::its::LayerMask{seed.getHitLayerMask ().value ()});
39+ itsSeed.setFirstTrackletIndex (seed.getFirstTrackletIndex ());
40+ itsSeed.setSecondTrackletIndex (seed.getSecondTrackletIndex ());
41+ itsSeed.setChi2 (seed.getChi2 ());
42+ itsSeed.setLevel (seed.getLevel ());
43+ itsSeed.getTimeStamp () = seed.getTimeStamp ();
44+ for (int iLayer{0 }; iLayer < NLayers; ++iLayer) {
45+ itsSeed.getClusters ()[iLayer] = seed.getCluster (iLayer);
46+ }
47+ const o2::its::track::TrackFitContext<NLayers> fitCtx{
48+ tfInfos, params.LayerxX0 .data (), params.NLayers , bz,
49+ params.MaxChi2ClusterAttachment , params.MaxChi2NDF ,
50+ propagator, params.CorrType , params.ShiftRefToCluster , params.RepeatRefitOut };
51+ o2::its::TrackITSInternal<NLayers> internalTrack;
52+ if (!o2::its::track::refitTrackSeed<NLayers>(itsSeed,
53+ internalTrack,
54+ fitCtx,
55+ unsortedClusters,
56+ params.LayerRadii .data (),
57+ params.MinPt .data (),
58+ params.ReseedIfShorter )) {
59+ return false ;
60+ }
61+ track = o2::its::makeTrackITSExt (internalTrack);
62+ return true ;
5363}
5464} // namespace
5565
0 commit comments