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) Игорь Алексеев, ИТЭФ