FairRoot/PandaRoot
RhoKinVtxFitter.h
Go to the documentation of this file.
1 #ifndef RhoKinVtxFitter_H
2 #define RhoKinVtxFitter_H
3 // //
5 // RhoKinVtxFitter //
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 ~RhoKinVtxFitter();
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 
35  private:
37 
38  void SetMatrices();
39  void ResetMatrices();
40  void ReadMatrix();
41 
42  void ReadKinMatrix();
43  void ReadMassKinMatrix();
44  //void ReadPointingKinMatrix() {ReadPointingKinMatrix(fHeadOfTree);};
45  //void ReadPointingKinMatrix(RhoCandidate* head);
46 
47 
49  void SetOutput(RhoCandidate* head);
50 
52  void GetCovariance(TMatrixD& a_cov0, TMatrixD& cov_al_x, TMatrixD& V_vtx, TMatrixD& covS);
53 
54 
55  TMatrixD al0; //original parameters
56  TMatrixD al1; //fitted parameters
57  TMatrixD V_al0;//Covariance matrix for original parameters
58  TMatrixD V_al1;//Covariance matrix for original parameters
59  TMatrixD covC; //Covariance matrix for composite
60 
61  TMatrixD mD; //Matrix of constraint derivitives
62  TMatrixD mE; // Matrix of vertex constraints
63  TMatrixD md; //Vector of evaluated constraints
65 
66 
67  Int_t fNvar; //Number of variables (=4 for 4 vector)
68  Int_t fNpar; //Number of parameters=Npart*fNvar
69  Int_t fNpart; //Number of particles
70  Int_t fNcon; //Number of constraints
71 
72 
73  Int_t fNc; // countNumber of constraints added
74  Int_t fNiter; // Number of times Solve has been called
75  Int_t fNumKnown; // Number of unknowns
76  Int_t NumCon; // Number of constraints ...
77 
78 
79 
80  int niter;
81  double fChi2Diff;
82  double fPull;
83 
84 
85  // VtxVertex _vertex;
88 
89 
90  double fMass;
91  //TVector3 fpVtx;
92 
94  //int fPointConstraint;
95 
96  // control abortion of fit
97  double fMinDChisq;
100 
101 
102  int fnDof;
103  double fchiSquare;
104 
105  ClassDef(RhoKinVtxFitter,1) //A Kinematic Vertex Fitter
106 };
107 
108 #endif
__m128 m
Definition: P4_F32vec4.h:28
TTree * b
void TransportToVertex(TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &, TMatrixD &)
void SetNMaxIterations(int nit=20)
virtual ~RhoKinVtxFitter()
Bool_t FitNode(RhoCandidate *b)
void SetNIterationsExact(int nit=2)
Bool_t Compute(RhoCandidate *c)
void AddMassConstraint(double mass)
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
void GetCovariance(TMatrixD &a_cov0, TMatrixD &cov_al_x, TMatrixD &V_vtx, TMatrixD &covS)
RhoKinVtxFitter(RhoCandidate *b)
void SetOutput(RhoCandidate *head)
void SetMinDChisq(double m=0.001)
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52