TFitter.h

Go to the documentation of this file.
00001 // @(#)root/minuit:$Id: TFitter.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Rene Brun   31/08/99
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 #ifndef ROOT_TFitter
00012 #define ROOT_TFitter
00013 
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 // TFitter                                                              //
00018 //                                                                      //
00019 // The ROOT standard fitter based on TMinuit                            //
00020 //                                                                      //
00021 //////////////////////////////////////////////////////////////////////////
00022 
00023 
00024 #ifndef ROOT_TVirtualFitter
00025 #include "TVirtualFitter.h"
00026 #endif
00027 
00028 class TMinuit;
00029 
00030 class TFitter : public TVirtualFitter {
00031 
00032 private:
00033    Int_t      fNlog;       //Number of elements in fSunLog
00034    Double_t  *fCovar;      //Covariance matrix
00035    Double_t  *fSumLog;     //Sum of logs (array of fNlog elements)
00036    TMinuit   *fMinuit;     //pointer to the TMinuit object
00037 
00038    TFitter(const TFitter&); // Not implemented
00039    TFitter& operator=(const TFitter&); // Not implemented
00040 
00041 public:
00042    TFitter(Int_t maxpar = 25);
00043    virtual ~TFitter();
00044    virtual Double_t   Chisquare(Int_t npar, Double_t *params) const ;
00045    virtual void       Clear(Option_t *option="");
00046    virtual Int_t      ExecuteCommand(const char *command, Double_t *args, Int_t nargs);
00047    virtual void       FitChisquare(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
00048    virtual void       FitChisquareI(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
00049    virtual void       FitLikelihood(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
00050    virtual void       FitLikelihoodI(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
00051    virtual void       FixParameter(Int_t ipar);
00052    virtual void       GetConfidenceIntervals(Int_t n, Int_t ndim, const Double_t *x, Double_t *ci, Double_t cl=0.95);
00053    virtual void       GetConfidenceIntervals(TObject *obj, Double_t cl=0.95);
00054    virtual Double_t  *GetCovarianceMatrix() const;
00055    virtual Double_t   GetCovarianceMatrixElement(Int_t i, Int_t j) const;
00056    virtual Int_t      GetErrors(Int_t ipar,Double_t &eplus, Double_t &eminus, Double_t &eparab, Double_t &globcc) const;
00057    TMinuit           *GetMinuit() const {return fMinuit;}
00058    virtual Int_t      GetNumberTotalParameters() const;
00059    virtual Int_t      GetNumberFreeParameters() const;
00060    virtual Double_t   GetParError(Int_t ipar) const;
00061    virtual Double_t   GetParameter(Int_t ipar) const;
00062    virtual Int_t      GetParameter(Int_t ipar,char *name,Double_t &value,Double_t &verr,Double_t &vlow, Double_t &vhigh) const;
00063    virtual const char *GetParName(Int_t ipar) const;
00064    virtual Int_t      GetStats(Double_t &amin, Double_t &edm, Double_t &errdef, Int_t &nvpar, Int_t &nparx) const;
00065    virtual Double_t   GetSumLog(Int_t i);
00066    virtual Bool_t     IsFixed(Int_t ipar) const;
00067    virtual void       PrintResults(Int_t level, Double_t amin) const;
00068    virtual void       ReleaseParameter(Int_t ipar);
00069    virtual void       SetFCN(void *fcn);
00070    virtual void       SetFCN(void (*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t));
00071    virtual void       SetFitMethod(const char *name);
00072    virtual Int_t      SetParameter(Int_t ipar,const char *parname,Double_t value,Double_t verr,Double_t vlow, Double_t vhigh);
00073 
00074     ClassDef(TFitter,0)  //The ROOT standard fitter based on TMinuit
00075 };
00076 
00077 #endif

Generated on Tue Jul 5 14:26:49 2011 for ROOT_528-00b_version by  doxygen 1.5.1