17#ifndef __OPALFITTERGSL_H
18#define __OPALFITTERGSL_H
21#include "analysis/OrcaKinFit/BaseFitter.h"
23#include <gsl/gsl_vector.h>
24#include <gsl/gsl_matrix.h>
25#include <gsl/gsl_permutation.h>
33 namespace OrcaKinFit {
92 virtual double fit()
override;
104 virtual int getError()
const override;
109 virtual double getChi2()
const override;
111 virtual int getDoF()
const override;
127 virtual bool initialize()
override;
130 virtual void setDebug(
int debuglevel);
135 virtual bool updateFitObjects(
double etaxi[]);
136 enum {NPARMAX = 50, NCONMAX = 20, NUNMMAX = 20};
148 static void ini_gsl_permutation(gsl_permutation*& p,
unsigned int size);
149 static void ini_gsl_vector(gsl_vector*& v,
int unsigned size);
150 static void ini_gsl_matrix(gsl_matrix*& m,
int unsigned size1,
unsigned int size2);
152 static void debug_print(gsl_matrix* m,
const char* name);
153 static void debug_print(gsl_vector* v,
const char* name);
162 gsl_matrix* SinvFeta;
178 gsl_vector* FetaTlambda;
183 gsl_vector* Vinvy_eta;
Abstract base class for fitting engines of kinematic fits.
Description of the fit algorithm and interface:
gsl_permutation * permU
Helper permutation vector.
virtual int getNsoft() const
Get the number of soft constraints of the last fit.
gsl_permutation * permV
Helper permutation vector.
virtual double fit() override
virtual int getNcon() const
Get the number of hard constraints of the last fit.
virtual int getError() const override
Return error code.
virtual int getNunm() const
Get the number of unmeasured parameters of the last fit.
virtual int getIterations() const override
Get the number of iterations of the last fit.
virtual double getProbability() const override
Get the fit probability of the last fit.
virtual void setDebug(int debuglevel)
Set the Debug Level.
virtual int getDoF() const override
Get the number of degrees of freedom of the last fit.
virtual double getChi2() const override
Get the chi**2 of the last fit.
virtual int getNpar() const
Get the number of all parameters of the last fit.
gsl_permutation * permS
Helper permutation vector.
Abstract base class for different kinds of events.