1 #include <framework/utilities/TestHelpers.h>
2 #include <framework/dbobjects/BeamParameters.h>
4 #include <gtest/gtest.h>
14 beamparams.
setLER(3.49841, M_PI, std::vector<double>());
15 beamparams.
setHER(7.99638, 0.022, std::vector<double>());
17 const TLorentzVector upsVec = beamparams.
getHER() + beamparams.
getLER();
18 TLorentzVector upsVecCMS = upsVec;
21 const double mUpsilon = 10.5794;
22 EXPECT_TRUE(fabs(upsVecCMS.E() - mUpsilon) < 1e-2);
23 EXPECT_TRUE(fabs(upsVecCMS.X()) < 1e-15);
24 EXPECT_TRUE(fabs(upsVecCMS.Y()) < 1e-15);
25 EXPECT_TRUE(fabs(upsVecCMS.Z()) < 2e-15) << fabs(upsVecCMS.Z());
27 EXPECT_TRUE(fabs(beamparams.
getMass() - mUpsilon) < 1e-2);
34 beamparams.
setLER(3.49841, M_PI, std::vector<double>());
35 beamparams.
setHER(7.99638, 0.022, std::vector<double>());
38 TLorentzVector vec(1, 1, 1, 1);
39 vec.Transform(backAndForth);
40 EXPECT_TRUE(fabs(vec.X() - 1) < 1e-15);
41 EXPECT_TRUE(fabs(vec.Y() - 1) < 1e-15);
42 EXPECT_TRUE(fabs(vec.Z() - 1) < 1e-15);
50 TMatrixDSym upper(3), sym(3);
52 for (
int i = 0; i < 3; i++) {
53 for (
int j = 0; j < 3; j++) {
54 upper(i, j) = (j >= i) ? ++n : -1;
55 if (j >= i) sym(i, j) = sym(j, i) = upper(i, j);
66 std::vector<double> cov;
67 TMatrixDSym matrix(3);
68 beamparams.
setHER(0, 0, cov);
69 beamparams.
setVertex(TVector3(0, 0, 0), cov);
70 EXPECT_EQ(matrix, beamparams.
getCovHER());
79 for (
int i = 0; i < 10; ++i) {
80 std::vector<double> cov{1.*i};
81 TMatrixDSym beam(3), vertex(3);
86 beamparams.
setHER(0, 0, cov);
87 beamparams.
setVertex(TVector3(0, 0, 0), cov);
98 std::vector<double> cov{1., 2., 3.};
99 TMatrixDSym matrix(3);
103 beamparams.
setHER(0, 0, cov);
104 beamparams.
setVertex(TVector3(0, 0, 0), cov);
105 EXPECT_EQ(matrix, beamparams.
getCovHER());
113 std::vector<double> cov{1., 2., 3., 4., 5., 6.};
114 TMatrixDSym matrix(3);
116 matrix(0, 1) = matrix(1, 0) = 2;
117 matrix(0, 2) = matrix(2, 0) = 3;
119 matrix(1, 2) = matrix(2, 1) = 5;
121 beamparams.
setHER(0, 0, cov);
122 beamparams.
setVertex(TVector3(0, 0, 0), cov);
123 EXPECT_EQ(matrix, beamparams.
getCovHER());
131 std::vector<double> cov{1., 2., 3., 4., 5., 6., 7., 8., 9.};
132 TMatrixDSym matrix(3);
134 matrix(0, 1) = matrix(1, 0) = 2;
135 matrix(0, 2) = matrix(2, 0) = 3;
137 matrix(1, 2) = matrix(2, 1) = 6;
139 beamparams.
setHER(0, 0, cov);
140 beamparams.
setVertex(TVector3(0, 0, 0), cov);
141 EXPECT_EQ(matrix, beamparams.
getCovHER());