53 JLimit_t& numberOfEvents = inputFile.getLimit();
61 JParser<> zap(
"Example program to verify Monte Carlo data.");
72 catch(
const exception &error) {
94 NOTICE(
"Apply detector offset " << offset <<
endl);
102 for ( ; x < -10.0; x += 5.0) { X.push_back(x); }
103 for ( ; x < +20.0; x += 1.0) { X.push_back(x); }
104 for ( ; x < +50.0; x += 2.0) { X.push_back(x); }
105 for ( ; x < +100.0; x += 5.0) { X.push_back(x); }
106 for ( ; x < +250.0; x += 10.0) { X.push_back(x); }
107 for ( ; x < +500.0; x += 25.0) { X.push_back(x); }
108 for ( ; x < +900.0; x += 50.0) { X.push_back(x); }
114 while (inputFile.hasNext()) {
118 const Evt*
event = inputFile.next();
139 event->mc_trks.end(),
142 if (
trk != event->mc_trks.end()) {
166 H1->Fill(t1 - t0,
hit->a);
173 if (inputFile.getCounter() != 0) {
175 const double W = 1.0 / (
double) inputFile.getCounter();
186 cout <<
"photon-electron statistics" <<
endl;
188 for (
const auto& i : npe) {
Data structure for detector geometry and calibration.
Dynamic ROOT object management.
General purpose messaging.
#define DEBUG(A)
Message macros.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Direct access to PMT in detector data structure.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Auxiliary class to define a range between two values.
ROOT TTree parameter settings of various packages.
Router for direct addressing of PMT data in detector data structure.
bool hasPMT(const JObjectID &id) const
Has PMT.
const JPMT & getPMT(const JPMTAddress &address) const
Get PMT.
Data structure for PMT geometry, calibration and status.
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
int getID() const
Get identifier.
Template definition of a multi-dimensional oscillation probability interpolation table.
int main(int argc, char **argv)
JTrack3E getTrack(const Trk &track)
Get track.
bool is_electron(const Trk &track)
Test whether given track is a (anti-)electron.
JShower3E getShower(const Trk &shower)
Get shower.
JPosition3D getPosition(const Vec &pos)
Get position.
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
Vec getOffset(const JHead &header)
Get offset.
bool is_hadron(const Trk &track)
Test whether given track is a hadron.
bool is_tau(const Trk &track)
Test whether given track is a (anti-)tau.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
void convertToPDF(TH1 &h1, const std::string &option="NW", const double factor=1.0)
Convert 1D histogram to PDF.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
const char * getTime()
Get current local time conform ISO-8601 standard.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
Type definition of range.
Auxiliary class for defining the range of iterations of objects.
static counter_type max()
Get maximum counter value.
The Vec class is a straightforward 3-d vector, which also works in pyroot.