56 int main(
int argc,
char **argv)
66 JLimit_t& numberOfEvents = inputFile.getLimit();
69 bool reuse_parameters;
74 JParser<> zap(
"Auxiliary program to re-trigger event data.");
78 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
86 catch(
const exception &error) {
87 FATAL(error.what() << endl);
96 DEBUG(
"Reset time [ms] " <<
getRTS() * 1e-6 << endl);
97 DEBUG(
"Trigger" << endl << parameters << endl);
108 if (reuse_parameters) {
114 NOTICE(
"Set trigger parameters from input." << endl);
117 FATAL(
"No trigger parameters from input." << endl);
125 if (parameters.
writeSummary()) {
WARNING(
"Discard writeSummary option during reprocesing of data." << endl); }
126 if (parameters.
writeL1()) {
WARNING(
"Discard writeL1 option during reprocesing of data." << endl); }
127 if (parameters.
writeL2()) {
WARNING(
"Discard writeL2 option during reprocesing of data." << endl); }
128 if (parameters.
writeSN()) {
WARNING(
"Discard writeSN option during reprocesing of data." << endl); }
132 typedef double hit_type;
140 const JBuildL1_t buildL1(parameters);
141 const JBuildL2_t buildL2(parameters.
L2);
162 if (scan.getEntries() == 0) {
163 FATAL(
"No summary data." << endl);
171 Long64_t index = scan.find(*evt);
180 DEBUG(timeslice << endl);
189 for (JDAQTimeslice::const_iterator super_frame = timeslice.begin(); super_frame != timeslice.end(); ++super_frame) {
191 if (!moduleRouter.
hasModule(super_frame->getModuleID())) {
192 ERROR(
"Missing module: " << super_frame->getModuleID() << endl);
199 JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*super_frame, module);
207 timesliceL0.push_back(JSuperFrame1D_t(buffer));
211 timesliceL1.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
212 super_frame->getModuleIdentifier(),
215 buildL1(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
219 timesliceL2.push_back(JSuperFrame1D_t(super_frame->getDAQChronometer(),
220 super_frame->getModuleIdentifier(),
223 buildL2(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
232 trigger3DMuon (trigger_input, back_inserter(trigger_output));
233 trigger3DShower(trigger_input, back_inserter(trigger_output));
234 triggerMXShower(trigger_input, timesliceL0, back_inserter(trigger_output));
238 DEBUG(
"Number of triggers: " << trigger_output.size() << endl);
240 for (JTriggerOutput::const_iterator event = trigger_output.begin();
event != trigger_output.end(); ++event) {