#include #include #include #include Double_t poisson(Double_t *x, Double_t *par) { Float_t xx =x[0]; Double_t f = par[0]*(TMath::Poisson(xx,par[1])); return f; } void cosmics() { TF1 *f1 = new TF1("cosmics",poisson,0,150,2); f1->SetParameters(2,1); f1->SetParNames("coefficiente","media"); f1->Draw(); } void myfit() { TF1 *f1=gROOT->GetFunction("cosmics"); f1->SetParameters(5,5); ifstream in; in.open("dati.dat"); Double_t amplitude; TFile *f = new TFile("amplitude.root","RECREATE"); TH1F *h1 = new TH1F("h1","amplitude distribution",7,0,12); while (1) { if (!in.good()) break; in >> amplitude; cout << amplitude << endl; h1->Fill(amplitude); } in.close(); h1->Fit("cosmics"); Double_t Chisquare = f1->GetChisquare(); Double_t NDF = f1->GetNDF(); cout<<"Chi quadro ridotto"<<" = "<Write(); f->Close(); }