Regressor function object for JPoint4D fit using JSimplex minimiser.  
 More...
#include <JPoint4DRegressor.hh>
 | 
|   | JRegressor (double sigma) | 
|   | Constructor.  More...
  | 
|   | 
| template<class JHit_t >  | 
| double  | operator() (const JPoint4D &vx, const JHit_t &hit) const | 
|   | 
| result_type  | operator() (const JPoint4D &value, T __begin, T __end) | 
|   | Global fit.  More...
  | 
|   | 
| template<class JFunction_t , class T >  | 
| double  | operator() (const JFunction_t &fit, T __begin, T __end) | 
|   | Multi-dimensional fit.  More...
  | 
|   | 
| template<class JFunction_t , class T >  | 
| double  | operator() (const JFunction_t &fit, T __begin, T __end, const JModel_t &step) | 
|   | 1D fit.  More...
  | 
|   | 
 | 
| template<class JFunction_t , class T >  | 
| double  | evaluate (const JFunction_t &fit, T __begin, T __end) const | 
|   | Evaluate chi2 for given data set.  More...
  | 
|   | 
Regressor function object for JPoint4D fit using JSimplex minimiser. 
Definition at line 30 of file JPoint4DRegressor.hh.
 
◆ minimiser_type
◆ regressor_type
◆ result_type
◆ JRegressor()
◆ operator()() [1/4]
Definition at line 52 of file JPoint4DRegressor.hh.
   56       const double dt = hit.getT() - vx.
getT(hit.getPosition());
 
   58       const double u  = dt / 
sigma;
 
double getT(const JVector3D &pos) const
Get arrival time of Cherenkov light at given position.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
JLANG::JSharedPointer< JMEstimator > estimator
M-Estimator function
 
 
 
 
◆ operator()() [2/4]
Global fit. 
- Parameters
 - 
  
    | value | start value  | 
    | __begin | begin of data set  | 
    | __end | end of data set  | 
  
   
- Returns
 - chi2 
 
Definition at line 94 of file JRegressor.hh.
JSimplex< JPoint4D > minimiser_type
 
JRegressor< JPoint4D, JSimplex > regressor_type
 
 
 
 
◆ operator()() [3/4]
template<class JModel_t > 
template<class JFunction_t , class T > 
 
Multi-dimensional fit. 
The given fit function should return the equivalent of chi2 for the current value of the given model and a given data point.
- Parameters
 - 
  
    | fit | fit function  | 
    | __begin | begin of data  | 
    | __end | end of data  | 
  
   
- Returns
 - chi2 
 
Definition at line 71 of file JSimplex.hh.
   76       double chi2_old = 
evaluate(fit, __begin, __end);
 
   78       const int N = 
step.size();
 
   92           DEBUG(
"old: " << 
FIXED(12,5) << chi2_old << endl);
 
   96           for (
int i = 0; i != N; ++i) {
 
  100             chi2[i] = (*this)(fit, __begin, __end, 
step[i]);
 
  108           const double chi2_new = (*this)(fit, __begin, __end, 
wall);
 
  110           DEBUG(
"new: " << 
FIXED(12,5) << chi2_new << endl);
 
  113           if (fabs(chi2_old - chi2_new) < 
EPSILON*fabs(chi2_old)) {
 
  123           const double fe = 
evaluate(fit, __begin, __end);
 
  128           for (
int i = N-1; i != 0; --i) {
 
  129             chi2[i] = chi2[i-1] - chi2[i];
 
  132           chi2[0] = chi2_old - chi2[0];
 
  137           for (
int i = 0; i != N; ++i) {
 
  143           const double fn = chi2_new;
 
  144           const double f0 = chi2_old;
 
  145           const double ff = f0 - fn - df;
 
  149           if (fe < f0 && 2.0*(f0 - 2.0*fn + fe)*ff*ff < (f0-fe)*(f0-fe)*df) {
 
  151             for (
int i = 0; i != N - 1; ++i) {
 
#define DEBUG(A)
Message macros.
 
static int MAXIMUM_ITERATIONS
maximal number of iterations
 
std::vector< JModel_t > step
 
static double EPSILON
maximal distance to minimum
 
double evaluate(const JFunction_t &fit, T __begin, T __end) const
Evaluate chi2 for given data set.
 
Auxiliary data structure for floating point format specification.
 
 
 
 
◆ operator()() [4/4]
template<class JModel_t > 
template<class JFunction_t , class T > 
 
1D fit. 
The given fit function should return the equivalent of chi2 for the current value of the given model and a given data point.
- Parameters
 - 
  
    | fit | fit function  | 
    | __begin | begin of data  | 
    | __end | end of data  | 
    | step | step direction  | 
  
   
Definition at line 178 of file JSimplex.hh.
  186       double chi2_old = 
evaluate(fit, __begin, __end);
 
  194         const double chi2_new = 
evaluate(fit, __begin, __end);
 
  196         DEBUG(
"step: " << setw(3) << i << 
' ' << 
FIXED(12,5) << chi2_old << 
' ' << 
FIXED(12,5) << chi2_new << 
' ' << 
FIXED(5,2) << lambda << endl);
 
  198         if (fabs(chi2_old - chi2_new) < 
EPSILON*fabs(chi2_old)) {
 
  200           if (chi2_new > chi2_old) {
 
  214         if (chi2_new < chi2_old) {
 
  230         lambda = factor * lambda;
 
 
 
 
◆ evaluate()
template<class JModel_t > 
template<class JFunction_t , class T > 
 
Evaluate chi2 for given data set. 
- Parameters
 - 
  
    | fit | fit function  | 
    | __begin | begin of data  | 
    | __end | end of data  | 
  
   
Definition at line 253 of file JSimplex.hh.
  257       for (T hit = __begin; hit != __end; ++hit) {
 
  258         chi2 += fit(
value, *hit);
 
 
 
 
◆ estimator
◆ sigma
◆ MAXIMUM_ITERATIONS
template<class JModel_t > 
 
maximal number of iterations 
maximal number of iterations. 
Definition at line 237 of file JSimplex.hh.
 
 
◆ EPSILON
template<class JModel_t > 
 
maximal distance to minimum 
maximal distance to minimum. 
Definition at line 238 of file JSimplex.hh.
 
 
◆ value
template<class JModel_t > 
 
 
◆ step
template<class JModel_t > 
 
 
◆ numberOfIterations
template<class JModel_t > 
 
 
◆ p0
template<class JModel_t > 
 
 
◆ p1
template<class JModel_t > 
 
 
◆ wall
template<class JModel_t > 
 
 
◆ debug
debug level (default is off). 
Definition at line 45 of file JMessage.hh.
 
 
The documentation for this struct was generated from the following file: