44int main(
int argc,
char **argv)
52 typedef JParallelFileScanner_t::multi_pointer_type multi_pointer_type;
57 JParallelFileScanner_t inputFile;
61 JCalibration_t calibrationFile;
70 JParser<> zap(
"Program to perform PDF fit of muon trajectory to data.");
80 zap[
'N'] =
make_field(threads,
"number of threads") = 0;
85 catch(
const exception& error) {
86 FATAL(error.what() << endl);
101 unique_ptr<JDynamics> dynamics;
103 if (!calibrationFile.empty()) {
109 dynamics->load(calibrationFile);
111 catch(
const exception& error) {
130 while (inputFile.hasNext()) {
132 STATUS(
"event: " << setw(10) << inputFile.getCounter() <<
'\r');
DEBUG(endl);
134 multi_pointer_type ps = inputFile.next();
142 dynamics->update(*tev);
145 auto input = fit.
getInput(router, summary, *tev, *in, dynamics ? dynamics->getCoverage() :
coverage_type());
Data structure for detector geometry and calibration.
Dynamic detector calibration.
Recording of objects on file according a format that follows from the file name extension.
General purpose messaging.
#define DEBUG(A)
Message macros.
Direct access to module in detector data structure.
int main(int argc, char **argv)
Parallel scanning of objects from a single file or multiple files according a format that follows fro...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings of various packages.
Router for direct addressing of module data in detector data structure.
Data structure for set of track fit results.
Utility class to parse command line options.
Thread pool for event-by-event reconstruction.
void enqueue(input_type &data)
Add data in queue.
void setSplitLevel(int value)
Set split level.
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.
void update(const JDAQHeader &header)
Update router.
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [s]).
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).
JTreeParameters & getTreeParameters()
Template definition for method returning TTree parameters.
KM3NeT DAQ data structures and auxiliaries.
Dynamic detector calibration.
Data structure for coverage of detector by dynamical calibrations.
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.
double TTS_ns
transition-time spread [ns]
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns]
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
Wrapper class to make final fit of muon trajectory.
input_type getInput(const JModuleRouter &router, const JSummaryRouter &summary, const JDAQEvent &event, const JEvt &in, const coverage_type &coverage) const
Get input data.
Auxiliary class for defining the range of iterations of objects.
const JLimit & getLimit() const
Get limit.
static counter_type max()
Get maximum counter value.