// ---------------------------------------------------------------------- double f_expo(double *x, double *par) { return par[0]*TMath::Exp(-x[0]*par[1]); } // ---------------------------------------------------------------------- void bla() { TFile *f = TFile::Open("QCD_macro_167_fast.root"); TH1D *h0 = new TH1D("h0", "h0", 50, 0., 50.); TF1 *fE = new TF1("fE", f_expo, 0., 50.0, 2); fE->SetParameters(10., 0.1); /* // -- Create histogram with random Exp contents int NEVT(1000); for (int i = 0; i < NEVT; ++i) { h0->Fill(fE->GetRandom()); } */ // -- patch errors for empty bins for (int i = 0; i GetNbinsX(); ++i) { if (0 == invmumugamma->GetBinContent(i+1)) invmumugamma->SetBinError(i+1, 1); } // -- Fit histogram fE->SetParameters(invmumugamma->GetBinContent(1), invmumugamma->GetMean()/100.); // the second parameter should be computed... //invmumugamma->Draw(); // -- Use "L" for low-statistics! invmumugamma->Fit("fE", "L"); //invmumugamma->Fit("fE","LR","",2.5,6.0); /*fE->GetParameter(1); fE->GetParError(1); */ }