62int main(
int argc, 
char **argv)
 
   69  typedef JParallelFileScanner_t::multi_pointer_type               multi_pointer_type;
 
   72  JParallelFileScanner_t  inputFile;
 
   79  size_t         numberOfPrefits;
 
   86    JParser<> zap(
"Program to perform fit of muon path to data.");
 
   93    zap[
'R'] = 
make_field(roadWidth_m)         = numeric_limits<double>::max();
 
  102  catch(
const exception& error) {
 
  103    FATAL(error.what() << endl);
 
  127  JRegressor_t::debug              = 
debug;
 
  128  JRegressor_t::Vmax_npe           =   10.0;    
 
  129  JRegressor_t::MAXIMUM_ITERATIONS = 10000;
 
  133  fit.transform(JRegressor_t::transformer_type::getDefaultTransformer());     
 
  137  fit.parameters.resize(4);
 
  144  if (fit.getRmax() < roadWidth_m) {
 
  146    roadWidth_m = fit.getRmax();
 
  148    WARNING(
"Set road width to [m] " << roadWidth_m << endl);
 
  151  const double Rmax_m  = 100.0;     
 
  152  const double Tmax_ns =  10.0;     
 
  159  while (inputFile.hasNext()) {
 
  161    STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl);
 
  163    multi_pointer_type ps  = inputFile.next();
 
  176    buildL0(*tev, router, 
true, back_inserter(dataL0));
 
  179    for (JEvt::const_iterator track = cp.begin(); track != cp.end(); ++track) {
 
  191      for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
 
  201          const double t1 = hit.
getT() - tz.
getT(hit);
 
  203          if (tz.
getDistance(hit) <= Rmax_m && t1 >= -Tmax_ns && t1 <= +Tmax_ns) {
 
  212      for (JDetector::const_iterator module = 
detector.begin(); module != 
detector.end(); ++module) {
 
  220          for (
unsigned int i = 0; i != 
module->size(); ++i) {
 
  224            JPMT pmt(module->getPMT(i));
 
  228            buffer.push_back(
JPMTW0(pmt, R_Hz, top.count(
id)));
 
  234      const int NDF = buffer.size() - fit.parameters.size();
 
  240        if (track->getE() > 0.1)
 
  241          fit.E_GeV   = track->getE();
 
  245        const double chi2 = fit(
JLine3Z(tz), buffer.begin(), buffer.end());
 
  253        out.rbegin()->setW(track->getW());
 
 
Data structure for detector geometry and calibration.
 
Recording of objects on file according a format that follows from the file name extension.
 
Various implementations of functional maps.
 
Basic data structure for L0 hit.
 
Data regression method for JFIT::JLine3Z.
 
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
 
Scanning of objects from a single file according a format that follows from the extension of each fil...
 
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.
 
Data structure for PMT geometry, calibration and status.
 
Data structure for fit of straight line paralel to z-axis.
 
static parameter_type pY()
 
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
 
static parameter_type pX()
 
double getDistance(const JVector3D &pos) const
Get distance.
 
Data structure for fit of straight line in positive z-direction.
 
static parameter_type pDY()
 
static parameter_type pDX()
 
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis.
 
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
 
Data structure for position in three dimensions.
 
JPosition3D & rotate(const JRotation3D &R)
Rotate.
 
double getZ() const
Get z position.
 
Utility class to parse command line options.
 
Auxiliary class for a hit with background rate value.
 
General purpose class for parallel reading of objects from a single file or multiple files.
 
Object reading from a list of files.
 
double getT() const
Get calibrated time of hit.
 
const JDAQPMTIdentifier & getPMTIdentifier() const
Get PMT identifier.
 
static const int JMUONPATH
 
JDirection3D getDirection(const Vec &dir)
Get direction.
 
JPosition3D getPosition(const Vec &pos)
Get position.
 
double getQuality(const JEvent &evt)
Get average quality.
 
JFit getFit(const int id, const JMODEL::JString &string)
Get fit parameters of string.
 
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.
 
JFIT::JRegressor< JFIT::JLine3Z, JFIT::JGandalf > JRegressor_t
 
KM3NeT DAQ data structures and auxiliaries.
 
Model for fit to acoustics data.
 
Auxiliary class for handling PMT geometry, rate and response.
 
Template definition of a data regressor of given model.
 
Auxiliary class for defining the range of iterations of objects.
 
const JLimit & getLimit() const
Get limit.
 
static counter_type max()
Get maximum counter value.