41         << setw(3)  << (int) hit.
getPMT() << 
' '  
   42         << setw(8)  << hex << hit.
getT()  << 
' '  
   43         << setw(10) << dec << hit.
getT()  << 
' '  
   44         << setw(3)  << (int) hit.
getToT();
 
   53   void print(std::ostream& out, 
const int type)
 
   60     case JChecksum::TIME_t:
 
   64     case JChecksum::ETDC_t:
 
   68     case JChecksum::EPMT_t:
 
   72     case JChecksum::EUDP_t:
 
   76     case JChecksum::SIZE_t:
 
   94 int main(
int argc, 
char **argv)
 
   98   using namespace KM3NETDAQ;
 
  110     JParser<> zap(
"Example program to check timeslice data for errors.");
 
  113     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
  114     zap[
'C'] = 
make_field(selector)            = getROOTClassSelection<JDAQTimesliceTypes_t>();
 
  116     zap[
'N'] = 
make_field(
N,       
"number of rows to print")  = 10;
 
  117     zap[
'R'] = 
make_field(rate_Hz, 
"high-rate veto [Hz]")      = 0.0;
 
  122   catch(
const exception& error) {
 
  123     FATAL(error.what() << endl);
 
  136   JFrameIndexRange frame_index = getFrameIndexRange<JDAQSummaryslice>(inputFile);
 
  138   const Long64_t nx   = frame_index.
second  -  frame_index.first  +  1;
 
  139   const Double_t 
xmin = (Double_t) frame_index.first  - 0.5;
 
  140   const Double_t 
xmax = (Double_t) frame_index.second + 0.5;
 
  146     STATUS(
"event: " << setw(10) << counter << 
'\r'); 
DEBUG(endl);
 
  150     for (JDAQTimeslice::const_iterator frame = timeslice->begin(); frame != timeslice->end(); ++frame) {
 
  156         errors[error->type] += 1;
 
  158         H1[error->type]->Fill((Double_t) frame->getFrameIndex());
 
  165           if (error->pos >= 0) {
 
  167             const int pmt = (*frame)[error->pos].getPMT();
 
  170                  << setw(10) << frame->getModuleID() << 
'.' << setw(2) << setfill(
'0') << pmt << setfill(
' ')  << 
' ' 
  171                  << setw(8)  << frame->getFrameIndex()                                                         << 
' '  
  172                  << setw(6)  << error->pos           << 
'/' << setw(8)  << frame->size()                       << 
' ' 
  173                  << setw(2)  << error->type                                                                    << 
' ';
 
  176               cout << setw(1)  << frame->testHighRateVeto(pmt)
 
  177                    << setw(1)  << frame->testFIFOStatus  (pmt)                                                 << 
' ';
 
  180             cout << setw(4)  << frame->getUDPNumberOfReceivedPackets()                                         << 
'/'  
  181                  << setw(4)  << frame->getUDPMaximalSequenceNumber();
 
  185             print(cout, error->type);
 
  187             cout << endl << endl;
 
  189             deque<JDAQHit> buffer;
 
  191             for (
int i = error->pos - 1, 
n = 0; 
i >= 0 && 
n <= 
N; --
i) {
 
  192               if ((*frame)[
i].getPMT() == (*frame)[error->pos].getPMT()) {
 
  193                 buffer.push_front((*frame)[
i]);
 
  198             for (deque<JDAQHit>::const_iterator 
i = buffer.begin(); 
i != buffer.end(); ++
i) {
 
  199               print(cout, *
i); cout << endl;
 
  202             print(cout, (*frame)[error->pos]);
 
  204             cout << 
" <<< " << endl;
 
  206             for (
int i = error->pos + 1, 
n = 0; i < frame->size() && 
n <= 
N; ++
i) {
 
  207               if ((*frame)[
i].getPMT() == (*frame)[error->pos].getPMT()) {
 
  208                 print(cout, (*frame)[
i]); cout << endl;
 
  216                  << setw(10) << frame->getModuleID() << 
' ' << setw(2) << 
' '                                  << 
' ' 
  217                  << setw(8)  << frame->getFrameIndex()                                                         << 
' '  
  218                  << setw(6)  << error->pos           << 
'/' << setw(8)  << frame->size()                       << 
' ' 
  219                  << setw(2)  << error->type                                                                    << 
' ';
 
  221             cout << setw(1)  << 
' '                                    
  222                  << setw(1)  << 
' '                                                                            << 
' ';
 
  224             cout << setw(4)  << frame->getUDPNumberOfReceivedPackets()                                         << 
'/'  
  225                  << setw(4)  << frame->getUDPMaximalSequenceNumber();
 
  229             print(cout, error->type);
 
  231             cout << endl << endl;
 
  243     cout << 
' ' << setw(8) << 
i->second << endl;
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
ROOT TTree parameter settings of various packages. 
 
Auxiliary class to select ROOT class based on class name. 
 
Long64_t counter_type
Type definition for counter. 
 
result_type::const_iterator const_iterator
 
Dynamic ROOT object management. 
 
Auxiliary class for multiplexing object iterators. 
 
JTDC_t getT() const 
Get time. 
 
JPMT_t getPMT() const 
Get PMT. 
 
static const JChecksum checksum
Function object to perform check-sum of raw data. 
 
static int MAXIMAL_FRAME_SIZE
Maximal frame size. 
 
JTOT_t getToT() const 
Get time-over-threshold. 
 
Scanning of objects from a single file according a format that follows from the extension of each fil...
 
Auxiliary class for defining the range of iterations of objects. 
 
Auxiliary class to manage set of compatible ROOT objects (e.g. histograms) using unique keys...
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
double getFrameTime()
Get frame time duration. 
 
void Write(TDirectory &out, const bool wm=false)
Write objects to file. 
 
virtual const pointer_type & next() override
Get next element. 
 
virtual bool hasNext() override
Check availability of next element. 
 
General purpose messaging. 
 
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
Utility class to parse command line options. 
 
Object reading from a list of files. 
 
const JLimit & getLimit() const 
Get limit. 
 
static const int NUMBER_OF_PMTS
Total number of PMTs in module. 
 
Auxiliary data structure for result of checksum. 
 
#define DEBUG(A)
Message macros.