Parent Directory
|
Revision Log
merge from https://root.cern.ch/svn/root/branches/dev/mathDev/hist/hist up to revision 31170 from David and myself Summary of major changes: - TFitResult, TFitResultPtr - add new class TFitResult which extend FitResult with TNamed for the I/O. The result of the fit , including covariance and correlation matrix, minos errors, etc... can then be stored in a file - add a class TFitResultPtr which behaves like a pointer to TFitResult and can be converted to an integer. This class is now returned by TH1::Fit and TGraph::Fit. By default the class contains only the returned integer status of the fit. If option "S" is used the class contains a pointer to TFitResult which can be retrieved using the -> or * operators (like a smart pointer) The conversion to int provides backward compatibility with the old signature ( int TH1::Fit ) - TH1, TGraph, TGraph2D, TMultiGraph change from int Fit(....) to TFitResultPtr Fit(.....) remove internal function DoFit - THnSparse add functionality for fitting a sparse histogram. Default method is the likelihood one. Chi2 can be used with the new option "X" - FOption - add some new options for fitting: "S" for storing the fit resul "X" for forcing chi2 fit in case of THnSParse "EX0" for neglecting errors in X when fitting TGraphErrors - WrappedMultiTF1 - make the wrapper for TF1 multi-dim function implementing the gradient interface Minos changes: TH1: - add check of compatibility for each bins when using Add on variable bin histograms TH3: - fix a bug in setting the entries for a projected 2d profile when using weights THNSParse: - set also the entries (and reset statistics) in the projected sparse histogram TFormula: - define the number for the 2d function like xygaus or xylandau HFItInterface: improve filling data for histograms (add support for bin volume normalization) add initialization for exponential and 2d gaus functions
// @(#)root/hist:$Id$
// Author: Rene Brun 12/10/2000
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TMultiGraph
#define ROOT_TMultiGraph
//////////////////////////////////////////////////////////////////////////
// //
// TMultiGraph //
// //
// A collection of TGraph objects //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#include "TF1.h"
class TH1F;
class TAxis;
class TBrowser;
class TGraph;
class TMultiGraph : public TNamed {
protected:
TList *fGraphs; //Pointer to list of TGraphs
TList *fFunctions; //Pointer to list of functions (fits and user)
TH1F *fHistogram; //Pointer to histogram used for drawing axis
Double_t fMaximum; //Maximum value for plotting along y
Double_t fMinimum; //Minimum value for plotting along y
TMultiGraph(const TMultiGraph&);
TMultiGraph& operator=(const TMultiGraph&);
public:
TMultiGraph();
TMultiGraph(const char *name, const char *title);
virtual ~TMultiGraph();
virtual void Add(TGraph *graph, Option_t *chopt="");
virtual void Add(TMultiGraph *multigraph, Option_t *chopt="");
virtual void Browse(TBrowser *b);
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
virtual void Draw(Option_t *chopt="");
virtual Int_t Fit(const char *formula ,Option_t *option="" ,Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0);
virtual Int_t Fit(TF1 *f1 ,Option_t *option="" ,Option_t *goption="", Axis_t rxmin=0, Axis_t rxmax=0);
virtual void FitPanel(); // *MENU*
virtual Option_t *GetGraphDrawOption(const TGraph *gr) const;
virtual void LeastSquareLinearFit(Int_t ndata, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin, Double_t xmax);
virtual void LeastSquareFit(Int_t m, Double_t *a, Double_t xmin, Double_t xmax);
virtual void InitPolynom(Double_t xmin, Double_t xmax);
virtual void InitExpo(Double_t xmin, Double_t xmax);
virtual void InitGaus(Double_t xmin, Double_t xmax);
TH1F *GetHistogram() const;
TF1 *GetFunction(const char *name) const;
TList *GetListOfGraphs() const { return fGraphs; }
TList *GetListOfFunctions(); // non const method (create list if empty)
const TList *GetListOfFunctions() const { return fFunctions; }
TAxis *GetXaxis() const;
TAxis *GetYaxis() const;
virtual void Paint(Option_t *chopt="");
virtual void Print(Option_t *chopt="") const;
virtual void RecursiveRemove(TObject *obj);
virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void SetMaximum(Double_t maximum=-1111);
virtual void SetMinimum(Double_t minimum=-1111);
ClassDef(TMultiGraph,2) //A collection of TGraph objects
};
#endif
| Subversion Admin | ViewVC Help |
| Powered by ViewVC 1.0.9 |