44{
48
51 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
55
56 JParallelFileScanner_t inputFile;
59 string detectorFile;
60 JCalibration_t calibrationFile;
61 double Tmax_s;
62 string pdfFile;
65
66 try {
67
68 JParser<> zap(
"Program to perform PDF fit of muon trajectory to data.");
69
79
80 zap(argc, argv);
81 }
82 catch(const exception& error) {
83 FATAL(error.what() << endl);
84 }
85
86
88
89 try {
91 }
94 }
95
96 unique_ptr<JDynamics> dynamics;
97
98 try {
99
101
102 dynamics->load(calibrationFile);
103 }
104 catch(const exception& error) {
105 if (!calibrationFile.empty()) {
107 }
108 }
109
111
113
115
116
119
120 while (inputFile.hasNext()) {
121
122 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
123
124 multi_pointer_type ps = inputFile.next();
125
128
129 summary.update(*tev);
130
131 if (dynamics) {
132 dynamics->update(*tev);
133 }
134
135
136
138
140
141 if (!cp.empty()) {
143 }
144
145
146
148
149 if (dynamics) {
150
152
153 for (JFIT::JEvt::iterator i = out.begin(); i != out.end(); ++i) {
156 }
157 }
158
159
160
162
163 copy(in->begin(), in->end(), back_inserter(out));
164
166 }
168
170
172
174}
#define DEBUG(A)
Message macros.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Router for direct addressing of module data in detector data structure.
Data structure for set of track fit results.
void select(const JSelector_t &selector)
Select fits.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
General purpose class for parallel reading of objects from a single file or multiple files.
Object reading from a list of files.
File router for fast addressing of summary data.
static const int JPP_COVERAGE_POSITION
coverage of dynamic position calibration from any Jpp application
static const int JPP_COVERAGE_ORIENTATION
coverage of dynamic orientation calibration from any Jpp application
void copy(const Head &from, JHead &to)
Copy header from from to to.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
KM3NeT DAQ data structures and auxiliaries.
Dynamic detector calibration.
Data structure for coverage of detector by dynamical calibrations.
double position
coverage of detector by available position calibration [0,1]
double orientation
coverage of detector by available orientation calibration [0,1]
Auxiliary class to test history.
Auxiliary class for recursive type list generation.
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Wrapper class to add features after the final fit of muon trajectory.
Data structure for fit parameters.
double R_Hz
default rate [Hz]
size_t numberOfPrefits
number of prefits
Auxiliary class for defining the range of iterations of objects.
const JLimit & getLimit() const
Get limit.
static counter_type max()
Get maximum counter value.