Jpp
JRunAnalyzer.cc
Go to the documentation of this file.
1 // c++ standard library
2 #include <iostream>
3 #include <iomanip>
4 
5 // Jpp
6 #include "JDetector/JDetector.hh"
9 
10 #include "JSupport/JSupport.hh"
11 #include "JSupport/JMeta.hh"
13 #include "JSupport/JTreeScanner.hh"
14 
15 #include "TROOT.h"
16 
17 #include "Jeep/JParser.hh"
19 #include "JDAQ/JDAQTimesliceIO.hh"
21 
22 #include "JLang/JObjectReader.hh"
23 
24 #include "JROOT/JRootFileReader.hh"
25 
26 //JRunAnalyzer
27 #include "RunAnalyzer.hh"
28 #include "JRunHistograms.hh"
29 
30 using namespace KM3NETDAQ;
31 using namespace JDETECTOR;
32 using namespace JLANG;
33 using namespace JPP;
34 
35 
36 int main(int argc, char **argv) {
37 
38  string inputFile;
39  string outputFile;
40  string detectorFile;
41  JLimit_t nTimeslices;
42  JLimit_t nSummaryslices;
43  JLimit_t nEvents;
44 
45  try {
46 
47  JParser<> zap;
48 
49  zap['f'] = make_field(inputFile , "Path to input file " );
50  zap['o'] = make_field(outputFile , "Path to output file" ) = "out.root";
51  zap['a'] = make_field(detectorFile , "path to detector file" );
52  zap['t'] = make_field(nTimeslices , "number of timeslices" ) = JLimit::max();
53  zap['s'] = make_field(nSummaryslices , "number of summaryslices") = JLimit::max();
54  zap['n'] = make_field(nEvents , "number of events" ) = JLimit::max();
55 
56  zap(argc,argv);
57  }
58  catch(const exception &error) {
59  ERROR(error.what() << endl);
60  }
61 
62  RunAnalyzer Analyzer (inputFile, detectorFile, nTimeslices, nSummaryslices, nEvents);
63 
64  Analyzer.readEvents ();
65  Analyzer.readSummaryData ();
66  Analyzer.readTimesliceData<JDAQTimeslice> ();
71 
72  JRA_Histograms run_histograms = Analyzer.getHistograms();
73 
74  TFile out(outputFile.c_str(), "recreate");
75 
76  putObject(&out, JMeta(argc, argv));
77 
78  JMeta::copy(inputFile.c_str(), out);
79 
80  run_histograms.Write_to_file(out);
81 
82  out.Close();
83 }
JRootFileReader.hh
JMeta.hh
JDAQ.hh
JRunHistograms.hh
KM3NETDAQ::JDAQTimesliceL2
Timeslice data structure for L2 data.
Definition: JDAQTimeslice.hh:267
JSUPPORT::JLimit
Auxiliary class for defining the range of iterations of objects.
Definition: JLimit.hh:41
KM3NETDAQ::JDAQTimesliceSN
Timeslice data structure for SN data.
Definition: JDAQTimeslice.hh:273
KM3NETDAQ::JDAQTimeslice
Data time slice.
Definition: JDAQTimeslice.hh:30
JPARSER::JParser
Utility class to parse command line options.
Definition: JParser.hh:1493
RunAnalyzer
Class dedicated to the analysis of KM3NeT runs.
Definition: RunAnalyzer.hh:29
JROOT::putObject
bool putObject(TDirectory *dir, const T &object)
Write object to ROOT directory.
Definition: JRootFileWriter.hh:38
JObjectReader.hh
JTreeScanner.hh
RunAnalyzer::getHistograms
JRA_Histograms getHistograms()
Definition: RunAnalyzer.hh:347
JSupport.hh
JPP
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JAAnetToolkit.hh:37
ERROR
#define ERROR(A)
Definition: JMessage.hh:66
JRA_Histograms
Definition: JRunHistograms.hh:792
JDAQTimesliceIO.hh
RunAnalyzer::readSummaryData
void readSummaryData()
Definition: RunAnalyzer.hh:297
RunAnalyzer::readEvents
void readEvents()
Definition: RunAnalyzer.hh:332
KM3NETDAQ::JDAQTimesliceL0
Timeslice data structure for L0 data.
Definition: JDAQTimeslice.hh:255
main
int main(int argc, char **argv)
Definition: JRunAnalyzer.cc:36
JModuleRouter.hh
RunAnalyzer::readTimesliceData
void readTimesliceData()
Definition: RunAnalyzer.hh:315
JMultipleFileScanner.hh
JParser.hh
JDetectorToolkit.hh
make_field
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1954
RunAnalyzer.hh
JSUPPORT::JMeta
Auxiliary class for ROOT I/O of application specific meta data.
Definition: JMeta.hh:71
KM3NETDAQ
KM3NeT DAQ data structures and auxiliaries.
Definition: DataQueue.cc:39
JDAQSummarysliceIO.hh
JDetector.hh
JLANG
Auxiliary classes and methods for language specific functionality.
Definition: JAbstractClass.hh:10
KM3NETDAQ::JDAQTimesliceL1
Timeslice data structure for L1 data.
Definition: JDAQTimeslice.hh:261
outputFile
string outputFile
Definition: JDAQTimesliceSelector.cc:37
JDETECTOR
Auxiliary classes and methods for detector calibration.
Definition: JAnchor.hh:12
JSUPPORT::JLimit::max
static counter_type max()
Get maximum counter value.
Definition: JLimit.hh:117
JSUPPORT::JMeta::copy
static void copy(const char *const file_name, TFile &out)
Copy meta data.
Definition: JMeta.hh:396