1#ifndef  __JRECONSTRUCTION__JMUONSIMPLEX__ 
    2#define  __JRECONSTRUCTION__JMUONSIMPLEX__ 
   78    using JRegressor_t::operator();
 
  122                 const int                       debug = 0) :
 
  126      using namespace JFIT;
 
  130      JRegressor_t::debug              = 
debug;
 
  131      JRegressor_t::MAXIMUM_ITERATIONS = 
NMax;
 
 
  164      for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
 
  166        if (router.
hasModule(i->getModuleID())) {
 
  168          buffer(*i, router.
getModule(i->getModuleID()));
 
  171            buildL0(buffer, back_inserter(dataL0));
 
  174            buildL2(buffer, back_inserter(dataL1));
 
 
  192      using namespace JFIT;
 
  194      using namespace JLANG;
 
  215      data.reserve(dataL0.size() + 
 
  218      for (JEvt::const_iterator track = in.begin(); track != in.end(); ++track) {
 
  226        for (buffer_type::const_iterator i = dataL1.begin(); i != dataL1.end(); ++i) {
 
  239          buffer_type::iterator __end = data.end();     
 
  241          for (buffer_type::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
 
  243            if (find_if(data.begin(), __end, make_predicate(&
hit_type::getModuleID, i->getModuleID())) == __end) {
 
  257        this->step.resize(5);
 
  265        const int NDF = 
getCount(data.begin(), data.end()) - this->step.size();
 
  269          const double chi2 = (*this)(
JLine3Z(tz), data.begin(), data.end());
 
  279          out.rbegin()->setW(track->getW());
 
  289      copy(input.
in.begin(), input.
in.end(), back_inserter(out));
 
 
 
Coverage of dynamical detector calibration.
 
Reduced data structure for L1 hit.
 
Data regression method for JFIT::JLine3Z.
 
Maximum likelihood estimator (M-estimators).
 
General purpose messaging.
 
Direct access to module in detector data structure.
 
Router for direct addressing of module data in detector data structure.
 
bool hasModule(const JObjectID &id) const
Has module.
 
const JModule & getModule(const JObjectID &id) const
Get module parameters.
 
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.
 
Simple fit method based on Powell's algorithm, see reference: Numerical Recipes in C++,...
 
JPosition3D & rotate(const JRotation3D &R)
Rotate.
 
Data structure for vector in three dimensions.
 
Data structure for normalised vector in positive z-direction.
 
Reduced data structure for L1 hit.
 
2-dimensional frame with time calibrated data from one optical module.
 
int getModuleID() const
Get module identifier.
 
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.
 
Auxiliary classes and methods for linear and iterative data regression.
 
Auxiliary classes and methods for 3D geometrical objects and operations.
 
Auxiliary classes and methods for language specific functionality.
 
size_t getCount(const array_type< T > &buffer, const JCompare_t &compare)
Count number of unique values.
 
JTOOLS::JRange< double > JTimeRange
Type definition for time range (unit [ns]).
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
double getQuality(const double chi2, const int N, const int NDF)
Get quality of fit.
 
JPosition3D getPosition(const JFit &fit)
Get position.
 
bool qualitySorter(const JFit &first, const JFit &second)
Comparison of fit results.
 
JFit getFit(const JHistory &history, const JTrack3D &track, const double Q, const int NDF, const double energy=0.0, const int status=SINGLE_STAGE)
Get fit.
 
JDirection3D getDirection(const JFit &fit)
Get direction.
 
Auxiliary classes and methods for triggering.
 
KM3NeT DAQ data structures and auxiliaries.
 
Model for fit to acoustics data.
 
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 for historical event.
 
Auxiliary class to test history.
 
Template definition of a data regressor of given model.
 
Data structure for fit parameters.
 
double TMax_ns
maximal time w.r.t. Cherenkov hypothesis [ns]
 
bool useL0
option for L0 hit use
 
double roadWidth_m
road width [m]
 
int NMax
maximum number of iterations
 
double TMaxLocal_ns
time window for local coincidences [ns]
 
size_t numberOfPrefits
number of prefits
 
double sigma_ns
time resolution [ns]
 
double TMin_ns
minimal time w.r.t. Cherenkov hypothesis [ns]
 
double ctMin
minimal cosine space angle between PMT axes
 
Wrapper class to make intermediate fit of muon trajectory.
 
JRegressor< JLine3Z, JSimplex > JRegressor_t
 
std::vector< hit_type > buffer_type
 
input_type getInput(const JModuleRouter &router, const JDAQEvent &event, const JEvt &in, const coverage_type &coverage) const
Get input data.
 
JTRIGGER::JHitR1 hit_type
 
JMuonSimplex(const JMuonSimplexParameters_t ¶meters, const int debug=0)
Constructor.
 
JEvt operator()(const input_type &input)
Fit function.
 
Data structure for L2 parameters.