FairRoot/PandaRoot
RecoComposite.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 EXTERNALBTAPARTICLE_H
9 #define EXTERNALBTAPARTICLE_H 1
10 
11 #include "ParticleBase.h"
12 #include "TVectorD.h"
13 #include "TMatrixDSym.h"
14 #include "Rtypes.h"
15 
16 namespace DecayTreeFitter
17 {
18 
19  class RecoComposite : public ParticleBase
20  {
21  public:
23  virtual ~RecoComposite() ;
24 
25  // the number of parameters
26  virtual int dim() const { return m_hasEnergy ? 8 : 7 ; }// (x,y,z,t,px,py,pz,(E))
27 
28  // the number of 'measurements'
29  int dimM() const { return m_hasEnergy ? 7 : 6 ; }
32 
33  virtual ErrCode initPar1(FitParams*) ;
34  virtual ErrCode initPar2(FitParams*) ;
35  virtual int type() const { return kRecoComposite ; }
36 
37  virtual int posIndex() const { return index() ; }
38  virtual int lenIndex() const { return index()+3 ; }
39  virtual int momIndex() const { return index()+4 ; }
40 
41  virtual bool hasEnergy() const { return m_hasEnergy ; }
42  virtual bool hasPosition() const { return true ; }
43 
44  virtual void updCache() ;
45  virtual double chiSquare(const FitParams* fitparams) const ;
46 
47  virtual void addToConstraintList(constraintlist& alist, int depth) const {
48  alist.push_back( Constraint(this,Constraint::composite,depth,dimM()) ) ;
49  alist.push_back( Constraint(this,Constraint::geometric,depth,3) ) ;
50  }
51 
52  protected: // I hate this, so we need to change the design ...
53  // cache
54  TVectorD m_m ; // 'measurement' (x,y,zpx,py,pz,E)
55  TMatrixDSym m_matrixV ; // covariance in measurement
56  bool m_hasEnergy ;
57  ClassDef ( RecoComposite,1 )
58  } ;
59 
60 }
61 
62 #endif
virtual int lenIndex() const
Definition: RecoComposite.h:38
virtual bool hasPosition() const
Definition: RecoComposite.h:42
std::vector< DecayTreeFitter::Constraint > constraintlist
Definition: ParticleBase.h:110
virtual int dim() const
Definition: RecoComposite.h:26
virtual bool hasEnergy() const
Definition: RecoComposite.h:41
RecoComposite(RhoCandidate *bc, const ParticleBase *mother)
virtual int posIndex() const
Definition: RecoComposite.h:37
virtual ErrCode initPar2(FitParams *)
ErrCode projectRecoComposite(const FitParams *, Projection &) const
virtual ErrCode initPar1(FitParams *)
virtual int index() const
Definition: ParticleBase.h:59
virtual ErrCode projectConstraint(Constraint::Type, const FitParams *, Projection &) const
virtual void addToConstraintList(constraintlist &alist, int depth) const
Definition: RecoComposite.h:47
virtual int momIndex() const
Definition: RecoComposite.h:39
virtual double chiSquare(const FitParams *fitparams) const
virtual int type() const
Definition: RecoComposite.h:35
const ParticleBase * mother() const
Definition: ParticleBase.h:60