@@ -184,9 +184,6 @@ int seq_run(const traccc::opts::detector& detector_opts,
184184 device_fitting_algorithm fitting_alg_alpaka (
185185 fitting_cfg, mr, copy, queue, logger ().clone (" AlpakaFittingAlg" ));
186186
187- traccc::device::container_d2h_copy_alg<traccc::track_state_container_types>
188- copy_track_states (mr, copy, logger ().clone (" TrackStateD2HCopyAlg" ));
189-
190187 // performance writer
191188 traccc::seeding_performance_writer sd_performance_writer (
192189 traccc::seeding_performance_writer::config{},
@@ -206,7 +203,7 @@ int seq_run(const traccc::opts::detector& detector_opts,
206203 traccc::host::seeding_algorithm::output_type seeds{host_mr};
207204 traccc::host::track_params_estimation::output_type params{&host_mr};
208205 host_finding_algorithm::output_type track_candidates{host_mr};
209- host_fitting_algorithm::output_type track_states;
206+ host_fitting_algorithm::output_type track_states{host_mr} ;
210207
211208 // Instantiate alpaka containers/collections
212209 traccc::measurement_collection_types::buffer measurements_alpaka_buffer (
@@ -217,7 +214,8 @@ int seq_run(const traccc::opts::detector& detector_opts,
217214 params_alpaka_buffer (0 , *mr.host );
218215 traccc::edm::track_candidate_collection<traccc::default_algebra>::buffer
219216 track_candidates_buffer;
220- traccc::track_state_container_types::buffer track_states_buffer;
217+ traccc::edm::track_fit_container<traccc::default_algebra>::buffer
218+ track_states_buffer;
221219
222220 {
223221 traccc::performance::timer wall_t (" Wall time" , elapsedTimes);
@@ -371,13 +369,16 @@ int seq_run(const traccc::opts::detector& detector_opts,
371369 &host_mr};
372370 traccc::edm::track_candidate_collection<traccc::default_algebra>::host
373371 track_candidates_alpaka{host_mr};
372+ traccc::edm::track_fit_container<traccc::default_algebra>::host
373+ track_states_alpaka{host_mr};
374374
375375 copy (measurements_alpaka_buffer, measurements_per_event_alpaka)->wait ();
376376 copy (spacepoints_alpaka_buffer, spacepoints_per_event_alpaka)->wait ();
377377 copy (seeds_alpaka_buffer, seeds_alpaka)->wait ();
378378 copy (params_alpaka_buffer, params_alpaka)->wait ();
379379 copy (track_candidates_buffer, track_candidates_alpaka)->wait ();
380- auto track_states_alpaka = copy_track_states (track_states_buffer);
380+ copy (track_states_buffer.tracks , track_states_alpaka.tracks )->wait ();
381+ copy (track_states_buffer.states , track_states_alpaka.states )->wait ();
381382 queue.synchronize ();
382383
383384 if (accelerator_opts.compare_with_cpu ) {
@@ -429,12 +430,20 @@ int seq_run(const traccc::opts::detector& detector_opts,
429430 vecmem::get_data (track_candidates_alpaka));
430431
431432 // Compare tracks fitted on the host and on the device.
432- traccc::collection_comparator<
433- traccc::track_state_container_types::host::header_type>
434- compare_track_states{" track states" };
435- compare_track_states (
436- vecmem::get_data (track_states.get_headers ()),
437- vecmem::get_data (track_states_alpaka.get_headers ()));
433+ traccc::soa_comparator<
434+ traccc::edm::track_fit_collection<traccc::default_algebra>>
435+ compare_track_fits{
436+ " track fits" ,
437+ traccc::details::comparator_factory<
438+ traccc::edm::track_fit_collection<
439+ traccc::default_algebra>::const_device::
440+ const_proxy_type>{
441+ vecmem::get_data (measurements_per_event),
442+ vecmem::get_data (measurements_per_event_alpaka),
443+ vecmem::get_data (track_states.states ),
444+ vecmem::get_data (track_states_alpaka.states )}};
445+ compare_track_fits (vecmem::get_data (track_states.tracks ),
446+ vecmem::get_data (track_states_alpaka.tracks ));
438447 }
439448 // / Statistics
440449 n_measurements += measurements_per_event.size ();
@@ -445,8 +454,8 @@ int seq_run(const traccc::opts::detector& detector_opts,
445454 n_seeds_alpaka += seeds_alpaka.size ();
446455 n_found_tracks += track_candidates.size ();
447456 n_found_tracks_alpaka += track_candidates_alpaka.size ();
448- n_fitted_tracks += track_states.size ();
449- n_fitted_tracks_alpaka += track_states_alpaka.size ();
457+ n_fitted_tracks += track_states.tracks . size ();
458+ n_fitted_tracks_alpaka += track_states_alpaka.tracks . size ();
450459
451460 if (performance_opts.run ) {
452461
0 commit comments