Belle II Software development
|
A kinematic fitter using the Newton-Raphson method to solve the equations. More...
#include <NewFitterGSL.h>
Public Types | |
enum | { NPARMAX = 50 , NCONMAX = 10 , NUNMMAX = 10 } |
enum | { NITMAX = 100 } |
Public Member Functions | |
NewFitterGSL () | |
Constructor. | |
virtual | ~NewFitterGSL () |
Virtual destructor. | |
virtual double | fit () override |
The fit method, returns the fit probability. | |
virtual int | getError () const override |
Get the error code of the last fit: 0=OK, 1=failed. | |
virtual double | getProbability () const override |
Get the fit probability of the last fit. | |
virtual double | getChi2 () const override |
Get the chi**2 of the last fit. | |
virtual int | getDoF () const override |
Get the number of degrees of freedom of the last fit. | |
virtual int | getIterations () const override |
Get the number of iterations of the last fit. | |
virtual int | getNcon () const |
Get the number of hard constraints of the last fit. | |
virtual int | getNsoft () const |
Get the number of soft constraints of the last fit. | |
virtual int | getNpar () const |
Get the number of all parameters of the last fit. | |
virtual int | getNunm () const |
Get the number of unmeasured parameters of the last fit. | |
virtual bool | initialize () override |
Initialize the fitter. | |
virtual void | setDebug (int debuglevel) |
Set the Debug Level. | |
virtual int | determineLambdas (gsl_vector *vecxnew, const gsl_matrix *MatM, const gsl_vector *vecx, gsl_matrix *MatW, gsl_vector *vecw, double eps=0) |
Determine best lambda values. | |
virtual void | calc2ndOrderCorr (gsl_vector *vecdxhat, const gsl_vector *vecxnew, const gsl_matrix *MatM, gsl_matrix *MatW, gsl_vector *vecw, double eps=0) |
Calculate 2nd order correction step. | |
virtual gsl_matrix_view | calcZ (int &rankA, gsl_matrix *MatW1, gsl_matrix *MatW2, gsl_vector *vecw1, gsl_vector *vecw2, gsl_permutation *permW, double eps=0) |
Calculate null space of constraints; return value is a matrix view of MatW1, with column vectors spanning null(A) | |
virtual gsl_matrix_view | calcReducedHessian (int &rankH, gsl_matrix *MatW1, const gsl_vector *vecx, gsl_matrix *MatW2, gsl_matrix *MatW3, gsl_vector *vecw1, gsl_vector *vecw2, gsl_permutation *permW, double eps=0) |
Calculate reduced Hessian; return value is a matrix view of MatW1 giving the reduced Hessian. | |
virtual gsl_vector_view | calcReducedHessianEigenvalues (int &rankH, gsl_matrix *MatW1, const gsl_vector *vecx, gsl_matrix *MatW2, gsl_matrix *MatW3, gsl_vector *vecw1, gsl_vector *vecw2, gsl_permutation *permW, gsl_eigen_symm_workspace *eigenws, double eps=0) |
virtual double | calcChi2 () |
Calculate the chi2. | |
void | fillx (gsl_vector *vecx) |
void | fillperr (gsl_vector *vece) |
void | assembleM (gsl_matrix *MatM, const gsl_vector *vecx, bool errorpropagation=false) |
void | assembleG (gsl_matrix *MatM, const gsl_vector *vecx) |
void | scaleM (gsl_matrix *MatMscal, const gsl_matrix *MatM, const gsl_vector *vece) |
void | assembley (gsl_vector *vecy, const gsl_vector *vecx) |
void | scaley (gsl_vector *vecyscal, const gsl_vector *vecy, const gsl_vector *vece) |
int | assembleChi2Der (gsl_vector *vecy) |
void | addConstraints (gsl_vector *vecy) |
void | assembleConstDer (gsl_matrix *MatM) |
int | calcNewtonDx (gsl_vector *vecdx, gsl_vector *vecdxscal, gsl_vector *vecx, const gsl_vector *vece, gsl_matrix *MatM, gsl_matrix *MatMscal, gsl_vector *vecy, gsl_vector *vecyscal, gsl_matrix *MatW, gsl_matrix *MatW2, gsl_permutation *permW, gsl_vector *vecw) |
int | calcLimitedDx (double &alpha, double &mu, gsl_vector *vecxnew, int imode, gsl_vector *vecx, gsl_vector *vecdxhat, const gsl_vector *vecdx, const gsl_vector *vecdxscal, const gsl_vector *vece, const gsl_matrix *MatM, const gsl_matrix *MatMscal, gsl_matrix *MatW, gsl_vector *vecw) |
int | doLineSearch (double &alpha, gsl_vector *vecxnew, int imode, double phi0, double dphi0, double eta, double zeta, double mu, const gsl_vector *vecx, const gsl_vector *vecdx, const gsl_vector *vece, gsl_vector *vecw) |
double | calcMu (const gsl_vector *vecx, const gsl_vector *vece, const gsl_vector *vecdx, const gsl_vector *vecdxscal, const gsl_vector *xnew, const gsl_matrix *MatM, const gsl_matrix *MatMscal, gsl_vector *vecw) |
double | meritFunction (double mu, const gsl_vector *vecx, const gsl_vector *vece) |
double | meritFunctionDeriv (double mu, const gsl_vector *vecx, const gsl_vector *vece, const gsl_vector *vecdx, gsl_vector *vecw) |
bool | updateParams (gsl_vector *vecx) |
int | invertM () |
int | calcCovMatrix (gsl_matrix *MatW, gsl_permutation *permW, gsl_vector *vecx) |
double | calcpTLp (const gsl_vector *vecdx, const gsl_matrix *MatM, gsl_vector *vecw) |
int | solveSystem (gsl_vector *vecdxscal, double &detW, const gsl_vector *vecyscal, const gsl_matrix *MatMscal, gsl_matrix *MatW, gsl_matrix *MatW2, gsl_vector *vecw, double epsLU, double epsSV) |
solve system of equations Mscal*dxscal = yscal | |
int | solveSystemLU (gsl_vector *vecdxscal, double &detW, const gsl_vector *vecyscal, const gsl_matrix *MatMscal, gsl_matrix *MatW, gsl_vector *vecw, double eps) |
solve system of equations Mscal*dxscal = yscal using LU decomposition | |
int | solveSystemSVD (gsl_vector *vecdxscal, const gsl_vector *vecyscal, const gsl_matrix *MatMscal, gsl_matrix *MatW, gsl_matrix *MatW2, gsl_vector *vecw, double eps) |
solve system of equations Mscal*dxscal = yscal using SVD decomposition | |
virtual void | addFitObject (BaseFitObject *fitobject_) |
virtual void | addFitObject (BaseFitObject &fitobject_) |
virtual void | addConstraint (BaseConstraint *constraint_) |
virtual void | addConstraint (BaseConstraint &constraint_) |
virtual void | addHardConstraint (BaseHardConstraint *constraint_) |
virtual void | addHardConstraint (BaseHardConstraint &constraint_) |
virtual void | addSoftConstraint (BaseSoftConstraint *constraint_) |
virtual void | addSoftConstraint (BaseSoftConstraint &constraint_) |
virtual std::vector< BaseFitObject * > * | getFitObjects () |
virtual std::vector< BaseHardConstraint * > * | getConstraints () |
virtual std::vector< BaseSoftConstraint * > * | getSoftConstraints () |
virtual void | reset () |
virtual BaseTracer * | getTracer () |
virtual const BaseTracer * | getTracer () const |
virtual void | setTracer (BaseTracer *newTracer) |
virtual void | setTracer (BaseTracer &newTracer) |
virtual const double * | getGlobalCovarianceMatrix (int &idim) const |
virtual double * | getGlobalCovarianceMatrix (int &idim) |
Static Public Member Functions | |
static void | ini_gsl_permutation (gsl_permutation *&p, unsigned int size) |
static void | ini_gsl_vector (gsl_vector *&v, int unsigned size) |
static void | ini_gsl_matrix (gsl_matrix *&m, int unsigned size1, unsigned int size2) |
static void | debug_print (const gsl_matrix *m, const char *name) |
static void | debug_print (const gsl_vector *v, const char *name) |
static void | add (gsl_vector *vecz, const gsl_vector *vecx, double a, const gsl_vector *vecy) |
static bool | isfinite (const gsl_vector *vec) |
static bool | isfinite (const gsl_matrix *mat) |
static void | MoorePenroseInverse (gsl_matrix *Ainv, gsl_matrix *A, gsl_matrix *W, gsl_vector *w, double eps=0) |
Compute the Moore-Penrose pseudo-inverse A+ of A, using SVD. | |
Public Attributes | |
int | npar |
total number of parameters | |
int | ncon |
total number of hard constraints | |
int | nsoft |
total number of soft constraints | |
int | nunm |
total number of unmeasured parameters | |
int | ierr |
Error status. | |
int | nit |
Number of iterations. | |
double | fitprob |
fit probability | |
double | chi2 |
final chi2 | |
unsigned int | idim |
gsl_vector * | x |
gsl_vector * | xold |
gsl_vector * | xnew |
gsl_vector * | dx |
gsl_vector * | dxscal |
gsl_vector * | y |
gsl_vector * | yscal |
gsl_vector * | perr |
gsl_vector * | v1 |
gsl_vector * | v2 |
gsl_matrix * | M |
gsl_matrix * | Mscal |
gsl_matrix * | W |
gsl_matrix * | W2 |
gsl_matrix * | W3 |
gsl_matrix * | M1 |
gsl_matrix * | M2 |
gsl_matrix * | M3 |
gsl_matrix * | M4 |
gsl_matrix * | M5 |
gsl_matrix * | CC |
gsl_matrix * | CC1 |
gsl_matrix * | CCinv |
gsl_permutation * | permW |
gsl_eigen_symm_workspace * | eigenws |
unsigned int | eigenwsdim |
double | chi2best |
double | chi2new |
double | chi2old |
double | fvalbest |
double | scale |
double | scalebest |
double | stepsize |
double | stepbest |
double | scalevals [NITMAX] |
double | fvals [NITMAX] |
int | imerit |
bool | try2ndOrderCorr |
int | debug |
std::map< std::string, double > | traceValues |
Protected Types | |
typedef std::vector< BaseFitObject * > | FitObjectContainer |
typedef std::vector< BaseHardConstraint * > | ConstraintContainer |
typedef std::vector< BaseSoftConstraint * > | SoftConstraintContainer |
typedef FitObjectContainer::iterator | FitObjectIterator |
typedef ConstraintContainer::iterator | ConstraintIterator |
typedef SoftConstraintContainer::iterator | SoftConstraintIterator |
Protected Attributes | |
FitObjectContainer | fitobjects |
ConstraintContainer | constraints |
SoftConstraintContainer | softconstraints |
int | covDim |
dimension of global covariance matrix | |
double * | cov |
global covariance matrix of last fit problem | |
bool | covValid |
Flag whether global covariance is valid. | |
BaseTracer * | tracer |
A kinematic fitter using the Newton-Raphson method to solve the equations.
This class implements a kinematic fitter using the Newton-Raphson method to solve the system of equations arising from the Lagrange multiplier method
Author: Benno List Last update:
by:
Changelog:
Definition at line 51 of file NewFitterGSL.h.
|
protectedinherited |
Definition at line 92 of file BaseFitter.h.
|
protectedinherited |
Definition at line 96 of file BaseFitter.h.
|
protectedinherited |
Definition at line 91 of file BaseFitter.h.
|
protectedinherited |
Definition at line 95 of file BaseFitter.h.
|
protectedinherited |
Definition at line 93 of file BaseFitter.h.
|
protectedinherited |
Definition at line 97 of file BaseFitter.h.
anonymous enum |
Definition at line 252 of file NewFitterGSL.h.
anonymous enum |
Definition at line 370 of file NewFitterGSL.h.
NewFitterGSL | ( | ) |
Constructor.
Definition at line 55 of file NewFitterGSL.cc.
|
virtual |
Virtual destructor.
Definition at line 78 of file NewFitterGSL.cc.
|
static |
Definition at line 485 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 74 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 60 of file BaseFitter.cc.
void addConstraints | ( | gsl_vector * | vecy | ) |
Definition at line 773 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 54 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 48 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 89 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 83 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 101 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 95 of file BaseFitter.cc.
int assembleChi2Der | ( | gsl_vector * | vecy | ) |
Definition at line 750 of file NewFitterGSL.cc.
void assembleConstDer | ( | gsl_matrix * | MatM | ) |
Definition at line 786 of file NewFitterGSL.cc.
void assembleG | ( | gsl_matrix * | MatM, |
const gsl_vector * | vecx | ||
) |
Definition at line 657 of file NewFitterGSL.cc.
void assembleM | ( | gsl_matrix * | MatM, |
const gsl_vector * | vecx, | ||
bool | errorpropagation = false |
||
) |
Definition at line 581 of file NewFitterGSL.cc.
void assembley | ( | gsl_vector * | vecy, |
const gsl_vector * | vecx | ||
) |
Definition at line 705 of file NewFitterGSL.cc.
|
virtual |
Calculate 2nd order correction step.
vecdxhat | the correction step |
vecxnew | the current state vector (parameters must be set to vecxnew!) |
MatM | The matrix of the last Newton step |
MatW | work matrix |
vecw | work vector |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1633 of file NewFitterGSL.cc.
|
virtual |
int calcCovMatrix | ( | gsl_matrix * | MatW, |
gsl_permutation * | permW, | ||
gsl_vector * | vecx | ||
) |
Definition at line 1368 of file NewFitterGSL.cc.
int calcLimitedDx | ( | double & | alpha, |
double & | mu, | ||
gsl_vector * | vecxnew, | ||
int | imode, | ||
gsl_vector * | vecx, | ||
gsl_vector * | vecdxhat, | ||
const gsl_vector * | vecdx, | ||
const gsl_vector * | vecdxscal, | ||
const gsl_vector * | vece, | ||
const gsl_matrix * | MatM, | ||
const gsl_matrix * | MatMscal, | ||
gsl_matrix * | MatW, | ||
gsl_vector * | vecw | ||
) |
alpha | Output value alpha |
mu | Value of mu for merit function |
vecxnew | New vector x |
imode | mode: 0=Armijo, 1=Wolfe, 2=Goldstein |
vecx | Current vector x |
vecdxhat | the 2nd order correction step, if any |
vecdx | Update vector dx |
vecdxscal | Result: Update vector dx, scaled |
vece | Error vector e |
MatM | Matrix M |
MatMscal | Matrix M, scaled |
MatW | Work matrix |
vecw | Work vector w1 |
Definition at line 913 of file NewFitterGSL.cc.
double calcMu | ( | const gsl_vector * | vecx, |
const gsl_vector * | vece, | ||
const gsl_vector * | vecdx, | ||
const gsl_vector * | vecdxscal, | ||
const gsl_vector * | xnew, | ||
const gsl_matrix * | MatM, | ||
const gsl_matrix * | MatMscal, | ||
gsl_vector * | vecw | ||
) |
vecx | Current vector x |
vece | Current errors x |
vecdx | Current step dx |
vecdxscal | Current step dx, scaled |
xnew | New vector x |
MatM | Current matrix M |
MatMscal | Current scaled matrix M |
vecw | Work vector w |
Definition at line 1161 of file NewFitterGSL.cc.
int calcNewtonDx | ( | gsl_vector * | vecdx, |
gsl_vector * | vecdxscal, | ||
gsl_vector * | vecx, | ||
const gsl_vector * | vece, | ||
gsl_matrix * | MatM, | ||
gsl_matrix * | MatMscal, | ||
gsl_vector * | vecy, | ||
gsl_vector * | vecyscal, | ||
gsl_matrix * | MatW, | ||
gsl_matrix * | MatW2, | ||
gsl_permutation * | permW, | ||
gsl_vector * | vecw | ||
) |
vecdx | Result: Update vector dx |
vecdxscal | Result: Update vector dx, scaled |
vecx | Current vector x |
vece | Current `‘error’' set of x |
MatM | Matrix M |
MatMscal | Matrix M, scaled |
vecy | Vector y |
vecyscal | Vector y, scaled, |
MatW | Work matrix |
MatW2 | Work matrix |
permW | Work permutation vector |
vecw | Work vector |
Definition at line 802 of file NewFitterGSL.cc.
double calcpTLp | ( | const gsl_vector * | vecdx, |
const gsl_matrix * | MatM, | ||
gsl_vector * | vecw | ||
) |
vecdx | Current step dx |
MatM | Current matrix M |
vecw | Work vector w |
Definition at line 1613 of file NewFitterGSL.cc.
|
virtual |
Calculate reduced Hessian; return value is a matrix view of MatW1 giving the reduced Hessian.
rankH | dimension of H |
MatW1 | work matrix, contains H at the end |
vecx | vector with current x values |
MatW2 | work matrix, contains Z at the end |
MatW3 | work matrix |
vecw1 | work vector |
vecw2 | work vector |
permW | Work permutation vector |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1870 of file NewFitterGSL.cc.
|
virtual |
rankH | dimension of H |
MatW1 | work matrix, contains H at the end |
vecx | vector with current x values |
MatW2 | work matrix, contains Z at the end |
MatW3 | work matrix |
vecw1 | work vector |
vecw2 | work vector |
permW | Work permutation vector |
eigenws | Work space for eigenvalue calculation |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1914 of file NewFitterGSL.cc.
|
virtual |
Calculate null space of constraints; return value is a matrix view of MatW1, with column vectors spanning null(A)
rankA | rank of A (= number of lin. indep. constraints) |
MatW1 | work matrix, contains Z at the end |
MatW2 | work matrix |
vecw1 | work vector |
vecw2 | work vector |
permW | Work permutation vector |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1834 of file NewFitterGSL.cc.
|
static |
Definition at line 470 of file NewFitterGSL.cc.
|
static |
Definition at line 478 of file NewFitterGSL.cc.
|
virtual |
Determine best lambda values.
vecxnew | vector with new lambda values |
MatM | matrix with constraint derivatives |
vecx | vector with current x values |
MatW | work matrix |
vecw | work vector |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1482 of file NewFitterGSL.cc.
int doLineSearch | ( | double & | alpha, |
gsl_vector * | vecxnew, | ||
int | imode, | ||
double | phi0, | ||
double | dphi0, | ||
double | eta, | ||
double | zeta, | ||
double | mu, | ||
const gsl_vector * | vecx, | ||
const gsl_vector * | vecdx, | ||
const gsl_vector * | vece, | ||
gsl_vector * | vecw | ||
) |
alpha | Output value alpha |
vecxnew | New vector x |
imode | mode: 0=Armijo, 1=Wolfe, 2=Goldstein |
phi0 | Merit function for alpha=0 |
dphi0 | Directional derivative of merit function for alpha=0 |
eta | Constant for Armijo's rule |
zeta | Constant for Wolfe's or Goldstein's rule |
mu | Value of mu for merit function |
vecx | Current vector x |
vecdx | Update vector dx |
vece | Error vector e |
vecw | Work vector w |
Definition at line 1047 of file NewFitterGSL.cc.
void fillperr | ( | gsl_vector * | vece | ) |
Definition at line 556 of file NewFitterGSL.cc.
void fillx | ( | gsl_vector * | vecx | ) |
Definition at line 538 of file NewFitterGSL.cc.
|
overridevirtual |
The fit method, returns the fit probability.
Implements BaseFitter.
Definition at line 143 of file NewFitterGSL.cc.
|
overridevirtual |
Get the chi**2 of the last fit.
Implements BaseFitter.
Definition at line 432 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 112 of file BaseFitter.cc.
|
overridevirtual |
Get the number of degrees of freedom of the last fit.
Implements BaseFitter.
Definition at line 433 of file NewFitterGSL.cc.
|
overridevirtual |
Get the error code of the last fit: 0=OK, 1=failed.
Implements BaseFitter.
Definition at line 430 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 107 of file BaseFitter.cc.
|
virtualinherited |
|
virtualinherited |
|
overridevirtual |
Get the number of iterations of the last fit.
Implements BaseFitter.
Definition at line 434 of file NewFitterGSL.cc.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Get the number of unmeasured parameters of the last fit.
Definition at line 499 of file NewFitterGSL.cc.
|
overridevirtual |
Get the fit probability of the last fit.
Implements BaseFitter.
Definition at line 431 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 117 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 130 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 134 of file BaseFitter.cc.
|
static |
Definition at line 459 of file NewFitterGSL.cc.
|
static |
Definition at line 436 of file NewFitterGSL.cc.
|
static |
Definition at line 447 of file NewFitterGSL.cc.
|
overridevirtual |
Initialize the fitter.
Implements BaseFitter.
Definition at line 335 of file NewFitterGSL.cc.
int invertM | ( | ) |
Definition at line 1342 of file NewFitterGSL.cc.
|
static |
Definition at line 528 of file NewFitterGSL.cc.
|
static |
Definition at line 520 of file NewFitterGSL.cc.
double meritFunction | ( | double | mu, |
const gsl_vector * | vecx, | ||
const gsl_vector * | vece | ||
) |
mu | Value of mu |
vecx | Current vector x |
vece | Current errors x |
Definition at line 1249 of file NewFitterGSL.cc.
double meritFunctionDeriv | ( | double | mu, |
const gsl_vector * | vecx, | ||
const gsl_vector * | vece, | ||
const gsl_vector * | vecdx, | ||
gsl_vector * | vecw | ||
) |
mu | Value of mu |
vecx | Current vector x |
vece | Current errors x |
vecdx | Current update vector dx |
vecw | work vector |
Definition at line 1284 of file NewFitterGSL.cc.
|
static |
Compute the Moore-Penrose pseudo-inverse A+ of A, using SVD.
Ainv | Result: m x n matrix A+ |
A | Input: n x m matrix A, n >= m (is destroyed!) |
W | Work matrix, at least m x m |
w | Work vector w, at least m |
eps | Singular values < eps*(max(abs(s_i))) are set to 0 |
Definition at line 1569 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 122 of file BaseFitter.cc.
void scaleM | ( | gsl_matrix * | MatMscal, |
const gsl_matrix * | MatM, | ||
const gsl_vector * | vece | ||
) |
Definition at line 687 of file NewFitterGSL.cc.
void scaley | ( | gsl_vector * | vecyscal, |
const gsl_vector * | vecy, | ||
const gsl_vector * | vece | ||
) |
Definition at line 737 of file NewFitterGSL.cc.
|
virtual |
Set the Debug Level.
Definition at line 1362 of file NewFitterGSL.cc.
|
virtualinherited |
Definition at line 143 of file BaseFitter.cc.
|
virtualinherited |
Definition at line 138 of file BaseFitter.cc.
int solveSystem | ( | gsl_vector * | vecdxscal, |
double & | detW, | ||
const gsl_vector * | vecyscal, | ||
const gsl_matrix * | MatMscal, | ||
gsl_matrix * | MatW, | ||
gsl_matrix * | MatW2, | ||
gsl_vector * | vecw, | ||
double | epsLU, | ||
double | epsSV | ||
) |
solve system of equations Mscal*dxscal = yscal
Definition at line 1704 of file NewFitterGSL.cc.
int solveSystemLU | ( | gsl_vector * | vecdxscal, |
double & | detW, | ||
const gsl_vector * | vecyscal, | ||
const gsl_matrix * | MatMscal, | ||
gsl_matrix * | MatW, | ||
gsl_vector * | vecw, | ||
double | eps | ||
) |
solve system of equations Mscal*dxscal = yscal using LU decomposition
Definition at line 1739 of file NewFitterGSL.cc.
int solveSystemSVD | ( | gsl_vector * | vecdxscal, |
const gsl_vector * | vecyscal, | ||
const gsl_matrix * | MatMscal, | ||
gsl_matrix * | MatW, | ||
gsl_matrix * | MatW2, | ||
gsl_vector * | vecw, | ||
double | eps | ||
) |
solve system of equations Mscal*dxscal = yscal using SVD decomposition
Definition at line 1793 of file NewFitterGSL.cc.
bool updateParams | ( | gsl_vector * | vecx | ) |
Definition at line 502 of file NewFitterGSL.cc.
gsl_matrix* CC |
Definition at line 353 of file NewFitterGSL.h.
gsl_matrix* CC1 |
Definition at line 354 of file NewFitterGSL.h.
gsl_matrix* CCinv |
Definition at line 355 of file NewFitterGSL.h.
double chi2 |
final chi2
Definition at line 262 of file NewFitterGSL.h.
double chi2best |
Definition at line 362 of file NewFitterGSL.h.
double chi2new |
Definition at line 363 of file NewFitterGSL.h.
double chi2old |
Definition at line 364 of file NewFitterGSL.h.
|
protectedinherited |
Definition at line 100 of file BaseFitter.h.
|
protectedinherited |
global covariance matrix of last fit problem
Definition at line 104 of file BaseFitter.h.
|
protectedinherited |
dimension of global covariance matrix
Definition at line 103 of file BaseFitter.h.
|
protectedinherited |
Flag whether global covariance is valid.
Definition at line 105 of file BaseFitter.h.
int debug |
Definition at line 377 of file NewFitterGSL.h.
gsl_vector* dx |
Definition at line 331 of file NewFitterGSL.h.
gsl_vector* dxscal |
Definition at line 332 of file NewFitterGSL.h.
gsl_eigen_symm_workspace* eigenws |
Definition at line 358 of file NewFitterGSL.h.
unsigned int eigenwsdim |
Definition at line 360 of file NewFitterGSL.h.
|
protectedinherited |
Definition at line 99 of file BaseFitter.h.
double fitprob |
fit probability
Definition at line 261 of file NewFitterGSL.h.
double fvalbest |
Definition at line 365 of file NewFitterGSL.h.
double fvals[NITMAX] |
Definition at line 372 of file NewFitterGSL.h.
unsigned int idim |
Definition at line 326 of file NewFitterGSL.h.
int ierr |
Error status.
Definition at line 258 of file NewFitterGSL.h.
int imerit |
Definition at line 374 of file NewFitterGSL.h.
gsl_matrix* M |
Definition at line 341 of file NewFitterGSL.h.
gsl_matrix* M1 |
Definition at line 347 of file NewFitterGSL.h.
gsl_matrix* M2 |
Definition at line 348 of file NewFitterGSL.h.
gsl_matrix* M3 |
Definition at line 349 of file NewFitterGSL.h.
gsl_matrix* M4 |
Definition at line 350 of file NewFitterGSL.h.
gsl_matrix* M5 |
Definition at line 351 of file NewFitterGSL.h.
gsl_matrix* Mscal |
Definition at line 342 of file NewFitterGSL.h.
int ncon |
total number of hard constraints
Definition at line 255 of file NewFitterGSL.h.
int nit |
Number of iterations.
Definition at line 259 of file NewFitterGSL.h.
int npar |
total number of parameters
Definition at line 254 of file NewFitterGSL.h.
int nsoft |
total number of soft constraints
Definition at line 256 of file NewFitterGSL.h.
int nunm |
total number of unmeasured parameters
Definition at line 257 of file NewFitterGSL.h.
gsl_permutation* permW |
Definition at line 357 of file NewFitterGSL.h.
gsl_vector* perr |
Definition at line 336 of file NewFitterGSL.h.
double scale |
Definition at line 366 of file NewFitterGSL.h.
double scalebest |
Definition at line 367 of file NewFitterGSL.h.
double scalevals[NITMAX] |
Definition at line 371 of file NewFitterGSL.h.
|
protectedinherited |
Definition at line 101 of file BaseFitter.h.
double stepbest |
Definition at line 369 of file NewFitterGSL.h.
double stepsize |
Definition at line 368 of file NewFitterGSL.h.
|
protectedinherited |
Definition at line 108 of file BaseFitter.h.
|
inherited |
Definition at line 112 of file BaseFitter.h.
bool try2ndOrderCorr |
Definition at line 375 of file NewFitterGSL.h.
gsl_vector* v1 |
Definition at line 337 of file NewFitterGSL.h.
gsl_vector* v2 |
Definition at line 338 of file NewFitterGSL.h.
gsl_matrix* W |
Definition at line 343 of file NewFitterGSL.h.
gsl_matrix* W2 |
Definition at line 344 of file NewFitterGSL.h.
gsl_matrix* W3 |
Definition at line 345 of file NewFitterGSL.h.
gsl_vector* x |
Definition at line 327 of file NewFitterGSL.h.
gsl_vector* xnew |
Definition at line 329 of file NewFitterGSL.h.
gsl_vector* xold |
Definition at line 328 of file NewFitterGSL.h.
gsl_vector* y |
Definition at line 334 of file NewFitterGSL.h.
gsl_vector* yscal |
Definition at line 335 of file NewFitterGSL.h.