MarlinKinfit  0.4.0
SoftGaussMomentumConstraint.h
Go to the documentation of this file.
1 
16 #ifndef __SOFTGAUSSMOMENTUMCONSTRAINT_H
17 #define __SOFTGAUSSMOMENTUMCONSTRAINT_H
18 
20 
21 class ParticleFitObject;
22 
23 // Class SoftGaussMomentumConstraint:
25 
41  public:
42 
44  SoftGaussMomentumConstraint (double sigma_,
45  double efact_ ,
46  double pxfact_,
47  double pyfact_,
48  double pzfact_,
49  double value_ = 0
50  );
53 
55  virtual double getValue() const;
56 
59  virtual void getDerivatives(int idim,
60  double der[]
61  ) const;
62 
63  protected:
64 
65 
66  double efact;
67  double pxfact;
68  double pyfact;
69  double pzfact;
70  double value;
71 
72 
74  virtual bool secondDerivatives (int i,
75  int j,
76  double *derivatives
77  ) const;
79  virtual bool firstDerivatives (int i,
80  double *derivatives
81  ) const;
82 };
83 
84 #endif // __SOFTGAUSSMOMENTUMCONSTRAINT_H
Abstract base class for constraints of kinematic fits.
Definition: SoftGaussParticleConstraint.h:68
virtual bool secondDerivatives(int i, int j, double *derivatives) const
Second derivatives with respect to the 4-vectors of Fit objects i and j; result false if all derivati...
Definition: SoftGaussMomentumConstraint.cc:89
std::vector< double > derivatives
The derivatives.
Definition: SoftGaussParticleConstraint.h:173
SoftGaussMomentumConstraint(double sigma_, double efact_, double pxfact_, double pyfact_, double pzfact_, double value_=0)
Constructor.
Definition: SoftGaussMomentumConstraint.cc:28
Declares class SoftGaussParticleConstraint.
virtual bool firstDerivatives(int i, double *derivatives) const
First derivatives with respect to the 4-vector of Fit objects i; result false if all derivatives are ...
Definition: SoftGaussMomentumConstraint.cc:81
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
virtual ~SoftGaussMomentumConstraint()
Virtual destructor.
Definition: SoftGaussMomentumConstraint.cc:39
Implements a soft constraint with chi^2=((efact*sum(E_i) + pxfact*sum(p_x,i)+pyfact*sum(p_y,i)+pzfact*sum(p_z,i)-value)/sigma)^2.
Definition: SoftGaussMomentumConstraint.h:40
virtual void getDerivatives(int idim, double der[]) const
Get first order derivatives.
Definition: SoftGaussMomentumConstraint.cc:63
virtual double getValue() const
Returns the value of the constraint function.
Definition: SoftGaussMomentumConstraint.cc:44