8 if (ROOT::TMath::Gamma(params[0]) != 0 ) {
9 return (100 * pow(params[1],params[0]) / ROOT::TMath::Gamma(params[0]))
10 * pow(t[0],(params[0]-1)) * exp (-params[1]*t[0]);
20 <<
"Try fit [100*pow(b,a)/ROOT::TMath::Gamma(a)] * pow(t,(a-1)) * exp(-b*t)" 22 TFile*
f =
new TFile(
"93ref0.root");
23 TH1D*
h1 = (TH1D*) f->Get(
"4");
25 TH1D*
h2 = (TH1D*) f->Get(
"5");
26 int nmax = h1->GetNbinsX();
27 for (
int n=0;
n<nmax;
n++) {
28 Double_t er = h2->GetBinContent(
n);
29 h1->SetBinError(
n,er);
33 func->SetParameter(0,1.);
34 func->SetParameter(1,1.);
35 func->SetParNames(
"a",
"b");
37 h1->Fit(
"fit",
"r",
"");
38 h1->SetMarkerColor(kRed);
39 h1->SetMarkerStyle(3);
42 Double_t a = func->GetParameter(0);
43 Double_t b = func->GetParameter(1);
44 Double_t tmax = (a-1)/b;
47 double chisq=func->GetChisquare();
48 double ndf=func->GetNDF();
49 double chisqdf=chisq/ndf;
51 gStyle->SetOptFit(1111);
53 cout <<
"----------------------------------------------";
54 cout <<
"\n Chisquare: " << chisq <<
" / " << ndf <<
" = " << chisqdf;
55 cout <<
"\n----------------------------------------------";
56 cout <<
"\n a = " << a;
57 cout <<
"\n b = " << b;
58 cout <<
"\n tmax = " << tmax;
59 cout <<
"\n----------------------------------------------" << endl;
Double_t GammaFunction(Double_t *t, Double_t *params)