double myfunction(double *x, double *par) { double xx = x[0]; double alpha = par[0]; double beta = par[1]; double numerator = 1+(alpha*xx)+(beta*xx*xx); double denominator = (x_max-x_min) + (alpha/2)*(pow(x_max,2)-pow(x_min,2)) + (beta/3)*(pow(x_max,3)-pow(x_min,3)); double f = numerator*1./denominator; return f; } void ex8(){ double x_min = -0.95; double x_max = 0.94; auto c1 = new TCanvas("canvas","Example",200,10,600,400); auto f1 = new TF1("f1",myfunction,x_min,x_max,2); auto h1 = new TH1F("h1", "Histogram", 100, x_min, x_max); f1->SetParameters(0.5,0.5); h1->SetTitle("Plot of the function"); h1->FillRandom("f1",2000); h1->Draw(""); for (int i=0;i<2000;i++){ double kx = f1->GetRandom(); std::cout << kx << std::endl; // for output on screen } }