Belle II Software  release-05-01-25
Resonance.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributor: Wouter Hulsbergen, Francesco Tenchini *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <analysis/VertexFitting/TreeFitter/InternalParticle.h>
13 namespace TreeFitter {
14  class FitParams;
15  class ConstraintConfiguration;
16 
18  class Resonance : public InternalParticle {
19  public:
22  const ParticleBase* mother,
23  const ConstraintConfiguration& config,
24  bool forceFitAll);
25 
27  virtual ~Resonance() ;
28 
30  ErrCode initMotherlessParticle(FitParams& fitparams) override;
31 
33  ErrCode initParticleWithMother(FitParams& fitparams) override;
34 
36  virtual int dim() const override { return 4; }
38  virtual int type() const override { return kResonance; }
40  virtual std::string parname(int index) const override;
41 
43  virtual int posIndex() const override { return mother()->posIndex(); }
45  virtual int momIndex() const override { return index(); }
47  virtual int tauIndex() const override { return -1; }
49  virtual bool hasPosition() const override { return false; }
50 
51  private:
52  };
53 
54 }
TreeFitter::Resonance::type
virtual int type() const override
particle type
Definition: Resonance.h:46
TreeFitter::Resonance::tauIndex
virtual int tauIndex() const override
get tau (lifetime) index in statevector
Definition: Resonance.h:55
TreeFitter::ParticleBase::ParticleBase
ParticleBase(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration *config)
default constructor
Definition: ParticleBase.cc:41
TreeFitter::Resonance::momIndex
virtual int momIndex() const override
get momentum index in statevector
Definition: Resonance.h:53
TreeFitter::Resonance::dim
virtual int dim() const override
dimension (4)
Definition: Resonance.h:44
TreeFitter::Resonance::initMotherlessParticle
ErrCode initMotherlessParticle(FitParams &fitparams) override
initialise a motherless particle
Definition: Resonance.cc:31
TreeFitter::Resonance::parname
virtual std::string parname(int index) const override
parameter name
Definition: Resonance.cc:52
TreeFitter::ParticleBase::index
int index() const
get index
Definition: ParticleBase.h:112
TreeFitter::Resonance::posIndex
virtual int posIndex() const override
get position index in statevector x,y,z,tau,px,py,pz
Definition: Resonance.h:51
TreeFitter::Resonance::hasPosition
virtual bool hasPosition() const override
does this class have position? NO
Definition: Resonance.h:57
TreeFitter::Resonance::Resonance
Resonance(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration &config, bool forceFitAll)
constructor
Definition: Resonance.cc:25
TreeFitter::ParticleBase::posIndex
virtual int posIndex() const
get vertex index (in statevector!)
Definition: ParticleBase.h:142
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::Resonance::initParticleWithMother
ErrCode initParticleWithMother(FitParams &fitparams) override
initialise a particle with a mother
Definition: Resonance.cc:40
TreeFitter::Resonance::~Resonance
virtual ~Resonance()
destructor
TreeFitter::ParticleBase::particle
Belle2::Particle * particle() const
get basf2 particle
Definition: ParticleBase.h:109