 |
Belle II Software
release-05-02-19
|
12 #include <analysis/VertexFitting/TreeFitter/ParticleBase.h>
13 #include <analysis/VertexFitting/TreeFitter/RecoTrack.h>
15 namespace TreeFitter {
18 class InternalParticle :
public ParticleBase {
25 const ConstraintConfiguration& config,
51 virtual int dim()
const override;
54 virtual int type()
const override {
return kInternalParticle ; }
57 virtual int posIndex()
const override;
60 virtual int tauIndex()
const override;
63 virtual int momIndex()
const override;
66 virtual bool hasEnergy()
const override {
return true ; }
bool m_massconstraint
has mass cosntraint
bool m_isconversion
is conversion
ErrCode projectKineConstraint(const FitParams &, Projection &) const
project kinematical constraint
virtual bool hasEnergy() const override
has energy in fitparams
virtual void forceP4Sum(FitParams &) const override
enforce conservation of momentum sum
virtual int type() const override
type
ParticleBase(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration *config)
default constructor
bool m_lifetimeconstraint
has lifetime constraint
bool m_automatic_vertex_constraining
automatically figure out if mother and particle vertex should be the same and also add geometric cons...
abstract errorocode be aware that the default is succes
virtual int tauIndex() const override
tau index in fit params only if it has a mother
Class to store and manage fitparams (statevector)
bool m_shares_vertex_with_mother
shares vertex with mother, that means decay vertex = productionvertex
virtual void addToConstraintList(constraintlist &list, int depth) const override
add to constraint list
reprasentation of all charged final states FIXME rename since this name is taken in tracking
Type
type of constraints the order of these constraints is important: it is the order in which they are ap...
int index() const
get index
virtual ErrCode initMotherlessParticle(FitParams &fitparams) override
init particle in case it has no mother
virtual int dim() const override
space reserved in fit params, if has mother then it has tau
virtual ErrCode initParticleWithMother(FitParams &fitparams) override
init particle in case it has a mother
ErrCode projectConstraint(const Constraint::Type type, const FitParams &fitparams, Projection &p) const override
find out which constraint it is and project
virtual std::string parname(int index) const override
name
void setMassConstraint(bool b)
set mass constraint flag
static bool compTrkTransverseMomentum(const RecoTrack *lhs, const RecoTrack *rhs)
compare transverse track momentum
std::vector< Constraint > constraintlist
alias
Class to store reconstructed particles.
virtual int momIndex() const override
momentum index in fit params depending on whether it has a mother
ErrCode initMomentum(FitParams &fitparams) const
init momentum of *this and daughters
virtual ~InternalParticle()
destructor
const ParticleBase * mother() const
getMother() / hasMother()
bool m_geo_constraint
use a geo metric constraint
virtual bool hasPosition() const override
has position index
InternalParticle(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration &config, bool forceFitAll)
constructor
double phidomain(const double)
rotate in positive phi domain
virtual ErrCode initCovariance(FitParams &) const override
init covariance
Belle2::Particle * particle() const
get basf2 particle
class to store the projected residuals and the corresponding jacobian as well as the covariance matri...
virtual int posIndex() const override
position index in fit params