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);
189 timesliceRouter.configure(timeslice);
192 JTimeslice_t timesliceL0(timeslice.getDAQChronometer());
193 JTimeslice_t timesliceL1(timeslice.getDAQChronometer());
194 JTimeslice_t timesliceL2(timeslice.getDAQChronometer());
196 for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
198 if (moduleRouter.hasModule(super_frame->getModuleID())) {
202 const JModule& module = moduleRouter.getModule(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.
Data structure for a composite optical module.
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)...
Template definition for direct access of elements in ROOT TChain.
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.
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 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.
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.
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.
JTriggerCounter_t next()
Increment trigger counter.
Time slice with calibrated data.
#define DEBUG(A)
Message macros.