37   using namespace KM3NETDAQ;
 
   46     JParser<> zap(
"Monitoring of PMT time over threshold distributions.");
 
   55   catch(
const exception &error) {
 
   56     FATAL(error.what() << endl);
 
   63   using namespace KM3NETDAQ;
 
   65   const double factor = 1.0/1000 ;
 
   66   const int Nbins = 90 ; 
 
   71   const double maxRate_kHz = 20;
 
   83   const int nStages = 3;
 
   88   while (
in.hasNext()) {
 
   92     int counter = 
in.getCounter();
 
   94     STATUS(
"event: " << setw(10) << counter << 
'\r'); 
DEBUG(endl);
 
  100     int nDetectorActivePMTs = 0;
 
  102     int nDetectorTotalPMTs = 0;
 
  106     for (KM3NETDAQ::JDAQSummaryslice::const_iterator summary_frame = summary->begin(); summary_frame != summary->end(); ++summary_frame) {
 
  110       int DOMID = summary_frame->getModuleID() ;
 
  112       TH2D* h_i = SinglesRatedistr[DOMID];
 
  114       int nModuleActivePMTs = 0;
 
  118         double pmtRate = summary_frame->getRate(ipmt, factor);
 
  120         h_i->Fill(ipmt, pmtRate, summary_frame->getWeight(ipmt, factor));
 
  122         PMT[0]->Fill(pmtRate);
 
  124         domRate[0] += pmtRate;
 
  126         nDetectorTotalPMTs++;
 
  128         if ( !( summary_frame->testHighRateVeto(ipmt) || summary_frame->testFIFOStatus(ipmt) ) ) {
 
  132           PMT[1]->Fill(pmtRate);
 
  134           domRate[1] += pmtRate;
 
  160       nDetectorActivePMTs += nModuleActivePMTs;
 
  163       for (
int i = 0; i < nStages; i++) {
 
  164         if (domRate[i] > 0) {
 
  165           detRate[i] += domRate[i];
 
  169           DOM[i]->Fill(domRate[i]);
 
  171           if (i == 0) { modules.insert(DOMID); }
 
  176     for (
int i = 0; i < nStages; i++) {
 
  178       DET[i]->Fill(detRate[i]);
 
  180         detRate[i] /= ((double)nDetectorActivePMTs)/((double)nDetectorTotalPMTs);
 
  182       History[i]->Fill(counter, detRate[i]);
 
  185         double deltaRate = detRate[i] - detRateBuf[i];
 
  186         Delta[i]->Fill(deltaRate);
 
  189       detRateBuf[i] = detRate[i];
 
  193     previous_summary = summary;
 
  199   STATUS(modules.size() << 
" modules active in the run." << endl);
 
Utility class to parse command line options. 
 
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
 
Auxiliary class to manage set of compatible ROOT objects (e.g. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
static const JPBS DOM(3, 4)
 
JDAQPMTIdentifier PMT
Command line options. 
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
#define DEBUG(A)
Message macros.