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

Add an argument for B field in the Telescope KF test #795

Merged
merged 2 commits into from
Dec 4, 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
6 changes: 2 additions & 4 deletions tests/common/tests/kalman_fitting_telescope_test.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,20 @@ namespace traccc {
/// (11) offset from origin of the first plane in mm
/// (12) Number of planes
/// (13) Spacing between planes in mm
/// (14) Magnetic field
class KalmanFittingTelescopeTests
: public KalmanFittingTests,
public testing::WithParamInterface<std::tuple<
std::string, std::array<scalar, 3u>, std::array<scalar, 3u>,
std::array<scalar, 2u>, std::array<scalar, 2u>,
std::array<scalar, 2u>, detray::pdg_particle<scalar>, unsigned int,
unsigned int, bool, scalar, unsigned int, scalar>> {
unsigned int, bool, scalar, unsigned int, scalar, vector3>> {

public:
/// Plane alignment direction (aligned to x-axis)
static const inline detray::detail::ray<traccc::default_algebra> traj{
{0, 0, 0}, 0, {1, 0, 0}, -1};

/// B field value and its type
static constexpr vector3 B{2 * detray::unit<scalar>::T, 0, 0};

/// Plane material and thickness
static const inline detray::silicon_tml<scalar> mat = {};
static constexpr scalar thickness = 0.5f * detray::unit<scalar>::mm;
Expand Down
6 changes: 3 additions & 3 deletions tests/cpu/test_ckf_combinatorics_telescope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ TEST_P(CpuCkfCombinatoricsTelescopeTests, Run) {
const auto [host_det, names] =
detray::io::read_detector<host_detector_type>(host_mr, reader_cfg);

auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

/***************************
* Generate simulation data
Expand Down Expand Up @@ -186,7 +186,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 2, 1, false,
20.f, 9u, 20.f)));
20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

// Testing three identical tracks
INSTANTIATE_TEST_SUITE_P(
Expand All @@ -196,4 +196,4 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 3, 1, false,
20.f, 9u, 20.f)));
20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));
25 changes: 12 additions & 13 deletions tests/cpu/test_ckf_sparse_tracks_telescope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ TEST_P(CkfSparseTrackTelescopeTests, Run) {
const auto [host_det, names] =
detray::io::read_detector<host_detector_type>(host_mr, reader_cfg);

auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

/***************************
* Generate simulation data
Expand Down Expand Up @@ -214,7 +214,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 1, 5000,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
CkfSparseTrackTelescopeValidation1, CkfSparseTrackTelescopeTests,
Expand All @@ -223,7 +223,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 2, 2500,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
CkfSparseTrackTelescopeValidation2, CkfSparseTrackTelescopeTests,
Expand All @@ -232,7 +232,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 4, 1250,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
CkfSparseTrackTelescopeValidation3, CkfSparseTrackTelescopeTests,
Expand All @@ -241,15 +241,14 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 10, 500,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
CkfSparseTrackTelescopeValidation4, CkfSparseTrackTelescopeTests,
::testing::Values(std::make_tuple("telescope_decade_tracks_random_charge",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 10, 500, true,
20.f, 9u, 20.f)));
::testing::Values(std::make_tuple(
"telescope_decade_tracks_random_charge",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 200.f, 200.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 10, 500, true,
20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));
5 changes: 3 additions & 2 deletions tests/cpu/test_kalman_fitter_hole_count.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ TEST_P(KalmanFittingHoleCountTests, Run) {

const auto [host_det, names] =
detray::io::read_detector<host_detector_type>(host_mr, reader_cfg);
auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

/***************************
* Generate simulation data
Expand Down Expand Up @@ -181,4 +181,5 @@ INSTANTIATE_TEST_SUITE_P(
"telescope_1_GeV_0_phi_muon", std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f}, std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f}, std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 1, 1, false, 20.f, 20u, 20.f)));
detray::muon<scalar>(), 1, 1, false, 20.f, 20u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));
25 changes: 19 additions & 6 deletions tests/cpu/test_kalman_fitter_telescope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ TEST_P(KalmanFittingTelescopeTests, Run) {

const auto [host_det, names] =
detray::io::read_detector<host_detector_type>(host_mr, reader_cfg);
auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

/***************************
* Generate simulation data
Expand Down Expand Up @@ -189,7 +189,8 @@ INSTANTIATE_TEST_SUITE_P(
"telescope_1_GeV_0_phi_muon", std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f}, std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f}, std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 100, 100, false, 20.f, 9u, 20.f)));
detray::muon<scalar>(), 100, 100, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
KalmanFitTelescopeValidation1, KalmanFittingTelescopeTests,
Expand All @@ -198,7 +199,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{10.f, 10.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 100, 100,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
KalmanFitTelescopeValidation2, KalmanFittingTelescopeTests,
Expand All @@ -207,7 +208,7 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 100, 100,
false, 20.f, 9u, 20.f)));
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
KalmanFitTelescopeValidation3, KalmanFittingTelescopeTests,
Expand All @@ -216,7 +217,8 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f}, std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f}, std::array<scalar, 2u>{0.f, 0.f},
detray::antimuon<scalar>(), 100, 100, false, 20.f, 9u, 20.f)));
detray::antimuon<scalar>(), 100, 100, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
KalmanFitTelescopeValidation4, KalmanFittingTelescopeTests,
Expand All @@ -225,4 +227,15 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f}, std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f}, std::array<scalar, 2u>{0.f, 0.f},
detray::antimuon<scalar>(), 100, 100, true, 20.f, 9u, 20.f)));
detray::antimuon<scalar>(), 100, 100, true, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));

INSTANTIATE_TEST_SUITE_P(
KalmanFitTelescopeValidation5, KalmanFittingTelescopeTests,
::testing::Values(std::make_tuple(
"telescope_1_GeV_0_phi_muon_z_Bfield",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f}, std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f}, std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 100, 100, false, 20.f, 9u, 20.f,
vector3{0, 0, 2 * detray::unit<scalar>::T})));
35 changes: 18 additions & 17 deletions tests/cuda/test_ckf_combinatorics_telescope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ TEST_P(CudaCkfCombinatoricsTelescopeTests, Run) {
auto [host_det, names] =
detray::io::read_detector<host_detector_type>(mng_mr, reader_cfg);

auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

// Detector view object
auto det_view = detray::get_data(host_det);
Expand Down Expand Up @@ -240,19 +240,20 @@ TEST_P(CudaCkfCombinatoricsTelescopeTests, Run) {
// Testing two identical tracks
INSTANTIATE_TEST_SUITE_P(
CUDACkfCombinatoricsTelescopeValidation, CudaCkfCombinatoricsTelescopeTests,
::testing::Values(std::make_tuple("telescope_combinatorics_twin",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 2, 1, false, 20.f,
9u, 20.f),
std::make_tuple("telescope_combinatorics_trio",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 3, 1, false, 20.f,
9u, 20.f)));
::testing::Values(
std::make_tuple("telescope_combinatorics_twin",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 2, 1, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0}),
std::make_tuple("telescope_combinatorics_trio",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 3, 1, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));
18 changes: 9 additions & 9 deletions tests/cuda/test_kalman_fitter_telescope.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ TEST_P(KalmanFittingTelescopeTests, Run) {
// Detector view object
auto det_view = detray::get_data(host_det);

auto field = detray::bfield::create_const_field(B);
auto field = detray::bfield::create_const_field(std::get<13>(GetParam()));

/***************************
* Generate simulation data
Expand Down Expand Up @@ -227,36 +227,36 @@ INSTANTIATE_TEST_SUITE_P(
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{1.f, 1.f}, std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f}, detray::muon<scalar>(), 100, 100,
false, 20.f, 9u, 20.f),
false, 20.f, 9u, 20.f, vector3{2 * detray::unit<scalar>::T, 0, 0}),
std::make_tuple("cuda_telescope_10_GeV_0_phi",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{10.f, 10.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 100, 100, false, 20.f, 9u,
20.f),
detray::muon<scalar>(), 100, 100, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0}),
std::make_tuple("cuda_telescope_100_GeV_0_phi",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{100.f, 100.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 100, 100, false, 20.f, 9u,
20.f),
detray::muon<scalar>(), 100, 100, false, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0}),
std::make_tuple("cuda_telescope_1_GeV_0_phi_antimuon",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::antimuon<scalar>(), 100, 100, false, 20.f, 9u,
20.f),
20.f, vector3{2 * detray::unit<scalar>::T, 0, 0}),
std::make_tuple("cuda_telescope_1_GeV_0_phi_random_charge",
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 3u>{0.f, 0.f, 0.f},
std::array<scalar, 2u>{1.f, 1.f},
std::array<scalar, 2u>{0.f, 0.f},
std::array<scalar, 2u>{0.f, 0.f},
detray::muon<scalar>(), 100, 100, true, 20.f, 9u,
20.f)));
detray::muon<scalar>(), 100, 100, true, 20.f, 9u, 20.f,
vector3{2 * detray::unit<scalar>::T, 0, 0})));
Loading