19 #ifndef __SOFTGAUSSPARTICLECONSTRAINT_H
20 #define __SOFTGAUSSPARTICLECONSTRAINT_H
77 virtual void setFOList(std::vector <ParticleFitObject*> *fitobjects_
79 for (
int i = 0; i < (int) fitobjects_->size(); i++) {
88 flags.push_back (flag);
100 virtual double getChi2()
const;
109 virtual double setSigma(
double sigma_
132 void test1stDerivatives ();
133 void test2ndDerivatives ();
149 int getVarBasis()
const;
181 enum { VAR_BASIS=BaseDefs::VARBASIS_EPXYZ };
185 #endif // __SOFTGAUSSPARTICLECONSTRAINT_H
virtual void setFOList(std::vector< ParticleFitObject * > *fitobjects_)
Adds several ParticleFitObject objects to the list.
Definition: SoftGaussParticleConstraint.h:77
Abstract base class for constraints of kinematic fits.
Definition: SoftGaussParticleConstraint.h:68
SoftGaussParticleConstraint(double sigma_)
Creates an empty SoftGaussParticleConstraint object.
Definition: SoftGaussParticleConstraint.cc:32
double sigma
The sigma of the Gaussian.
Definition: SoftGaussParticleConstraint.h:179
double num1stDerivative(int ifo, int ilocal, double eps)
Evaluates numerically the 1st derivative w.r.t. a parameter.
Definition: SoftGaussParticleConstraint.cc:310
virtual bool firstDerivatives(int i, double *derivatives) const =0
First derivatives with respect to the 4-vector of Fit objects i; result false if all derivatives are ...
virtual double getChi2() const
Returns the chi2.
Definition: SoftGaussParticleConstraint.cc:49
std::vector< int > flags
The flags can be used to divide the FitObjectContainer into several subsets used for example to imple...
Definition: SoftGaussParticleConstraint.h:176
std::vector< double > derivatives
The derivatives.
Definition: SoftGaussParticleConstraint.h:173
virtual void getDerivatives(int idim, double der[]) const =0
Get first order derivatives.
virtual void addToGlobalChi2DerVector(double *y, int idim) const
Add derivatives of chi squared to global derivative matrix.
Definition: SoftGaussParticleConstraint.cc:242
virtual double getSigma() const
Returns the sigma.
Definition: SoftGaussParticleConstraint.cc:38
virtual void add2ndDerivativesToMatrix(double *M, int idim) const
Adds second order derivatives to global covariance matrix M.
Definition: SoftGaussParticleConstraint.cc:90
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
virtual void resetFOList()
Resests ParticleFitObject list.
Definition: SoftGaussParticleConstraint.h:91
Abstract base class for soft constraints of kinematic fits.
Definition: BaseSoftConstraint.h:64
std::vector< ParticleFitObject * > FitObjectContainer
Vector of pointers to ParticleFitObjects.
Definition: SoftGaussParticleConstraint.h:165
FitObjectContainer::const_iterator ConstFitObjectIterator
Constant iterator through vector of pointers to ParticleFitObjects.
Definition: SoftGaussParticleConstraint.h:169
virtual void invalidateCache() const
Invalidates any cached values for the next event.
Definition: SoftGaussParticleConstraint.h:129
Declares class BaseFitObject.
FitObjectContainer fitobjects
The FitObjectContainer.
Definition: SoftGaussParticleConstraint.h:171
virtual ~SoftGaussParticleConstraint()
Virtual destructor.
Definition: SoftGaussParticleConstraint.h:74
Declares class BaseSoftConstraint.
virtual double getValue() const =0
Returns the value of the constraint function.
virtual double setSigma(double sigma_)
Sets the sigma.
Definition: SoftGaussParticleConstraint.cc:43
virtual double getError() const
Returns the error on the value of the constraint.
Definition: SoftGaussParticleConstraint.cc:54
FitObjectContainer::iterator FitObjectIterator
Iterator through vector of pointers to ParticleFitObjects.
Definition: SoftGaussParticleConstraint.h:167
virtual void addToFOList(ParticleFitObject &fitobject, int flag=1)
Adds one ParticleFitObject objects to the list.
Definition: SoftGaussParticleConstraint.h:85
virtual bool secondDerivatives(int i, int j, double *derivatives) const =0
Second derivatives with respect to the 4-vectors of Fit objects i and j; result false if all derivati...
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: SoftGaussParticleConstraint.cc:323