11 #include <analysis/dataobjects/Particle.h>
12 #include <analysis/VertexFitting/TreeFitter/ErrCode.h>
13 #include <analysis/VertexFitting/TreeFitter/ConstraintConfiguration.h>
15 namespace TreeFitter {
19 class ConstraintConfiguration;
26 enum VertexStatus { Success = 0, NonConverged, BadInput, Failed, UnFitted };
38 bool updateDaughters =
false,
39 const bool useReferencing =
false
Class to store reconstructed particles.
this class does a lot of stuff: Build decaytree structure allowing to index particles and handle the ...
abstract errorocode be aware that the default is success
int momIndex(Belle2::Particle *particle) const
getter for the index of the momentum in the state vector
const ConstraintConfiguration m_config
config container
DecayChain * m_decaychain
the decay tree
int nIter() const
getter for the current iteration number of the newton iteration
int posIndex(Belle2::Particle *particle) const
getter for the index of the vertex position in the state vector
const DecayChain * decaychain() const
const getter for the decay chain
const ErrCode & errCode()
getter for some errorcode flag FIXME isn't this covered by the status-flag?
int tauIndex(Belle2::Particle *particle) const
getter for the index of tau, the lifetime in the statevector
void setExtraInfo(Belle2::Particle *part, const std::string &name, const double value) const
add extrainfo to particle
double chiSquare() const
getter for chi2 of the newton iteration
ErrCode m_errCode
errorcode
int nDof() const
getter for degrees of freedom of the fitparameters
void getCovFromPB(const ParticleBase *pb, TMatrixFSym &returncov) const
extract cov from particle base
void updateTree(Belle2::Particle &particle, const bool isTreeHead) const
update the Belle2::Particles with the fit results
FitParams * m_fitparams
parameters to be fitted
const bool m_updateDaugthers
if this is set all daughters will be updated otherwise only the head of the tree
~FitManager()
destructor does stuff
int m_ndf
number of degrees of freedom for this topology
int status() const
getter for the status of the newton iteration
double m_prec
precision that is needed for status:converged (delta chi2)
bool fit()
main fit function that uses the kalman filter
int m_status
status of the current iteration
FitManager(const FitManager &other)=delete
use default copy constructor
Belle2::Particle * particle()
getter for the head of the tree
Belle2::Particle * m_particle
head of the tree
int m_niter
iteration index
double m_chiSquare
chi2 of the current iteration
FitManager & operator=(const FitManager &other)=delete
use default assignment op
bool m_useReferencing
use referencing
VertexStatus
status flag of the fit-itereation (the step in the newton method)
std::tuple< double, double > getLifeTime(Belle2::Particle &cand) const
get lifetime
std::tuple< double, double > getDecayLength(const ParticleBase *pb) const
get decay length
bool updateCand(Belle2::Particle &particle, const bool isTreeHead) const
update particles parameters with the fit results
Class to store and manage fitparams (statevector)
base class for all particles