- •Введение
- •Основы работы с ROOT
- •Что такое ROOT
- •Установка и запуск ROOT
- •Системные требования
- •Способы установки
- •Запуск ROOT
- •Первые шаги в ROOT
- •Интерактивная оболочка CINT
- •Создание простых объектов
- •Структура ROOT
- •Основные классы
- •Система наименований
- •Работа с гистограммами
- •Введение в гистограммы
- •Одномерные гистограммы (TH1)
- •Создание гистограммы
- •Типы гистограмм
- •Настройка внешнего вида
- •Двумерные гистограммы (TH2)
- •Операции с гистограммами
- •Арифметические операции
- •Статистические функции
- •Графики и визуализация
- •Класс TGraph
- •Создание простого графика
- •График с погрешностями
- •Многопанельные графики
- •Разделение холста
- •Функции в ROOT
- •Создание и отображение функций
- •Многомерные функции
- •Легенды и аннотации
- •Создание легенды
- •Добавление текста
- •Работа с деревьями (Trees)
- •Введение в ROOT Trees
- •Создание дерева
- •Простое дерево
- •Дерево с массивами
- •Чтение деревьев
- •Простое чтение
- •Использование TTreeReader
- •Селекция данных
- •Использование Draw с условиями
- •TEntryList для сложной селекции
- •Анализ данных и фитирование
- •Введение в фитирование
- •Фитирование гистограмм
- •Простое фитирование
- •Фитирование пользовательской функцией
- •Фитирование графиков
- •Линейная регрессия
- •Нелинейное фитирование
- •Минимизация и оптимизация
- •Использование Minuit
- •Продвинутые возможности
- •RooFit - статистическое моделирование
- •Основы RooFit
- •Генерация и фитирование данных
- •Многомерный анализ
- •Анализ главных компонент (PCA)
- •Параллельные вычисления
- •ROOT::EnableImplicitMT
- •Веб-интерфейс
- •ROOT в Jupyter
- •Практические примеры и упражнения
- •Анализ физических данных
- •Анализ распада частиц
- •Упражнения для самостоятельной работы
- •Упражнение 1: Анализ распределений
- •Упражнение 2: Корреляционный анализ
- •Упражнение 3: Работа с реальными данными
- •Проекты
- •Проект 1: Анализатор логов детектора
- •Проект 2: Статистический анализ
- •Заключение
- •Приложения
Глава 3
Графики и визуализация
3.1Класс TGraph
TGraph — основной класс для создания графиков в ROOT. Он позволяет отображать зависимости одной переменной от другой.
3.1.1Создание простого графика
1 // Создание массивов данных
2const int n = 10;
3double x[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
4double y[n] = {2.1, 3.9, 6.2, 7.8, 10.1, 12.2, 13.8, 16.1, 18.0, 20.2};
5
6// Создание графика
7TGraph* gr = new TGraph(n, x, y);
8
9// Настройка внешнего вида
10gr->SetTitle("Экспериментальные данные");
11gr->GetXaxis()->SetTitle("Время (с)");
12gr->GetYaxis()->SetTitle("Позиция (м)");
13gr->SetMarkerStyle(20);
14gr->SetMarkerColor(kRed);
15
16// Отображение
17gr->Draw("AP"); // A - оси, P - точки
3.1.2График с погрешностями
1// Данные с погрешностями
2double ex[n] = {0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1};
3double ey[n] = {0.2, 0.3, 0.2, 0.4, 0.3, 0.2, 0.4, 0.3, 0.2, 0.3};
4
5// Создание графика с погрешностями
6TGraphErrors* gre = new TGraphErrors(n, x, y, ex, ey);
7
8 gre->SetTitle("Данные с погрешностями");
9gre->SetMarkerStyle(21);
11
