43int main(
int argc,
char **argv)
51 typedef JTriggeredFileScanner_t::multi_pointer_type multi_pointer_type;
54 JLimit_t& numberOfEvents = inputFile.getLimit();
57 size_t numberOfPrefits;
67 JParser<> zap(
"Program to histogram fit results from reconstructed data.");
87 const double rad_to_deg = 180/M_PI;
88 const double R_m = 700.0;
89 const int MAX_OVERLAYS = 300;
90 const double MAX_TRIGGERED_HITS = 2500;
91 const double E_RANGE_MIN = -1.0;
92 const double E_RANGE_MAX = 7;
97 TH1D job(
"job", NULL, 100, 0.5, 100.5);
98 TH1D hz (
"hz",
"; cos(#theta_{zenith})" , 21 , Z_RANGE_MIN, Z_RANGE_MAX);
99 TH1D ho (
"ho",
"; # of overlays" , MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
100 TH2D hzo (
"hzo",
"; cos(#theta_{zenith}) ; # of overlays" , 21, Z_RANGE_MIN, Z_RANGE_MAX, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
101 TH2D hxy (
"hxy",
"; x position ; y position" , 201, -R_m, R_m, 201, -R_m, R_m);
102 TH1D hn (
"hn",
"; # of triggered hits" , 600, -0.5, MAX_TRIGGERED_HITS-0.5);
103 TH1D hN (
"hN",
"; JEnergy # of hits" , 600, -0.5, MAX_TRIGGERED_HITS-0.5);
104 TH1D hq (
"hq",
"; quality parameter" , 200, -200.0, 800);
105 TH1D hb0 (
"hb0",
"; log(beta0)" , 60, -2.0, 3.5);
106 TH1D he (
"he",
"; log(Ereco [GeV])" , 75, E_RANGE_MIN, E_RANGE_MAX);
107 TH2D heo (
"heo",
"; log(Ereco [GeV]) ; # of overlays" , 75, E_RANGE_MIN, E_RANGE_MAX, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
108 TH2D hen (
"hen",
"; log(Ereco [GeV]) ; # of triggered hits" , 75, E_RANGE_MIN, E_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
109 TH2D heN (
"heN",
"; log(Ereco [GeV]) ; JEnergy # of hits" , 75, E_RANGE_MIN, E_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
110 TH2D hzq (
"hzq",
"; cos(#theta_{zenith}); quality" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 600, -200.0, 800.0);
111 TH2D hzn (
"hzn",
"; cos(#theta_{zenith}); # of triggered hits", 21, Z_RANGE_MIN, Z_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
112 TH2D hzN (
"hzN",
"; cos(#theta_{zenith}); JEnergy # of hits" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 600, -0.5, MAX_TRIGGERED_HITS-0.5);
113 TH2D hze (
"hze",
"; cos(#theta_{zenith}); log(Ereco [GeV])" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 75, E_RANGE_MIN, E_RANGE_MAX);
114 TH2D hzb0(
"hzb0",
"; cos(#theta_{zenith}); log(beta0)" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 60, E_RANGE_MIN, 3.5);
121 multi_pointer_type ps = inputFile.
next();
132 if (evt->begin() == __end) {
136 if (numberOfPrefits > 0) {
138 JEvt::iterator __q = __end;
140 advance(__end = evt->begin(), min(numberOfPrefits, (
size_t)
distance(evt->begin(), __q)));
149 if (numberOfPrefits > 0) {
150 advance(__end = evt->begin(), min(numberOfPrefits, evt->size()));
153 for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
157 if (coszenith_range(track.
getDZ()) &&
158 quality_range (fit->getQ()) &&
159 energy_range (fit->getE())) {
162 const double Efit = fit->getE();
166 hz .Fill(track.
getDZ());
168 hzo.Fill(track.
getDZ(), overlays) ;
169 hxy.Fill(track.
getX(), track.
getY());
170 hq .Fill(fit->getQ());
171 hzq.Fill(track.
getDZ(), fit->getQ() );
183 he .Fill(log10(Efit));
185 hze .Fill(track.
getDZ(), log10(Efit) );
186 heo .Fill(log10(Efit), overlays );
192 STATUS(
"Number of events input " << setw(8) << right << job.GetBinContent(1) << endl);
int main(int argc, char **argv)