Belle II Software  release-08-01-10
Resonance.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/InternalParticle.h>
12 namespace TreeFitter {
13  class FitParams;
14  class ConstraintConfiguration;
15 
17  class Resonance : public InternalParticle {
18  public:
21  const ParticleBase* mother,
22  const ConstraintConfiguration& config,
23  bool forceFitAll);
24 
26  virtual ~Resonance() ;
27 
29  ErrCode initMotherlessParticle(FitParams& fitparams) override;
30 
32  ErrCode initParticleWithMother(FitParams& fitparams) override;
33 
35  virtual int dim() const override { return 4; }
37  virtual int type() const override { return kResonance; }
39  virtual std::string parname(int index) const override;
40 
42  virtual int posIndex() const override { return mother()->posIndex(); }
44  virtual int momIndex() const override { return index(); }
46  virtual int tauIndex() const override { return -1; }
48  virtual bool hasPosition() const override { return false; }
49 
50  private:
51  };
52 
53 }
Class to store reconstructed particles.
Definition: Particle.h:75
abstract errorocode be aware that the default is success
Definition: ErrCode.h:14
Class to store and manage fitparams (statevector)
Definition: FitParams.h:20
another unnecessary layer of abstraction
base class for all particles
Definition: ParticleBase.h:25
Belle2::Particle * particle() const
get basf2 particle
Definition: ParticleBase.h:92
virtual int posIndex() const
get vertex index (in statevector!)
Definition: ParticleBase.h:122
int index() const
get index
Definition: ParticleBase.h:95
const ParticleBase * mother() const
getMother() / hasMother()
Definition: ParticleBase.h:98
class for resonances as internal particles
Definition: Resonance.h:17
virtual ~Resonance()
destructor
virtual bool hasPosition() const override
does this class have position? NO
Definition: Resonance.h:48
virtual std::string parname(int index) const override
parameter name
Definition: Resonance.cc:41
virtual int tauIndex() const override
get tau (lifetime) index in statevector
Definition: Resonance.h:46
virtual int dim() const override
dimension (4)
Definition: Resonance.h:35
virtual int momIndex() const override
get momentum index in statevector
Definition: Resonance.h:44
virtual int type() const override
particle type
Definition: Resonance.h:37
ErrCode initParticleWithMother(FitParams &fitparams) override
initialise a particle with a mother
Definition: Resonance.cc:29
ErrCode initMotherlessParticle(FitParams &fitparams) override
initialise a motherless particle
Definition: Resonance.cc:20
Resonance(Belle2::Particle *particle, const ParticleBase *mother, const ConstraintConfiguration &config, bool forceFitAll)
constructor
Definition: Resonance.cc:14
virtual int posIndex() const override
get position index in statevector x,y,z,tau,px,py,pz
Definition: Resonance.h:42