
- •5 лекция
- •ROOT
- •ROOT: справочная информация
- •ООП и классы С++
- •Указатели
- •Структура ROOT
- •Принятые в ROOT обозначения
- •Машинно-независимые типы данных
- •ROOT: начало работы
- •C/C++ интерпретатор CINT
- •Пример простейшей сессии: построение гистограммы значений, распределенных по Гауссу
- •Скрипты: неименованные скрипты
- •Скрипты: именованные скрипты
- •Преобразование HBOOK/PAW в ROOT
- •6 лекция
- •Гистограммы в ROOT
- •Создание гистограммы
- •Внесение значений в гистограмму
- •Рисование гистограммы, опции рисования
- •Пример создания, заполнения и рисования гистограммы
- •Информация, выводимая по умолчанию
- •Поле для рисования canvas
- •Пример. Сохранение изображения на диск
- •Сложение, деление и умножение гистограмм
- •Прочие аспекты работы с гистограммами
- •Фитирование гистограмм: FitPanel
- •Вывод результатов фита
- •Команды фитирования
- •Фитирование функцией, определенной пользователем
- •7 лекция
- •Сохранение гистограмм на диск
- •Работа с файлами: ROOT-директория
- •Работа с файлами
- •Сохранение гистограмм в файл
- •Двумерные гистограммы
- •Пример работы с 2D-гистограммой
- •Параметры рисования
- •Графики
- •Графики. Опции рисования
- •Таблицы цветов и стилей маркеров
- •Варианты рисования
- •Два графика на одной картинке
- •График с погрешностями
- •График с погрешностями
- •8 лекция
- •Деревья
- •Создание дерева и ветвей
- •Создание простейшего дерева
- •Информация о дереве
- •Просмотр содержимого дерева с помощью TBrowser
- •Чтение дерева
- •Чтение дерева. Пример скрипта
- •Результат выполнения скрипта
- •Анализ данных дерева: метод TTree::Draw

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