51double gauss2D(
double *
x, 
double *par) {
 
   54   return par[0]*exp(-0.5*(
z1*
z1+
z2*
z2));
 
   87   for (
int ix = 1; ix <= 
nbinX1; ++ix) {
 
   88      x[0] = 
xaxis1->GetBinCenter(ix);
 
   89      for (
int iy = 1; iy <= 
nbinY1; ++iy) {
 
   91         x[1] = 
yaxis1->GetBinCenter(iy);
 
   98   for (
int ix = 1; ix <= 
nbinX2; ++ix) {
 
   99      x[0] = 
xaxis2->GetBinCenter(ix);
 
  100      for (
int iy = 1; iy <= 
nbinY2; ++iy) {
 
  101         if ( h2->GetBinError(ix,iy) > 0 ) {
 
  102         x[1] = 
yaxis2->GetBinCenter(iy);
 
  103         h2->GetBinError(ix,iy);
 
  116   const double mx1 = 
p[1];
 
  117   const double my1 = 
p[3];
 
  118   const double sx1 = 
p[2];
 
  119   const double sy1 = 
p[4];
 
  120   const double mx2 = 
p[6];
 
  121   const double my2 = 
p[8];
 
  122   const double sx2 = 
p[7];
 
  123   const double sy2 = 
p[9];
 
  125   const double w1 = 0.5;
 
  128   for (
int i = 0; i < 
n; ++i) {
 
  169   double iniParams[10] = { 100, 6., 2., 7., 3, 100, 12., 3., 11., 2. };
 
  194      std::cout << 
"Do global fit" << std::endl;
 
  202      if (
option%10 == 2) fitter.
Config().SetMinimizer(
"Minuit2");
 
  205      for (
int i = 0; i < 10; ++i) {
 
  211         Error(
"fit2DHist",
"Fit Failed to converge");
 
  218      for (
int i = 0; i < 10; ++i) {
 
  223      double edm = fitter.
Result().Edm();
 
  234      h2->GetListOfFunctions()->Add(func);
 
  243   TCanvas * 
c1 = 
new TCanvas(
"c1",
"Two HIstogram Fit example",100,10,900,800);
 
  262   func->
Draw(
"surf1 same");
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
TRObject operator()(const T1 &t1) const
R__EXTERN TRandom * gRandom
R__EXTERN TStyle * gStyle
Fitter class, entry point for performing all type of fits.
const FitResult & Result() const
get fit result
bool FitFCN(unsigned int npar, Function &fcn, const double *params=nullptr, unsigned int dataSize=0, int fitType=0)
Fit using the a generic FCN function as a C++ callable object implementing double () (const double *)...
const FitConfig & Config() const
access to the fit configuration (const method)
bool SetFCN(unsigned int npar, Function &fcn, const double *params=nullptr, unsigned int dataSize=0, int fitType=0)
Set a generic FCN function as a C++ callable object implementing double () (const double *) Note that...
Class, describing value, limits and step size of the parameters Provides functionality also to set/re...
Class to manage histogram axis.
virtual void SetNDF(Int_t ndf)
Set the number of degrees of freedom ndf should be the number of points used in a fit - the number of...
virtual void SetChisquare(Double_t chi2)
virtual void SetParErrors(const Double_t *errors)
Set errors for all active parameters when calling this function, the array errors must have at least ...
virtual const char * GetParName(Int_t ipar) const
virtual void SetParameters(const Double_t *params)
virtual Double_t GetParameter(Int_t ipar) const
A 2-Dim function with parameters.
TF1 * DrawCopy(Option_t *option="") const override
Draw a copy of this function with its current attributes-*.
void Draw(Option_t *option="") override
Draw this function with its current attributes.
void SetRange(Double_t xmin, Double_t xmax) override
Initialize the upper and lower bounds to draw the function.
virtual Int_t GetNbinsY() const
virtual Double_t GetBinError(Int_t bin) const
Return value of error associated to bin number bin.
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
virtual Int_t GetNbinsX() const
void Draw(Option_t *option="") override
Draw this histogram with options.
TList * GetListOfFunctions() const
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
2-D histogram with a double per channel (see TH1 documentation)
void Add(TObject *obj) override
Double_t Rndm() override
Machine independent random number generator.
virtual void Rannor(Float_t &a, Float_t &b)
Return 2 numbers distributed following a gaussian with mean=0 and sigma=1.
void SetStatY(Float_t y=0)
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...