40 JParser<> zap(
"Test program for position fit.");
51 catch(
const exception &error) {
52 FATAL(error.what() << endl);
59 TH1D hx(
"hx", NULL, 101, -1.0, +1.0);
60 TH1D hy(
"hy", NULL, 101, -1.0, +1.0);
61 TH1D hz(
"hz", NULL, 101, -1.0, +1.0);
67 for (
int i = 0; i != numberOfEvents; ++i) {
69 const JVector3D vertex(0.0, 0.0, 0.0);
75 for (
int j = 0; j != numberOfAxes; ++j) {
77 const double x = gRandom->Gaus(0.0, sigma);
78 const double y = gRandom->Gaus(0.0, sigma);
79 const double z = gRandom->Gaus(0.0, sigma);
81 const double dx = gRandom->Uniform(-1, +1);
82 const double dy = gRandom->Uniform(-1, +1);
83 const double dz = gRandom->Uniform(-1, +1);
85 detector.push_back(JAxis3D(vertex + JVector3D(x,y,z), JVersor3D(dx,dy,dz)));
90 JEstimator<JPoint3D> result(detector.begin(), detector.end());
92 hx.Fill(vertex.getX() - result.getX());
93 hy.Fill(vertex.getY() - result.getY());
94 hz.Fill(vertex.getZ() - result.getZ());
96 Qx.put(vertex.getX() - result.getX());
97 Qy.put(vertex.getY() - result.getY());
98 Qz.put(vertex.getZ() - result.getZ());
111 out << hx << hy << hz;
117 ASSERT(numberOfEvents > 0);
119 ASSERT(Qx.getMean() <= precision);
120 ASSERT(Qy.getMean() <= precision);
121 ASSERT(Qz.getMean() <= precision);
123 ASSERT(Qx.getSTDev() <= precision);
124 ASSERT(Qy.getSTDev() <= precision);
125 ASSERT(Qz.getSTDev() <= precision);
Utility class to parse command line options.
#define ASSERT(A)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object