ROOT
6.07/01
Reference Guide
|
#include "TROOT.h"
#include "TFumili.h"
#include "TMath.h"
#include "TF1.h"
#include "TF2.h"
#include "TF3.h"
#include "TH1.h"
#include "TGraphAsymmErrors.h"
#include "Riostream.h"
Go to the source code of this file.
Functions | |
void | H1FitChisquareFumili (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
Minimization function for H1s using a Chisquare methodMore... | |
void | H1FitLikelihoodFumili (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
-*-*-*-*Minimization function for H1s using a Likelihood method*-*-*-*-*-*Basically, it forms the likelihood by determining the Poisson probability that given a number of entries in a particular bin, the fit would predict it's value. More... | |
void | GraphFitChisquareFumili (Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag) |
*-*-*-*-*-*Minimization function for Graphs using a Chisquare method*-*-*-*-* *-* ========================================================= More... | |
ClassImp (TFumili) | |
Variables | |
TFumili * | gFumili =0 |
static const Double_t | gMAXDOUBLE =1e300 |
static const Double_t | gMINDOUBLE =-1e300 |
ClassImp | ( | TFumili | ) |
void GraphFitChisquareFumili | ( | Int_t & | npar, |
Double_t * | gin, | ||
Double_t & | f, | ||
Double_t * | u, | ||
Int_t | flag | ||
) |
*-*-*-*-*-*Minimization function for Graphs using a Chisquare method*-*-*-*-* *-* =========================================================
In case of a TGraphErrors object, ex, the error along x, is projected along the y-direction by calculating the function at the points x-exlow and x+exhigh.
The chisquare is computed as the sum of the quantity below at each point:
(y - f(x))**2 ----------------------------------- ey**2 + (0.5*(exl + exh)*f'(x))**2
where x and y are the point coordinates and f'(x) is the derivative of function f(x). This method to approximate the uncertainty in y because of the errors in x, is called "effective variance" method. The improvement, compared to the previously used method (f(x+ exhigh) - f(x-exlow))/2 is of (error of x)**2 order. NOTE: 1) By using the "effective variance" method a simple linear regression becomes a non-linear case , which takes several iterations instead of 0 as in the linear case .
2) The effective variance technique assumes that there is no correlation between the x and y coordinate .
In case the function lies below (above) the data point, ey is ey_low (ey_high).
Definition at line 2148 of file TFumili.cxx.
Referenced by TFumili::SetFitMethod().
Definition at line 2091 of file TFumili.cxx.
Referenced by TFumili::Chisquare(), and TFumili::SetFitMethod().
This is then done for each bin, and the sum of the logs is taken as the likelihood. PDF: P=exp(-f(x_i))/[F_i]!*(f(x_i))^[F_i] where F_i - experimental value, f(x_i) - expected theoretical value [F_i] - integer part of F_i. drawback is that if F_i>Int_t - GetSumLog will fail for big F_i is faster to use Euler's Gamma-function
Definition at line 2110 of file TFumili.cxx.
Referenced by TFumili::SetFitMethod().
TFumili* gFumili =0 |
Definition at line 120 of file TFumili.cxx.
|
static |
Definition at line 123 of file TFumili.cxx.
Referenced by TFumili::BuildArrays(), TFumili::Clear(), TFumili::ExecuteSetCommand(), and TFumili::SetParameter().
|
static |
Definition at line 124 of file TFumili.cxx.
Referenced by TFumili::BuildArrays(), TFumili::Clear(), TFumili::ExecuteSetCommand(), and TFumili::SetParameter().