- •Введение
- •Основы работы с 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.4. Легенды и аннотации |
13 |
15
16
f2->SetLineColor(kBlue);
f2->Draw("same"); // "same" - на том же холсте
3.3.2Многомерные функции
1// Двумерная функция
2TF2* f2d = new TF2("f2d", "sin(sqrt(x*x + y*y))/sqrt(x*x + y*y)",
3 |
-5, 5, -5, 5); |
4 |
|
5// Различные способы отображения
6 |
f2d->Draw("surf1"); |
// Поверхность |
7 |
f2d->Draw("cont"); |
// Контурные линии |
8 |
f2d->Draw("colz"); |
// Цветовая карта |
3.4Легенды и аннотации
3.4.1Создание легенды
1// Создание графиков
2 TGraph* gr1 = new TGraph(n, x, y);
3TGraph* gr2 = new TGraph(n, x, y2);
4
5gr1->SetMarkerStyle(20);
6gr1->SetMarkerColor(kRed);
7gr2->SetMarkerStyle(21);
8gr2->SetMarkerColor(kBlue);
9
10// Отображение
11gr1->Draw("AP");
12gr2->Draw("P same");
13
14// Создание легенды
15TLegend* leg = new TLegend(0.7, 0.7, 0.9, 0.9);
16leg->AddEntry(gr1, "Данные 1", "p");
17leg->AddEntry(gr2, "Данные 2", "p");
18leg->Draw();
3.4.2Добавление текста
1// Добавление текста на график
2TText* text = new TText(0.5, 0.8, "Важная информация");
3 |
text->SetNDC(); // Нормализованные координаты |
4 |
text->SetTextAlign(22); // Центрирование |
5text->SetTextSize(0.05);
6text->Draw();
7
8// Математические формулы с LaTeX
9 TLatex* latex = new TLatex(0.5, 0.7, "E = mc^{2}");
14 |
Глава 3. Графики и визуализация |
10
11
12
latex->SetNDC(); latex->SetTextAlign(22); latex->Draw();
