Belle II Software development
|
class to manage the order of constraints and their filtering More...
#include <Constraint.h>
Public Types | |
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 | |
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 | |
Constraint () | |
constructor | |
Constraint (const ParticleBase *node, Type type, int depth, unsigned int dim, int maxniter=1) | |
constructor | |
virtual | ~Constraint () |
destructor | |
virtual ErrCode | project (const FitParams &fitpar, Projection &p) const |
call the constraints projection function | |
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 | |
Constraint (Constraint::Type type) | |
constructor | |
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 | |
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 | |
class to manage the order of constraints and their filtering
Definition at line 20 of file Constraint.h.
enum Type |
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 |
constructor
Definition at line 70 of file Constraint.h.
|
inline |
constructor
Definition at line 79 of file Constraint.h.
|
inlinevirtual |
|
inlineexplicitprotected |
constructor
Definition at line 114 of file Constraint.h.
|
inline |
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.
|
inline |
std::string name | ( | ) | const |
get name of constraint
Definition at line 124 of file Constraint.cc.
|
inline |
bool operator< | ( | const Constraint & | rhs | ) | const |
operator used to sort the constraints
Definition at line 17 of file Constraint.cc.
|
inline |
|
virtual |
call the constraints projection function
Reimplemented in MergedConstraint.
Definition at line 23 of file Constraint.cc.
|
inlineprotected |
|
inlineprotected |
set max number of iterations for non lin constraint
Definition at line 126 of file Constraint.h.
|
inline |
used to be able to weight the constraints
Definition at line 109 of file Constraint.h.
|
inline |
|
private |
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.
|
private |
dimension of constraint
Definition at line 143 of file Constraint.h.
|
private |
maximum number of iterations for non-linear constraints
Definition at line 149 of file Constraint.h.
|
private |
particle behind the constraint
Definition at line 131 of file Constraint.h.
|
private |
type of constraint
Definition at line 140 of file Constraint.h.
|
private |
weight of this constraint currently we set them all to unity
Definition at line 146 of file Constraint.h.