40 JLimit_t& numberOfEvents = inputFile.getLimit();
43 size_t numberOfPrefits;
50 JParser<> zap(
"Example program to histogram fit results.");
55 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
63 catch(
const exception& error) {
64 FATAL(error.what() << endl);
80 const double R_m = 2.0 * cylinder.
getRadius();
81 const double zmin = -2.0 * cylinder.getZmin();
82 const double zmax = 2.0 * cylinder.getZmax();
85 TH1D job(
"job",
"", 2, -0.5, 1.5);
86 TH1D hz (
"hz ",
"", 21 , -1.0, 1.0);
87 TH2D hxy(
"hxy",
"", 201, -R_m, R_m, 201, -200.0, 200.0);
88 TH2D hzR(
"hzR",
"", 201, 0.0, R_m, 201, zmin, zmax);
89 TH1D hq1(
"hq1",
"", 200, -50.0, 150);
90 TH1D hq2(
"hq2",
"", 200, -5.0, 5.0);
91 TH1D hmu(
"hmu",
"", 100, -50, 50);
92 TH2D hmz(
"hmz",
"", 100, -50, 50, 21, -1.0, 1.0);
93 TH2D hqz(
"hqz",
"", 200, -5, 5, 21, -1.0, 1.0);
107 JEvt::iterator __end = partition(evt->begin(), evt->end(),
JHistory::is_event(application));
109 if (evt->begin() == __end) {
113 if (numberOfPrefits > 0) {
115 JEvt::iterator __q = __end;
117 advance(__end = evt->begin(), min(numberOfPrefits, (
size_t)
distance(evt->begin(), __q)));
126 const double muon_probability = isAtmosphericMuon(evt->begin(), __end);
128 hmu.Fill(muon_probability);
130 if (numberOfPrefits > 0) {
131 advance(__end = evt->begin(), min(numberOfPrefits, evt->size()));
134 for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
137 track.
sub(cylinder.getCenter());
139 hz.Fill(track.
getDZ());
140 hxy.Fill(track.
getX(), track.
getY());
142 hq1.Fill(fit->getQ());
143 hmz.Fill(muon_probability, track.
getDZ());
150 hqz.Fill(lambda, track.
getDZ());
159 NOTICE(
"Number of events input " << setw(8) << right << job.GetBinContent(1) << endl);
160 NOTICE(
"Number of events with direction fit" << setw(8) << right << job.GetBinContent(2) << endl);