43{
47
50 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
54
55 JParallelFileScanner_t inputFile;
58 string detectorFile;
59 JCalibration_t calibrationFile;
60 double Tmax_s;
63
64 try {
65
66 JParser<> zap(
"Program to perform intermediate fit of muon trajectory to data.");
67
76
77 zap(argc, argv);
78 }
79 catch(const exception& error) {
80 FATAL(error.what() << endl);
81 }
82
83
85
86 try {
88 }
91 }
92
93 unique_ptr<JDynamics> dynamics;
94
95 try {
96
98
99 dynamics->load(calibrationFile);
100 }
101 catch(const exception& error) {
102 if (!calibrationFile.empty()) {
104 }
105 }
106
108
110
111
114
115 while (inputFile.hasNext()) {
116
117 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
118
119 multi_pointer_type ps = inputFile.next();
120
123
124 if (dynamics) {
125 dynamics->update(*tev);
126 }
127
128
129
131
134 }
135
137
138 if (!cp.empty()) {
140 }
141
142
143
145
146 if (dynamics) {
147
149
150 for (JFIT::JEvt::iterator i = out.begin(); i != out.end(); ++i) {
153 }
154 }
155
156
157
159
160 copy(in->begin(), in->end(), back_inserter(out));
161
163 }
165
167
169
171}
#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.
static const int JMUONSIMPLEX
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.
Data structure for coverage of dynamic calibrations.
double position
coverage of detector by available position calibration [0,1]
double orientation
coverage of detector by available orientation calibration [0,1]
Dynamic detector calibration.
Auxiliary class to test history.
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)...
Data structure for fit parameters.
size_t numberOfPrefits
number of prefits
Wrapper class to make intermediate fit of muon trajectory.
Auxiliary class for defining the range of iterations of objects.
const JLimit & getLimit() const
Get limit.
static counter_type max()
Get maximum counter value.