14 #include <tst/Verify.h>
15 #include <cppunit/extensions/HelperMacros.h>
27 CPPUNIT_TEST(testTimeCDF);
28 CPPUNIT_TEST(testApproximateTimeCDF);
29 CPPUNIT_TEST(testFirstTimePDF);
30 CPPUNIT_TEST(testApproximateFirstTimePDF);
31 CPPUNIT_TEST_SUITE_END();
41 fTM.SetCoordinates(1000*
meter, 0);
49 const double res = fTM.TimeCDF(1e9*
ns);
50 CPPUNIT_ASSERT(Verify<CloseTo>(res, 1.0));
56 const double res = fTM.ApproximateTimeCDF(1e9*
ns);
57 CPPUNIT_ASSERT(Verify<CloseTo>(res, 1.0));
63 const unsigned int nmuon = 10;
64 const double lntmin = std::log(1e1*
ns);
65 const double lntmax = std::log(1e3*ns);
70 for (
int i = 0; i < n; ++i)
72 const double z = double(i)/(n-1);
73 const double t = std::exp((1.0-z)*lntmin + z*lntmax);
74 const double dp = fTM.FirstTimePDF(t,nmuon)*t;
79 const double dlnt = (lntmax-lntmin)/n;
80 const double tmean = tsum*dlnt;
81 const double tsigma =
std::sqrt(ttsum*dlnt-tmean*tmean);
83 CPPUNIT_ASSERT(Verify<CloseTo>(tmean, 76.*ns, 1e-1));
84 CPPUNIT_ASSERT(Verify<CloseTo>(tsigma, 15.*ns, 1e-1));
90 const unsigned int nmuon = 10;
91 const double lntmin = std::log(1e1*
ns);
92 const double lntmax = std::log(1e3*ns);
97 for (
int i = 0; i < n; ++i)
99 const double z = double(i)/(n-1);
100 const double t = std::exp((1.0-z)*lntmin + z*lntmax);
101 const double dp = fTM.ApproximateFirstTimePDF(t,nmuon)*t;
106 const double dlnt = (lntmax-lntmin)/n;
107 const double tmean = tsum*dlnt;
108 const double tsigma =
std::sqrt(ttsum*dlnt-tmean*tmean);
110 CPPUNIT_ASSERT(Verify<CloseTo>(tmean, 76.*ns, 1e-1));
111 CPPUNIT_ASSERT(Verify<CloseTo>(tsigma, 19.*ns, 1e-1));
void testApproximateFirstTimePDF()
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
all time delays are relative to arrival time of shower front plane
void testApproximateTimeCDF()