Skip to content

Commit d668f0f

Browse files
authored
Merge pull request #1139 from paradajzblond/selectHStruth
Add parameter for HS truth particle selection
2 parents 1187d8a + cf2fb13 commit d668f0f

File tree

5 files changed

+24
-1
lines changed

5 files changed

+24
-1
lines changed

examples/options/include/traccc/options/truth_finding.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ class truth_finding : public interface,
2323
float m_z_min = -500.f * unit<float>::mm;
2424
float m_z_max = 500.f * unit<float>::mm;
2525
float m_r_max = 200.f * unit<float>::mm;
26+
float m_eta_max = 3.f;
27+
int m_process_id = 0;
2628
unsigned int m_min_track_candidates = 3;
2729

2830
truth_finding();

examples/options/src/truth_finding.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ truth_finding::truth_finding() : interface("Truth Track Finding Options") {
3131
"truth-finding-max-r",
3232
boost::program_options::value(&m_r_max)->default_value(m_r_max),
3333
"Candidate particle max r cut [mm]");
34+
m_desc.add_options()(
35+
"truth-finding-max-eta",
36+
boost::program_options::value(&m_eta_max)->default_value(m_eta_max),
37+
"Candidate particle max eta cut");
38+
m_desc.add_options()("truth-finding-process-id",
39+
boost::program_options::value(&m_process_id)
40+
->default_value(m_process_id),
41+
"Candidate particle is from a selected process");
3442
m_desc.add_options()("truth-finding-min-track-candidates",
3543
boost::program_options::value(&m_min_track_candidates)
3644
->default_value(m_min_track_candidates),
@@ -50,6 +58,8 @@ truth_finding::operator truth_matching_config() const {
5058
.z_min = m_z_min,
5159
.z_max = m_z_max,
5260
.r_max = m_r_max,
61+
.eta_max = m_eta_max,
62+
.process_id = m_process_id,
5363
.min_track_candidates = m_min_track_candidates};
5464
}
5565

@@ -64,6 +74,10 @@ std::unique_ptr<configuration_printable> truth_finding::as_printable() const {
6474
"Maximum z", std::format("{} mm", m_z_max / unit<float>::mm)));
6575
cat->add_child(std::make_unique<configuration_kv_pair>(
6676
"Maximum r", std::format("{} mm", m_r_max / unit<float>::mm)));
77+
cat->add_child(std::make_unique<configuration_kv_pair>(
78+
"Maximum eta", std::format("{}", m_eta_max)));
79+
cat->add_child(std::make_unique<configuration_kv_pair>(
80+
"Process ID", std::format("{}", m_process_id)));
6781
cat->add_child(std::make_unique<configuration_kv_pair>(
6882
"Minimum track candidates", std::format("{}", m_min_track_candidates)));
6983

performance/include/traccc/utils/truth_matching_config.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ struct truth_matching_config {
1616

1717
float z_min = -500.f * traccc::unit<float>::mm;
1818
float z_max = 500.f * traccc::unit<float>::mm;
19-
2019
float r_max = 200.f * traccc::unit<float>::mm;
20+
float eta_max = 3.f;
21+
int process_id = -1;
2122

2223
unsigned int min_track_candidates = 3;
2324
};

performance/src/efficiency/finding_performance_writer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,9 @@ void finding_performance_writer::write_common(
264264
ptc.vertex[2] < m_cfg.truth_config.z_min ||
265265
ptc.vertex[2] > m_cfg.truth_config.z_max ||
266266
vector::perp(ptc.vertex) > m_cfg.truth_config.r_max ||
267+
std::abs(vector::eta(ptc.momentum)) > m_cfg.truth_config.eta_max ||
268+
(m_cfg.truth_config.process_id >= 0 &&
269+
m_cfg.truth_config.process_id != ptc.process) ||
267270
num_measurements < m_cfg.truth_config.min_track_candidates) {
268271
continue;
269272
}

performance/src/efficiency/seeding_performance_writer.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ void seeding_performance_writer::write(
176176
ptc.vertex[2] < m_cfg.truth_config.z_min ||
177177
ptc.vertex[2] > m_cfg.truth_config.z_max ||
178178
vector::perp(ptc.vertex) > m_cfg.truth_config.r_max ||
179+
std::abs(vector::eta(ptc.momentum)) > m_cfg.truth_config.eta_max ||
180+
(m_cfg.truth_config.process_id >= 0 &&
181+
m_cfg.truth_config.process_id != ptc.process) ||
179182
num_measurements < m_cfg.truth_config.min_track_candidates) {
180183
continue;
181184
}

0 commit comments

Comments
 (0)