FairRoot/PandaRoot
RhoKinHyperonVtxFitter.h
Go to the documentation of this file.
1 #ifndef RhoKinHyperonVtxFitter_H
2 #define RhoKinHyperonVtxFitter_H
3 // //
5 // RhoKinHyperonVtxFitter //
6 // //
7 // Author: V. Jha 2010 //
8 // //
10 
11 #include "RhoBase/RhoFitterBase.h"
12 #include "RhoBase/RhoCandList.h"
13 
14 #include "TVector3.h"
15 #include "TMatrixDSym.h"
16 #include "TMatrixD.h"
17 #include "TLorentzVector.h"
18 #include "TDecompLU.h"
19 
20 class RhoCandidate;
21 
23 {
24  public:
26  virtual ~RhoKinHyperonVtxFitter();
27  void AddMassConstraint(double mass);
28  //void AddPointingConstraint(TVector3 pVtx);
29  double GetPull() {return fPull;}
30 
31  void SetNMaxIterations(int nit=20){fNMaxIterations=nit;fIterateExact=false;};
33  void SetMinDChisq(double m=0.001){fMinDChisq=fabs(m);};
34  TMatrixD GetAl0(){return al0;}
35  TMatrixD GetVal0(){return V_al0;}
37 
38 
39  private:
41 
42  void SetMatrices();
43  void ResetMatrices();
44  void ReadMatrix();
45 
46  void ReadKinMatrix();
47  void ReadMassKinMatrix();
48  //void ReadPointingKinMatrix() {ReadPointingKinMatrix(fHeadOfTree);};
49  //void ReadPointingKinMatrix(RhoCandidate* head);
50 
51 
53  void SetOutput(RhoCandidate* head);
54 
57  void GetCovariance(TMatrixD& a_cov0, TMatrixD& cov_al_x, TMatrixD& V_vtx, TMatrixD& covS);
58 
59 
60  TMatrixD al0; //original parameters
61  TMatrixD al1; //fitted parameters
62  TMatrixD V_al0;//Covariance matrix for original parameters
63  TMatrixD V_al1;//Covariance matrix for original parameters
64  TMatrixD covC; //Covariance matrix for composite
65 
66  TMatrixD mD; //Matrix of constraint derivitives
67  TMatrixD mE; // Matrix of vertex constraints
68  TMatrixD md; //Vector of evaluated constraints
70 
71 
72  Int_t fNvar; //Number of variables (=4 for 4 vector)
73  Int_t fNpar; //Number of parameters=Npart*fNvar
74  Int_t fNpart; //Number of particles
75  Int_t fNcon; //Number of constraints
76 
77 
78  Int_t fNc; // countNumber of constraints added
79  Int_t fNiter; // Number of times Solve has been called
80  Int_t fNumKnown; // Number of unknowns
81  Int_t NumCon; // Number of constraints ...
82 
83 
84 
85  int niter;
86  double fChi2Diff;
87  double fPull;
88 
89 
90  // VtxVertex _vertex;
93 
94 
95  double fMass;
96  //TVector3 fpVtx;
97 
99  //int fPointConstraint;
100 
101  // control abortion of fit
102  double fMinDChisq;
105 
106 
107  int fnDof;
108  double fchiSquare;
109 
110  ClassDef(RhoKinHyperonVtxFitter,1) //A Kinematic Vertex Fitter
111 };
112 
113 #endif
__m128 m
Definition: P4_F32vec4.h:28
TTree * b
Bool_t FitNode(RhoCandidate *b)
void AddMassConstraint(double mass)
void SetNIterationsExact(int nit=2)
void GetCovariance(TMatrixD &a_cov0, TMatrixD &cov_al_x, TMatrixD &V_vtx, TMatrixD &covS)
void SetOutput(RhoCandidate *head)
void SetNMaxIterations(int nit=20)
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
void SetMinDChisq(double m=0.001)
void TransportToVertex(TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &)
Bool_t Compute(RhoCandidate *c)
RhoKinHyperonVtxFitter(RhoCandidate *b)
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52
void TransportToPoca(TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &)