30 int main(
int argc, 
char **argv)
 
   37   JLimit_t&      numberOfEvents = inputFile.getLimit();
 
   44     JParser<> zap(
"Example program to histogram summary data.");
 
   48     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   54   catch(
const exception& error) {
 
   55     FATAL(error.what() << endl);
 
   59   const double factor = 1.0e-3;   
 
   65   TProfile h1(
"h1", NULL,  32,-0.5, 31.5);
 
   66   TProfile h2(
"h2", NULL,  32,-0.5, 31.5);
 
   68   TH2D     hu(
"hu", NULL, 201, -0.5, +200.5, 201, -0.5, +200.5);
 
   70   TH2D     hv(
"hv", NULL, 51, -0.5, +50.5, 200, 0.0, 50.0);
 
   71   TH2D     hw(
"hw", NULL, 51, -0.5, +50.5, 200, 0.0, 50.0);
 
   87           << setw(6) << summaryslice->size()          << endl);
 
   91     for (JDAQSummaryslice::const_iterator frame = summaryslice->begin(); frame != summaryslice->end(); ++frame) {
 
   96       double R[2] = { 0.0 };
 
  103         const int index = (!frame->testHighRateVeto(pmt) && !frame->testFIFOStatus(pmt) ? 0 : 1);
 
  106         R[index] += correct ? 
getRate(*frame, pmt, factor) : frame->getRate(pmt, factor);
 
  113         h0.Fill(correct ? 
getRate(*frame, pmt, factor) : frame->getRate(pmt, factor), frame->getWeight(pmt, factor));
 
  115         h1.Fill((Double_t) pmt, (frame->testHighRateVeto(pmt) ? 1.0 : 0.0));
 
  116         h2.Fill((Double_t) pmt, (frame->testFIFOStatus  (pmt) ? 1.0 : 0.0));
 
  119       hu.Fill((
double) frame->getUDPMaximalSequenceNumber(),
 
  120               (
double) frame->getUDPNumberOfReceivedPackets());
 
  122       if (N[0] != 0) { hv.Fill((
double) frame->getUDPMaximalSequenceNumber(), R[0] / N[0]); }
 
  123       if (N[1] != 0) { hw.Fill((
double) frame->getUDPMaximalSequenceNumber(), R[1] / N[1]); }
 
  127         hx.Fill((
double) N[1], R[0] / N[0]);
 
  129         if (lower[0] != 0 && upper[0] != 0) {
 
  130           hy.Fill((
double) N[1], R[0] / N[0]);
 
  134       const bool status = (frame->getUDPNumberOfReceivedPackets() == frame->getUDPMaximalSequenceNumber() + 1  &&
 
  135                            frame->hasUDPTrailer());
 
  137       h1.Fill((Double_t) 31, (frame->testWhiteRabbitStatus() ? 1.0 : 0.0));
 
  138       h2.Fill((Double_t) 31, (status ? 1.0 : 0.0));
 
int main(int argc, char **argv)
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
ROOT TTree parameter settings of various packages.
 
Lookup table for PMT addresses in detector.
 
const JModuleAddressMap & get(const int id) const
Get module address map.
 
Lookup table for PMT addresses in optical module.
 
const JPMTAddressTranslator & getAddressTranslator(const int tdc) const
Get PMT address translator.
 
char ring
ring number ['A','F']
 
Utility class to parse command line options.
 
General purpose class for object reading from a list of file names.
 
virtual bool hasNext() override
Check availability of next element.
 
counter_type getCounter() const
Get counter.
 
virtual const pointer_type & next() override
Get next element.
 
int getDetectorID() const
Get detector identifier.
 
int getRunNumber() const
Get run number.
 
int getFrameIndex() const
Get frame index.
 
JDetectorAddressMap & getDetectorAddressMap()
Get detector address map.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
double getRate(const JDAQSummaryFrame &frame, const int pmt, const double factor=1.0)
Get corrected rate of PMT.
 
KM3NeT DAQ data structures and auxiliaries.
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module.
 
Auxiliary class for defining the range of iterations of objects.