58 int main(
int argc,
char **argv)
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();
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.
int main(int argc, char *argv[])
ROOT TTree parameter settings of various packages.
const Trk & get_muon(const Evt &evt)
Get first muon from the event tracklist.
const JModule & getModule(const JObjectID &id) const
Get module parameters.
then usage $script< input file >[option[primary[working directory]]] nWhere option can be E
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
static const JGeaneWater gWater
Function object for energy loss of muon in sea water.
unsigned int tdc
hit tdc (=time in ns)
double getTime(const Hit &hit)
Get true time of hit.
Data structure for detector geometry and calibration.
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.
Basic data structure for L0 hit.
double getToT(const T &tot, const JCalibration &cal)
Get calibrated time-over-threshold of hit.
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})"
Data structure for PMT geometry, calibration and status.
const JPosition3D & getPosition() const
Get position.
const JPMT & getPMT(const int index) const
Get PMT.
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.
General purpose messaging.
double getTimeSinceRTS(const int frame_index)
Get time in ns since last RTS for a given frame index.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
const double getSpeedOfLight()
Get speed of light.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Auxiliary class to define a range between two values.
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.
Utility class to parse command line options.
Data structure for L0 hit.
int dom_id
module identifier from the data (unique in the detector).
unsigned int tot
tot value as stored in raw data (int for pyroot)
bool hasModule(const JObjectID &id) const
Has module.
unsigned int channel_id
PMT channel id {0,1, .., 30} local to moduke.
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.
#define DEBUG(A)
Message macros.