//makro do narysowania 1-wymiarowego histogramu //dane wczytywane z pliku { gROOT->Reset(); ifstream my_input; my_input.open("mean_pt_pbpb.text"); //otwieramy plik z danymi //deklarujemy 1-wymiarowy histogram o 100 binach i zakresie 0.22-0.4 TH1D *pt_pbpb = new TH1D("pt_pbpb", "", 100, 0.22, 0.4); double pt; //w pliku przechowywane sa pedy poprzeczne for(int i=1; i<=150000; i=i+1) { my_input>>pt; //wczytujemy z pliku kolejne wartosci pt_pbpb->Fill(pt); //... i wypelniamy nimi zadeklarowany histogram } //po wczytaniu wszystkich danych histogram jest gotowy //mozna go narysowac: pt_pbpb->Draw(); //opcje zeby histogram lepiej wygladal: //pt_pbpb->SetStats(kFALSE); //wyrzuca okienko ze statystyka //pt_pbpb->SetNormFactor(1); //calka z rozkladu ma byc = 1 pt_pbpb->SetFillColor(38); pt_pbpb->GetXaxis()->SetTitle("M(p_{T}) (GeV/c)"); pt_pbpb->GetYaxis()->SetTitleOffset(1.2); //odleglosc opisu od osi pt_pbpb->GetXaxis()->SetTitleOffset(1.8); pt_pbpb->GetYaxis()->SetTitle("entries (arb. units)"); pt_pbpb->GetYaxis()->SetNdivisions(8, kTRUE); //podzialka osi (okolo 8) pt_pbpb->GetXaxis()->SetNdivisions(9, kTRUE); //ale kTRUE - sam dobiera //mozemy tez narysowac histogram w postaci punktow z niepewnosciami: //pt_pbpb->SetMarkerColor(4); //pt_pbpb->SetMarkerStyle(20); //pt_pbpb->SetMarkerSize(0.7); //pt_pbpb->Draw("EP"); //albo zrobic rysunek trojwymiarowy //pt_pbpb->Draw("lego1"); //mozna recznie przekrecac //...lub gStyle->SetPalette(1); //do odpowiedniej skali kolorow pt_pbpb->Draw("lego2"); }