#include "TCanvas.h" #include "TApplication.h" #include "TH1F.h" #include "TF1.h" #include #include using namespace std; int main (int argc, char**argv) { TApplication app("App",&argc, argv); // Definizione di un istogramma monodimensionale da riempire con float TH1F *h1 = new TH1F("h1","Istogramma 1D",100,-5.,5.); float x ; fstream f; f.open("gaus.dat",ios::in); for (int i = 0; i < 10000; i++) { f >> x; h1->Fill(x); } f.close(); TCanvas *c1 = new TCanvas("c1","Istogramma 1D",600,400); h1->GetXaxis()->SetTitle("Titolo sull'asse X"); h1->GetYaxis()->SetTitle("Titolo sull'asse Y"); h1->Draw(); // Puoi prendere le informazioni che ti interessano cout << "La media dell'istrogramma h1 vale -->> " << h1->GetMean() << endl; cout << "L'RMS dell'istogramma h1 vale -->> " << h1->GetRMS() << endl; // Puoi fittare con una gaussiana h1->Fit("gaus"); // e recuperare i risultati TF1 *FitFun = h1->GetFunction("gaus"); cout << "Ecco i parametri del fit " << endl; cout << "Media della gaussiana --->>> " << FitFun->GetParameter(1) << endl; cout << "Sigma della gaussiana --->>> " << FitFun->GetParameter(2) << endl; cout << "Chi2 del fit --->>> " << FitFun->GetChisquare() << endl; c1->Print("HistoFit.ps"); app.Run(); return 0; }