Belle II Software development
|
Merge multiple constraints that we want to project simultaneously. More...
#include <MergedConstraint.h>
Public Types | |
typedef std::vector< Constraint * > | constraintlist |
typedef of a list of constraints | |
enum | Type { unknown = 0 , beamenergy , beamspot , beam , origin , lifetime , resonance , composite , track , photon , klong , conversion , kinematic , geometric , mass , massEnergy , merged , ntypes , helix } |
type of constraints the order of these constraints is important: it is the order in which they are applied. More... | |
Public Member Functions | |
MergedConstraint () | |
empty constructor | |
virtual | ~MergedConstraint () |
destructor | |
MergedConstraint (const constraintlist &list) | |
constructor with constraint list | |
virtual ErrCode | project (const FitParams &fitpar, Projection &p) const override |
project the constraints | |
void | push_back (Constraint *c) |
push back a new constraint | |
bool | operator< (const Constraint &rhs) const |
operator used to sort the constraints | |
bool | operator== (const Constraint &rhs) const |
operator | |
Type | type () const |
get type of constraint | |
unsigned int | dim () const |
get dimension of constraint | |
bool | isLinear () const |
is this a linear constraint | |
unsigned int | nIter () const |
get maximum number of iterations for non in constraint | |
virtual ErrCode | filter (FitParams &fitpar) |
filter this constraint | |
virtual ErrCode | filterWithReference (FitParams &fitpar, const FitParams &oldState) |
filter this constraint | |
std::string | name () const |
get name of constraint | |
void | setWeight (int w) |
used to be able to weight the constraints | |
Protected Member Functions | |
void | setDim (unsigned int d) |
set dimension of constraint | |
void | setNIter (unsigned int d) |
set max number of iterations for non lin constraint | |
Private Attributes | |
constraintlist | m_list |
list of the constraints to merge | |
const ParticleBase * | m_node |
particle behind the constraint | |
int | m_depth |
chi2 coming from the constraint | |
Type | m_type |
type of constraint | |
unsigned int | m_dim |
dimension of constraint | |
int | m_weight |
weight of this constraint currently we set them all to unity | |
int | m_maxNIter |
maximum number of iterations for non-linear constraints | |
Merge multiple constraints that we want to project simultaneously.
As of release-00-08-00 this causes issues when referencing, see DecayChain.cc
Definition at line 18 of file MergedConstraint.h.
typedef std::vector<Constraint*> constraintlist |
typedef of a list of constraints
Definition at line 21 of file MergedConstraint.h.
|
inherited |
type of constraints the order of these constraints is important: it is the order in which they are applied.
Definition at line 27 of file Constraint.h.
|
inline |
empty constructor
Definition at line 24 of file MergedConstraint.h.
|
inlinevirtual |
|
inlineexplicit |
constructor with constraint list
Definition at line 28 of file MergedConstraint.h.
|
inlineinherited |
filter this constraint
We don't have reference state yet so we use the k-1 last state to linearize non-linear constraints
Definition at line 28 of file Constraint.cc.
filter this constraint
We now linearise around the last iteration (const FitParams& oldState) In this implementation we can no longer linearize non-linear constraints but we ensured by the linearisation around the last state that the step size is small enough so we just use them as if they were linear
here we project the old state and use only the change with respect to the new state instead of the new state in the update . the advantage is more stable fit Downside: non-linear constraints can't be filtered multiple times anymore.
Definition at line 83 of file Constraint.cc.
|
inlineinherited |
|
inherited |
get name of constraint
Definition at line 124 of file Constraint.cc.
|
inlineinherited |
|
inherited |
operator used to sort the constraints
Definition at line 17 of file Constraint.cc.
|
inlineinherited |
|
overridevirtual |
project the constraints
Reimplemented from Constraint.
Definition at line 19 of file MergedConstraint.cc.
|
inline |
push back a new constraint
Definition at line 43 of file MergedConstraint.h.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
set max number of iterations for non lin constraint
Definition at line 126 of file Constraint.h.
|
inlineinherited |
used to be able to weight the constraints
Definition at line 109 of file Constraint.h.
|
inlineinherited |
|
privateinherited |
chi2 coming from the constraint
depth of the constraint in the tree (determines for example the order of the track constraints)
Definition at line 137 of file Constraint.h.
|
privateinherited |
dimension of constraint
Definition at line 143 of file Constraint.h.
|
private |
list of the constraints to merge
Definition at line 53 of file MergedConstraint.h.
|
privateinherited |
maximum number of iterations for non-linear constraints
Definition at line 149 of file Constraint.h.
|
privateinherited |
particle behind the constraint
Definition at line 131 of file Constraint.h.
|
privateinherited |
type of constraint
Definition at line 140 of file Constraint.h.
|
privateinherited |
weight of this constraint currently we set them all to unity
Definition at line 146 of file Constraint.h.