|
| MassConstraint (double mass_=0.) |
| Constructor. More...
|
|
virtual | ~MassConstraint () |
| Virtual destructor.
|
|
virtual double | getValue () const override |
| Returns the value of the constraint.
|
|
virtual void | getDerivatives (int idim, double der[]) const override |
| Get first order derivatives. More...
|
|
virtual double | getMass (int flag=1) |
| Get the actual invariant mass of the fit objects with a given flag. More...
|
|
virtual void | setMass (double mass_) |
| Sets the target mass of the constraint. More...
|
|
virtual int | getVarBasis () const override |
|
virtual void | setFOList (std::vector< ParticleFitObject * > *fitobjects_) |
| Adds several ParticleFitObject objects to the list. More...
|
|
virtual void | addToFOList (ParticleFitObject &fitobject, int flag=1) |
| Adds one ParticleFitObject objects to the list.
|
|
virtual void | resetFOList () |
| Resests ParticleFitObject list.
|
|
virtual void | invalidateCache () const |
| Invalidates any cached values for the next event.
|
|
virtual void | add1stDerivativesToMatrix (double *M, int idim) const |
| Adds first order derivatives to global covariance matrix M. More...
|
|
virtual void | add2ndDerivativesToMatrix (double *M, int idim, double lambda) const |
| Adds second order derivatives to global covariance matrix M. More...
|
|
virtual void | addToGlobalChi2DerVector (double *y, int idim, double lambda) const |
| Add lambda times derivatives of chi squared to global derivative vector. More...
|
|
virtual double | dirDer (double *p, double *w, int idim, double mu=1) |
| Calculate directional derivative. More...
|
|
virtual double | dirDerAbs (double *p, double *w, int idim, double mu=1) |
| Calculate directional derivative for abs(c) More...
|
|
virtual double | getError () const override |
| Returns the error on the value of the constraint.
|
|
virtual int | getGlobalNum () const |
| Accesses position of constraint in global constraint list.
|
|
virtual void | setGlobalNum (int iglobal) |
| Sets position of constraint in global constraint list. More...
|
|
virtual void | printFirstDerivatives () const |
|
virtual void | printSecondDerivatives () const |
|
virtual void | test1stDerivatives () |
|
virtual void | test2ndDerivatives () |
|
virtual double | num1stDerivative (int ifo, int ilocal, double eps) |
| Evaluates numerically the 1st derivative w.r.t. a parameter. More...
|
|
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. More...
|
|
virtual const char * | getName () const |
| Returns the name of the constraint.
|
|
void | setName (const char *name_) |
| Set object's name.
|
|
virtual std::ostream & | print (std::ostream &os) const |
| print object to ostream More...
|
|
Implements constraint 0 = mass1 - mass2 - m.
This class implements different mass constraints:
- the invariant mass of several objects should be m
- the difference of the invariant masses between two sets of objects should be m (normally m=0 in this case).
Author: Jenny List, Benno List Last update:
- Date
- 2008/02/12 11:03:32
by:
- Author
- blist
Definition at line 46 of file MassConstraint.h.
void add2ndDerivativesToMatrix |
( |
double * |
M, |
|
|
int |
idim, |
|
|
double |
lambda |
|
) |
| const |
|
virtualinherited |
Adds second order derivatives to global covariance matrix M.
Calculates the second derivative of the constraint g w.r.t.
the various parameters, multiplies it by lambda and adds it to the global covariance matrix
in case of particlefitobject: We denote with P_i the 4-vector of the i-th ParticleFitObject, then $$ \frac{\partial ^2 g}{\partial a_k \partial a_l} = \sum_i \sum_j \frac{\partial ^2 g}{\partial P_i \partial P_j} \cdot \frac{\partial P_i}{\partial a_k} \cdot \frac{\partial P_j}{\partial a_l}
- \sum_i \frac{\partial g}{\partial P_i} \cdot \frac{\partial^2 P_i}{\partial a_k \partial a_l} $$ Here, $\frac{\partial P_i}{\partial a_k}$ is a $4 \times n_i$ Matrix, where $n_i$ is the number of parameters of FitObject i; Correspondingly, $\frac{\partial^2 P_i}{\partial a_k \partial a_l}$ is a $4 \times n_i \times n_i$ matrix. Also, $\frac{\partial ^2 g}{\partial P_i \partial P_j}$ is a $4\times 4$ matrix for a given i and j, and $\frac{\partial g}{\partial P_i}$ is a 4-vector (though not a Lorentz-vector!).
but here it's been generalised
First, treat the part $$ \frac{\partial ^2 g}{\partial P_i \partial P_j} \cdot \frac{\partial P_i}{\partial a_k} \cdot \frac{\partial P_j}{\partial a_l} $$
Second, treat the part $$ \sum_i \frac{\partial g}{\partial P_i} \cdot \frac{\partial^2 P_i}{\partial a_k \partial a_l} $$ Here, $\frac{\partial g}{\partial P_i}$ is a 4-vector, which we pass on to the FitObject
- Parameters
-
M | Global covariance matrix, dimension at least idim x idim |
idim | First dimension of array der |
lambda | Lagrange multiplier for this constraint |
Definition at line 75 of file BaseHardConstraint.cc.