Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use surface link for module projection #729

Merged
merged 2 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ TRACCC_HOST_DEVICE inline void fill_measurement(
const auto module_dd = det_descr.at(module_idx);

// Fill the measurement object.
m.module_link = module_idx;
m.surface_link = module_dd.geometry_id();
// normalize the cell position
m.local = mean;
Expand Down
1 change: 0 additions & 1 deletion core/include/traccc/edm/measurement.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ struct measurement {

/// Link to Module vector index
using link_type = unsigned int;
link_type module_link = 0;

/// Cluster link
std::size_t cluster_link = std::numeric_limits<std::size_t>::max();
Expand Down
2 changes: 1 addition & 1 deletion core/include/traccc/utils/projections.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ struct [[maybe_unused]] cell_module_projection{

struct [[maybe_unused]] measurement_module_projection{
TRACCC_HOST_DEVICE auto operator()(const traccc::measurement& m)
const {return m.module_link;
const {return m.surface_link;
}
}
;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@ inline void aggregate_cluster(
out.local = mean + offset;
out.variance = var;
out.surface_link = module_descr.geometry_id();
out.module_link = module_idx;
// Set a unique identifier for the measurement.
out.measurement_id = link;
// Set the dimensionality of the measurement.
Expand Down
7 changes: 3 additions & 4 deletions io/include/traccc/io/mapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,9 @@ using measurement_particle_map =
particle_map generate_particle_map(std::size_t event,
const std::string& particle_dir);

hit_particle_map generate_hit_particle_map(
std::size_t event, const std::string& hits_dir,
const std::string& particle_dir,
const geoId_link_map& link_map = geoId_link_map());
hit_particle_map generate_hit_particle_map(std::size_t event,
const std::string& hits_dir,
const std::string& particle_dir);

hit_map generate_hit_map(std::size_t event, const std::string& hits_dir);

Expand Down
10 changes: 0 additions & 10 deletions io/src/csv/read_measurements.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,6 @@ void read_measurements(measurement_collection_types::host& measurements,
csv::measurement iomeas;
while (reader.read(iomeas)) {

// Find the module index for the measurement.
unsigned int link = 0u;
if (dd != nullptr) {
auto it = m.find(iomeas.geometry_id);
if (it != m.end()) {
link = it->second;
}
}

// Construct the measurement object.
traccc::measurement meas;
std::array<typename transform3::size_type, 2u> indices{0u, 0u};
Expand Down Expand Up @@ -75,7 +66,6 @@ void read_measurements(measurement_collection_types::host& measurements,

meas.subs.set_indices(indices);
meas.surface_link = detray::geometry::barcode{iomeas.geometry_id};
meas.module_link = link;
// Keeps measurement_id for ambiguity resolution
meas.measurement_id = iomeas.measurement_id;

Expand Down
17 changes: 3 additions & 14 deletions io/src/mapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ particle_map generate_particle_map(std::size_t event,

hit_particle_map generate_hit_particle_map(std::size_t event,
const std::string& hits_dir,
const std::string& particle_dir,
const geoId_link_map& link_map) {
const std::string& particle_dir) {
hit_particle_map result;

auto pmap = generate_particle_map(event, particle_dir);
Expand All @@ -82,14 +81,6 @@ hit_particle_map generate_hit_particle_map(std::size_t event,
spacepoint sp;
sp.global = {iohit.tx, iohit.ty, iohit.tz};

unsigned int link = 0;
auto it = link_map.find(iohit.geometry_id);
if (it != link_map.end()) {
link = (*it).second;
}

sp.meas.module_link = link;

particle ptc = pmap[iohit.particle_id];

result[sp] = ptc;
Expand Down Expand Up @@ -198,8 +189,7 @@ particle_cell_map generate_particle_cell_map(std::size_t event,

particle_cell_map result;

auto h_p_map =
generate_hit_particle_map(event, hits_dir, particle_dir, link_map);
auto h_p_map = generate_hit_particle_map(event, hits_dir, particle_dir);

auto h_c_map =
generate_hit_cell_map(event, cells_dir, hits_dir, resource, link_map);
Expand Down Expand Up @@ -324,8 +314,7 @@ measurement_particle_map generate_measurement_particle_map(
link_map[dd.geometry_id()[i].value()] = i;
}

auto h_p_map =
generate_hit_particle_map(event, hits_dir, particle_dir, link_map);
auto h_p_map = generate_hit_particle_map(event, hits_dir, particle_dir);

for (const auto& hit : spacepoints) {
const auto& meas = hit.meas;
Expand Down
3 changes: 1 addition & 2 deletions performance/src/performance/details/is_same_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ bool is_same_object<measurement>::operator()(const measurement& obj) const {
return (is_same_scalar(obj.local[0], m_ref.get().local[0], m_unc) &&
is_same_scalar(obj.local[1], m_ref.get().local[1], m_unc) &&
is_same_scalar(obj.variance[0], m_ref.get().variance[0], m_unc) &&
is_same_scalar(obj.variance[1], m_ref.get().variance[1], m_unc) &&
obj.module_link == m_ref.get().module_link);
is_same_scalar(obj.variance[1], m_ref.get().variance[1], m_unc));
}

/// @}
Expand Down
4 changes: 2 additions & 2 deletions tests/alpaka/test_cca.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ cca_function_t get_f_with(traccc::clustering_config cfg) {
copy(measurements_buffer, measurements)->wait();

for (std::size_t i = 0; i < measurements.size(); i++) {
result[dd.acts_geometry_id().at(measurements.at(i).module_link)]
.push_back(measurements.at(i));
result[measurements.at(i).surface_link.value()].push_back(
measurements.at(i));
}

return result;
Expand Down
1 change: 1 addition & 0 deletions tests/common/tests/cca_test.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ class ConnectedComponentAnalysisTests
traccc::silicon_detector_description::host dd{mr};
dd.resize(NMODULES);
for (std::size_t i = 0; i < NMODULES; ++i) {
dd.geometry_id()[i] = detray::geometry::barcode{i};
dd.acts_geometry_id()[i] = i;
dd.reference_x()[i] = -0.5f;
dd.reference_y()[i] = -0.5f;
Expand Down
4 changes: 2 additions & 2 deletions tests/cpu/test_cca.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ cca_function_t f = [](const traccc::edm::silicon_cell_collection::host& cells,
vecmem::get_data(dd);
auto measurements = ca(cells_data, dd_data);
for (std::size_t i = 0; i < measurements.size(); i++) {
result[dd.acts_geometry_id().at(measurements.at(i).module_link)]
.push_back(measurements.at(i));
result[measurements.at(i).surface_link.value()].push_back(
measurements.at(i));
}

return result;
Expand Down
4 changes: 2 additions & 2 deletions tests/cuda/test_cca.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ cca_function_t get_f_with(traccc::clustering_config cfg) {
copy(measurements_buffer, measurements)->wait();

for (std::size_t i = 0; i < measurements.size(); i++) {
result[dd.acts_geometry_id().at(measurements.at(i).module_link)]
.push_back(measurements.at(i));
result[measurements.at(i).surface_link.value()].push_back(
measurements.at(i));
}

return result;
Expand Down
4 changes: 2 additions & 2 deletions tests/sycl/test_cca.sycl
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ cca_function_t get_f_with(traccc::clustering_config cfg) {
copy(measurements_buffer, measurements)->wait();

for (std::size_t i = 0; i < measurements.size(); i++) {
result[dd.acts_geometry_id().at(measurements.at(i).module_link)]
.push_back(measurements.at(i));
result[measurements.at(i).surface_link.value()].push_back(
measurements.at(i));
}

return result;
Expand Down
Loading