32int main(
int argc, 
char **argv)
 
   42  JAbstractHistogram_t    X;
 
   43  JAbstractHistogram_t    Y;
 
   48    JParser<> zap(
"Example program to histogram trigger efficiency.");
 
   52    zap[
'X'] = 
make_field(X, 
"Energy       binning") = JAbstractHistogram_t(20,  1e-3, 100.0);
 
   53    zap[
'Y'] = 
make_field(Y, 
"Zenith-angle binning") = JAbstractHistogram_t(20, -1.0,    1.0);    
 
   58  catch(
const exception &error) {
 
   59    FATAL(error.what() << endl);
 
   68          X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
 
   69          Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
 
   71          X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
 
   72          Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
 
   74          X.getNumberOfBins(), X.getLowerLimit(), X.getUpperLimit(),
 
   75          Y.getNumberOfBins(), Y.getLowerLimit(), Y.getUpperLimit());
 
   86    const Evt* 
event = ps;
 
   88    vector<Hit>::const_iterator hit = find_if_not(event->mc_hits.cbegin(), event->mc_hits.cend(), &
is_noise);
 
   90    vector<Trk>::const_iterator 
primary = find_if(event->mc_trks.cbegin(), event->mc_trks.cend(), &
is_initialstate);
 
   92    if (hit != event->mc_hits.cend() && 
primary != event->mc_trks.cend()) {
 
  101    STATUS(
"event: " << setw(10) << in.getCounter() << 
'\r'); 
DEBUG(endl);
 
  103    const Evt* 
event = in.next();
 
  105    vector<Hit>::const_iterator hit = find_if_not(event->mc_hits.cbegin(), event->mc_hits.cend(), &
is_noise);
 
  107    vector<Trk>::const_iterator 
primary = find_if(event->mc_trks.cbegin(), event->mc_trks.cend(), &
is_initialstate);
 
  109    if (hit != event->mc_hits.cend() && 
primary != event->mc_trks.cend()) {
 
  116  for (Int_t i = 1; i <= h1.GetNbinsX(); ++i) {
 
  117    for (Int_t 
j = 1; 
j <= h1.GetNbinsY(); ++
j) {
 
  119      const Double_t z1 = h1.GetBinContent(i,
j);
 
  120      const Double_t z0 = h0.GetBinContent(i,
j);
 
  124        const Double_t z3 = z1 / z0;
 
  125        const Double_t w3 = sqrt(z1 * (z0 - z1) / (z0*z0*z0));
 
  127        h2.SetBinContent(i, 
j, z3);
 
  128        h2.SetBinError  (i, 
j, w3);
 
  131        ERROR(
"Bin " << h0.GetName() << 
"[" << i << 
"," << 
j << 
"] empty." << endl);