#include Double_t myfunction(Double_t *x, Double_t *par) { // par(0) -> asymptotic efficiency // par(1) -> HV of 50% of asymptotic efficiency // par(2) -> HV of 90% - HV of 10% of asymptotic efficiency //Double_t plat=par[0]/( 1.+ 81.**( (par[1]-x[0])/par[2] ) ); Double_t plat = 1./(1./par[0] - 1./x[0]); return plat; } void fitlente(string Id="1") { cout<<"\n ****************** processing scintillator "<Reset(); //c1 = new TCanvas("c1","Efficiency plateau",200,10,700,500); c1 = new TCanvas("c1","Efficiency plateau"); gPad->SetFillColor(0); gPad->SetGrid(); gPad->GetFrame()->SetFillColor(21); gPad->GetFrame()->SetBorderSize(12); gStyle->SetOptFit(1112); //string fileNameString = "../data/hv_scintillatore"+Id+".txt"; string fileNameString = "lente.txt"; char* fileName = fileNameString.c_str(); cout<<" *************************************** reading from file "<> vth >> triple >> quadruple >> singole; if (!inputFile.good()) break; Float_t eff = triple; Float_t deff = singole; //cout<<"reading from file "<SetTitle(MyTitle.c_str()); gr->SetMarkerColor(4); gr->SetMarkerStyle(21); gr->GetXaxis()->SetTitle("HV / kV"); gr->GetYaxis()->SetTitle("efficiency"); //gr->Draw("ALP"); gr->Draw("AP"); cout<<" ************************************************* Plot drawn "<SetParameter(0,9.); // f1->SetParameter(1,1.246); // f1->SetParLimits(1,1.1,1.3); // f1->SetParameter(2,0.1875); //f1->SetParLimits(2,0.05,0.195); f1->SetLineColor(kRed); //f1->Draw("L"); //fitta entro il range (opzione "R") specificato nella definizione della funzione gr->Fit("f1","R"); cout<<" ************************************************* Fit done "<Update(); }