PandaRoot
InternalParticle.h
Go to the documentation of this file.
1 // ******************************************************
2 // DecayTreeFitter Package
3 // We thank the original author Wouter Hulsbergen
4 // (BaBar, LHCb) for providing the sources.
5 // http://arxiv.org/abs/physics/0503191v1 (2005)
6 // Adaptation & Development for PANDA: Ralf Kliemt (2015)
7 // ******************************************************
8 #ifndef INTERNALPARTICLE_H
9 #define INTERNALPARTICLE_H 1
10 
11 #include "ParticleBase.h"
12 #include <vector>
13 #include "Rtypes.h"
14 
15 namespace DecayTreeFitter {
16 
18  public:
20 
21  virtual int dim() const { return mother() ? 8 : 7; }
22 
23  virtual ErrCode initPar1(FitParams *);
24  virtual ErrCode initPar2(FitParams *);
25  virtual int type() const { return kInternalParticle; }
26 
27  // parameter definition
28  virtual int posIndex() const { return index(); }
29  virtual int lenIndex() const { return mother() ? index() + 3 : -1; }
30  virtual int momIndex() const { return mother() ? index() + 4 : index() + 3; }
31  virtual bool hasEnergy() const { return true; }
32  virtual bool hasPosition() const { return true; }
33  virtual std::string parname(int index) const;
34 
35  // constraints
39  ErrCode projectMassConstraintTwoBody(const FitParams *fitparams, Projection &p) const;
40  virtual ErrCode projectConstraint(Constraint::Type type, const FitParams *fitparams, Projection &p) const;
41 
42  // some of that other stuff
43  virtual void addToConstraintList(constraintlist &alist, int depth) const;
44 
45  // bool swapMotherDaughter(FitParams* fitparams, const ParticleBase* newmother) ;
46 
47  protected:
48  ErrCode initMom(FitParams *fitparams) const;
49 
50  private:
51  bool m_lifetimeconstraint;
52  bool m_isconversion;
53  ClassDef(InternalParticle, 1)
54 };
55 
56 } // namespace DecayTreeFitter
57 
58 #endif
ErrCode projectConversionConstraint(const FitParams *, Projection &p) const
std::vector< DecayTreeFitter::Constraint > constraintlist
Definition: ParticleBase.h:102
const ParticleBase * mother() const
Definition: ParticleBase.h:52
ErrCode projectLifeTimeConstraint(const FitParams *, Projection &) const
virtual void addToConstraintList(constraintlist &alist, int depth) const
ErrCode projectKineConstraint(const FitParams *, Projection &) const
virtual ErrCode projectConstraint(Constraint::Type type, const FitParams *fitparams, Projection &p) const
ErrCode initMom(FitParams *fitparams) const
virtual std::string parname(int index) const
InternalParticle(RhoCandidate *bc, const ParticleBase *mother, const Configuration &config)
virtual ErrCode initPar1(FitParams *)
ErrCode projectMassConstraintTwoBody(const FitParams *fitparams, Projection &p) const
virtual ErrCode initPar2(FitParams *)
virtual int index() const
Definition: ParticleBase.h:51