#include #include #include #include #include Double_t life(Double_t *x, Double_t *par) { Float_t xx = x[0]; Double_t xx1 = -xx/par[1]; Double_t xx2 = -xx/par[2]; if (xx1 > 300 || xx2 > 300) return 1e10; Double_t f = par[0]*(exp(xx1)+exp(xx2)); return f; } void random() { TF1 *f1 = new TF1("random",life,0,1000,3); f1->SetParameters(35,92,2205); f1->SetParNames("ampiezza","meanlife1","meanlife2"); f1->Draw(); } void test() { static const Int_t dim=2387; Double_t data[dim]; ofstream f("vitamuone.txt"); TF1 *f1=gROOT->GetFunction("random"); f1->SetParameters(35,92,2205); TH1F *source = new TH1F("source","source hist",100,35,798); source->FillRandom("random",10000000); TH1F *final = new TH1F("final","final hist",100,35,798); for (Int_t i=0;iFill(data[i]=source->GetRandom()); cout<< data[i]<Divide(1,2); c1->cd(1); source->Draw(); c1->cd(2); final->Draw(); c1->cd(); f.close(); }