Skip to content
Open
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
20 changes: 14 additions & 6 deletions src/algorithms/digi/MPGDTrackerDigi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -396,10 +396,18 @@ void MPGDTrackerDigi::process(const MPGDTrackerDigi::Input& input,

// ***** RawHit INSTANTIATION AND RawHit<-SimHits ASSOCIATION:
for (auto& cell_hit_map : cell_hit_maps) {
for (auto item : cell_hit_map) {
raw_hits->push_back(item.second);
CellID stripID = item.first;
const auto is = stripID2cIDs.find(stripID);
std::vector<std::uint64_t> ordered_cell_ids;
ordered_cell_ids.reserve(cell_hit_map.size());
for (const auto& [cell_id, hit] : cell_hit_map) {
ordered_cell_ids.push_back(cell_id);
}
Comment thread
wdconinc marked this conversation as resolved.
std::ranges::sort(ordered_cell_ids);

for (const auto stripID : ordered_cell_ids) {
const auto& hit = cell_hit_map.at(stripID);
raw_hits->push_back(hit);
const auto raw_hit = raw_hits->at(raw_hits->size() - 1);
const auto is = stripID2cIDs.find(stripID);
if (is == stripID2cIDs.end()) {
error(R"(Inconsistency: CellID {:x} not found in "stripID2cIDs" map)", stripID);
throw std::runtime_error(R"(Inconsistency in the handling of "stripID2cIDs" map)");
Expand All @@ -410,13 +418,13 @@ void MPGDTrackerDigi::process(const MPGDTrackerDigi::Input& input,
if (sim_hit.getCellID() == cID) {
// create link
auto link = links->create();
link.setFrom(item.second);
link.setFrom(raw_hit);
link.setTo(sim_hit);
link.setWeight(1.0);
// set association
auto hitassoc = associations->create();
hitassoc.setWeight(1.0);
hitassoc.setRawHit(item.second);
hitassoc.setRawHit(raw_hit);
hitassoc.setSimHit(sim_hit);
}
}
Expand Down
17 changes: 13 additions & 4 deletions src/algorithms/digi/SiliconTrackerDigi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <tuple>
#include <unordered_map>
#include <utility>
#include <vector>

#include "SiliconTrackerDigi.h"
#include "algorithms/digi/SiliconTrackerDigiConfig.h"
Expand Down Expand Up @@ -83,15 +84,23 @@ void SiliconTrackerDigi::process(const SiliconTrackerDigi::Input& input,
}
}

for (auto item : cell_hit_map) {
raw_hits->push_back(item.second);
std::vector<std::uint64_t> ordered_cell_ids;
ordered_cell_ids.reserve(cell_hit_map.size());
for (const auto& [cell_id, hit] : cell_hit_map) {
ordered_cell_ids.push_back(cell_id);
}
Comment thread
wdconinc marked this conversation as resolved.
std::ranges::sort(ordered_cell_ids);

for (const auto cell_id : ordered_cell_ids) {
const auto& hit = cell_hit_map.at(cell_id);
raw_hits->push_back(hit);
auto raw_hit = raw_hits->at(raw_hits->size() - 1);

for (const auto& sim_hit : *sim_hits) {
if (item.first == sim_hit.getCellID()) {
if (cell_id == sim_hit.getCellID()) {
// create link
auto link = links->create();
link.setFrom(item.second);
link.setFrom(raw_hit);
link.setTo(sim_hit);
link.setWeight(1.0);
// set association
Expand Down
Loading