Belle II Software development
RecoNeutral.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * External Contributor: Wouter Hulsbergen *
5 * *
6 * See git log for contributors and copyright holders. *
7 * This file is licensed under LGPL-3.0, see LICENSE.md. *
8 **************************************************************************/
9#pragma once
10
11#include <analysis/VertexFitting/TreeFitter/RecoParticle.h>
12
13#include <Eigen/Core>
14
15namespace TreeFitter {
16
18 class RecoNeutral : public RecoParticle {
19
20 public:
23
25 virtual ~RecoNeutral() {};
26
28 virtual ErrCode initParticleWithMother(FitParams& fitparams) override;
29
31 virtual ErrCode initMotherlessParticle(FitParams& fitparams) override;
32
34 ErrCode initCovariance(FitParams& fitparams) const override;
35
38
40 ErrCode projectRecoConstraint(const FitParams& fitparams, Projection& p) const override;
41
43 virtual int dimM() const override { return dim(); }
44
46 virtual bool hasEnergy() const override { return false; }
47
49 virtual int dim() const override { return m_dim; }
50
52 virtual int type() const override { return kRecoNeutral ; }
53
55 virtual void addToConstraintList(constraintlist& alist, int depth) const override
56 {
57 alist.push_back(Constraint(this, Constraint::neutralHadron, depth, dimM())) ;
58 }
59
60 private:
61
63 const int m_dim;
64
66 bool m_init ;
67
69 Eigen::Matrix<double, 1, 4> m_clusterPars;
70
72 Eigen::Matrix<double, 4, 4> m_covariance;
73
75 int m_i1;
77 int m_i2;
79 int m_i3;
80
83
85 const double m_mass;
86
89 };
90
91}
Class to store reconstructed particles.
Definition Particle.h:76
EParticleSourceObject
particle source enumerators
Definition Particle.h:83
class to manage the order of constraints and their filtering
Definition Constraint.h:20
abstract errorocode be aware that the default is success
Definition ErrCode.h:14
Class to store and manage fitparams (statevector)
Definition FitParams.h:20
base class for all particles
const ParticleBase * mother() const
getMother() / hasMother()
std::vector< Constraint > constraintlist
alias
class to store the projected residuals and the corresponding jacobian as well as the covariance matri...
Definition Projection.h:18
Eigen::Matrix< double, 4, 4 > m_covariance
covariance (x_c,y_c,z_c,E_c) of measured pars
Definition RecoNeutral.h:72
ErrCode initCovariance(FitParams &fitparams) const override
init covariance
virtual int dim() const override
set the size of the particle in the statevector
Definition RecoNeutral.h:49
RecoNeutral(Belle2::Particle *bc, const ParticleBase *mother)
constructor
ErrCode initParams()
update or init params
const float m_momentumScalingFactor
scale the momentum / energy by this correction factor
Definition RecoNeutral.h:82
virtual int type() const override
type
Definition RecoNeutral.h:52
const int m_dim
dimension of residuals and 'width' of H
Definition RecoNeutral.h:63
virtual bool hasEnergy() const override
how should the energy be calculated ?
Definition RecoNeutral.h:46
virtual void addToConstraintList(constraintlist &alist, int depth) const override
add to list
Definition RecoNeutral.h:55
int m_i3
another random index
Definition RecoNeutral.h:79
virtual int dimM() const override
sets the size of the corresponding residual projection
Definition RecoNeutral.h:43
int m_i1
index with the highest momentum.
Definition RecoNeutral.h:75
virtual ErrCode initParticleWithMother(FitParams &fitparams) override
init particle with mother
int m_i2
random other index
Definition RecoNeutral.h:77
virtual ErrCode initMotherlessParticle(FitParams &fitparams) override
init particle without mother
bool m_init
was initialized
Definition RecoNeutral.h:66
ErrCode projectRecoConstraint(const FitParams &fitparams, Projection &p) const override
project neutral particle constraint
const Belle2::Particle::EParticleSourceObject m_particleSource
(mdst) source of particle
Definition RecoNeutral.h:88
virtual ~RecoNeutral()
destructor
Definition RecoNeutral.h:25
const double m_mass
invariant mass
Definition RecoNeutral.h:85
Eigen::Matrix< double, 1, 4 > m_clusterPars
constrains measured params (x_c, y_c, z_c, E_c)
Definition RecoNeutral.h:69
RecoParticle(Belle2::Particle *bc, const ParticleBase *mother)
constructor