Belle II Software  release-05-01-25
RecoResonance.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 
11 #pragma once
12 
13 #include <analysis/VertexFitting/TreeFitter/RecoComposite.h>
14 
15 namespace TreeFitter {
16 
18  class RecoResonance : public RecoComposite {
19 
20  public:
21 
24 
26  virtual ErrCode initParticleWithMother(FitParams& fitparams) override;
27 
29  virtual ErrCode initMotherlessParticle(FitParams& fitparams) override;
30 
32  virtual ~RecoResonance() {};
33 
35  virtual int dim() const override { return hasEnergy() ? 4 : 3;} // (px,py,pz,(E))
36 
38  virtual ErrCode projectConstraint(Constraint::Type, const FitParams&, Projection&) const override;
39 
41  virtual int type() const override { return kRecoResonance; }
42 
44  virtual int posIndex() const override { return mother()->posIndex(); }
45 
47  virtual int momIndex() const override { return index(); }
48 
50  virtual int tauIndex() const override { return -1; }
51 
53  virtual std::string parname(int index) const override;
54 
56  virtual void addToConstraintList(constraintlist& list, int depth) const override
57  {
58  list.push_back(Constraint(this, Constraint::resonance, depth, dimM()));
59  }
60 
61  };
62 
63 }
TreeFitter::RecoResonance::projectConstraint
virtual ErrCode projectConstraint(Constraint::Type, const FitParams &, Projection &) const override
project the constraint
Definition: RecoResonance.cc:54
TreeFitter::ParticleBase::ParticleBase
ParticleBase(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration *config)
default constructor
Definition: ParticleBase.cc:41
TreeFitter::RecoResonance::addToConstraintList
virtual void addToConstraintList(constraintlist &list, int depth) const override
add to the list of constraints
Definition: RecoResonance.h:72
TreeFitter::ErrCode
abstract errorocode be aware that the default is succes
Definition: ErrCode.h:23
TreeFitter::RecoResonance::type
virtual int type() const override
get type
Definition: RecoResonance.h:57
TreeFitter::FitParams
Class to store and manage fitparams (statevector)
Definition: FitParams.h:29
TreeFitter::RecoResonance::dim
virtual int dim() const override
dimenstion of the vector
Definition: RecoResonance.h:51
TreeFitter::RecoResonance::momIndex
virtual int momIndex() const override
get momentum index in statevector
Definition: RecoResonance.h:63
TreeFitter::RecoResonance::initParticleWithMother
virtual ErrCode initParticleWithMother(FitParams &fitparams) override
init particle in case it has a mother
Definition: RecoResonance.cc:28
TreeFitter::RecoResonance::posIndex
virtual int posIndex() const override
get position index in statevector x,y,z,tau,px,py,pz
Definition: RecoResonance.h:60
TreeFitter::Constraint::Type
Type
type of constraints the order of these constraints is important: it is the order in which they are ap...
Definition: Constraint.h:36
TreeFitter::ParticleBase::index
int index() const
get index
Definition: ParticleBase.h:112
TreeFitter::Constraint
class to manage the order of contraints and their filtering
Definition: Constraint.h:29
TreeFitter::ParticleBase::posIndex
virtual int posIndex() const
get vertex index (in statevector!)
Definition: ParticleBase.h:142
TreeFitter::RecoResonance::parname
virtual std::string parname(int index) const override
parameter name
Definition: RecoResonance.cc:67
TreeFitter::ParticleBase::constraintlist
std::vector< Constraint > constraintlist
alias
Definition: ParticleBase.h:69
TreeFitter::RecoComposite::dimM
int dimM() const
get dimension of measurement
Definition: RecoComposite.h:61
TreeFitter::RecoResonance::RecoResonance
RecoResonance(Belle2::Particle *bc, const ParticleBase *mother)
constructor
Definition: RecoResonance.cc:25
TreeFitter::RecoResonance::~RecoResonance
virtual ~RecoResonance()
destructor
Definition: RecoResonance.h:48
Belle2::Particle
Class to store reconstructed particles.
Definition: Particle.h:77
TreeFitter::ParticleBase::mother
const ParticleBase * mother() const
getMother() / hasMother()
Definition: ParticleBase.cc:295
TreeFitter::RecoResonance::initMotherlessParticle
virtual ErrCode initMotherlessParticle(FitParams &fitparams) override
init particle in case it has no mother
Definition: RecoResonance.cc:33
TreeFitter::RecoComposite::hasEnergy
virtual bool hasEnergy() const override
return of this constraint/particle has an energy component
Definition: RecoComposite.h:79
TreeFitter::RecoResonance::tauIndex
virtual int tauIndex() const override
get tau (decay time) index in statevector
Definition: RecoResonance.h:66