Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ROOT / ROOT tasks

.pdf
Скачиваний:
0
Добавлен:
14.12.2025
Размер:
83.4 Кб
Скачать

Правила

К данному блоку заданий также должна быть составлена презентация. К каждому заданию должна быть приведена картинка с результатом выполненного задания (картинка должна быть сохранена с помощью ROOT, это не должен быть скриншот (screenshot)). К каждому заданию должна быть приведена программа. Каждую строчку кода нужно понимать и уметь объяснить, что она делает.

Задания по ROOT

1.Написать скрипт, в котором создается TCanvas с заголовком ''Functions'', создаются

ирисуются две функции -sin(x)*x и cos(x)*x в интервале по х от -10 до 10. Первую функцию нарисовать черным цветом, вторую — красным. Сохранить рисунок в формате .png в обычном виде и в логарифмическом масштабе по оси y.

2.Написать скрипт, который должен выполнить следующее:

a.Создать TCanvas

b.Массивом из n = 20 точек заполнить значения по х и у, где x[i] =i*0.1, а y[i]=10*sin(x[i]+0.2)

c.Задать стиль точек графика: пустые звезды

d.Отрисовать и сохранить построенный график в формате .png

3.Построить гистограмму заполненную значением функции f(x) = exp(x)+100*gaus(x, sigma). Где sigma = 2. Число x - случайное число распределенное равномерно в диапазоне (-20, 20). Число шагов (точек) для генерации задать самостоятельно.

4.Построенную график функции в предыдущем задании фитировать той же самой функцией. Параметры функции фита, критерий согласия Пирсона и число степеней свободы должны быть выведены на экран.

5.Создать класс содержащий информацию о треке частицы. Класс должен содержать следующие данные о треке: номер события, компоненты импульса (px, py, pz), масса, заряд. Класс должен быть скомпилировать в отдельную библиотеку. Например скомпилировать в ROOT:

.L MyClass.cxx++

Подключить библиотеку в ROOT: gSystem->Load(“MyClass.so“);

6.Написать скрипт, который использует библиотеку из предыдущего задания. На вход скрипту дается два параметра: число событий и имя выходного файла. Скрипт должен моделировать методом Монте-Карло рождение пионов, каонов и протонов. Полученные на выходе данные сохранять в .root файл в дерево TTree. В Ttree нужно сохранить класс Трек, написанный в предыдущем задании. О генерации частиц и их импульсов:

a.Распределение числа пионов - гаусс, среднее значение = 12, сигма = 8

b.Распределение числа каонов - пуассон, среднее значение = 4

c.Распределение числа протонов - гаусс, среднее значение = 8, сигма = 3

d.Импульсное распределение частиц (каждая компонента импульса: px, py, pz) - гаусс, среднее значение импульса = 0 ГэВ/c, сигма = 1.3 ГэВ/c

e.Заряд частицы - равномерное распределение, 50% положительный 50% отрицательный.

Массы заряженных пионов, каонов и протонов взять из PDG (pdg.lbl.gov)

7.Написать скрипт, принимающий на вход 2 параметра: 1) имя входного файла, содержащего TTree с классом трек, и 2) имя выходного файла. Скрипт так же будет использовать библиотеку из 5-го задания. Скрипт читает сгенерированный файл из предыдущего задания и строит следующие распределения (гистограммы):

a.модуль импульса частиц

b.квадрат массы частицы как функцию импульса трека для положительно и отрицательно заряженных частиц

c.псевдобыстроту частиц

d.число частиц в событии

e.число пионов в событии

f.число каонов в событии

g.число протонов в событии

h.инвариантную (эффективную) массу π+K-

i.инвариантную (эффективную) массу p+π-

Полученные гистограммы сохраняются в выходной файл.

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