68 friend inline std::ostream&
operator<<(std::ostream& out,
const JTrack& track)
72 out <<
FIXED(8,2) << track.getX() <<
' '
73 <<
FIXED(8,2) << track.getY() <<
' '
74 <<
FIXED(8,2) << track.getZ() <<
' '
75 <<
FIXED(7,4) << track.getDX() <<
' '
76 <<
FIXED(7,4) << track.getDY() <<
' '
77 <<
FIXED(7,4) << track.getDZ() <<
' '
78 <<
FIXED(10,1) << track.getT() <<
' '
97#define MAKE_ENTRY(A) std::make_pair(#A, A)
138 const_iterator p = this->find(key);
140 if (p != this->end() && fit.
hasW(p->second))
141 return fit.
getW(p->second);
148 static const char*
const MONTECARLO =
"MonteCarlo";
149 static const char*
const HISTORY =
"history";
162 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
164 JParallelFileScanner_t inputFile;
174 JParser<> zap(
"Auxiliary program to print fit results.");
186 catch(
const exception& error) {
187 FATAL(error.what() << endl);
191 const int WIDTH = 16;
199 }
catch(
const exception& error) {}
202 while (inputFile.hasNext()) {
204 cout <<
"event: " << setw(10) << inputFile.getCounter() << endl;
206 multi_pointer_type ps = inputFile.next();
217 cout <<
"trigger: " << setw(10) << tev->
getCounter() <<
' '
220 if (mc.getEntries() != 0) {
228 if (option.count(MONTECARLO) != 0) {
236 cout <<
LEFT(
WIDTH) <<
"neutrino" << right <<
' ' << ta << endl;
240 for (vector<Trk>::const_iterator i = event->mc_trks.begin(); i != event->mc_trks.end(); ++i) {
248 is_hadron (*i) ?
"hadron" :
"other") << right <<
' ' << ta << endl;
254 cout <<
"number of fits " << setw(4) << right << evt->size() << endl;
256 for (
size_t i = 0; i != min(evt->size(), numberOfFits); ++i) {
258 const JFit& fit = (*evt)[i];
264 cout <<
LEFT(
WIDTH) <<
"fit" << right <<
' '
266 <<
FIXED(7,2) << fit.getQ() <<
' '
267 << setw(2) << fit.getHistory().size() <<
'/' << fit.getStatus();
269 for (
const auto& key : keys) {
275 for (
size_t row = 0; row != fit.getDimensionOfErrorMatrix(); ++row) {
276 for (
size_t col = 0; col <= row; ++col) {
277 cout <<
' ' <<
SCIENTIFIC(12,3) << fit.getV(row,col);
282 if (option.count(HISTORY) != 0) {
283 cout << fit.getHistory() << endl;
General purpose messaging.
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
int main(int argc, char **argv)
Auxiliary program to print fit results;.
I/O formatting auxiliaries.
ROOT TTree parameter settings of various packages.
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
Data structure for track fit results with history and optional associated values.
const std::vector< double > & getW() const
Get associated values.
bool hasW(const int i) const
Check availability of value.
Utility class to parse command line options.
General purpose class for parallel reading of objects from a single file or multiple files.
Template definition for direct access of elements in ROOT TChain.
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
JTriggerCounter_t getCounter() const
Get trigger counter.
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
double putTime() const
Get Monte Carlo time minus DAQ/trigger time.
static const int JENERGY_NDF
number of degrees of freedom from JEnergy.cc
static const int JGANDALF_LAMBDA
control parameter from JGandalf.cc
static const int JENERGY_ENERGY
uncorrected energy [GeV] from JEnergy.cc
static const int AASHOWERFIT_NUMBER_OF_HITS
number of hits used
static const int JENERGY_NOISE_LIKELIHOOD
log likelihood of every hit being K40 from JEnergy.cc
static const int JENERGY_CHI2
chi2 from JEnergy.cc
static const int JSTART_NPE_MIP_TOTAL
number of photo-electrons along the whole track from JStart.cc
static const int JENERGY_MUON_RANGE_METRES
range of a muon with the reconstructed energy [m] from JEnergy.cc
static const int JCOPY_Z_M
true vertex position along track [m] from JCopy.cc
static const int JVETO_NPE
number of photo-electrons from JVeto.cc
static const int JPP_COVERAGE_POSITION
coverage of dynamic position calibration from any Jpp application
static const int JENERGY_NUMBER_OF_HITS
number of hits from JEnergy.cc
static const int JSTART_LENGTH_METRES
distance between projected positions on the track of optical modules for which the response does not ...
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v3.5.1-1-gd514d72 https://git.km3net.de/common/km3net-dataformat.
static const int JGANDALF_NUMBER_OF_ITERATIONS
number of iterations from JGandalf.cc
static const int JVETO_NUMBER_OF_HITS
number of hits from JVeto.cc
static const int JSHOWERFIT_ENERGY
uncorrected energy [GeV] from JShowerFit.cc
static const int JPP_COVERAGE_ORIENTATION
coverage of dynamic orientation calibration from any Jpp application
static const int JGANDALF_BETA1_RAD
angular resolution [rad] from JGandalf.cc
static const int JENERGY_MINIMAL_ENERGY
minimal energy [GeV] from JEnergy.cc
static const int AASHOWERFIT_ENERGY
uncorrected energy [GeV]
static const int JENERGY_MAXIMAL_ENERGY
maximal energy [GeV] from JEnergy.cc
static const int JSTART_NPE_MIP
number of photo-electrons up to the barycentre from JStart.cc
static const int JGANDALF_NUMBER_OF_HITS
number of hits from JGandalf.cc
static const int JGANDALF_CHI2
chi2 from JGandalf.cc
JTrack3E getTrack(const Trk &track)
Get track.
bool is_electron(const Trk &track)
Test whether given track is a (anti-)electron.
bool has_neutrino(const Evt &evt)
Test whether given event has an incoming neutrino.
JPosition3D getPosition(const Vec &pos)
Get position.
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
Vec getOffset(const JHead &header)
Get offset.
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
bool is_hadron(const Trk &track)
Test whether given track is a hadron.
double getWeight(T __begin, T __end)
Get total weight of data points.
Auxiliary classes and methods for 3D geometrical objects and operations.
const array_type< JKey_t > & get_keys(const std::map< JKey_t, JValue_t, JComparator_t, JAllocator_t > &data)
Method to create array of keys of map.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
KM3NeT DAQ data structures and auxiliaries.
JWriter & operator<<(JWriter &out, const JDAQChronometer &chronometer)
Write DAQ chronometer to output.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Auxiliary data structure for floating point format specification.
Auxiliary data structure to unify weights of acoustics data according to the number of pings per emit...
double operator()(const int id) const
Get weight.
JWeight(T __begin, T __end)
Constructor.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
General purpose sorter of fit results.
Auxiliary class for defining the range of iterations of objects.
const JLimit & getLimit() const
Get limit.
static counter_type max()
Get maximum counter value.
Auxiliary data structure for floating point format specification.
The Vec class is a straightforward 3-d vector, which also works in pyroot.
Auxiliary data structure for alignment of data.
Reconstruction type dependent comparison of track quality.
Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit.