65   using namespace KM3NETDAQ;
 
   81     JParser<> zap(
"Auxiliary program to trigger time slice data.");
 
   83     zap[
'f'] = 
make_field(inputFile,      
"input file.");
 
   85     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   86     zap[
'a'] = 
make_field(detectorFile,   
"detector file.");
 
   89     zap[
'C'] = 
make_field(selector,       
"timeslice selector, e.g. JDAQTimesliceL1.")    = getROOTClassSelection<JDAQTimesliceTypes_t>();
 
   94   catch(
const exception &error) {
 
   95     FATAL(error.what() << endl);
 
  104   DEBUG(
"Reset time [ms] " << 
getRTS()       * 1e-6 << endl);
 
  120     NOTICE(
"Disabling high-rate veto of all PMTs." << endl);
 
  144   JTimer timerCC(
"Calibration");
 
  149   JTimer timerRX(
"Timeslice router");
 
  150   JTimer timerTR(
"Trigger");
 
  151   JTimer timerTX(
"Trigger router");
 
  152   JTimer timerTW(
"Timeslice writer");
 
  153   JTimer timerSW(
"Summary writer");
 
  170   unsigned int numberOfTriggers = 0;
 
  176   for ( ; 
in.hasNext() && counter != inputFile.getLimit(); ++counter) {
 
  178     STATUS(
"event: " << setw(10) << counter << 
'\r'); 
DEBUG(endl);
 
  182     DEBUG(*timeslice << endl);
 
  186     timesliceRouter.configure(*timeslice);
 
  197     for (JDAQTimeslice::const_iterator super_frame = timeslice->begin(); super_frame != timeslice->end(); ++super_frame) {
 
  199       if (moduleRouter.hasModule(super_frame->getModuleID())) {
 
  205         const JModule&   module = moduleRouter.getModule(super_frame->getModuleID()); 
 
  206         JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*super_frame, module);
 
  212         buffer.applyHighRateVeto(
parameters.highRateVeto_Hz);
 
  218         timesliceL0.push_back(JSuperFrame1D_t(buffer));
 
  226           JSuperFrame2D_t::iterator __end = partition(buffer.begin(), buffer.end(), 
parameters.triggerNB.pmts);
 
  228           if (buffer.begin() != __end) {
 
  230             timesliceNB.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  231                                                   super_frame->getModuleIdentifier(),
 
  234             JSuperFrame1D_t zbuf;
 
  236             buildL1(buffer.begin(), __end , back_inserter(zbuf));
 
  238             buildNB(buffer.begin() , __end, zbuf, back_inserter(*timesliceNB.rbegin()));
 
  246         timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  247                                               super_frame->getModuleIdentifier(),
 
  250         buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
 
  258         timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  259                                               super_frame->getModuleIdentifier(),
 
  262         buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
 
  270         timesliceSN.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  271                                               super_frame->getModuleIdentifier(),
 
  274         buildSN(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceSN.rbegin()));
 
  288       for (JTriggerInput::const_iterator hit = trigger_input.begin(); hit != trigger_input.end(); ++hit) {
 
  313     trigger3DMuon  (trigger_input, back_inserter(trigger_output));
 
  314     trigger3DShower(trigger_input, back_inserter(trigger_output));
 
  315     triggerMXShower(trigger_input, timesliceL0, back_inserter(trigger_output));
 
  319     numberOfTriggers += trigger_output.size();
 
  323     DEBUG(
"Number of triggers: " << trigger_output.size() << endl);
 
  325     for (JTriggerOutput::const_iterator event = trigger_output.begin(); 
event != trigger_output.end(); ++event) {
 
  389     const double factor = 1.0 / (double) counter;
 
  391     for (
const JTimer* p : { &timerCC, &timerL0, &timerL1, &timerL2, &timerSN, &timerRX, &timerTR, &timerTX, &timerTW, &timerSW }) {
 
  392       p->print(cout, factor);
 
  395     NOTICE(
"Number of trigger/slices " << numberOfTriggers << 
"/" << counter << endl);
 
  396     NOTICE(
"Trigger rate [Hz]        " << numberOfTriggers * 1.0e9 * factor / 
getFrameTime() << endl);
 
Utility class to parse command line options. 
 
JTriggerMask_t getTriggerMask(const unsigned int bit)
Convert trigger bit to trigger mask. 
 
Data structure for a composite optical module. 
 
Router for fast addressing of hits in KM3NETDAQ::JDAQTimeslice data structure as a function of the op...
 
Auxiliary class to select ROOT class based on class name. 
 
Router for direct addressing of module data in detector data structure. 
 
static const int HIGH_RATE_VETO_DISABLE
Enable (disable) use of high-rate veto test if this status bit is 0 (1);. 
 
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Long64_t counter_type
Type definition for counter. 
 
Auxiliary class for multiplexing object iterators. 
 
1-dimensional frame with time calibrated data from one optical module. 
 
JTimeRange getTimeRange(const Evt &event)
Get time range (i.e. time between earliest and latest hit) of Monte Carlo event. 
 
void setDAQLongprint(const bool option)
Set DAQ print option. 
 
Auxiliary class for defining the range of iterations of objects. 
 
void merge(const JMatch_t &match)
Merge events. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
double getFrameTime()
Get frame time duration. 
 
Auxiliary class for CPU timing and usage. 
 
const JDAQChronometer & getDAQChronometer() const 
Get DAQ chronometer. 
 
Auxiliary class to build JDAQEvent for a triggered event. 
 
Auxiliary class to set DAQ system clock parameters. 
 
const JPosition3D & getPosition() const 
Get position. 
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file. 
 
Auxiliary class to build JDAQTimeslice for L1 timeslice. 
 
double getRTS()
Get TDC dynamic range. 
 
General purpose class for object reading from a list of file names. 
 
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
 
double getMaximalDistance(const JDetector &detector, const bool option=false)
Get maximal distance between modules in detector. 
 
2-dimensional frame with time calibrated data from one optical module. 
 
const JLimit & getLimit() const 
Get limit. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
Match of two events considering overlap in time. 
 
Time slice with calibrated data. 
 
#define DEBUG(A)
Message macros.