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,3) << track.getDX() <<
' '
76 <<
FIXED(7,3) << track.getDY() <<
' '
77 <<
FIXED(7,3) << 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";
155 int main(
int argc,
char **argv)
159 using namespace KM3NETDAQ;
162 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
164 JParallelFileScanner_t inputFile;
174 JParser<> zap(
"Auxiliary program to print fit results.");
177 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
186 catch(
const exception& error) {
187 FATAL(error.what() << endl);
191 const int WIDTH = 16;
198 center = get<JPosition3D>(
getHeader(inputFile));
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;
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;
bool is_electron(const Trk &track)
Test whether given track is a (anti-)electron.
Auxiliary data structure for alignment of data.
Utility class to parse command line options.
static const int JSTART_NPE_MIP_TOTAL
number of photo-electrons along the whole track from JStart.cc
int main(int argc, char *argv[])
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
ROOT TTree parameter settings of various packages.
double getWeight(T __begin, T __end)
Get total weight of data points.
static const int JVETO_NPE
number of photo-electrons from JVeto.cc
JTrack3E getTrack(const Trk &track)
Get track.
static const int JENERGY_ENERGY
uncorrected energy [GeV] from JEnergy.cc
static const int JENERGY_MAXIMAL_ENERGY
maximal energy [GeV] from JEnergy.cc
Auxiliary data structure to unify weights of acoustics data according to the number of pings per emit...
bool has_neutrino(const Evt &evt)
Test whether given event has an incoming neutrino.
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
General purpose sorter of fit results.
static const int JGANDALF_BETA1_RAD
angular resolution [rad] from JGandalf.cc
static const int AASHOWERFIT_ENERGY
uncorrected energy [GeV]
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)...
Auxiliary class to convert DAQ hit time to/from Monte Carlo hit time.
Auxiliary data structure for floating point format specification.
static const int JENERGY_CHI2
chi2 from JEnergy.cc
#define MAKE_STRING(A)
Make string.
static const int JENERGY_NOISE_LIKELIHOOD
log likelihood of every hit being K40 from JEnergy.cc
static const int JSTART_NPE_MIP
number of photo-electrons up to the barycentre from JStart.cc
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Data structure for track fit results with history and optional associated values. ...
static const int JENERGY_NDF
number of degrees of freedom from JEnergy.cc
static const int JENERGY_MINIMAL_ENERGY
minimal energy [GeV] from JEnergy.cc
Auxiliary class for defining the range of iterations of objects.
static const int JCOPY_Z_M
true vertex position along track [m] from JCopy.cc
static const int JGANDALF_NUMBER_OF_HITS
number of hits from JGandalf.cc
static const int JSHOWERFIT_ENERGY
uncorrected energy [GeV] from JShowerFit.cc
I/O formatting auxiliaries.
static const int JGANDALF_LAMBDA
control parameter from JGandalf.cc
bool hasW(const int i) const
Check availability of value.
static const int JENERGY_NUMBER_OF_HITS
number of hits from JEnergy.cc
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
double getE(const double z) const
Get muon energy at given position along trajectory.
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v3.0.0-5-gcddadc1 https://git.km3net.de/common/km3net-dataformat.
double putTime() const
Get Monte Carlo time minus DAQ/trigger time.
static const int JVETO_NUMBER_OF_HITS
number of hits from JVeto.cc
Reconstruction type dependent comparison of track quality.
Auxiliary methods to convert data members or return values of member methods of a set of objects to a...
General purpose messaging.
Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit...
static const int JPP_COVERAGE_ORIENTATION
coverage of dynamic orientation calibration from any Jpp application
static const int JSTART_LENGTH_METRES
distance between first and last hits in metres from JStart.cc
Utility class to parse command line options.
static const int JGANDALF_NUMBER_OF_ITERATIONS
number of iterations from JGandalf.cc
Data structure for position in three dimensions.
const JLimit & getLimit() const
Get limit.
static const int JGANDALF_CHI2
chi2 from JGandalf.cc
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
bool is_hadron(const Trk &track)
Test whether given track is a hadron.
const std::vector< double > & getW() const
Get associated values.
Auxiliary data structure for floating point format specification.
JTriggerCounter_t getCounter() const
Get trigger counter.
static const int JENERGY_MUON_RANGE_METRES
range of a muon with the reconstructed energy [m] from JEnergy.cc
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.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
static const int AASHOWERFIT_NUMBER_OF_HITS
number of hits used
static const int JPP_COVERAGE_POSITION
coverage of dynamic position calibration from any Jpp application