double myFunc(double *x, double *par){ double result = par[0]*exp(-((x[0]-par[1])/(2*par[2]))*((x[0]-par[1])/(2*par[2]))) + par[3]; return result; } void fit() { TH1F histo("pippo","Segnale con Fondo",100,0.,1.); int num= 10000; for (int i = 0; iGaus(0.5,0.05); histo.Fill(rnd); } int numFondo= 10000; for (int i = 0; iRndm(); histo.Fill(rnd); } gStyle->SetOptStat(111111); gStyle->SetOptFit(111111); histo.SetMinimum(0); TF1 miaFunc("miaFunc",myFunc,0.,1.,4); miaFunc.SetParLimits(2,0,100); // miaFunc.SetParameter(0,100); miaFunc.SetParameter(1,0.5); miaFunc.SetParameter(2,0.5); // miaFunc.SetParameter(3,10); histo.Fit("miaFunc"); histo.DrawCopy(); }