- •Введение
- •Основы работы с 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: Статистический анализ
- •Заключение
- •Приложения
12 |
Глава 3. Графики и визуализация |
10gre->SetMarkerColor(kBlue);
11gre->SetLineColor(kBlue);
12
13 gre->Draw("AP");
3.2Многопанельные графики
3.2.1Разделение холста
1// Создание холста
2TCanvas* c1 = new TCanvas("c1", "Многопанельный график", 800, 600);
3
4 // Разделение на 2x2 панели
5c1->Divide(2, 2);
6
7 // Создание и отображение графиков на разных панелях
8for(int i = 1; i <= 4; i++) {
9c1->cd(i); // Переход к панели i
10 |
|
11 |
TH1F* h = new TH1F(Form("h%d", i), Form("Гистограмма %d", i), |
12 |
100, -5, 5); |
13
14for(int j = 0; j < 1000; j++) {
15h->Fill(gRandom->Gaus(0, i));
16}
17
18h->Draw();
19}
20
21 c1->Update();
3.3Функции в ROOT
3.3.1Создание и отображение функций
1// Создание функции
2TF1* f1 = new TF1("f1", "sin(x)/x", -10, 10);
3
4// Настройка внешнего вида
5f1->SetLineColor(kRed);
6f1->SetLineWidth(2);
7f1->SetTitle("f(x) = sin(x)/x");
8
9 // Отображение
10 f1->Draw();
11
12// Создание пользовательской функции
13TF1* f2 = new TF1("f2", "[0]*exp(-0.5*((x-[1])/[2])^2)", -5, 5);
14f2->SetParameters(1, 0, 1); // амплитуда, среднее, сигма
