Belle II Software  release-05-01-25
RecoKlong.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributor: Wouter Hulsbergen, Francesco Tenchini, Jo-Frederik Krohn *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <analysis/VertexFitting/TreeFitter/RecoParticle.h>
13 
14 namespace TreeFitter {
15 
17  class RecoKlong : public RecoParticle {
18 
19  public:
22 
24  virtual ~RecoKlong() {};
25 
27  virtual ErrCode initParticleWithMother(FitParams& fitparams) override;
28 
30  virtual ErrCode initMotherlessParticle(FitParams& fitparams) override;
31 
33  ErrCode initCovariance(FitParams& fitparams) const override;
34 
37 
39  ErrCode projectRecoConstraint(const FitParams& fitparams, Projection& p) const override;
40 
42  virtual int dimM() const override { return 3; }
43 
45  virtual bool hasEnergy() const override { return true; }
46 
48  virtual int dim() const override { return 4; }
49 
51  virtual int type() const override { return kRecoKlong ; }
52 
54  virtual void addToConstraintList(constraintlist& alist, int depth) const override
55  {
56  alist.push_back(Constraint(this, Constraint::klong, depth, dimM())) ;
57  }
58 
60  static bool useEnergy(Belle2::Particle& cand) ;
61 
62  private:
63 
65  const int m_dim;
66 
68  bool m_init ;
69 
71  bool m_useEnergy ;
72 
74  Eigen::Matrix<double, 1, 4> m_clusterPars;
75 
77  Eigen::Matrix<double, 4, 4> m_covariance;
78 
80  int m_i1;
82  int m_i2;
84  int m_i3;
85  };
86 
87 }
TreeFitter::RecoKlong::type
virtual int type() const override
type
Definition: RecoKlong.h:67
TreeFitter::RecoKlong::~RecoKlong
virtual ~RecoKlong()
destructor
Definition: RecoKlong.h:40
TreeFitter::RecoKlong::initParams
ErrCode initParams()
update or init params
Definition: RecoKlong.cc:92
TreeFitter::ParticleBase::ParticleBase
ParticleBase(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration *config)
default constructor
Definition: ParticleBase.cc:41
TreeFitter::RecoKlong::m_clusterPars
Eigen::Matrix< double, 1, 4 > m_clusterPars
constrains measured params (x_c, y_c, z_c, E_c)
Definition: RecoKlong.h:90
TreeFitter::ErrCode
abstract errorocode be aware that the default is succes
Definition: ErrCode.h:23
TreeFitter::RecoKlong::initMotherlessParticle
virtual ErrCode initMotherlessParticle(FitParams &fitparams) override
init particle without mother
Definition: RecoKlong.cc:70
TreeFitter::RecoKlong::projectRecoConstraint
ErrCode projectRecoConstraint(const FitParams &fitparams, Projection &p) const override
project klong constraint
Definition: RecoKlong.cc:137
TreeFitter::FitParams
Class to store and manage fitparams (statevector)
Definition: FitParams.h:29
TreeFitter::RecoKlong::RecoKlong
RecoKlong(Belle2::Particle *bc, const ParticleBase *mother)
constructor
Definition: RecoKlong.cc:32
TreeFitter::RecoKlong::initParticleWithMother
virtual ErrCode initParticleWithMother(FitParams &fitparams) override
init particle with mother
Definition: RecoKlong.cc:43
TreeFitter::RecoKlong::m_i2
int m_i2
random index
Definition: RecoKlong.h:98
TreeFitter::RecoKlong::m_dim
const int m_dim
dimension of residuals and 'width' of H
Definition: RecoKlong.h:81
TreeFitter::RecoKlong::initCovariance
ErrCode initCovariance(FitParams &fitparams) const override
init covariance
Definition: RecoKlong.cc:75
TreeFitter::RecoKlong::m_i3
int m_i3
another random index
Definition: RecoKlong.h:100
TreeFitter::ParticleBase::constraintlist
std::vector< Constraint > constraintlist
alias
Definition: ParticleBase.h:69
TreeFitter::RecoKlong::useEnergy
static bool useEnergy(Belle2::Particle &cand)
has energy in fit params?
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
TreeFitter::RecoKlong::m_i1
int m_i1
index with the highest momentum.
Definition: RecoKlong.h:96
TreeFitter::ParticleBase::mother
const ParticleBase * mother() const
getMother() / hasMother()
Definition: ParticleBase.cc:295
TreeFitter::RecoKlong::dim
virtual int dim() const override
set the size of the particle in the statevector
Definition: RecoKlong.h:64
TreeFitter::RecoKlong::m_covariance
Eigen::Matrix< double, 4, 4 > m_covariance
covariance (x_c,y_c,z_c,E_c) of measured pars
Definition: RecoKlong.h:93
TreeFitter::RecoKlong::m_init
bool m_init
was initialized*
Definition: RecoKlong.h:84
TreeFitter::RecoKlong::m_useEnergy
bool m_useEnergy
has energy ins statevector
Definition: RecoKlong.h:87
TreeFitter::RecoKlong::dimM
virtual int dimM() const override
sets the size of the corresponding residual projection
Definition: RecoKlong.h:58
TreeFitter::RecoKlong::addToConstraintList
virtual void addToConstraintList(constraintlist &alist, int depth) const override
add to list
Definition: RecoKlong.h:70
TreeFitter::Projection
class to store the projected residuals and the corresponding jacobian as well as the covariance matri...
Definition: Projection.h:27
TreeFitter::RecoKlong::hasEnergy
virtual bool hasEnergy() const override
how should the energy be calculated ? from momentum or from E ?
Definition: RecoKlong.h:61