FairRoot/PandaRoot
RhoKinHyperonFitter.h
Go to the documentation of this file.
1 #ifndef RhoKinHyperonFitter_H
2 #define RhoKinHyperonFitter_H
3 // //
5 // RhoKinHyperonFitter //
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 ~RhoKinHyperonFitter();
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("RhoKinHyperonFitter::FitAll()","Not applicable. Please use Fit()."); return kFALSE;};
34  void SetInputMatrix(TMatrixD M1,TMatrixD V1);
35 
36  double Chi2Diff() {return fChi2Diff;}
37  double GetPull() {return fPull;}
38  double Chi2Contribution ( const RhoCandidate& ) const {Error("RhoKinHyperonFitter::Chi2Contribution","No chi2 contribution available.");return -9999.;};
39 
40  private:
41  void SetMatrices();
42  void ZeroMatrices();
43  void ReadMatrix();
44  void ReadKinMatrix();
45  void ReadMassKinMatrix();
46  void Read4MomKinMatrix();
47  void ReadMomKinMatrix();
48  void ReadTotEKinMatrix();
49  void ReadTotMomKinMatrix();
50  Bool_t Solve();
51  void SetOutput();
52 
53  TMatrixD fAl0; //original parameters
54  TMatrixD fAl1; //fitted parameters
55  TMatrixD fV_al0;//Covariance matrix for original parameters
56  TMatrixD fV_al1;//Covariance matrix for original parameters
57 
58  TMatrixD fmD; //Matrix of constraint derivitives
59  TMatrixD fmE; // Matrix of vertex constraints
60  TMatrixD fmd; //Vector of evaluated constraints
62 
63  Int_t fNvar; //Number of variables (=4 for 4 vector)
64  Int_t fNpar; //Number of parameters=Npart*fNvar
65  Int_t fNcon; //Number of constraints
66  Int_t fNc; // countNumber of constraints added
67  Int_t fNiter; // Number of times Solve has been called
68  Int_t fNunKnown; // Number of unknowns
69  Int_t fNumCon; // Number of constraints ...
70 
71  double fMass;
72  TLorentzVector flmm;
73  TVector3 fmm;
74  double fEc;
75  double fMom;
76 
82 
83  double fChi2Diff;
84  double fPull;
85 
86 
87  ClassDef(RhoKinHyperonFitter,1)
88 };
89 
90 #endif
RhoKinHyperonFitter(RhoCandidate *b)
void SetInputMatrix(TMatrixD M1, TMatrixD V1)
TTree * b
void Add4MomConstraint(TLorentzVector lv)
__m128 v
Definition: P4_F32vec4.h:4
void AddTotMomConstraint(double momentum)
void AddTotEConstraint(double energy)
void AddMomConstraint(TVector3 v)
void AddMassConstraint(double mass)
double Chi2Contribution(const RhoCandidate &) const
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52
Double_t energy
Definition: plot_dirc.C:15