#include "TFile.h" #include "TGraph.h" #include "TF1.h" Double_t Fitt(Double_t *x, Double_t *par) { Double_t arg1 = TMath::Log(0.01*x[0]); // in keV Double_t arg2 = TMath::Log(0.001*x[0]); // in keV Double_t fit_val = TMath::Exp(TMath::Power((TMath::Power((par[0]+par[1]*arg1+par[2]*arg1*arg1),(-1.0*par[3]))+TMath::Power((par[4]+par[5]*arg2+par[6]*arg2*arg2),(-1.0*par[3]))),(-1.0*1/par[3])))/1000.; return fit_val; } void rough() { TGraph *g = new TGraph("eu_gu_1.txt", "%lg %lg"); TF1 *RT = new TF1("RT",Fitt,100.,8191.,7.); RT->SetParameter(0,-61.94); RT->SetParameter(1,270.); RT->SetParameter(2,-55.); RT->FixParameter(3,0.3); RT->SetParameter(4,56.); RT->SetParameter(5,-11.5); RT->SetParameter(6,8.); RT->Draw(); g->Fit("RT","IER"); g->SetMarkerStyle(3); g->SetMaximum(300.); g->Draw("AP"); g->SetTitle("Efficiency Vs Energy(keV);Energy;Efficiency"); gStyle->SetOptFit(0111); //showing the parameters on graph double par[7]; RT->GetChisquare(); RT->GetParameters(par); }