Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TFitter.h
Go to the documentation of this file.
1 // @(#)root/minuit:$Id$
2 // Author: Rene Brun 31/08/99
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 #ifndef ROOT_TFitter
12 #define ROOT_TFitter
13 
14 
15 #include "TVirtualFitter.h"
16 
17 class TMinuit;
18 
19 class TFitter : public TVirtualFitter {
20 
21 private:
22  Int_t fNlog; //Number of elements in fSunLog
23  Double_t *fCovar; //Covariance matrix
24  Double_t *fSumLog; //Sum of logs (array of fNlog elements)
25  TMinuit *fMinuit; //pointer to the TMinuit object
26 
27  TFitter(const TFitter&); // Not implemented
28  TFitter& operator=(const TFitter&); // Not implemented
29 
30 public:
31  TFitter(Int_t maxpar = 25);
32  virtual ~TFitter();
33  virtual Double_t Chisquare(Int_t npar, Double_t *params) const ;
34  virtual void Clear(Option_t *option="");
35  virtual Int_t ExecuteCommand(const char *command, Double_t *args, Int_t nargs);
36  // virtual void FitChisquare(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
37  // virtual void FitChisquareI(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
38  // virtual void FitLikelihood(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
39  // virtual void FitLikelihoodI(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
40  virtual void FixParameter(Int_t ipar);
41  virtual void GetConfidenceIntervals(Int_t n, Int_t ndim, const Double_t *x, Double_t *ci, Double_t cl=0.95);
42  virtual void GetConfidenceIntervals(TObject *obj, Double_t cl=0.95);
43  virtual Double_t *GetCovarianceMatrix() const;
44  virtual Double_t GetCovarianceMatrixElement(Int_t i, Int_t j) const;
45  virtual Int_t GetErrors(Int_t ipar,Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc) const;
46  TMinuit *GetMinuit() const {return fMinuit;}
47  virtual Int_t GetNumberTotalParameters() const;
48  virtual Int_t GetNumberFreeParameters() const;
49  virtual Double_t GetParError(Int_t ipar) const;
50  virtual Double_t GetParameter(Int_t ipar) const;
51  virtual Int_t GetParameter(Int_t ipar,char *name,Double_t &value,Double_t &verr,Double_t &vlow, Double_t &vhigh) const;
52  virtual const char *GetParName(Int_t ipar) const;
53  virtual Int_t GetStats(Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx) const;
54  virtual Double_t GetSumLog(Int_t i);
55  virtual Bool_t IsFixed(Int_t ipar) const;
56  virtual void PrintResults(Int_t level, Double_t amin) const;
57  virtual void ReleaseParameter(Int_t ipar);
58  virtual void SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
59  virtual void SetFitMethod(const char *name);
60  virtual Int_t SetParameter(Int_t ipar,const char *parname,Double_t value,Double_t verr,Double_t vlow, Double_t vhigh);
61 
62  ClassDef(TFitter,0) //The ROOT standard fitter based on TMinuit
63 };
64 
65 #endif