86{
88
90 int numberOfEvents;
93 bool subtract;
95
96 try {
97
98 JParser<> zap(
"Example program to test 2D histogram.");
99
106
107 zap(argc, argv);
108 }
109 catch(const exception &error) {
110 FATAL(error.what() << endl);
111 }
112
113
114 if (numberOfEvents <= 0) {
115 FATAL(
"No events." << endl);
116 }
117
119
120 const Int_t nx = 100;
121 const Double_t
xmin = -3.0;
122 const Double_t
xmax = +3.0;
123
126
127 JHistogram2D_t histogram;
128
129
130
131
134 else
136
137
138
139
140 for (int i = 0; i != numberOfEvents; ++i) {
141
142 const double x = gRandom->Gaus(0.0, 1.0);
143 const double y = gRandom->Gaus(0.0, 1.0);
144
145 histogram.fill(x, y, 1.0);
146 }
147
148
149 histogram.div((double) numberOfEvents);
150
151
152
153
156
157
158
159
161
164
166
167 F2.compile();
168
169
171
172 TH2D h0("h0", NULL, nx, xmin, xmax, nx, xmin, xmax);
173 TH2D h1("h1", NULL, nx, xmin, xmax, nx, xmin, xmax);
174 TH2D h2("h2", NULL, nx, xmin, xmax, nx, xmin, xmax);
175
176
177 for (int i = 1; i <= h0.GetXaxis()->GetNbins(); ++i) {
178 for (
int j = 1;
j <= h0.GetYaxis()->GetNbins(); ++
j) {
179
180 const Double_t
x = h0.GetXaxis()->GetBinCenter(i);
181 const Double_t
y = h0.GetYaxis()->GetBinCenter(j);
182
183 h0.SetBinContent(i, j, g2(x,y));
184
185 try {
186 h1.SetBinContent(i, j, F2(x,y).fp.fp);
187 h2.SetBinContent(i, j, f2(x,y));
188 }
189 catch(const exception& error) {
190
191 }
192 }
193 }
194
195 if (subtract) {
196 h1.Add(&h0, -1.0);
197 h2.Add(&h0, -1.0);
198 }
199
200 out.Write();
201 out.Close();
202}
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int numberOfBins
number of bins for average CDF integral of optical module
Utility class to parse command line options.
void copy(const Head &from, JHead &to)
Copy header from from to to.
T make_set(T __begin, T __end, JResult_t std::iterator_traits< T >::value_type::*value, const JComparator_t &comparator)
Method to exclude outliers from already sorted data.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).