53 using namespace KM3NETDAQ;
62 bool reuse_parameters;
68 JParser<> zap(
"Auxiliary program to re-process time slice data.");
72 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
76 zap[
'C'] =
make_field(selector,
"timeslice selector, e.g. JDAQTimesliceL1.") = getROOTClassSelection<JDAQTimesliceTypes_t>();
81 catch(
const exception &error) {
82 FATAL(error.what() << endl);
91 DEBUG(
"Reset time [ms] " <<
getRTS() * 1e-6 << endl);
103 if (reuse_parameters) {
109 NOTICE(
"Set trigger parameters from input." << endl);
112 FATAL(
"No trigger parameters from input." << endl);
119 NOTICE(
"Disabling high-rate veto of all PMTs." << endl);
128 if (
parameters.writeSummary()) {
WARNING(
"Discard writeSummary option during reprocesing of data." << endl); }
159 for ( ;
in.hasNext() && counter != inputFile.getLimit(); ++counter) {
161 STATUS(
"event: " << setw(10) << counter <<
'\r');
DEBUG(endl);
165 DEBUG(*timeslice << endl);
167 timesliceRouter.configure(*timeslice);
174 for (JDAQTimeslice::const_iterator super_frame = timeslice->begin(); super_frame != timeslice->end(); ++super_frame) {
176 if (moduleRouter.hasModule(super_frame->getModuleID())) {
180 const JModule& module = moduleRouter.getModule(super_frame->getModuleID());
181 JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*super_frame, module);
185 buffer.applyHighRateVeto(
parameters.highRateVeto_Hz);
189 timesliceL0.push_back(JSuperFrame1D_t(buffer));
193 timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
194 super_frame->getModuleIdentifier(),
197 buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
201 timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
202 super_frame->getModuleIdentifier(),
205 buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
209 timesliceSN.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
210 super_frame->getModuleIdentifier(),
213 buildSN(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceSN.rbegin()));
Utility class to parse command line options.
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.
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.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getFrameTime()
Get frame time duration.
const JDAQChronometer & getDAQChronometer() const
Get DAQ chronometer.
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.
2-dimensional frame with time calibrated data from one optical module.
Object reading from a list of files.
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 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
JTriggerParameters getTriggerParameters(const JMultipleFileScanner_t &file_list)
Get trigger parameters.
Time slice with calibrated data.
#define DEBUG(A)
Message macros.