42 JParser<> zap(
"Test program for vertex fit.");
52 catch(
const exception& error) {
53 FATAL(error.what() << endl);
57 TH1D hx(
"hx", NULL, 101, -1.0, +1.0);
58 TH1D hy(
"hy", NULL, 101, -1.0, +1.0);
59 TH1D hz(
"hz", NULL, 101, -1.0, +1.0);
60 TH1D ht(
"ht", NULL, 101, -1.0, +1.0);
72 if (inputFile !=
"") {
74 ifstream in(inputFile.c_str());
76 for (
double x,
y, z; in >>
x >>
y >> z; ) {
84 for (
double x = -50.0;
x < 100.0;
x += 100.0) {
85 for (
double y = -50.0;
y < 100.0;
y += 100.0) {
86 for (
double z = -50.0; z < 100.0; z += 100.0) {
96 const double xmin = -1.0;
97 const double xmax = +1.0;
99 const double tmin = -1.0;
100 const double tmax = +1.0;
103 for (
int i = 0; i != numberOfEvents; ++i) {
107 const double x = gRandom->Uniform(
xmin,
xmax);
108 const double y = gRandom->Uniform(
xmin,
xmax);
109 const double z = gRandom->Uniform(
xmin,
xmax);
110 const double t = gRandom->Uniform(tmin, tmax);
115 <<
FIXED(7,3) << point.getX() <<
' '
116 <<
FIXED(7,3) << point.getY() <<
' '
117 <<
FIXED(7,3) << point.getZ() <<
' '
118 <<
FIXED(7,3) << point.getT() << endl);
124 for (JDetector_t::const_iterator pos =
detector.begin(); pos !=
detector.end(); ++pos) {
125 data.push_back(
JHit_t(*pos, point.getT(*pos)));
130 <<
FIXED(7,3) << hit->getX() <<
' '
131 <<
FIXED(7,3) << hit->getY() <<
' '
132 <<
FIXED(7,3) << hit->getZ() <<
' '
133 <<
FIXED(7,3) << hit->getT() << endl);
146 hx.Fill(point.getX() -
result.getX());
147 hy.Fill(point.getY() -
result.getY());
148 hz.Fill(point.getZ() -
result.getZ());
149 ht.Fill(point.getT() -
result.getT());
151 Qx.put(point.getX() -
result.getX());
152 Qy.put(point.getY() -
result.getY());
153 Qz.put(point.getZ() -
result.getZ());
154 Qt.put(point.getT() -
result.getT());
168 out << hx << hy << hz << ht;
174 ASSERT(numberOfEvents > 0);
176 ASSERT(fabs(Qx.getMean()) <= precision);
177 ASSERT(fabs(Qy.getMean()) <= precision);
178 ASSERT(fabs(Qz.getMean()) <= precision);
179 ASSERT(fabs(Qt.getMean()) <= precision);
181 ASSERT(Qx.getSTDev() <= precision);
182 ASSERT(Qy.getSTDev() <= precision);
183 ASSERT(Qz.getSTDev() <= precision);
184 ASSERT(Qt.getSTDev() <= precision);
#define DEBUG(A)
Message macros.
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Linear fit of bright point (position and time) between hits (objects with position and time).
Data structure for vertex fit.
Data structure for vector in three dimensions.
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Auxiliary class to set-up Hit.