Root - ИТЭФ

Download Report

Transcript Root - ИТЭФ

Немного об обработке данных

Введение в

root

Основной объект изучения почти любого эксперимента в физике частиц –

события.

root

– программа ориентированная на обработку событий в C++ Сайт: root.cern.ch

Установка: в простейшем случае скопировать готовые файлы и использовать скрипт thisroot.sh в начале сеанса.

Если нет подходящей версии – скомпилировать из исходников самомтоятельно. Работает и в Linux, и в Windows.

Игорь Алексеев, ИТЭФ

До root — когда основным языком программирования был FORTRAN...

HBOOK

Библиотеки: – работа с гистограммами и n-tuple

MINUIT ZEBRA

– для поиска минимумов и фитирования – для хранения данных

HPLOT

– графические примитивы и представление

FFREAD KUIP

– ввод параметров – интерпретатор командных файлов

PAW

– Physics Analysis Workstation – для интерактивной работы Игорь Алексеев, ИТЭФ

Структура

Root – это иерархическая коллекция из более 1200 C++ классов и интерпретатор C++

cint

Основные категории классов:

Base

– базовые классы, используемые для создания практически всех объектов root'а и взаимодействия с операционной системой

Hist Tree 2D

– классы для построения гистограмм и

Ntuple

– для хранения данных “пособытийно” и

3D Graphics

– графические примитивы Minimization – для поиска минимумов

Math

,

matrix

,

physics

– набор классов с математическими функциями, работой с матрицами и физическими векторами, типа преобразования Лоренца и т.д.

Первое знакомство

Игорь Алексеев, ИТЭФ

Картинку можно спасти в различных графических форматах Картинку можно редактировать, масштабировать, трехмерные картинки можно крутить

Графики

Игорь Алексеев, ИТЭФ

Гистограммы

Игорь Алексеев, ИТЭФ

Гистограммы бывают 1, 2, 3 и многомерные, с равномерным и неравномерным бинированием.

Гистограммы можно фитировать, сравнивать и делать с ними арифметические опреации.

Деревья

Игорь Алексеев, ИТЭФ

Глобальные переменные gROOT, gStyle, gPad...

Довольно много управления в root может осуществляться с помощью глобальных переменных.

gStyle

— позволяет менять стиль изображения для если изменить стиль с помощью

gStyle

существующих и для вновь создаваемых объектов.

всех

объектов, кроме тех, для которых данный параметр был задан явно. Т.е. , он изменится и для уже Например,

gStyle->SetOptFit()

- заставляет выводить результаты фитирования при отрисовке гистограммы и т.д.

gROOT

— дает доступ к корневым каталогам и т.д.

Например, получить указатель на объект по его имени:

gROOT->FindObject(«somename»)

Игорь Алексеев, ИТЭФ

Browser

Игорь Алексеев, ИТЭФ

Файлы

Создание файла: TFile f(«filename.root», «RECREATE»); TTree t(...); TH1D h(...); ...

f.cd(); t.Write(); h.Write(); f.Close(); Чтение файла: TFile f(«filename.root»); TTree *t = (TTree *) f.Get(«treename»); TH1D *h = (TH1D *) f.Get(«histname»); ...

f.Close(); Игорь Алексеев, ИТЭФ

Макросы и компиляция.

Команды можно записать в файл, заключив их в фигурные скобки.

a.C: { TF1 f(«F», «sin(x)/x», -10, 10); f.Draw(); } .x a.C — исполнить макрос.

Можно записать в файл несколько функций: b.C: double f1(...) {...} void f2(...) {...} void b() { TF1 *f = new TF1(«F», «sin(x)/x», -10, 10); f->Draw(); } .L b.C — загрузить «библиотеку».

f1(...) - вызвать функцию .L b.C+ — загрузить скомпилированную «библиотеку».

Игорь Алексеев, ИТЭФ

Создание своей отдельной программы

Достаточно создать Makefile вида: LDLIBS = ($shell root-config --libs) CXXFLAGS = ($shell root-config —cflags) Игорь Алексеев, ИТЭФ