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;
 
  135   JTimer timerCC(
"Calibration");
 
  140   JTimer timerRX(
"Timeslice router");
 
  141   JTimer timerTR(
"Trigger");
 
  142   JTimer timerTX(
"Trigger router");
 
  143   JTimer timerTW(
"Timeslice writer");
 
  144   JTimer timerSW(
"Summary writer");
 
  167     DEBUG(
"Input file has no Monte Carlo header.");
 
  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             buildL1(buffer.begin(), __end , back_inserter(*timesliceNB.rbegin()));
 
  242         timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  243                                               super_frame->getModuleIdentifier(),
 
  246         buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
 
  254         timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  255                                               super_frame->getModuleIdentifier(),
 
  258         buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
 
  266         timesliceSN.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  267                                               super_frame->getModuleIdentifier(),
 
  270         buildSN(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceSN.rbegin()));
 
  284       for (JTriggerInput::const_iterator hit = trigger_input.begin(); hit != trigger_input.end(); ++hit) {
 
  309     trigger3DMuon  (trigger_input, back_inserter(trigger_output));
 
  310     trigger3DShower(trigger_input, back_inserter(trigger_output));
 
  311     triggerMXShower(trigger_input, timesliceL0, back_inserter(trigger_output));
 
  315     numberOfTriggers += trigger_output.size();
 
  319     DEBUG(
"Number of triggers: " << trigger_output.size() << endl);
 
  321     for (JTriggerOutput::const_iterator event = trigger_output.begin(); 
event != trigger_output.end(); ++event) {
 
  385     const double factor = 1.0 / (double) counter;
 
  387     for (
const JTimer* buffer[] = { &timerCC, &timerL0, &timerL1, &timerL2, &timerSN, &timerRX, &timerTR, &timerTX, &timerTW, &timerSW, NULL }, **i = buffer; *i != NULL; ++i) {
 
  388       (*i)->print(cout, factor);
 
  391     NOTICE(
"Number of trigger/slices " << numberOfTriggers << 
"/" << counter << endl);
 
  392     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. 
 
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
 
*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. 
 
Exception for null pointer operation. 
 
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. 
 
void load(const JString &file_name, JDetector &detector)
Load detector from input file. 
 
const JPosition3D & getPosition() const 
Get position. 
 
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
 
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. 
 
Match of two events considering overlap in time. 
 
Time slice with calibrated data. 
 
#define DEBUG(A)
Message macros.