Auxiliary program to convert fit results to AAnet format.
49 JFileRecorder<JTYPELIST<Head, Evt, JMeta>::typelist>
outputFile;
50 JLimit_t& numberOfEvents = inputFile.getLimit();
57 JParser<> zap(
"Auxiliary program to convert fit results to AAnet format.\
58 \nThe option -L corresponds to the names of a shared library \
59 \nand function so to rearrange the order of fit results.");
63 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
70 catch(
const exception& error) {
71 FATAL(error.what() << endl);
76 typedef JParallelFileScanner< JTypeList<JDAQEvent, JEvt> > JParallelFileScanner_t;
77 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
85 }
catch(
const exception& error) {}
89 buffer.DAQ.livetime_s =
getLivetime(inputFile.begin(), inputFile.end());
90 buffer.push(&JHead::DAQ);
103 for (JMultipleFileScanner<>::const_iterator i = inputFile.begin(); i != inputFile.end(); ++i) {
105 STATUS(
"Processing: " << *i << endl);
107 JParallelFileScanner_t in(*i);
108 JTreeScanner<Evt> mc(*i);
118 center = get<Vec>(head);
119 mc_run_id = head.start_run.run_id;
121 }
catch(
const exception& error) {}
124 while (in.hasNext()) {
126 STATUS(
"event: " << setw(10) << in.getCounter() <<
'\r');
DEBUG(endl);
128 multi_pointer_type ps = in.next();
133 JEvt::iterator __end = evt->
end();
135 if (numberOfFits > 0) {
136 advance(__end = evt->begin(), min(numberOfFits, evt->size()));
140 partial_sort(evt->begin(), __end, evt->end(),
qualitySorter);
145 if (mc.getEntries() != 0) {
153 if (out.mc_run_id == 0) {
154 out.mc_run_id = mc_run_id;
165 for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
169 tr.id = out.trks.size() + 1;
170 tr.pos = Vec(fit->getX(), fit->getY(), fit->getZ());
171 tr.dir = Vec(fit->getDX(), fit->getDY(), fit->getDZ());
174 tr.lik = fit->getQ();
178 for (JHistory::const_iterator i = fit->getHistory().begin(); i != fit->getHistory().end(); ++i) {
179 tr.rec_stages.push_back(i->type);
182 for (
int i = 0; i != fit->getN(); ++i) {
183 tr.fitinf.push_back(fit->getW(i));
186 out.trks.push_back(tr);
189 out.id = ++number_of_events;
197 JMultipleFileScanner<JMeta> io(inputFile);