9 #include <boost/test/data/test_case.hpp>
10 #include <boost/test/tools/output_test_stream.hpp>
11 #include <boost/test/unit_test.hpp>
43 #include <type_traits>
47 using namespace Acts::UnitLiterals;
54 using Linearizer = HelicalTrackLinearizer<Propagator>;
61 std::uniform_real_distribution<>
vXYDist(-0.1_mm, 0.1_mm);
63 std::uniform_real_distribution<>
vZDist(-20_mm, 20_mm);
65 std::uniform_real_distribution<>
d0Dist(-0.01_mm, 0.01_mm);
67 std::uniform_real_distribution<>
z0Dist(-0.2_mm, 0.2_mm);
69 std::uniform_real_distribution<>
pTDist(0.4_GeV, 10_GeV);
71 std::uniform_real_distribution<>
phiDist(-M_PI, M_PI);
73 std::uniform_real_distribution<>
thetaDist(1.0, M_PI - 1.0);
75 std::uniform_real_distribution<>
qDist(-1, 1);
77 std::uniform_real_distribution<>
resIPDist(0., 100_um);
79 std::uniform_real_distribution<>
resAngDist(0., 0.1);
81 std::uniform_real_distribution<>
resQoPDist(-0.01, 0.01);
90 unsigned int nTests = 10;
94 std::mt19937
gen(mySeed);
97 auto bField = std::make_shared<ConstantBField>(
Vector3{0.0, 0.0, 1_T});
103 auto propagator = std::make_shared<Propagator>(
stepper);
108 IPEstimator ip3dEst(ip3dEstConfig);
118 std::shared_ptr<PerigeeSurface> perigeeSurface =
119 Surface::makeShared<PerigeeSurface>(
Vector3(0., 0., 0.));
125 for (
unsigned int i = 0;
i < nTests; ++
i) {
127 double q =
qDist(gen) < 0 ? -1. : 1.;
136 std::cout <<
"Creating track parameters: " << paramVec << std::endl;
149 covMat << res_d0 * res_d0, 0., 0., 0., 0., 0., 0., res_z0 * res_z0, 0., 0.,
150 0., 0., 0., 0., res_ph * res_ph, 0., 0., 0., 0., 0., 0.,
151 res_th * res_th, 0., 0., 0., 0., 0., 0., res_qp * res_qp, 0., 0., 0.,
156 std::shared_ptr<PerigeeSurface> perigee =
157 Surface::makeShared<PerigeeSurface>(Vector3::Zero());
180 KalmanVertexTrackUpdater::update<BoundTrackParameters>(trkAtVtx, vtx);
193 std::cout <<
"Old distance: " << oldDistance << std::endl;
194 std::cout <<
"New distance: " << newDistance << std::endl;
198 BOOST_CHECK_NE(fittedParamsCopy, trkAtVtx.fittedParams);
201 BOOST_CHECK(newDistance < oldDistance);