19 #ifndef __BASEHARDCONSTRAINT_H
20 #define __BASEHARDCONSTRAINT_H
93 virtual double dirDer (
double *p,
116 virtual int getVarBasis()
const = 0;
119 virtual double getValue()
const = 0;
138 virtual void printFirstDerivatives()
const;
139 virtual void printSecondDerivatives()
const;
141 virtual void test1stDerivatives ();
142 virtual void test2ndDerivatives ();
183 BaseHardConstraint::BaseHardConstraint()
184 : fitobjects( FitObjectContainer() ), derivatives( std::vector <double> () ), flags( std::vector <int> () ), globalNum(0)
188 #endif // __BASEHARDCONSTRAINT_H
FitObjectContainer::iterator FitObjectIterator
Iterator through vector of pointers to ParticleFitObjects.
Definition: BaseHardConstraint.h:167
virtual void add1stDerivativesToMatrix(double *M, int idim) const
Adds first order derivatives to global covariance matrix M.
Definition: BaseHardConstraint.cc:32
Declares class BaseConstraint.
virtual void add2ndDerivativesToMatrix(double *M, int idim, double lambda) const
Adds second order derivatives to global covariance matrix M.
Definition: BaseHardConstraint.cc:69
virtual double getError() const
Returns the error on the value of the constraint.
Definition: BaseHardConstraint.cc:205
std::vector< BaseFitObject * > FitObjectContainer
Vector of pointers to ParticleFitObjects.
Definition: BaseHardConstraint.h:165
virtual int getGlobalNum() const
Accesses position of constraint in global constraint list.
Definition: BaseHardConstraint.h:131
FitObjectContainer fitobjects
The FitObjectContainer.
Definition: BaseHardConstraint.h:171
int globalNum
Position of constraint in global constraint list.
Definition: BaseHardConstraint.h:179
std::vector< int > flags
The flags can be used to divide the FitObjectContainer into several subsets used for example to imple...
Definition: BaseHardConstraint.h:176
Abstract base class for constraints of kinematic fits.
Definition: BaseHardConstraint.h:69
virtual double num1stDerivative(int ifo, int ilocal, double eps)
Evaluates numerically the 1st derivative w.r.t. a parameter.
Definition: BaseHardConstraint.cc:292
virtual void addToGlobalChi2DerVector(double *y, int idim, double lambda) const
Add lambda times derivatives of chi squared to global derivative vector.
Definition: BaseHardConstraint.cc:193
virtual bool secondDerivatives(int i, int j, double *derivatives) const =0
Second derivatives with respect to the meta-variables of Fit objects i and j; result false if all der...
virtual ~BaseHardConstraint()
Virtual destructor.
Definition: BaseHardConstraint.cc:28
virtual bool firstDerivatives(int i, double *derivatives) const =0
First derivatives with respect to the meta-variables of Fit objects i; result false if all derivative...
virtual double getValue() const =0
Returns the value of the constraint.
virtual void getDerivatives(int idim, double der[]) const =0
Get first order derivatives.
Declares class BaseFitObject.
virtual double dirDerAbs(double *p, double *w, int idim, double mu=1)
Calculate directional derivative for abs(c)
Definition: BaseHardConstraint.cc:228
Abstract base class for constraints of kinematic fits.
Definition: BaseConstraint.h:85
std::vector< double > derivatives
The derivatives.
Definition: BaseHardConstraint.h:173
FitObjectContainer::const_iterator ConstFitObjectIterator
Constant iterator through vector of pointers to ParticleFitObjects.
Definition: BaseHardConstraint.h:169
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110
virtual double dirDer(double *p, double *w, int idim, double mu=1)
Calculate directional derivative.
Definition: BaseHardConstraint.cc:219
virtual void setGlobalNum(int iglobal)
Sets position of constraint in global constraint list.
Definition: BaseHardConstraint.h:134
virtual double num2ndDerivative(int ifo1, int ilocal1, double eps1, int ifo2, int ilocal2, double eps2)
Evaluates numerically the 2nd derivative w.r.t. 2 parameters.
Definition: BaseHardConstraint.cc:305