FairRoot/PandaRoot
RhoKinFitter.h
Go to the documentation of this file.
1 #ifndef RhoKinFitter_H
2 #define RhoKinFitter_H
3 // //
5 // RhoKinFitter //
6 // //
7 // V. Jha 2010 FZ Juelich //
8 // //
10 
11 #include "RhoBase/RhoFitterBase.h"
12 #include "RhoBase/RhoCandList.h"
13 #include "TVector3.h"
14 #include "TMatrixDSym.h"
15 #include "TMatrixD.h"
16 #include "TLorentzVector.h"
17 #include "TDecompLU.h"
18 
19 class RhoCandidate;
20 
22 {
23  public:
25  virtual ~RhoKinFitter();
26 
27  void Add4MomConstraint(TLorentzVector lv);
28  void AddMomConstraint(TVector3 v);
29  void AddTotEConstraint(double energy);
30  void AddTotMomConstraint(double momentum);
31  void AddMassConstraint(double mass);
32  Bool_t Fit();
33  Bool_t FitAll() {Fatal("RhoKinFitter::FitAll()","Not applicable. Please use Fit()."); return kFALSE;};
34 
35  double Chi2Diff() {return fChi2Diff;}
36  double GetPull() {return fPull;}
37  double Chi2Contribution ( const RhoCandidate& ) const {Error("RhoKinFitter::Chi2Contribution","No chi2 contribution available.");return -9999.;};
38 
39  private:
40  void SetMatrices();
41  void ZeroMatrices();
42  void ReadMatrix();
43  void ReadKinMatrix();
44  void ReadMassKinMatrix();
45  void Read4MomKinMatrix();
46  void ReadMomKinMatrix();
47  void ReadTotEKinMatrix();
48  void ReadTotMomKinMatrix();
49  Bool_t Solve();
50  void SetOutput();
51 
52  TMatrixD fAl0; //original parameters
53  TMatrixD fAl1; //fitted parameters
54  TMatrixD fV_al0;//Covariance matrix for original parameters
55  TMatrixD fV_al1;//Covariance matrix for original parameters
56 
57  TMatrixD fmD; //Matrix of constraint derivitives
58  TMatrixD fmE; // Matrix of vertex constraints
59  TMatrixD fmd; //Vector of evaluated constraints
61 
62  Int_t fNvar; //Number of variables (=4 for 4 vector)
63  Int_t fNpar; //Number of parameters=Npart*fNvar
64  Int_t fNcon; //Number of constraints
65  Int_t fNc; // countNumber of constraints added
66  Int_t fNiter; // Number of times Solve has been called
67  Int_t fNunKnown; // Number of unknowns
68  Int_t fNumCon; // Number of constraints ...
69 
70  double fMass;
71  TLorentzVector flmm;
72  TVector3 fmm;
73  double fEc;
74  double fMom;
75 
81 
82  double fChi2Diff;
83  double fPull;
84 
85 
86  ClassDef(RhoKinFitter,1)
87 };
88 
89 #endif
void AddMomConstraint(TVector3 v)
void AddTotMomConstraint(double momentum)
TMatrixD fAl1
Definition: RhoKinFitter.h:53
void AddMassConstraint(double mass)
TTree * b
double Chi2Contribution(const RhoCandidate &) const
Definition: RhoKinFitter.h:37
int fTotEConstraint
Definition: RhoKinFitter.h:78
double fPull
Definition: RhoKinFitter.h:83
TMatrixD fAl0
Definition: RhoKinFitter.h:52
void ReadMassKinMatrix()
void SetMatrices()
RhoKinFitter(RhoCandidate *b)
TVector3 fmm
Definition: RhoKinFitter.h:72
void ReadMomKinMatrix()
TLorentzVector flmm
Definition: RhoKinFitter.h:71
int fTotMomConstraint
Definition: RhoKinFitter.h:80
void ReadTotEKinMatrix()
void Add4MomConstraint(TLorentzVector lv)
TMatrixD fmE
Definition: RhoKinFitter.h:58
__m128 v
Definition: P4_F32vec4.h:4
void AddTotEConstraint(double energy)
TMatrixD fmD
Definition: RhoKinFitter.h:57
TMatrixD fmd
Definition: RhoKinFitter.h:59
void Read4MomKinMatrix()
Bool_t Solve()
TMatrixD fV_al0
Definition: RhoKinFitter.h:54
double fMass
Definition: RhoKinFitter.h:70
void ZeroMatrices()
Int_t fNunKnown
Definition: RhoKinFitter.h:67
TMatrixD fV_al1
Definition: RhoKinFitter.h:55
Bool_t FitAll()
Definition: RhoKinFitter.h:33
int fMomConstraint
Definition: RhoKinFitter.h:77
double GetPull()
Definition: RhoKinFitter.h:36
int fMassConstraint
Definition: RhoKinFitter.h:79
Bool_t Fit()
int f4MomConstraint
Definition: RhoKinFitter.h:76
double fChi2Diff
Definition: RhoKinFitter.h:82
double Chi2Diff()
Definition: RhoKinFitter.h:35
virtual ~RhoKinFitter()
TMatrixD fmPull
Definition: RhoKinFitter.h:60
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52
Double_t energy
Definition: plot_dirc.C:15
void ReadKinMatrix()
void ReadTotMomKinMatrix()