54int main(
int argc, 
char **argv)
 
   61  typedef JParallelFileScanner_t::multi_pointer_type               multi_pointer_type;
 
   66  JParallelFileScanner_t   inputFile;
 
   70  JCalibration_t           calibrationFile;
 
   80    JParser<> zap(
"Program to perform compass calibration using reconstructed muon trajectories.");
 
   94  catch(
const exception& error) {
 
   95    FATAL(error.what() << endl);
 
  112  unique_ptr<JDynamics> dynamics;
 
  114  if (!calibrationFile.empty()) {
 
  120      dynamics->load(calibrationFile);
 
  122    catch(
const exception& error) {
 
  131  const JMuonGandalf::storage_type storage(pdfFile, parameters.
TTS_ns);
 
  143  TH2D h2(
h2_t, NULL, nx, -0.5, nx - 0.5, ny, -PI, +PI);
 
  145  while (inputFile.hasNext()) {
 
  147    STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  149    multi_pointer_type ps = inputFile.next();
 
  157      dynamics->update(*tev);
 
  164    buildL0(*tev, router, 
true, back_inserter(dataL0));
 
  166    for (JFIT::JEvt::const_iterator track = in->begin(); track != in->end(); ++track) {
 
  182      for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
 
  184        double rate_Hz = summary.
getRate(*i);
 
  186        if (rate_Hz <= 0.0) {
 
  201      for (
auto& i : data) {
 
  209        JDataW0_t::iterator __end = unique(i.second.begin(), i.second.end(), equal_to<JDAQPMTIdentifier>());
 
  211        for (Int_t iy = 1; iy <= h2.GetYaxis()->GetNbins(); ++iy) {
 
  213          const double x = router.
getIndex(i.first);
 
  214          const double y = h2.GetYaxis()->GetBinCenter(iy);
 
  220          for (JDataW0_t::const_iterator p = i.second.begin(); p != __end; ++p) {
 
  232            chi2 += fit(ta, hit);
 
 
Data structure for detector geometry and calibration.
 
Dynamic detector calibration.
 
Basic data structure for L0 hit.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Direct access to module in detector data structure.
 
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.
 
Basic data structure for time and time over threshold information of hit.
 
Router for direct addressing of module data in detector data structure.
 
const int getIndex(const JObjectID &id) const
Get index of module.
 
const JModule & getModule(const JObjectID &id) const
Get module parameters.
 
Data structure for a composite optical module.
 
Data structure for set of track fit results.
 
void select(const JSelector_t &selector)
Select fits.
 
Data structure for fit of straight line paralel to z-axis.
 
Data structure for fit of straight line in positive z-direction.
 
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis.
 
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
 
JPosition3D & rotate(const JRotation3D &R)
Rotate.
 
const JPosition3D & getPosition() const
Get position.
 
JVector3D & add(const JVector3D &vector)
Add vector.
 
JVector3D & sub(const JVector3D &vector)
Subtract vector.
 
Utility class to parse command line options.
 
Auxiliary class for a hit with background rate value.
 
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.
 
File router for fast addressing of summary data.
 
void update(const JDAQHeader &header)
Update router.
 
double getRate() const
Get default rate.
 
int getModuleID() const
Get module identifier.
 
static const int JSTART_LENGTH_METRES
distance between projected positions on the track of optical modules for which the response does not ...
 
JDirection3D getDirection(const Vec &dir)
Get direction.
 
JPosition3D getPosition(const Vec &pos)
Get position.
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
 
JTOOLS::JRange< double > JZRange
 
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.
 
const char *const h2_t
Name of histogram with results from JMuonCompass.cc.
 
bool putObject(TDirectory &dir, const TObject &object)
Write object to ROOT directory.
 
static const JModuleCounter getNumberOfModules
Function object to count unique modules.
 
KM3NeT DAQ data structures and auxiliaries.
 
int main(int argc, char **argv)
 
Dynamic detector calibration.
 
Auxiliary class to match data points with given model.
 
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 roadWidth_m
road width [m]
 
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
 
double ZMax_m
maximal z-positon [m]
 
double ZMin_m
minimal z-positon [m]
 
double R_Hz
default rate [Hz]
 
size_t numberOfPrefits
number of prefits
 
Wrapper class to make final 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.
 
Auxiliary data structure for sorting of hits.