Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ROOT / CERN ROOT book.pdf
Скачиваний:
1
Добавлен:
14.12.2025
Размер:
433.58 Кб
Скачать

CERN ROOT

Программная платформа для анализа данных

Руководство для студентов

Полное руководство по анализу данных и визуализации в физике

Изучите мощные возможности CERN ROOT: гистограммы, графики, статистический анализ, работа с большими объёмами данных

и многое другое

Коньшин Глеб

Оглавление

Введение

4

1 Основы работы с ROOT

5

1.1Что такое ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2Установка и запуск ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1

Системные требования . . . . . . . . . . . . . . . . . . . . . . . .

5

1.2.2

Способы установки . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.2.3

Запуск ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.3Первые шаги в ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

 

1.3.1

Интерактивная оболочка CINT . . . . . . . . . . . . . . . . . . .

6

 

1.3.2

Создание простых объектов . . . . . . . . . . . . . . . . . . . . .

6

1.4

Структура ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

 

1.4.1

Основные классы . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

 

1.4.2

Система наименований . . . . . . . . . . . . . . . . . . . . . . . .

7

2 Работа с гистограммами

8

2.1

Введение в гистограммы . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2

Одномерные гистограммы (TH1) . . . . . . . . . . . . . . . . . . . . . .

8

2.2.1Создание гистограммы . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.2 Типы гистограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.3Настройка внешнего вида . . . . . . . . . . . . . . . . . . . . . . . 9

2.3Двумерные гистограммы (TH2) . . . . . . . . . . . . . . . . . . . . . . . 9

2.4Операции с гистограммами . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.4.1Арифметические операции . . . . . . . . . . . . . . . . . . . . . . 9

2.4.2Статистические функции . . . . . . . . . . . . . . . . . . . . . . . 10

3 Графики и визуализация

11

3.1 Класс TGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.1.1 Создание простого графика . . . . . . . . . . . . . . . . . . . . .

11

3.1.2График с погрешностями . . . . . . . . . . . . . . . . . . . . . . . 11

3.2 Многопанельные графики . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2.1Разделение холста . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3 Функции в ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.1Создание и отображение функций . . . . . . . . . . . . . . . . . . 12

3.3.2Многомерные функции . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4Легенды и аннотации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.1Создание легенды . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.4.2Добавление текста . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2

Оглавление

3

4 Работа с деревьями (Trees)

15

4.1Введение в ROOT Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2Создание дерева . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.1Простое дерево . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2.2Дерево с массивами . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3Чтение деревьев . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3.1Простое чтение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3.2 Использование TTreeReader . . . . . . . . . . . . . . . . . . . . .

17

4.4 Селекция данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

4.4.1Использование Draw с условиями . . . . . . . . . . . . . . . . . . 17

4.4.2TEntryList для сложной селекции . . . . . . . . . . . . . . . . . . 17

5 Анализ данных и фитирование

19

5.1 Введение в фитирование . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

5.2Фитирование гистограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2.1Простое фитирование . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.2.2Фитирование пользовательской функцией . . . . . . . . . . . . . 20

5.3Фитирование графиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.3.1Линейная регрессия . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5.3.2Нелинейное фитирование . . . . . . . . . . . . . . . . . . . . . . . 21

5.4 Минимизация и оптимизация . . . . . . . . . . . . . . . . . . . . . . . . 21

5.4.1Использование Minuit . . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Продвинутые возможности

23

6.1RooFit - статистическое моделирование . . . . . . . . . . . . . . . . . . . 23

6.1.1Основы RooFit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6.1.2Генерация и фитирование данных . . . . . . . . . . . . . . . . . . 24

6.2Многомерный анализ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6.2.1 Анализ главных компонент (PCA) . . . . . . . . . . . . . . . . . 24

6.3Параллельные вычисления . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.3.1ROOT::EnableImplicitMT . . . . . . . . . . . . . . . . . . . . . . . 25

6.4Веб-интерфейс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

6.4.1ROOT в Jupyter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7 Практические примеры и упражнения

27

7.1 Анализ физических данных . . . . . . . . . . . . . . . . . . . . . . . . .

27

7.1.1 Анализ распада частиц . . . . . . . . . . . . . . . . . . . . . . . . 27

7.2Упражнения для самостоятельной работы . . . . . . . . . . . . . . . . . 28

7.2.1 Упражнение 1: Анализ распределений . . . . . . . . . . . . . . . 28

7.2.2Упражнение 2: Корреляционный анализ . . . . . . . . . . . . . . 28

7.2.3Упражнение 3: Работа с реальными данными . . . . . . . . . . . 28

7.3Проекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7.3.1Проект 1: Анализатор логов детектора . . . . . . . . . . . . . . . 29

7.3.2Проект 2: Статистический анализ . . . . . . . . . . . . . . . . . . 29

Заключение

30

Приложения

31

Введение

CERN ROOT — это мощная программная платформа для анализа данных и визуализации, разработанная в Европейской организации ядерных исследований (CERN). Этот инструмент широко используется в физике высоких энергий, но также находит применение в других областях науки, где требуется обработка больших объёмов данных.

ROOT предоставляет объектно-ориентированную среду для анализа данных, включающую мощные возможности для создания гистограмм, графиков, фитирования данных и статистического анализа. Система построена на языке C++ и предоставляет интерактивную оболочку для быстрого прототипирования и анализа.

Данная книга предназначена для студентов, изучающих физику, математику и другие естественные науки. Мы начнём с основ работы с ROOT и постепенно перейдём к более сложным задачам анализа данных.

Об авторе: Если у вас возникли вопросы по материалу книги или вам нужна помощь в написании программ на C++, Python, Go, разработке бэкенда или машинном обучении, вы можете обратиться к автору в Telegram: @Glebhtdry2.

4

Соседние файлы в папке ROOT