62 using namespace KM3NETDAQ;
75 JParser<> zap(
"Example program to analyse track fit results from Evt formatted data.");
78 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
86 catch(
const exception& error) {
87 FATAL(error.what() << endl);
93 if (detectorFile !=
"") {
106 TH1D hx(
"hx", NULL, 100, -3.0, +2.3);
107 TH1D hd(
"hd", NULL, 100, 0.0, 10.0);
108 TH1D ht(
"ht", NULL, 100, -100.0, 100.0);
109 TH1D he(
"he", NULL, 100, -5.0, +5.0);
110 TH1D
h1(
"h1", NULL, 100, -50.0, +50.0);
113 while (inputFile.hasNext()) {
115 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
117 const Evt* evt = inputFile.next();
143 if (router.hasModule(i->dom_id)) {
145 const JHitL0 hit = getHit(*i, router);
double getT() const
Get calibrated time of hit.
Utility class to parse command line options.
double getAngle(const JQuaternion3D &first, const JQuaternion3D &second)
Get space angle between quanternions.
const Trk & get_muon(const Evt &evt)
Get first muon from the event tracklist.
JTrack3E getTrack(const Trk &track)
Get track.
double getIntersection(const JVector3D &pos) const
Get longitudinal position along axis of position of closest approach with given position.
Router for direct addressing of module data in detector data structure.
std::string comment
use as you like
then for HISTOGRAM in h0 h1
static const JGeaneWater gWater
Function object for energy loss of muon in sea water.
void move(const double step, const double velocity, const JGeane &geane)
Move vertex along this track with given velocity.
JVersor3D getDirection(const JVector3D &pos) const
Get photon direction of Cherenkov light on PMT.
JTime & add(const JTime &value)
Addition operator.
Auxiliary class for defining the range of iterations of objects.
Type definition of range.
double getE() const
Get energy.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
set_variable E_E log10(E_{fit}/E_{#mu})"
const JPosition3D & getPosition() const
Get position.
double mc_t
MC: time where the mc-event was put in the timeslice, since start of run (offset+frameidx*timeslice_d...
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
const double getSpeedOfLight()
Get speed of light.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
bool has_muon(const Evt &evt)
Test whether given event has a muon.
General purpose class for object reading from a list of file names.
Data structure for L0 hit.
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
const JLimit & getLimit() const
Get limit.
std::vector< Hit > hits
list of hits
do set_variable DETECTOR_TXT $WORKDIR detector
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.