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();
138 he.Fill(log10(tb.
getE()/ta.
getE()));
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.
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.
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.
double getE() const
Get energy.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
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).
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
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, .., 31} 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.
then usage $script[input file[working directory[option]]] nWhere option can be E