40 JParser<> zap(
"Example program to test JOmega2D class.");
49 catch(
const exception &error) {
50 FATAL(error.what() << endl);
56 TH1D h0(
"h0[grid", NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
57 TH1D h1(
"h1[RMS]", NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
58 TH1D h2(
"h2[deviation]", NULL, N, range_Deg.getLowerLimit(), range_Deg.getUpperLimit());
64 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
66 const Double_t x = h0.GetBinCenter(i);
68 omega .push_back(JOmega2D(x *
PI/180.0));
69 quantile.push_back(JQuantile());
73 for (
int i = 0; i != numberOfEvents; ++i) {
75 STATUS(
"event: " << setw(10) << i <<
'\r');
DEBUG(endl);
77 const double phi = gRandom->Uniform(0.0, 2*
PI);
79 const JAngle2D angle(phi);
81 for (
size_t j = 0;
j != omega.size(); ++
j) {
83 const int pos = omega[
j].find(angle);
84 const double dot = angle.getDot(omega[
j][pos]);
86 quantile[
j].put(acos(dot) * 180.0/
PI);
92 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
93 h0.SetBinContent(i, omega [i-1].size());
94 h1.SetBinContent(i, quantile[i-1].getSTDev());
95 h2.SetBinContent(i, quantile[i-1].getDeviation());
102 out << h0 << h1 << h2;
108 for (
int i = 1; i <= h2.GetNbinsX(); ++i) {
110 const Double_t x = h2.GetBinCenter (i);
111 const Double_t y = h2.GetBinContent(i);
113 NOTICE(
"Grid test " << x <<
" [deg]: " << y <<
" [deg]." << endl);