67   using namespace KM3NETDAQ;
 
   83     JParser<> zap(
"Auxiliary program to trigger time slice data.");
 
   85     zap[
'f'] = 
make_field(inputFile,      
"input file.");
 
   87     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   88     zap[
'a'] = 
make_field(detectorFile,   
"detector file.");
 
   91     zap[
'C'] = 
make_field(selector,       
"timeslice selector, e.g. JDAQTimesliceL1.")    = getROOTClassSelection<JDAQTimesliceTypes_t>();
 
   96   catch(
const exception &error) {
 
   97     FATAL(error.what() << endl);
 
  105   DEBUG(
"Reset time [ms] " << 
getRTS()       * 1e-6 << endl);
 
  123   typedef double        hit_type;
 
  136   JTimer timerCC(
"Calibration");
 
  141   JTimer timerRX(
"Timeslice router");
 
  142   JTimer timerTR(
"Trigger");
 
  143   JTimer timerTX(
"Trigger router");
 
  144   JTimer timerTW(
"Timeslice writer");
 
  145   JTimer timerSW(
"Summary writer");
 
  168     DEBUG(
"Input file has no Monte Carlo header.");
 
  171   unsigned int numberOfTriggers = 0;
 
  177   for ( ; 
in.hasNext() && counter != inputFile.getLimit(); ++counter) {
 
  179     STATUS(
"event: " << setw(10) << counter << 
'\r'); 
DEBUG(endl);
 
  183     DEBUG(*timeslice << endl);
 
  187     timesliceRouter.configure(*timeslice);
 
  198     for (JDAQTimeslice::const_iterator super_frame = timeslice->begin(); super_frame != timeslice->end(); ++super_frame) {
 
  200       if (moduleRouter.hasModule(super_frame->getModuleID())) {
 
  206         const JModule&   module = moduleRouter.getModule(super_frame->getModuleID()); 
 
  207         JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*super_frame, module);
 
  213         buffer.applyHighRateVeto(
parameters.highRateVeto_Hz);
 
  219         timesliceL0.push_back(JSuperFrame1D_t(buffer));
 
  227           JSuperFrame2D_t::iterator __end = partition(buffer.begin(), buffer.end(), 
parameters.triggerNB.pmts); 
 
  229           if (buffer.begin() != __end) {
 
  231             timesliceNB.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  232                                                   super_frame->getModuleIdentifier(),
 
  235             JSuperFrame1D_t zbuf;
 
  237             buildL1(buffer.begin(), __end , back_inserter(zbuf));
 
  239             buildNB(buffer.begin() , __end, zbuf, back_inserter(*timesliceNB.rbegin()));
 
  247         timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  248                                               super_frame->getModuleIdentifier(),
 
  251         buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
 
  259         timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  260                                               super_frame->getModuleIdentifier(),
 
  263         buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
 
  271         timesliceSN.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  272                                               super_frame->getModuleIdentifier(),
 
  275         buildSN(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceSN.rbegin()));
 
  289       for (JTriggerInput::const_iterator hit = trigger_input.begin(); hit != trigger_input.end(); ++hit) {
 
  314     trigger3DMuon  (trigger_input, back_inserter(trigger_output));
 
  315     trigger3DShower(trigger_input, back_inserter(trigger_output));
 
  316     triggerMXShower(trigger_input, timesliceL0, back_inserter(trigger_output));
 
  320     numberOfTriggers += trigger_output.size();
 
  324     DEBUG(
"Number of triggers: " << trigger_output.size() << endl);
 
  326     for (JTriggerOutput::const_iterator event = trigger_output.begin(); 
event != trigger_output.end(); ++event) {
 
  390     const double factor = 1.0 / (double) counter;
 
  392     for (
const JTimer* p : { &timerCC, &timerL0, &timerL1, &timerL2, &timerSN, &timerRX, &timerTR, &timerTX, &timerTW, &timerSW }) {
 
  393       p->print(cout, factor);
 
  396     NOTICE(
"Number of trigger/slices " << numberOfTriggers << 
"/" << counter << endl);
 
  397     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. 
 
Auxiliary class to select ROOT class based on class name. 
 
Router for direct addressing of module data in detector data structure. 
 
*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. 
 
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header. 
 
void setDAQLongprint(const bool option)
Set DAQ print option. 
 
Auxiliary class for defining the range of iterations of objects. 
 
double getMaximalDistance(const JDetector &detector)
Get maximal distance between modules in detector. 
 
void merge(const JMatch_t &match)
Merge events. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
Router for fast addressing of hits in KM3NETDAQ::JDAQTimeslice data structure as a function of the op...
 
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. 
 
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
 
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. 
 
2-dimensional frame with time calibrated data from one optical module. 
 
const JLimit & getLimit() const 
Get limit. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
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 source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
Match of two events considering overlap in time. 
 
Time slice with calibrated data. 
 
#define DEBUG(A)
Message macros.