
- •для современного эксперимента
- •1 лекция
- •Содержание курса
- •ROOT
- •Генераторы столкновений
- •GEANT3
- •AliRoot
- •Команды ОС Linux (1)
- •Команды ОС Linux (2)
- •Текстовые редакторы
- •Некоторые команды JOE
- •2 лекция
- •Объекты в PAW
- •Базовые объекты
- •Базовые объекты (2)
- •Связь PAW с другими программами
- •Работа в PAW
- •Окно отображения
- •HELP
- •Вектора: создание
- •Вектора
- •Чтение из файла
- •Запись и рисование
- •Пример
- •3 лекция
- •Пакет HBOOK
- •Интерфейс
- •Перед началом работы
- •Заполнение гистограмм
- •Запись гистограмм в
- •Пример
- •Пример (продолжение)
- •Работа с гистограммами в PAW
- •Рисование гистограмм
- •Рисование гистограмм (2)
- •Операции с
- •Операции с гистограммами (2)
- •4 лекция
- •Ntuple
- •Вывод информации об
- •Вывод информации об Ntuple (2)
- •NTUPLE/SCAN
- •NTUPLE/SCAN
- •Гистограммирование
- •Гистограммирование (2)
- •Гистограммирование (3)
- •CUTS
- •Создание гистограмм в PAW
- •Фитирование
- •Фитирование (2)
- •Фитирование (3)
- •Сохранение информации в файл
- •Скрипты
- •5 лекция
- •ROOT
- •Указатели
- •Структура ROOT
- •Принятые в ROOT обозначения
- •Машинно-независимые типы данных
- •ROOT: начало работы
- •Пример простейшей сессии: построение гистограммы значений,
- •Скрипты: неименованные
- •Преобразование HBOOK/PAW в ROOT
- •6 лекция
- •Гистограммы в ROOT
- •Создание гистограммы
- •Внесение значений в гистограмму
- •Рисование гистограммы, опции рисования
- •Пример создания, заполнения и рисования гистограммы
- •Информация, выводимая по умолчанию
- •Поле для рисования canvas
- •Пример. Сохранение изображения на диск
- •Сложение, деление и умножение гистограмм
- •Прочие аспекты работы с гистограммами
- •Вывод результатов фита
- •Команды фитирования
- •Фитирование функцией, определенной пользователем
- •7 лекция
- •Сохранение гистограмм на диск
- •Работа с файлами: ROOT- директория
- •Работа с файлами
- •Сохранение гистограмм
- •Двумерные гистограммы
- •Пример работы с 2D- гистограммой
- •Параметры рисования
- •Графики
- •Графики. Опции рисования
- •Таблицы цветов и стилей маркеров
- •Варианты рисования
- •Два графика на одной картинке
- •График с погрешностями
- •График с погрешностями
- •8 лекция
- •Деревья
- •Создание простейшего
- •Информация о дереве
- •Информация об i-ом вхождении в дерево
- •Просмотр содержимого дерева с помощью TBrowser
- •Чтение дерева
- •Чтение дерева. Пример скрипта
- •Результат выполнения скрипта
- •Анализ данных дерева: метод TTree::Draw
- •9 лекция
- •Программы PYTHIA, JETSET интенсивно используются для генерации событий в физике высоких энергий при
- •2. Основные блоки данных и параметров(1).
- •2. Основные блоки данных и параметров(2).
- •2. Основные блоки данных и параметров(3).
- •2. Основные блоки данных и параметров(4).
- •2. Основные блоки данных и параметров(5).
- •2. Основные блоки данных и параметров(6).
- •3.Структура программы, использующей генератор PYTHIA
- •3.Структура программы, использующей генератор PYTHIA(2)
- •3.Структура программы, использующей генератор PYTHIA(3)
- •10 лекция
- •Чтобы проиллюстрировать работу PYTHIA, представим себе, например, что требуется
- •1. Моделирование рождения Хиггс-бозона в pp-столкновении.
- •1. Моделирование рождения Хиггс-бозона в pp-столкновении(2).
- •1. Моделирование рождения Хиггс-бозона в pp-столкновении(3).
- •1. Моделирование рождения Хиггс-бозона в pp-столкновении(4).
- •2. Моделирование рождения Z0-бозона в pp-столкновении(2).
- •2. Моделирование рождения Z0-бозона в pp-столкновении(3).
- •3. Визуализация полученной информации с помощью PAW и ROOT.
- •3. Визуализация полученной информации с помощью PAW и ROOT(2).
- •3. Визуализация полученной информации с помощью PAW и ROOT(3).
- •3. Визуализация полученной информации с помощью PAW и ROOT(4).
- •11 лекция
- •Задачи, решаемые с помощью данного генератора.
- •Основные блоки данных и параметров
- •Ниже приведены параметры, которые чаще всего
- •Структура программы, использующей генератор UrQMD.
- •Выходные данные.
- •Вид выходного файла в формате ftn13, ftn14
- •Вид выходного файла в формате ftn15
- •Формат заголовка одинаков с начальными строками описывающими двухчастичные взаимодействия и распады, которые следуют
- •12 лекция
- •Задачи, решаемые с помощью HIJING
- •Пакет HIJING
- •HIJSET
- •HIJING
- •Общий блок HIMAIN1
- •Общий блок HIMAIN2
- •Общий блок HIPARNT
- •Общий блок HIPARNT (2)
- •Общий блок HIPARNT (3)
- •Пример
- •Пример (2)
- •13 лекция
- •Задачи, решаемые с помощью данного программного пакета
- •Всоответствии с этими направлениями GEANT позволяет:
- •Основная программа в процессе своего выполнения проходит три этапа:
- •Затем следует пользовательский код, в котором определяется:
- •Обработка события начинается с вызова подпрограммы GRUN, которая для
- •Прекращение работы контролируется пользователем в подпрограмме GULAST. В простейшем случае она может содержать
- •14,15 лекция
- •1. Структура программы, использующей приложение GEANT3.(1)
- •1. Структура программы, использующей приложение GEANT3.(2)
- •1. Структура программы, использующей приложение GEANT3.(3)
- •1. Структура программы, использующей приложение GEANT3.(4)
- •1. Структура программы, использующей приложение GEANT3.(5)
- •2. Основные блоки данных, функций и переменных, использующиеся в приложении GEANT3(1)
- •2. Основные блоки данных, функции и переменные, использующиеся в приложении GEANT3(2)
- •2. Основные блоки данных, функции и переменные, использующиеся в приложении GEANT3(3)
- •2. Основные блоки данных, функции и переменные, использующиеся в приложении GEANT3(3)
- •Методы визуализации
- •Методы визуализации
- •Методы визуализации
- •Методы визуализации
- •Описание геометрии
- •Описание геометрии установки (2)
- •Описание геометрии установки (3)
- •Описание геометрии установки (4)
- •Описание геометрии установки (5)
- •Описание геометрии установки (6)
- •16 лекция
- •Тяжелоионный эксперимент ALICE
- •Тяжелоионный эксперимент ALICE (2)
- •Тяжелоионный эксперимент
- •Программная оболочка
- •Установка AliRoot
- •Установка AliRoot (2)
- •Моделирование события в
- •Моделирование события в
- •Моделирование события в
- •Моделирование события в AliRoot (4)
- •Моделирование события в AliRoot (5)
- •Моделирование события в AliRoot (6)
- •Моделирование события в AliRoot (7)

Гистограммы в ROOT
Гистограммы в ROOT реализованы как иерархия классов, наследующих корневому классу TH1
Наиболее употребляемым на практике классом является TH1F, это класс одномерных гистограмм, на содержимое бина (столбца) которых отводится 4 байта (максимальная точность 7 знаков)
ROOT поддерживает также двумерные и трехмерные гистограммы

Создание гистограммы
Общий синтаксис создания гистограммы
TH1F*h1=newTH1F("HistName","Histogramtitle",Nbins,xmin,xmax)
Создается гистограмма (объект класса TH1F) и указатель h1 на этот объект
5 параметров, передаваемых конструктору гистограммы
HistName |
имя гистограммы, без пробелов |
Histogram title |
заголовок гистограммы |
Nbins |
число бинов в гистограмме (целая величина) |
xmin, xmax |
диапазон изменения гистограммируемой величины |

Внесение значений в 
гистограмму
Для внесения значений в гистограмму используется метод Fill(value), где value — значение, которое требуется занести
h1->Fill(24.7)
Метод Fill(value) увеличивает содержимое бина, к которому принадлежит значение value, на единицу
Чтобы внести значение с некоторым весом w, воспользуйтесь методом
Fill(value, w)
Внести значение 7.2 трижды:
h1->Fill(7.2,3)
Вес может быть отрицательной величиной

Рисование гистограммы, 
опции рисования
Для рисования гистограммы используется метод Draw():
h1->Draw()
В методе Draw() можно задавать различные опции рисования
Например, h1->Draw("C")
С — провести кривую через значения бинов
P — нарисовать маркеры для каждого значения
E — нарисовать погрешности значений
Опции можно совмещать, безо всяких пробелов:
h1->Draw("CP")
Чтобы нарисовать две гистограммы на одном рисунке, следует задать опцию same для второй:
h1->Draw()
h2->Draw("same")

Пример создания, заполнения и рисования гистограммы
Создадим гистограмму
TH1F *h1 = new TH1F("h1", "Example histo",16,-4,4)
Заполним гистограмму, последовательно применяя методы Fill(value) и
Fill(value, w)
h1->Fill(-2.3)
h1->Fill(-0.9)
h1->Fill(0,3)
h1->Fill(1.1,2)
h1->Fill(2.7)
Нарисуем гистограмму:
h1->Draw()

Информация, выводимая по умолчанию
заголовок гистограммы
окно стат. информаци h1 имя объекта
Entries число вхождений Mean среднее значение RMS оценка стандартного отклонения
NB RMS не является среднеквадратичным значением!

Поле для рисования canvas
Поле, на которое выводятся графические объекты в ROOT, называется canvas (класс TCanvas)
Объект, например гистограмма, рисуется на текущем активном canvas. Если canvas не существует, то он создается автоматически и имеет по умолчанию имя c1
Чтобы разделить canvas на несколько частей, можно воспользоваться методом TCanvas::Divide(k,l), где k и l число разбиений по горизонтали и вертикали соответственно
Чтобы выбрать, на какой части canvas’а следует рисовать объект, следует применить метод TCanvas::cd(n), где n — номер части. Разделы нумеруются слева направа, сверху вниз

Пример. Сохранение изображения на диск
Пример
TCanvas *MyC = new TCanvas ("MyC", "Test canvas", 1);
MyC->Divide(2,2) MyC->cd(1) h1->Draw()
Чтобы сохранить текущее изображение на canvas на диск, следует выбрать курсором мыши File menu/Save As… и далее указать желаемый формат файла и его имя

Сложение, деление и умножение гистограмм
Методы Add(), Divide() и Multiply() позволяют
складывать, делить и умножать гистограммы.
Чтобы добавить к гистограмме h1 гистограмму h2
h1->Add(h2)
Можно добавить гистограмму с некоторым весом w
h1->Add(h2,w)
Вычесть одну гистограмму из другой
h1->Add(h2,-1)
Складывать, делить и умножать можно только гистограммы с одинаковым числом бинов!
Деление и умножение осуществляется аналогично
h1->Divide(h2)
h1->Multiply(h2)

Прочие аспекты работы с гистограммами
Создать идентичную копию (клон) гистограммы
TH1F *h1_clone = (TH1F*)h1->Clone()
Копия будет иметь то же имя, чтобы его изменить
h1_clone->SetTitle("h1_clone")
Получить интеграл гистограммы
h1->Integral()
Нормировка гистограммы на величину norm
Double_t scale = norm/h1->Integral()
h1->Scale(norm)
Ребиннинг гистограммы
h1->Rebin(N)
По умолчанию сливаются два соседних бина
Дать имена X и Y осям гистограммы
h1->GetXaxis()->SetTitle("X axis title")
h1->GetYaxis()->SetTitle("Y axis title")

|
Фитирование гистограмм: |
|
FitPanel |
|
Фитирование с помощью GUI: FitPanel |
|
Чтобы запустить FitPanel, кликните правой |
|
кнопкой мыши по линии гистограммы и |
|
выберите пункт FitPanel |
выбор фитирующей функции различные опции фита
опции рисования
ползунок для варьирования диапазонов фита
произвести фит