
- •для современного эксперимента
- •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)

Фитирование
Полученное распределение в гистограмме можно профитировать какой-либо теоретической зависимостью. Для этого применяется команда
HISTOGRAM/FIT id func [ chopt np par step pmin pmax errpar ]
id – идентификатор фитируемой гистограммы,
func – функция, с помощью которой происходит фитирование,
chopt – опции фитирования,
np – количество параметров фитирования,
par – начальные параметры фитирования (задаются в виде вектора),
pmin – вектор с минимально допустимыми значениями,
pmax – вектор с максимально допустимыми значениями
errpar - вектор для ошибок фитирования.
С помощью некоторых параметров опций фитирования (chopt) можно регулировать вывод информации, напечатанной в командной строке в результате фитирования
опция «Q» - подавляет вывод информации на печать
опции «V» выводит подробную информацию

Фитирование (2)
Функцию, с помощью которой происходит фитирование, можно задавать изначально. Для этого нужно создать внешний файл, в котором будем описана данная функция. При этом нужно обратить внимание на то, что имя созданного внешнего файла и имя фитирующей функции должны быть идентичны
Также можно использовать предопределенные функции PAW для фитирования:
1) par(1)*exp(-0.5*((x-par(2))/par(3))**2) - распределение Гаусса, обозначается кратко буквой «G»
2) exp(par(1)+par(2)*x) – экспоненциальное распределение, «Е»
3) par(1)+par(2)*x+par(3)*x**2......+par(n+1)*x**n - полином степени n, «Pn» (например, Р3 – полином 3 степени).

Фитирование (3)
PAW> opt stat
PAW> hi/plot 212
И профитируем получившиеся распределения с помощью встроенной функцией Гаусса
PAW> opt fit
PAW> hi/fit 212 G
Также можно задать предел фитирования PAW> hi/fit 212(-0.6:0.6) G

Сохранение информации в 
файл
В PAW существует возможность сохранять полученные рисунки в формате PostScript.
Для этого используется команда GRAPHICS/METAFILE.
Для примера приведем последовательность команд, которые позволят сохранить рисунок в файле с именем pic.ps.
PAW>fortran/file 66 pic.ps открываем файл pic.ps с номером 66 PAW>graphics/meta 66 -111
инициализируем файл pic.ps в формате А4 PAW> hi/plot 212
рисуем гистограмму 212 PAW>fortran/close 66
закрываем и сохраняем файл pic.ps

Скрипты
При работе в PAW иногда удобно использовать скрипты (имеющие расширение kumac), т.е. файлы, содержащие определенную последовательность команд PAW
Данные файлы запускаются в PAW командой EXE, например PAW>exe work.kumac
work.kumac
fortran/file 66 pic.ps graphics/meta 66 -111 hi/file 1 evgen.1.nt 0
1d 212 ‘Pz distribution of pions’ 50 -1. 1. nt/plot 999.pxyz(1) ipdg=211 idh=212 hi/plot 212
fortran/close 66

5 лекция
Изучение программ, обеспечивающих накопление экспериментальных данных, их обработку и анализ, графическое представление
ROOT
Элементы С++
Структура пакета ROOT
Принятые обозначения, типы данных
Скрипты:
неименованные
именованные
Преобразование файлов PAW в ROOT-файлы

ROOT
PAW реализован на Fortran. К середине 90-х этот язык программирования начинает устаревать
В это же время набирает силу парадигма объектно-ориентированного программирования и язык программирования C++. Создание ускорителя LHC требует программного обеспечения, которое будет способно справиться с колоссальными объемами данных
В 1994 году сотрудники Европейской организации ядерных исследований (CERN) Рене Бран и Фонс Ридмайкерс приступают к созданию программного пакета, реализованного на принципах ООП. Итогом этой работы становится программный пакет ROOT
An Object Oriented Data Analysis Framework Объектно-ориентированная среда для анализа данных
В настоящее время ROOT стал практически стандартом программного обеспечения для современных ускорительных экспериментов

|
ROOT: справочная |
|
|
|
|||||||
|
информация |
|
|
|
|
|
|
ано |
|||
|
|
|
|
|
|
|
|
дов |
ю |
||
|
|
|
|
|
|
|
н |
|
|
||
|
|
Web-сайт проекта |
|
|
е |
|
и |
||||
|
|
еко |
|
|
чте |
н |
|
||||
|
|
р |
|
м |
|
|
|
|
|||
|
|
|
|
|
о |
|
|
|
|||
|
|
|
|
|
р |
|
|
|
|
||
|
|
|
|
п |
|
|
|
|
|
|
|
|
|
http://root.cern.ch |
|
к |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Руководство пользователя |
|
|
|
|
|
|
|
|
|
|
|
http://root.cern.ch/root/doc/RootDoc.html |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Справочное руководство |
|
|
|
|
|
|
|
|
|
|
|
(описание классов ROOT) |
|
|
|
|
|
|
|
|
|
http://root.cern.ch/root/Reference.html
Раздел HOWTO’s
http://root.cern.ch/root/HowTo.html

ООП и классы С++
Общая идея объектно-ориентированного программирования: моделирование окружающего мира как совокупности объектов, взаимодействующих друг с другом
Поддержка ООП в С++ реализуется с помощью классов
Класс — это тип данных, определяемый пользователем
Класс представляет собой модель реального объекта в виде данных и функций для работы с этими данными
Функции класса называются методами, а данные — полями
Принадлежность метода конкретному классу обозначается так:
MyClass::DoSomething
DoSomething это метод класса MyClass
Объект — это конкретный экземпляр, представитель данного класса

Указатели
При работе с объектами часто используются указатели
Указателем называется переменная, в которой хранится адрес памяти, по которому располагается другая переменная
Создание и определение указателя часто осуществляется с помощью операции new
Создадим объект класса MyClass и указатель pointer на этот объект
MyClass *pointer = new MyClass(…);
Обращение к методам класса через указатель производится с
помощью операции ">". Предположим, класс MyClass имеет метод
DoSomething(…)
Тогда обращение к этому методу через указатель pointer осуществляется следующим образом:
pointer->DoSomething(…);