PandaRoot
InteractionPoint.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 // Adjustment for fully neutral reactions: Jean Noel (2023)
8 // **********************************************************************************
9 #ifndef DECAYTREEFITTER_INTERACTIONPOINT_H
10 #define DECAYTREEFITTER_INTERACTIONPOINT_H 1
11 
12 #include "InternalParticle.h"
13 //#include "RecoParticle.h"
14 //#include "GaudiKernel/GenericVectorTypes.h"
15 //#include "GaudiKernel/SymmetricMatrixTypes.h"
16 #include "TMatrixD.h"
17 #include "RhoVector3Err.h"
18 #include "Rtypes.h"
19 
20 namespace LHCb {
21 class VertexBase;
22 }
23 
24 extern bool fitvertex;
25 extern bool addfreeZ;
26 
27 namespace DecayTreeFitter {
28 
30  public:
31  InteractionPoint(RhoCandidate *daughter, const Configuration &config);
32  InteractionPoint(const RhoVector3Err &ipvertex, RhoCandidate *daughter, const Configuration &config);
33  InteractionPoint(const RhoLorentzVectorErr &ipmom, RhoCandidate *daughter, const Configuration &config);
34  InteractionPoint(const RhoLorentzVectorErr &ipmom, const RhoVector3Err &ipvertex, RhoCandidate *daughter, const Configuration &config);
35 
36  virtual int dim() const { return fitvertex ? 7 : (addfreeZ ? 5 : 4); }
37  virtual ErrCode initPar1(FitParams *);
38  virtual ErrCode initCov(FitParams *) const;
39  // ErrCode initMom( FitParams* fitparams ) const ;
40 
41  virtual int type() const { return kInteractionPoint; }
42 
43  virtual double chiSquare(const FitParams *par) const;
44 
45  ErrCode projectIPConstraint(const FitParams *fitpar, Projection &) const;
46  ErrCode projectBeamConstraint(const FitParams *fitpar, Projection &) const;
47  virtual ErrCode projectConstraint(Constraint::Type, const FitParams *, Projection &) const;
48 
49  virtual void addToConstraintList(constraintlist &alist, int depth) const;
50 
51  private:
52  TVector3 m_ipPos; // interaction point position
53  TMatrixDSym m_ipPosCov; // cov matrix
54  TMatrixDSym m_ipPosCovInv; // inverse of cov matrix
55  TLorentzVector m_ipMom; // Beam Momentum
56  TMatrixDSym m_ipMomCov; // cov matrix
57  TMatrixDSym m_ipMomCovInv; // inverse of cov matrix
58  bool m_hasposcon;
59  bool m_hasmomcon;
60  bool m_hasposcov;
61  bool m_hasmomcov;
62  ClassDef(InteractionPoint, 1)
63 };
64 
65 } // namespace DecayTreeFitter
66 
67 #endif
std::vector< DecayTreeFitter::Constraint > constraintlist
Definition: ParticleBase.h:102
bool addfreeZ
bool fitvertex