#include #include #include #include Double_t life(Double_t *x, Double_t *par) { Float_t xx = x[0]; Double_t f = par[0]*(exp(-xx/par[1])+exp(-xx/par[2])); return f; } void mu() { TF1 *f1 = new TF1("mu",life,0,1000,3); f1->SetParameters(20,10,200); f1->SetParNames("coefficiente","meanlife1","meanlife2"); f1->Draw(); } void myfit() { TF1 *f1=gROOT->GetFunction("mu"); f1->SetParameters(200,100,2000); ifstream in; in.open("vitamu.txt"); Double_t mlife; TFile *f = new TFile("mlife.root","RECREATE"); TH1F *h1 = new TH1F("h1","mlife distribution",100,0,1000); while (1) { if (!in.good()) break; in >> mlife; cout << mlife << endl; h1->Fill(mlife); } in.close(); h1->Fit("mu"); Double_t Chisquare = f1->GetChisquare(); Double_t NDF = f1->GetNDF(); cout<<"Chi quadro ridotto"<<" = "<Write(); f->Close(); }