50 ATH_MSG_DEBUG(
"Receiving " << (
m_copy->copy(ctx))->get_size(*inputTracccCells) <<
" cells.");
54 std::shared_ptr<const traccc::device::clusterization_algorithm> clustering_alg = clustering_pair.second;
58 std::shared_ptr<const IDeviceClusterizationAlgProviderTool::sorting_algorithm_type> sorting_alg = sorting_pair.second;
61 traccc::edm::silicon_cluster_collection::buffer cluster_gpu_buffer;
62 traccc::edm::measurement_collection::buffer measurements_gpu_buffer;
65 ATH_MSG_DEBUG(
"Running clusterization with returning cell info");
66 std::tie(measurements_gpu_buffer, cluster_gpu_buffer) =
69 traccc::device::clustering_keep_disjoint_set{});
71 ATH_MSG_DEBUG(
"Running clusterization without returning cell info");
76 auto sortedTracccMeasurements =
77 (*sorting_alg)(measurements_gpu_buffer);
79 ATH_MSG_DEBUG(
"Reconstructed " << (
m_copy->copy(ctx))->get_size(measurements_gpu_buffer) <<
" measurements.");
84 std::make_unique<traccc::edm::measurement_collection::buffer>(
85 std::move(sortedTracccMeasurements))));
90 std::make_unique<traccc::edm::silicon_cluster_collection::buffer>(
91 std::move(cluster_gpu_buffer))));
94 return StatusCode::SUCCESS;