Double_t turnon(Double_t *x, Double_t *par) { double halfpoint = par[0]; double slope = par[1]; double plateau = par[2]; //double offset = par[3]; //double plateau = 1.0; double offset = 0; double pt = TMath::Max(x[0],0.000001); double arg = 0; //cout << pt <<", "<< halfpoint <<", " << slope <SetStyle("Plain"); gROOT->ForceStyle(); gStyle->SetOptTitle(1); gStyle->SetOptStat(0); //TH1F* sht20_CC, allem_CC; //sprintf(ntp,"c_%sd1_t%d_%d",s,t,i); h1_d1[i] = (TH1F *) f1.Get(ntp); //sht20_cc = (TH1F *) sht20_seta->Rebin(2); sht20_seta->Sumw2(); allem_seta->Rebin(2); allem_seta->Sumw2(); TH1F *sht20_res = new TH1F("sht20_res","|#eta|<1.6, E*_SHT20",80,0.,80.); sht20_res->Rebin(2); sht20_res->Divide(sht20_seta,allem_seta,1,1,"B"); TCanvas *c1 = new TCanvas("c1","c1",700,400); c1->Divide(); sht20_res->Draw(); TF1 *f1 = new TF1("f1",turnon,0,27,3); TF1 *f2 = new TF1("f2",polynom2,28,60,3); //TF1 *total =new TF1("total",*turnon+*polynom2,0,60); TF1 *total =new TF1("total","turnon(0)+polynom2(3)",28,60); f1->SetParameters(14.,0.9,0.9); f2->SetParameters(7.44003e-01,7.50543e-03,-6.55469e-05); Double_t par[6]; sht20_res->Fit("f1","Rr"); sht20_res->Fit("f2","R+"); f1->GetParameters(&par[0]); f2->GetParameters(&par[0]); //cout << par[0] << endl; total->SetParameters(par); sht20_res->Fit(total,"R+"); }