44 int main(
int argc,
char **argv)
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) {}
91 buffer.
push(&JHead::DAQ);
106 STATUS(
"Processing: " << *i << endl);
108 JParallelFileScanner_t
in(*i);
119 center = get<Vec>(head);
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.
ROOT TTree parameter settings.
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.
Recording of objects on file according a format that follows from the file name extension.
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 livetime_s
Live time [s].
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.
void push(T JHead::*pd)
Push given data member to Head.
int mc_run_id
MC run identifier.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
JAANET::start_run start_run
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
std::vector< double > fitinf
place to store additional fit info, for jgandalf, see JFitParameters.hh
General purpose messaging.
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)
Utility class to parse command line options.
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
int main(int argc, char *argv[])