25int main(
int argc, 
char **argv)
 
   34    JParser<> zap(
"Auxiliary program to print JSirene job statistics.");
 
   41  catch(
const exception &error) {
 
   42    FATAL(error.what() << endl);
 
   46  gErrorIgnoreLevel = kError;
 
   48  TFile* in = TFile::Open(inputFile.c_str(), 
"exist");
 
   50  if (in == NULL || !in->IsOpen()) {
 
   51    FATAL(
"File: " << inputFile << 
" not opened." << endl);
 
   55  TH1D* job = 
dynamic_cast<TH1D*
>(in->Get(
"job"));
 
   58    FATAL(
"No job statistics.");
 
   63  const int hit_types[] = {
 
   64    DIRECT_LIGHT_FROM_MUON,                   
 
   65    SCATTERED_LIGHT_FROM_MUON,                
 
   66    DIRECT_LIGHT_FROM_DELTARAYS,              
 
   67    SCATTERED_LIGHT_FROM_DELTARAYS,           
 
   68    DIRECT_LIGHT_FROM_EMSHOWER,               
 
   69    SCATTERED_LIGHT_FROM_EMSHOWER,            
 
   71    DIRECT_LIGHT_FROM_MUON          +  20,    
 
   72    SCATTERED_LIGHT_FROM_MUON       +  20,    
 
   73    DIRECT_LIGHT_FROM_DELTARAYS     +  20,    
 
   74    SCATTERED_LIGHT_FROM_DELTARAYS  +  20,    
 
   76    DIRECT_LIGHT_FROM_EMSHOWER      +  40,    
 
   77    SCATTERED_LIGHT_FROM_EMSHOWER   +  40,    
 
   87  zmap[100] = 
"Number of photons";
 
   88  zmap[200] = 
"Number of errors";
 
   89  zmap[300] = 
"Number of misses";
 
   92  NOTICE(
"Job summary" << endl);
 
   94  NOTICE(
LEFT(40) << 
"Number of events input                 " << 
FIXED(13,0) << job->GetBinContent(  1) << endl);
 
   95  NOTICE(
LEFT(40) << 
"Number of muons                        " << 
FIXED(13,0) << job->GetBinContent(  2) << endl);
 
   96  NOTICE(
LEFT(40) << 
"Number of muons in can                 " << 
FIXED(13,0) << job->GetBinContent(  3) << endl);
 
   97  NOTICE(
LEFT(40) << 
"Number of muons within road            " << 
FIXED(13,0) << job->GetBinContent(  4) << endl);
 
   98  NOTICE(
LEFT(40) << 
"Number of decayed particles (i.e. tau) " << 
FIXED(13,0) << job->GetBinContent(  6) << endl);
 
   99  NOTICE(
LEFT(40) << 
"Number of detectable decayed particles " << 
FIXED(13,0) << job->GetBinContent(  7) << endl);
 
  100  NOTICE(
LEFT(40) << 
"Number of electrons/hadrons            " << 
FIXED(13,0) << job->GetBinContent(  8) << endl);
 
  101  NOTICE(
LEFT(40) << 
"Number of detectable electrons/hadrons " << 
FIXED(13,0) << job->GetBinContent(  9) << endl);
 
  102  NOTICE(
LEFT(40) << 
"Number of events output                " << 
FIXED(13,0) << job->GetBinContent( 10) << endl);
 
  103  NOTICE(
LEFT(40) << 
"Number of unknown particles            " << 
FIXED(13,0) << job->GetBinContent( 21) << endl);
 
  105  for (map_type::const_iterator entry = zmap.begin(); entry != zmap.end(); ++entry) {
 
  107    for (
const int* i = hit_types; *i != -1; ++i) {
 
  109             << 
LEFT (19)   << entry->second << 
FILL(1)
 
  112             << 
FIXED(13,0) << job->GetBinContent(entry->first + *i) << endl);