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;
66 JParser<> zap(
"Program to histogram fit results from reconstructed data.");
85 const double rad_to_deg = 180/M_PI;
86 const double R_m = 700.0;
87 const int MAX_OVERLAYS = 300;
88 const double MAX_TRIGGERED_HITS = 2500;
89 const double E_RANGE_MIN = -1.0;
90 const double E_RANGE_MAX = 7;
95 TH1D job(
"job", NULL, 100, 0.5, 100.5);
96 TH1D hz (
"hz",
"; cos(#theta_{zenith})" , 21 , Z_RANGE_MIN, Z_RANGE_MAX);
97 TH1D ho (
"ho",
"; # of overlays" , MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
98 TH2D hzo (
"hzo",
"; cos(#theta_{zenith}) ; # of overlays" , 21, Z_RANGE_MIN, Z_RANGE_MAX, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
99 TH2D hxy (
"hxy",
"; x position ; y position" , 201, -R_m, R_m, 201, -R_m, R_m);
100 TH1D hn (
"hn",
"; # of triggered hits" , 600, -0.5, MAX_TRIGGERED_HITS-0.5);
101 TH1D hN (
"hN",
"; JEnergy # of hits" , 600, -0.5, MAX_TRIGGERED_HITS-0.5);
102 TH1D hq (
"hq",
"; quality parameter" , 200, -200.0, 800);
103 TH1D hb0 (
"hb0",
"; log(beta0)" , 60, -1, 3.5);
104 TH1D he (
"he",
"; log(Ereco [GeV])" , 75, E_RANGE_MIN, E_RANGE_MAX);
105 TH2D heo (
"heo",
"; log(Ereco [GeV]) ; # of overlays" , 75, E_RANGE_MIN, E_RANGE_MAX, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
106 TH2D hen (
"hen",
"; log(Ereco [GeV]) ; # of triggered hits" , 75, E_RANGE_MIN, E_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
107 TH2D heN (
"heN",
"; log(Ereco [GeV]) ; JEnergy # of hits" , 75, E_RANGE_MIN, E_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
108 TH2D hzq (
"hzq",
"; cos(#theta_{zenith}); quality" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 600, -200.0, 800.0);
109 TH2D hzn (
"hzn",
"; cos(#theta_{zenith}); # of triggered hits", 21, Z_RANGE_MIN, Z_RANGE_MAX, 600 , -0.5, MAX_TRIGGERED_HITS-0.5);
110 TH2D hzN (
"hzN",
"; cos(#theta_{zenith}); JEnergy # of hits" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 600, -0.5, MAX_TRIGGERED_HITS-0.5);
111 TH2D hze (
"hze",
"; cos(#theta_{zenith}); log(Ereco [GeV])" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 75, E_RANGE_MIN, E_RANGE_MAX);
112 TH2D hzb0(
"hzb0",
"; cos(#theta_{zenith}); log(beta0)" , 21, Z_RANGE_MIN, Z_RANGE_MAX, 60, E_RANGE_MIN, 3.5);
119 multi_pointer_type ps = inputFile.
next();
130 if (evt->begin() == __end) {
134 if (numberOfPrefits > 0) {
136 JEvt::iterator __q = __end;
138 advance(__end = evt->begin(), min(numberOfPrefits, (
size_t)
distance(evt->begin(), __q)));
147 if (numberOfPrefits > 0) {
148 advance(__end = evt->begin(), min(numberOfPrefits, evt->size()));
151 for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
157 const double Efit = fit->getE();
161 hz .Fill(track.
getDZ());
163 hzo.Fill(track.
getDZ(), overlays) ;
164 hxy.Fill(track.
getX(), track.
getY());
165 hq .Fill(fit->getQ());
166 hzq.Fill(track.
getDZ(), fit->getQ() );
178 he .Fill(log10(Efit));
180 hze .Fill(track.
getDZ(), log10(Efit) );
181 heo .Fill(log10(Efit), overlays );
187 STATUS(
"Number of events input " << setw(8) << right << job.GetBinContent(1) << endl);
int main(int argc, char **argv)