Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ROOT_slides.pdf
Скачиваний:
172
Добавлен:
05.06.2015
Размер:
1 Мб
Скачать
☆

Работа с файлами

Пример

root [] .pwd

Current directory: Rint:/

root [] TFile f1("file1.root","recreate") root [] .pwd

Current directory: file1.root:/

root [] TFile f2("file2.root","recreate") root [] .pwd

Current directory: file2.root:/ root [] f1.cd()

root [] .pwd

Current directory: file1.root:/ root [] f1.Close()

root [] .pwd

Current directory: Rint:/

Сохранение гистограмм в файл

Чтобы осуществить запись гистограммы в файл, используется метод

TH1F::Write()

Пример записи гистограммы

TFile f("histos.root","new")

TH1F *h1 = new TH1F("hgaus","histo from a gaussian",100,-3,3) h1->FillRandom("gaus",10000)

h1->Write()

Чтобы записать все объекты в текущей директории

f->Write()

Чтение гистограммы (объекта)

TFile::Get("name") возвращает указатель на объект с именем name

Пример

TFile f("histos.root")

//открываем файл для чтения

TH1F *h = (TH1F*)f.Get("hgaus")

//берем указатель на hgaus

Необходим cast к нужному типу

Двумерные гистограммы

Работа с двумерной гистограммой аналогична одномерному случаю

Основной класс TH2F

При создании гистограммы следует указать число бинов как по оси X, так и по оси Y, а также соответствующие диапазоны изменения величин

TH2F *h2 = new TH2F("h2","h2 title",NbinsX,xmin,xmax,NbinsY,ymin,ymax)

При заполнении следует передавать два значения (и, опционально, вес)

h2->Fill(Xvalue,Yvalue)

h2->Fill(Xvalue,Yvalue,w)

Рисование гистограммы осуществляется точно также

h2->Draw()

По умолчанию 2D-гистограмма изображается как «облако» точек, плотность которого пропорциональна содержимому клетки

Пример работы с 2D-гистограммой

TH2F *h1 = new TH2F("h1","2D histo",20,-10,10,20,-10,10)

h1->FillRandom("gaus")

h1->Draw()

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]