1 #ifndef __JFIT__JMESTIMATOR__ 
    2 #define __JFIT__JMESTIMATOR__ 
   13 namespace JPP { 
using namespace JFIT; }
 
   34     virtual double getRho(
const double z) 
const = 0;
 
   43     virtual double getPsi(
const double z) 
const = 0;
 
   55     virtual double getRho(
const double z)
 const { 
return 0.5*z*z; }
 
   56     virtual double getPsi(
const double z)
 const { 
return z; }
 
   68     virtual double getRho(
const double z)
 const { 
return log (1.0 + 0.5*z*z); }
 
   69     virtual double getPsi(
const double z)
 const { 
return z / (1.0 + 0.5*z*z); }
 
   81     virtual double getRho(
const double z)
 const { 
return sqrt(1.0 + 0.5*z*z) - 1.0; }
 
   82     virtual double getPsi(
const double z)
 const { 
return 0.5 * z / sqrt(1.0 + 0.5*z*z); }
 
   95     virtual double getRho(
const double z)
 const { 
return z; }
 
   96     virtual double getPsi(
const double z)
 const { 
return 1.0; }
 
  117     virtual double getRho(
const double z)
 const override  
  119       const double w = 0.5 * 
k*
k / 3.0;
 
  123         const double u = z/
k;
 
  124         const double v = 1.0 - 
u*
u;
 
  126         return w * (1.0 - 
v*
v*
v);
 
  132     virtual double getPsi(
const double z)
 const override  
  136         const double u = z/
k;
 
  137         const double v = 1.0 - 
u*
u;
 
  164     virtual double getRho(
const double z)
 const override  
  166       const double w = exp(-0.5*z*z);
 
  171     virtual double getPsi(
const double z)
 const override  
  173       const double w = exp(-0.5*z*z);
 
  175       return z * 
w / (
w + 
p);
 
Auxiliary classes and methods for linear and iterative data regression.
 
JMEstimator * getMEstimator(const int type)
Get M-Estimator.
 
JMEstimator_t
Definition of the various M-Estimators available to use.
 
@ EM_NORMALWITHBACKGROUND
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
virtual double getRho(const double z) const
Get maximum likelihood estimate.
 
virtual double getPsi(const double z) const
Get derivative of maximum likelihood estimate.
 
virtual double getPsi(const double z) const
Get derivative of maximum likelihood estimate.
 
virtual double getRho(const double z) const
Get maximum likelihood estimate.
 
Normal M-estimator with background.
 
virtual double getRho(const double z) const override
Get maximum likelihood estimate.
 
virtual double getPsi(const double z) const override
Get derivative of maximum likelihood estimate.
 
JMEstimatorNormalWithBackground(const double p)
Constructor.
 
virtual double getPsi(const double z) const
Get derivative of maximum likelihood estimate.
 
virtual double getRho(const double z) const
Get maximum likelihood estimate.
 
virtual double getRho(const double z) const
Get maximum likelihood estimate.
 
virtual double getPsi(const double z) const
Get derivative of maximum likelihood estimate.
 
Tukey's biweight M-estimator.
 
virtual double getRho(const double z) const override
Get maximum likelihood estimate.
 
virtual double getPsi(const double z) const override
Get derivative of maximum likelihood estimate.
 
JMEstimatorTukey(const double k)
Constructor.
 
Interface for maximum likelihood estimator (M-estimator).
 
virtual double getRho(const double z) const =0
Get maximum likelihood estimate.
 
virtual double getPsi(const double z) const =0
Get derivative of maximum likelihood estimate.
 
virtual ~JMEstimator()
Virtual destructor.