10 #include <tracking/trackFindingCDC/fitting/FacetFitter.h>
12 #include <tracking/trackFindingCDC/geometry/UncertainParameterLine2D.h>
13 #include <tracking/trackFindingCDC/geometry/LineParameters.h>
14 #include <tracking/trackFindingCDC/geometry/Vector2D.h>
16 #include <tracking/trackFindingCDC/numerics/Matrix.h>
18 #include <framework/logging/Logger.h>
20 #include <gtest/gtest.h>
23 using namespace TrackFindingCDC;
26 TEST(TrackFindingCDCTest, fitting_FacetFitter_fitLine)
43 for (
int nSteps : {100, 1, 0}) {
44 UncertainParameterLine2D fittedLine =
FacetFitter::fit(xyl, weights, nSteps);
46 EXPECT_NEAR(1, fittedLine->tangential().x(), 1e-6);
47 EXPECT_NEAR(0, fittedLine->tangential().y(), 1e-6);
48 EXPECT_NEAR(0, fittedLine->support().x(), 1e-6);
49 EXPECT_NEAR(1, fittedLine->support().y(), 1e-6);
50 EXPECT_NEAR(0.015 * 1.0 / 4.0, fittedLine.chi2(), 1e-6);
51 B2INFO(fittedLine.lineCovariance());
56 TEST(TrackFindingCDCTest, fitting_FacetFitter_fitLine_alongYAxes)
73 for (
int nSteps : {100, 1, 0}) {
74 UncertainParameterLine2D fittedLine =
FacetFitter::fit(xyl, weights, nSteps);
76 EXPECT_NEAR(0, fittedLine->tangential().x(), 1e-6);
77 EXPECT_NEAR(1, fittedLine->tangential().y(), 1e-6);
78 EXPECT_NEAR(1, fittedLine->support().x(), 1e-6);
79 EXPECT_NEAR(0, fittedLine->support().y(), 1e-6);
80 EXPECT_NEAR(0.015, fittedLine.chi2(), 1e-6);
81 B2INFO(fittedLine.lineCovariance());
87 TEST(TrackFindingCDCTest, fitting_FacetFitter_fitLine_sameSide)
104 for (
int nSteps : {100, 1, 0}) {
105 UncertainParameterLine2D fittedLine =
FacetFitter::fit(xyl, weights, nSteps);
107 EXPECT_NEAR(-1, fittedLine->tangential().x(), 1e-6);
108 EXPECT_NEAR(0, fittedLine->tangential().y(), 1e-6);
109 EXPECT_NEAR(0, fittedLine->support().x(), 1e-6);
110 EXPECT_NEAR(1, fittedLine->support().y(), 1e-6);
111 EXPECT_NEAR(0.06, fittedLine.chi2(), 1e-6);
112 B2INFO(fittedLine.lineCovariance());