46 int main(
int argc, 
char **argv)
 
   51   typedef JAbstractHistogram<double> JHistogram_t;
 
   61   JHistogram_t  histogram;
 
   66     JParser<> zap(
"Auxiliary program to draw PDF of Cherenkov light from EM-shower including shower profile.");
 
   70     zap[
'e'] = 
make_field(epsilon,                
"precision for integration")  = 1.0e-10;
 
   73     zap[
'E'] = 
make_field(E,                      
"shower energy [GeV]");
 
   75     zap[
'c'] = 
make_field(cd,                     
"cosine emission angle");
 
   76     zap[
'D'] = 
make_field(dir,                    
"(theta, phi) of PMT [rad]");
 
   78     zap[
'H'] = 
make_field(histogram,              
"histogram binning")          = JHistogram_t();
 
   83   catch(
const exception &error) {
 
   84     FATAL(error.what() << endl);
 
  104     for (
double dt; cin >> dt; ) {
 
  108         cout << setw(2)         << *F             << 
' ' 
  110              << 
FIXED(5,1)      << D              << 
' ' 
  111              << 
FIXED(5,2)      << cd             << 
' ' 
  112              << 
FIXED(5,2)      << dir.getTheta() << 
' ' 
  113              << 
FIXED(5,2)      << dir.getPhi()   << 
' ' 
  114              << 
FIXED(5,1)      << dt             << 
' ' 
  115              << 
SCIENTIFIC(9,3) << pdf.getLightFromEMshower(*F, E, D, cd, dir.getTheta(), dir.getPhi(), dt) * E << endl;
 
  128   if (!histogram.is_valid()) {
 
  132       histogram = JHistogram_t(t0 - 20.0, t0 + 50.0);
 
  134       histogram.setBinWidth(0.1);
 
  138       histogram = JHistogram_t(t0 - 20.0, t0 + 500.0);
 
  140       histogram.setBinWidth(0.5);
 
  144   TH1D h0(
"h0", NULL, histogram.getNumberOfBins(), histogram.getLowerLimit(), histogram.getUpperLimit());
 
  146   JSplineFunction1D_t f1;
 
  148   for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
 
  150     const double dt = h0.GetBinCenter(i) - t0;
 
  155       value += pdf.getLightFromEMshower(*F, E, D, cd, dir.getTheta(), dir.getPhi(), dt);
 
  158     h0.SetBinContent(i, value);
 
  165   JQuantiles quantiles(f1);
 
  167   DEBUG(
"int  " << quantiles.getIntegral() << endl);
 
  168   DEBUG(
"x    " << quantiles.getX()        << endl);
 
  169   DEBUG(
"y    " << quantiles.getY()        << endl);
 
  170   DEBUG(
"FWHM " << quantiles.getFWHM()     << endl);