63 friend inline std::ostream&
operator<<(std::ostream& out,
const JTrack& track)
67 out <<
FIXED(8,2) << track.getX() <<
' '
68 <<
FIXED(8,2) << track.getY() <<
' '
69 <<
FIXED(8,2) << track.getZ() <<
' '
70 <<
FIXED(7,3) << track.getDX() <<
' '
71 <<
FIXED(7,3) << track.getDY() <<
' '
72 <<
FIXED(7,3) << track.getDZ() <<
' '
73 <<
FIXED(8,1) << track.getT();
83 int main(
int argc,
char **argv)
87 using namespace KM3NETDAQ;
90 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
92 JParallelFileScanner_t inputFile;
100 JParser<> zap(
"Auxiliary program to print fit results.");
103 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
110 catch(
const exception& error) {
111 FATAL(error.what() << endl);
116 const int WIDTH = 16;
123 center = get<JPosition3D>(
getHeader(inputFile));
124 }
catch(
const exception& error) {}
127 while (inputFile.hasNext()) {
129 cout <<
"event: " << setw(10) << inputFile.getCounter() << endl;
131 multi_pointer_type ps = inputFile.next();
142 cout <<
"trigger: " << setw(10) << tev->
getCounter() <<
' '
145 if (mc.getEntries() != 0) {
159 cout <<
LEFT(
WIDTH) <<
"neutrino" << right <<
' ' << ta << endl;
164 track = find_if(event->mc_trks.begin(),
event->mc_trks.end(),
is_muon);
166 if (track != event->mc_trks.end()) {
172 cout <<
LEFT(
WIDTH) <<
"muon" << right <<
' ' << ta << endl;
175 track = find_if(event->mc_trks.begin(),
event->mc_trks.end(),
is_electron);
177 if (track != event->mc_trks.end()) {
183 cout <<
LEFT(
WIDTH) <<
"electron" << right <<
' ' << ta << endl;
188 cout <<
"number of fits " << setw(4) << right << evt->size() << endl;
190 for (
size_t i = 0; i != min(evt->size(), numberOfFits); ++i) {
192 const JFit& fit = (*evt)[i];
198 cout <<
LEFT(
WIDTH) <<
"fit" << right <<
' ' << tb <<
' ' << fit.getQ() <<
' ' << fit.getE() << endl;
199 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.
JDAQUTCExtended getTimesliceStart() const
Get start of timeslice.
ROOT TTree parameter settings of various packages.
JTrack3E getTrack(const Trk &track)
Get track.
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.
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.
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Auxiliary class for defining the range of iterations of objects.
I/O formatting auxiliaries.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
double putTime() const
Get Monte Carlo time minus DAQ/trigger time.
Reconstruction type dependent comparison of track quality.
General purpose messaging.
Auxiliary include file for time conversion between DAQ/trigger hit and Monte Carlo hit...
Utility class to parse command line options.
Data structure for position in three dimensions.
const JLimit & getLimit() const
Get limit.
const Trk & get_neutrino(const Evt &evt)
Get incoming neutrino.
JTriggerCounter_t getCounter() const
Get trigger counter.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
int main(int argc, char *argv[])