42     JParser<> zap(
"Example program to histogram time over threshold distributions.");
 
   54   catch(
const exception &error) {
 
   55     FATAL(error.what() << endl);
 
   71   const double dx   =   1.0;
 
   72   const double xmin =   0.0 - 0.5 * dx;
 
   74   const int    nx   = (int) ((
xmax - 
xmin) / dx);
 
   79   TH1D h3(
"h3", NULL, 500, 0.0, 100.0);
 
   84   DEBUG(
"    ToT      Probability " << endl);
 
   86   for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
 
   88     const double x        = h0.GetBinCenter(i);
 
   89     const double y        = cpu.getTimeOverThresholdProbability(
x,NPE);
 
   93           << 
FIXED(7,5) << 
y << endl);
 
   95     h0.SetBinContent(i, 
y);
 
   99   if (numberOfHits > 0) {
 
  101     int number_of_hits = 0;
 
  103     for (
int i = 0; i != numberOfHits; ++i) {
 
  105       const double npe = cpu.getRandomCharge(NPE);
 
  110         tot_ns = cpu.getTimeOverThreshold(npe);
 
  124     h1.Scale(1.0 / (
double) number_of_hits / dx);
 
  128   if (numberOfHits > 0) {
 
  130     int number_of_hits = 0;
 
  132     const double t_ns = 25.0;
 
  134     for (
int i = 0; i != numberOfHits; ++i) {
 
  141       simulator.processHits(pmt, 
calibration, status, input, output);
 
  147         h2.Fill(hit->tot_ns);
 
  152     h2.Scale(1.0 / (
double) number_of_hits / dx);
 
  160   for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
 
  162     const Double_t 
x  = h0.GetBinCenter (i);
 
  163     const Double_t y0 = h0.GetBinContent(i);
 
  164     const Double_t y1 = h1.GetBinContent(i);
 
  165     const Double_t y2 = h2.GetBinContent(i);
 
  167     DEBUG(
"[" << setw(3) << i << 
"]"  << 
' '  
  169           << 
FIXED(6,4) << y0 << 
' ' 
  170           << 
FIXED(6,4) << y1 << 
' ' 
  171           << 
FIXED(6,4) << y2 << endl);
 
  173     ASSERT(fabs(y0 - y1) < precision);
 
  174     ASSERT(fabs(y0 - y2) < precision);
 
#define DEBUG(A)
Message macros.
 
#define ASSERT(A,...)
Assert macro.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
Data structure for time calibration.
 
Template data structure for PMT I/O.
 
std::vector< JElement_t >::const_iterator const_iterator
 
Auxiliary class for map of PMT parameters.
 
const JPMTParameters & getPMTParameters(const JPMTIdentifier &id) const
Get PMT parameters.
 
Data structure for PMT parameters.
 
double saturation
saturation [ns]
 
Exception for accessing a value in a collection that is outside of its range.
 
Utility class to parse command line options.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary data structure for floating point format specification.
 
PMT analogue signal processor.
 
Data structure for PMT analogue signal.
 
Auxiliary class for handling status.
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...