32int main(
int argc, 
char **argv)
 
   38  string      fileDescriptor;
 
   43    JParser<> zap(
"Program to convert multi-dimensional histograms of muon light to multi-dimensional PDFs.");
 
   46    zap[
'o'] = 
make_field(fileDescriptor)      = 
"J%p.dat";
 
   51  catch(
const exception &error) {
 
   52    FATAL(error.what() << endl);
 
   56  if (!hasWildCard(fileDescriptor)) {
 
   57    FATAL(
"error file descriptor " << fileDescriptor << endl);
 
   73  h1.transformer.reset(
new JFunction3DTransformer_t());
 
   74  h2.transformer.reset(
new JFunction3DTransformer_t());
 
   81  for (JMultiHistogram_t* p : { &h0, &h1, &h2 }) {
 
   90  for (JMultiHistogram_t::super_iterator
 
   91         i0 = h0.super_begin(),
 
   92         i1 = h1.super_begin(),
 
   93         i2 = h2.super_begin(); i0 != h0.super_end(); ++i0, ++i1, ++i2) {
 
   95    const double W = i0.getValue().getIntegral();
 
  100      const JDirection3D v(getSinThetaC(), 0.0, getCosThetaC());
 
  102      int number_of_bins = (int) (2 + u.getDot(v));
 
  116    const JMultiHistogram_t& value;
 
  120    { SCATTERED_LIGHT_FROM_MUON,      h1 },
 
  121    { SCATTERED_LIGHT_FROM_EMSHOWERS, h2 }
 
  130  for (
int i = 0; i != 
sizeof(ntuple)/
sizeof(ntuple[0]); ++i) {
 
  132    const string file_name = getFilename(fileDescriptor, ntuple[i].type);
 
  136      NOTICE(
"storing output to file " << file_name << 
"... " << flush);
 
  138      const JPDF_t pdf(ntuple[i].value);
 
  140      pdf.store(file_name.c_str());