
- •для современного эксперимента
- •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 реализован как набор |
|
библиотек классов, обеспечивающих |
|
необходимую функциональность |
|
для работы с гистограммами, |
|
функциями, графиками, деревьми |
|
и т. д. |
|
В состав ROOT входит также |
|
интерпретатор CINT, который |
|
воспринимает команды ROOT и |
|
выражения С/C++ |
|
Два варианта использования ROOT |
|
работа в программе root.exe |
|
включение библиотек классов ROOT |
|
в собственные программы |

Принятые в ROOT 
обозначения
Имена классов начинаются с T
TF1, TFile
Переменные типа «не класс» заканчиваются на _t
Int_t
Поля начинаются с f
fIntegral
Методы начинаются с прописной
Fill(), Draw()
Константы начинаются с k
kRed
Глобальные переменные начинаются с g
gStyle

Машинно-независимые типы 
данных
В ROOT используются машинно-независимые типы данных
Наиболее употребляемые типы:
|
Char_t |
знаковый символьный |
1 |
байт |
|
Int_t |
знаковый целый |
4 |
байта |
|
Float_t |
вещественный |
4 |
байта |
|
Double_t |
вещественный |
8 |
байт |
|
Bool_t |
логический (0 — ложь, 1 — истина) |
|
|

ROOT: начало работы
Чтобы запустить ROOT наберите в консоли
$ root
версия ROOT
дата компиляции и тип ОС
приглашение командной строки
Завершается сеанс работы командой .q
root[] .q

C/C++ интерпретатор CINT
CINT воспринимает три типа команд
1. Собственно команды CINT начинаются с "."
.? вывести список возможных команд
.L <filename> загрузить файл filename
.x <filename> загрузить и выполнить файл filename
2. C/C++ выражения в соответствии с синтаксисом языка
Int_t a = 8
a++
Int_t b=a*2
3. Команды SHELL начинаются с ".!"
.! pwd

Пример простейшей сессии: построение гистограммы значений,
распределенных по Гауссу
root [0] TH1F *h1 = new TH1F("h1","Random gauss",100,-2,2) root [1] h1->FillRandom("gaus",1000)
root [2] h1->Draw()
<TCanvas::MakeDefCanvas>: created default TCanvas with name c1

Скрипты: неименованные
скрипты
В ROOT существует два типа скриптов: именованные и неименованные
Неименованный скрипт представляет собой простую последовательность команд. Тело скрипта должно быть заключено в фигурные скобки
Пример простейшего скрипта. Файл MyMacro.C
{
#include <iostream> using namespace std;
for (Int_t i=0; i<10; i++) { cout<<i<<endl;
}
}
Чтобы выполнить неименованный скрипт в интерактивной сессии
root [] .x MyMacro.C
ROOT будет искать скрипт в текущей директории, а также в директории $ROOTSYS/macros
Можно задать полный путь к файлу, например
root [] .x /home/user1/macros/MyMacro.C

|
Скрипты: именованные |
|
скрипты |
|
Чтобы иметь возможность включить в тело скрипта функцию, |
|
следует пользоваться именованными скриптами |
|
Пример именованного скрипта, содержащего функцию drawhist(). |
|
Файл MyNamedMacro.C |
|
void drawhist() { |
|
TH1F *h1 = new TH1F("h1","simplest histo",10,0,10); |
|
h1->Fill(3,3); |
|
h1->Fill(4,2); |
|
h1->Fill(5,1); |
|
h1->Draw(); |
|
} |
|
Чтобы выполнить функцию drawhist(), следует сначала загрузить |
|
скрипт в память ROOT, затем вызвать функцию |
|
root [] .L MyNamedMacro.C |
|
root [] drawhist() |

Преобразование 
HBOOK/PAW в ROOT
Утилита h2root, входящая в состав дистрибутива ROOT автоматически преобразует гистограммы, ntuples, содержащиеся
вHBOOK-файле, в соответствующие объекты ROOT и записывает их в новый файл.
Синтаксис утилиты h2root (в консольной строке ОС Linux)
$ h2root <hbook file> <root file>
|
hbook file |
имя файла HBOOK |
|
root file |
имя выходного ROOT-файла |

6 лекция
Гистограммы в ROOT
Создание и заполнение гистограмм
Рисование гистограмм, параметры рисования
Немного о TCanvas
Сложение, умножение, деление гистограмм
Прочие аспекты работы с гистограммами:
Клонирование
Интеграл и нормировка
Ребиннинг
Фитирование гистограмм