1 / 18

Немного об обработке данных Введение в root

Немного об обработке данных Введение в root. Основной объект изучения почти любого эксперимента в физике частиц – события. root – программа ориентированная на обработку событий в C++ Сайт: root.cern.ch

roy
Download Presentation

Немного об обработке данных Введение в root

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Немного об обработке данныхВведение в root Основной объект изучения почти любого эксперимента в физике частиц – события. root – программа ориентированная на обработку событий в C++ Сайт: root.cern.ch Установка: в простейшем случае скопировать готовые файлы и использовать скрипт thisroot.sh в начале сеанса. Если нет подходящей версии – скомпилировать из исходников самомтоятельно. Работает и в Linux, и в Windows. Игорь Алексеев, ИТЭФ

  2. До root — когда основным языком программирования был FORTRAN... Библиотеки: HBOOK – работа с гистограммами и n-tuple MINUIT – для поиска минимумов и фитирования ZEBRA – для хранения данных HPLOT – графические примитивы и представление FFREAD – ввод параметров KUIP – интерпретатор командных файлов PAW – Physics Analysis Workstation – для интерактивной работы Игорь Алексеев, ИТЭФ

  3. Структура Root – это иерархическая коллекция из более 1200 C++ классов и интерпретатор C++ cint Основные категории классов: Base – базовые классы, используемые для создания практически всех объектов root'а и взаимодействия с операционной системой Hist – классы для построения гистограмм Tree и Ntuple – для хранения данных “пособытийно” 2D и 3D Graphics – графические примитивы Minimization – для поиска минимумов Math, matrix, physics – набор классов с математическими функциями, работой с матрицами и физическими векторами, типа преобразования Лоренца и т.д. Игорь Алексеев, ИТЭФ

  4. Первое знакомство Игорь Алексеев, ИТЭФ

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

  6. Графики Игорь Алексеев, ИТЭФ

  7. Гистограммы Игорь Алексеев, ИТЭФ

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

  9. Деревья Игорь Алексеев, ИТЭФ

  10. Глобальные переменные gROOT, gStyle, gPad... Довольно много управления в root может осуществляться с помощью глобальных переменных. gStyle — позволяет менять стиль изображения для всех объектов, кроме тех, для которых данный параметр был задан явно. Т.е. если изменить стиль с помощью gStyle, он изменится и для уже существующих и для вновь создаваемых объектов. Например, gStyle->SetOptFit() - заставляет выводить результаты фитирования при отрисовке гистограммы и т.д. gROOT — дает доступ к корневым каталогам и т.д. Например, получить указатель на объект по его имени: gROOT->FindObject(«somename») Игорь Алексеев, ИТЭФ

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

  12. Файлы Создание файла: 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(); Игорь Алексеев, ИТЭФ

  13. Макросы и компиляция. Команды можно записать в файл, заключив их в фигурные скобки. 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+ — загрузить скомпилированную «библиотеку». Игорь Алексеев, ИТЭФ

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

More Related