59 int main(
int argc, 
char **argv)
 
   63   using namespace KM3NETDAQ;
 
   72   bool                reuse_parameters;
 
   78     JParser<> zap(
"Auxiliary program to re-trigger event data.");
 
   82     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   91   catch(
const exception &error) {
 
   92     FATAL(error.what() << endl);
 
  101   DEBUG(
"Reset time [ms] " << 
getRTS()       * 1e-6 << endl);
 
  113   if (reuse_parameters) {
 
  119       NOTICE(
"Set trigger parameters from input." << endl);
 
  122       FATAL(
"No trigger parameters from input." << endl);
 
  130   if (
parameters.writeSummary()) { 
WARNING(
"Discard writeSummary option during reprocesing of data." << endl); }
 
  131   if (
parameters.writeL1())      { 
WARNING(
"Discard writeL1 option during reprocesing of data."      << endl); }
 
  132   if (
parameters.writeL2())      { 
WARNING(
"Discard writeL2 option during reprocesing of data."      << endl); }
 
  133   if (
parameters.writeSN())      { 
WARNING(
"Discard writeSN option during reprocesing of data."      << endl); }
 
  137   typedef double        hit_type;
 
  169   if (scan.getEntries() == 0) {
 
  170     FATAL(
"No summary data." << endl);
 
  173   while (inputFile.hasNext()) {
 
  175     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  178     Long64_t          index   = scan.find(*evt);
 
  187     DEBUG(timeslice << endl);
 
  196     for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
 
  198       if (moduleRouter.
hasModule(super_frame->getModuleID())) {
 
  203         JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*super_frame, module);
 
  207         buffer.applyHighRateVeto(
parameters.highRateVeto_Hz);
 
  211         timesliceL0.push_back(JSuperFrame1D_t(buffer));
 
  215         timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  216                                               super_frame->getModuleIdentifier(),
 
  219         buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
 
  223         timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
 
  224                                               super_frame->getModuleIdentifier(),
 
  227         buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
 
  237     trigger3DMuon  (trigger_input, back_inserter(trigger_output));
 
  238     trigger3DShower(trigger_input, back_inserter(trigger_output));
 
  239     triggerMXShower(trigger_input, timesliceL0, back_inserter(trigger_output));
 
  243     DEBUG(
"Number of triggers: " << trigger_output.size() << endl);
 
  245     for (JTriggerOutput::const_iterator event = trigger_output.begin(); 
event != trigger_output.end(); ++event) {
 
Utility class to parse command line options. 
ROOT TTree parameter settings. 
const JModule & getModule(const JObjectID &id) const 
Get module parameters. 
Data structure for a composite optical module. 
void configure(const JDAQTimeslice ×lice)
Configure. 
Recording of objects on file according a format that follows from the file name extension. 
Router for direct addressing of module data in detector data structure. 
Auxiliary class for ROOT class selection. 
*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)...
Basic data structure for time and time over threshold information of hit. 
Template definition for direct access of elements in ROOT TChain. 
Data structure for detector geometry and calibration. 
Auxiliary class for selection of data type. 
int getFrameIndex() const 
Get frame index. 
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. 
Basic data structure for L0 hit. 
void setDAQLongprint(const bool option)
Set DAQ print option. 
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. 
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. 
Implementation of pipe operation for object iterators. 
const JDAQChronometer & getDAQChronometer() const 
Get DAQ chronometer. 
Auxiliary class to build JDAQEvent for a triggered event. 
void load(const JString &file_name, JDetector &detector)
Load detector from input file. 
const JPosition3D & getPosition() const 
Get position. 
General purpose messaging. 
Direct access to module in detector data structure. 
void setCounter(const JTriggerCounter_t counter)
Set trigger counter. 
double getRTS()
Get TDC dynamic range. 
Utility class to parse command line options. 
bool hasModule(const JObjectID &id) const 
Has module. 
2-dimensional frame with time calibrated data from one optical module. 
Object reading from a list of files. 
const JLimit & getLimit() const 
Get limit. 
KM3NeT DAQ constants, bit handling, etc. 
Match of two events considering overlap in time. 
JTriggerCounter_t getCounter() const 
Get trigger counter. 
JTriggerParameters getTriggerParameters(const JMultipleFileScanner_t &file_list)
Get trigger parameters. 
Basic data structure for L1 hit. 
JTriggerCounter_t next()
Increment trigger counter. 
Time slice with calibrated data. 
#define DEBUG(A)
Message macros. 
int main(int argc, char *argv[])