Auxiliary program to convert fit results to AAnet format.
58 JParser<> zap(
"Auxiliary program to convert fit results to AAnet format.\
59 \nThe option -L corresponds to the names of a shared library \
60 \nand function so to rearrange the order of fit results.");
64 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
71 catch(
const exception& error) {
72 FATAL(error.what() << endl);
75 using namespace KM3NETDAQ;
78 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
86 }
catch(
const exception& error) {}
90 buffer.DAQ.livetime_s =
getLivetime(inputFile.begin(), inputFile.end());
91 buffer.push(&JHead::DAQ);
106 STATUS(
"Processing: " << *i << endl);
108 JParallelFileScanner_t
in(*i);
119 center = get<Vec>(head);
120 mc_run_id = head.start_run.run_id;
122 }
catch(
const exception& error) {}
125 while (
in.hasNext()) {
127 STATUS(
"event: " << setw(10) <<
in.getCounter() <<
'\r');
DEBUG(endl);
129 multi_pointer_type ps =
in.next();
134 JEvt::iterator __end = evt->end();
136 if (numberOfFits > 0) {
137 advance(__end = evt->begin(), min(numberOfFits, evt->size()));
141 partial_sort(evt->begin(), __end, evt->end(),
qualitySorter);
146 if (mc.getEntries() != 0) {
166 for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
170 tr.
id = out.
trks.size() + 1;
171 tr.
pos =
Vec(fit->getX(), fit->getY(), fit->getZ());
172 tr.
dir =
Vec(fit->getDX(), fit->getDY(), fit->getDZ());
175 tr.
lik = fit->getQ();
179 for (JHistory::const_iterator i = fit->getHistory().begin(); i != fit->getHistory().end(); ++i) {
183 for (
int i = 0; i != fit->getN(); ++i) {
184 tr.
fitinf.push_back(fit->getW(i));
187 out.
trks.push_back(tr);
190 out.
id = ++number_of_events;
Utility class to parse command line options.
double t
track time [ns] (when the particle is at pos )
bool read(Vec &v, std::istream &is)
Read a Vec(tor) from a stream.
General purpose sorter of fit results.
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
General purpose class for parallel reading of objects from a single file or multiple files...
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Long64_t counter_type
Type definition for counter.
double E
Energy [GeV] (either MC truth or reconstructed)
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Auxiliary class for defining the range of iterations of objects.
The Vec class is a straightforward 3-d vector, which also works in pyroot.
int mc_run_id
MC run identifier.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
std::vector< double > fitinf
place to store additional fit info, for jgandalf, see JFitParameters.hh
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter.
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
Vec pos
postion of the track at time t [m]
Data structure for set of track fit results.
std::vector< Trk > trks
list of reconstructed tracks (can be several because of prefits,showers, etc).
double getLivetime(const std::string &file_name)
Get data taking live time.
std::vector< int > rec_stages
list of identifyers of succesfull fitting stages resulting in this track
double lik
likelihood or lambda value (for aafit, lambda)
static const int JPP_RECONSTRUCTION_TYPE
KM3NeT Data Definitions v1.2.3-3-g5bd09ee https://git.km3net.de/common/km3net-dataformat.
void copy(const Head &from, JHead &to)
Copy header from from to to.
int id
offline event identifier
const JLimit & getLimit() const
Get limit.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
JTriggerCounter_t getCounter() const
Get trigger counter.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
bool qualitySorter(const JRECONSTRUCTION::JFit &first, const JRECONSTRUCTION::JFit &second)
Comparison of fit results.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
#define DEBUG(A)
Message macros.
int rec_type
identifyer for the overall fitting algorithm/chain/strategy