8 #include "JAAnet/JAAnetDictionary.hh"
51 using namespace KM3NETDAQ;
52 using namespace JDETECTOR;
53 using namespace JLANG;
60 int main(
int argc,
char **argv) {
76 zap[
'f'] =
make_field(inputFile ,
"Path to input file " );
77 zap[
'o'] =
make_field(outputFile ,
"Path to output file" ) =
"out.root";
78 zap[
'a'] =
make_field(detectorFile ,
"path to detector file" );
82 zap[
'@'] =
make_field(parameters,
"parameter values, e.g: \"p0 = 1.0;\"");
87 catch(
const exception &error) {
88 ERROR(error.what() << endl);
94 load (detectorFile, detector);
97 FATAL(
"FATAL ERROR. Could not open detector file '" << detectorFile <<
"'." << endl);
100 bool pmt_analysis =
false;
108 if(pmt_analysis ==
true){
109 cout <<
"JRUNANALYZER RUNNING WITH ALL AVAILABLE PLOTS. It may take a while!" << endl;
111 cout <<
"JRUNANALYZER RUNNING WITH A REDUCED NUMBER OF PLOTS." << endl;
120 }
catch(
const exception&){}
132 JRunAnalyzer Analyzer (inputFile, detector, nTimeslices, nSummaryslices, nEvents, pmt_analysis);
135 cout <<
"read events!\n";
137 cout <<
"read summarydata!\n";
142 cout <<
"read timeslices!\n";
145 cout <<
"before histos!\n";
147 TFile out(outputFile.c_str(),
"recreate");
149 cout <<
"outputfile!\n";
156 for(
const auto& i: inputFile){
175 for(
const auto& i: inputFile){
Utility class to parse command line options.
double getValue(const JScale_t scale)
Get numerical value corresponding to scale.
int main(int argc, char *argv[])
int getParameter(const std::string &text)
Get parameter number from text string.
ROOT TTree parameter settings of various packages.
int getDetectorID() const
Get detector identifier.
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
static counter_type max()
Get maximum counter value.
double livetime_s
Live time [s].
Class dedicated to the analysis of KM3NeT runs.
int getRunNumber() const
Get run number.
Data structure for detector geometry and calibration.
Timeslice data structure for L1 data.
void writeToFile(TFile &f)
Head getHeader(const JMultipleFileScanner_t &file_list)
Get Monte Carlo header.
Auxiliary class for defining the range of iterations of objects.
void push(T JHead::*pd)
Push given data member to Head.
virtual bool hasNext() override
Check availability of next element.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Timeslice data structure for L2 data.
Timeslice data structure for SN data.
bool putObject(TDirectory &dir, const TObject &object)
Write object to ROOT directory.
The Head class reflects the header of Monte-Carlo event files, which consists of keys (also referred ...
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Direct access to module in detector data structure.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Auxiliary class to define a range between two values.
double getLivetime(const std::string &file_name)
Get data taking live time.
Utility class to parse command line options.
Wrapper class around string.
virtual const pointer_type & next() override
Get next element.
void copy(const Head &from, JHead &to)
Copy header from from to to.
do set_variable DETECTOR_TXT $WORKDIR detector
KM3NeT DAQ constants, bit handling, etc.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Timeslice data structure for L0 data.