TChi2ExtendedFitData.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: TChi2ExtendedFitData.h 20880 2007-11-19 11:23:41Z rdm $
00002 // Author: L. Moneta    10/2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 ROOT Foundation,  CERN/PH-SFT                   *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 #ifndef ROOT_TChi2ExtendedFitData_H_
00011 #define ROOT_TChi2ExtendedFitData_H_
00012 
00013 #include "RConfig.h"
00014 #include <vector>
00015 #include "TChi2FitData.h"
00016 
00017 // class TObject; 
00018 class TVirtualFitter;
00019 class TGraph;
00020 
00021 /**
00022    class holding the data of the fit . 
00023   For extended chi2 fits which contains also error in x (asymmetrics) 
00024   the data are: 
00025 
00026   coords() , value , sigma Y, sigma X_low sigma X_up
00027 */
00028 
00029 
00030 class TChi2ExtendedFitData : public TChi2FitData { 
00031 
00032 
00033 public: 
00034 
00035   typedef  std::vector<double> CoordData; 
00036 
00037 
00038   /** 
00039       construct the Fit data object
00040   */
00041   TChi2ExtendedFitData() {}
00042 
00043   TChi2ExtendedFitData(const TVirtualFitter & fitter); 
00044 
00045   virtual ~TChi2ExtendedFitData() {}
00046 
00047   double ErrorY(unsigned int i) const { return fErrorsY[i]; }
00048 
00049   double ErrorXLow(unsigned int i) const { return fErrorsXLow[i]; }
00050 
00051   double ErrorXUp(unsigned int i) const { return fErrorsXUp[i]; }
00052 
00053 
00054 protected:
00055 
00056 
00057   void GetExtendedFitData(const TGraph * graph, const TF1 * func, const  TVirtualFitter * fitter); 
00058 
00059   void SetDataPoint(  const CoordData & x, double y, double errorY, double errorXlow, double errorXup );
00060   
00061 
00062 private: 
00063 
00064   std::vector<double> fErrorsY;
00065   std::vector<double> fErrorsXLow;
00066   std::vector<double> fErrorsXUp;
00067   // to do add asymmetric error in y 
00068   
00069 };
00070 
00071 #endif

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