Моделирование изучаемых процессов и
его роль в получении экспериментальных данных.
Программа GEANT и генератор событий.
Метод Монте-Карло
Чем больше
накапливается знаний о природе изучаемых
процессов, тем важнее становится роль
моделирования в современных исследованиях.
Любая экспериментальная установка строится и
оптимизируется с учетом закладываемых в нее
требований. Например, детектор должен обладать
способностью разделения разных частиц по виду,
по энергии, по углу и т.д. Поэтому его размеры, тип,
количество элементов и др. можно определить
заранее с высокой точностью, исходя из
поставленной задачи.
Другая важная функция моделирования –
использование накопленных знаний в процессе
анализа новых экспериментальных данных.
Например, для определения абсолютных значений
сечений фоторождения мезонов или полных сечений
фотопоглощения полезно использовать данные об
угловой зависимости изучаемых процессов,
которая влияет на общую эффективность
регистрации изучаемого процесса.
Процесс моделирования в настоящее
время достаточно унифицирован и базируется в
основном на разработках большой группы физиков в
ЦЕРНе [GEANT].
Но прежде чем перейти к описанию
программ моделирования, используемых на примере
установки GRAAL, рассмотрим основной метод, который
называется Монте – Карло и на котором основаны
эти программы.
Как известно, процессы в микромире,
которые мы рассматриваем, носят случайный
характер. Поэтому изучение этих процессов
основано на теории вероятностей, которая
позволяет разглядеть порядок там, где его как
будто нет. Для начала нам потребуется генератор
случайных чисел, который можно сделать разными
способами. Например, последовательность чисел
после запятой в трансцендентном числе = 3,14159265358… заполняет
отрезок (0,1) ровным слоем. Случайные точки в
многомерном пространстве: в прямоугольнике
(b - a).h: x = a + 1(b - a),y = 2h и т.д.
При моделировании траекторий частиц учитывают
случайные элементы траектории: длину пробега,
тип взаимодействия, угол рассеяния. Их
вероятностные характеристики выражаются через
коэффициенты (сечения) взаимодействия. С помощью
генератора случайных чисел разыгрывается
достаточно большое число ожидаемых событий и
получается вполне определенный результат.
Рассмотрим математическое
моделирование ядерно-физического эксперимента
на примере разработанного в CERN’е пакета
программ GEANT. Этот пакет свободно
распространяется в Интернете на сайте CERN’а
вместе с его детальным описанием. Остановимся
поэтапно на общих принципах проведения
модельного эксперимента. Зная их, каждый физик,
владеющий программированием, может написать
собственный пакет программ для моделирования
свободный, возможно, от тех ограничений, которые
присутствуют в GEANT’е.
Все процедуры и функции (объекты), из
которых состоит программа моделирования, можно
разбить на пользовательские, которые пишет
пользователь GEANT’а, и системные, составляющие
пакет GEANT’а. В свою очередь, системные объекты
делятся на вызываемые пользователем и скрытые от
него.
На первом этапе необходимо задать
формы объёмов, занимаемых всеми используемыми в
эксперименте объектами (вакуумные камеры,
магниты, детекторы, подставки и т. д.), а также всем
пространством эксперимента. В рамках GEANT’а можно
задать формы, представляющие собой стандартные
геометрические тела: прямоугольный
параллелепипед, призму, пирамиду, многогранник,
цилиндр, конус, шар, эллипсоид и некоторые другие,
в том числе полые, тела, части которых, возможно,
отсечены одной или несколькими плоскостями.
Случаи, когда тело имеет настолько сложную форму,
что для него нельзя подобрать форму из GEANT’а,
весьма редки. Описание форм происходит
посредством вызова из пользовательской
программы процедуры GEANT’а, параметрами которой
являются идентификатор, определяющей тип формы,
числа, определяющие размеры формы (например, для
прямоугольного параллелепипеда это полудлина,
полуширина и полувысота, для трубки –
внутренний, внешний радиус и полудлина и т. д.) и
уникальный номер описанной формы. Каждой форме
соответствует своя декартовая прямоугольная
система координат (например, для трубки начало
координат находится в её центре, а ось z
направлена вдоль её длины).
На втором этапе задаются вещества,
которыми заполнены используемые в эксперименте
объекты. Вещества бывают двух типов: простые,
состоящие из атомов одного элемента, и сложные,
состоящие из атомов нескольких элементов.
Сначала описываются простые вещества, в том
числе те, из атомов которых состоят сложные
вещества. При этом в качестве параметров
соответствующей процедуры GEANT’а задаются номер
вещества, его название, атомный вес, атомное
число, плотность, радиационная длина и длина
поглощения. При описании сложных веществ
задаются дополнительно число входящих в
вещество элементов, удельный вес каждого из них
по числу атомов или по массе, а также плотность
вещества. Отметим, что первые два этапа могут
быть пройдены в любом порядке.
На третьем этапе формы тел наполняются
веществами и размещаются в пространстве. Также
происходит задание внешних магнитных полей, если
таковые есть. При этом сначала задаётся форма
объёма, который занимает всё пространство
эксперимента (назовём её исходной формой).
Система координат, соответствующая этой форме, в
дальнейшем будет системой координат
эксперимента. Исходная форма заполняется
веществом посредством указания номера этого
вещества (как правило, это воздух или вакуум). При
размещении последующих форм объёмов
экспериментальных тел пользователь указывает,
относительно какой материнской формы (исходной
или другой, ранее уже размещённой) задаются
координаты размещаемой формы, указывается также
номер размещаемой формы, смещения центра её
координат по x, y и z относительно центра координат
материнской формы, а также полярные и
азимутальные углы всех трёх осей координат
размещаемой формы относительно каждой из осей
материнской формы. Задание шести чисел для
описания поворота системы координат, разумеется,
избыточно. Сделано оно для удобства
пользователя. Если при задании углов будет
нарушены условия ортогональности и взаимной
ориентации осей, система исправит ошибку и
предупредит об этом пользователя. Как и исходная
форма, все размещаемые формы (используемые в
эксперименте объекты) заполняются описанным
ранее веществом и, возможно, внешним магнитным
полем, для которого задаются интенсивность и тип
расположения силовых линий в пространстве. В
принципе, вектор внешнего магнитного поля в
каждой точке пространства можно задать некоей
функцией. Вещество, которым заполняется
размещаемая форма, заменяет собой вещество
материнской формы. Ограничением GEANT’а является
то, что вещество внутри любой формы должно быть
однородным. Одна и та же форма может быть
размещена во многих местах, заполняться разными
веществами и разными магнитными полями
(использоваться для описания разных
экспериментальных объектов одной и той же формы).
Каждой размещённой форме (экспериментальному
объекту) ставится в соответствие свой уникальный
номер. После размещения объектов в
экспериментальном пространстве вид этих
объектов из любой точки пространства
эксперимента может быть сохранён в файле или
распечатан, при этом для каждого объекта можно
задать свой цвет.
После того, как конфигурация
экспериментального оборудования задана,
начинается генерация событий. Число событий
задаётся пользователем и ограничено лишь
быстродействием ЭВМ и объёмом памяти, доступным
для записи параметров каждого из событий.
Рассмотрим, из чего состоит генерация каждого
события.
Пользователь “вмешивается” в
генерацию события три раза: один раз обязательно,
в начале каждого события, и два раза не
обязательно: после каждого шага события (о том,
что такое шаг события, будет сказано ниже) и в
конце каждого события. Любое событие начинается
с вылета неких частиц (назовём их исходными
частицами) из некой точки экспериментального
пространства (первичной точки). При
инициализации каждого события GEANT вызывает
пользовательскую программу инициализации
события, имеющую определённое имя. Назовём её
программой инициализации события. В ней
пользователь путём вызова соответствующих
процедур GEANT’а указывает, какие именно частицы
вылетают, (каждая частица имеет в GEANT’е свой
номер, и пользователь указывает этот номер). Он
указывает также координаты точки их вылета и все
три компонента импульса каждой из частиц. И
координаты точки вылета, и компоненты импульса
для каждой исходной частицы каждого события
могут задаваться как фиксированными, так и
стохастическими, разыгранными в соответствии с
заданной функцией распределения. На этом
обязательное участие пользователя в генерации
события заканчивается.
Рассмотрим, из чего состоит генерация
события системными объектами пакета GEANT. Прежде
всего, событие можно разделить на проводки
каждой частицы, как исходной, так и вторичной, от
точки её образования (для исходной частицы –
первичной точки) до вылета из экспериментального
объёма или до точки поглощения или распада
частицы, или до того момента, когда энергия
частицы станет ниже минимальной энергии для
частиц данного типа, заданной пользователем.
Проводка каждой частицы делится на шаги. Каждый
шаг состоит из свободного пролёта частицы до
взаимодействия частицы с одним из атомов
вещества того объекта, в котором летит частица и
самого взаимодействия (реакции) с этим атомом или
до вылета из объекта. Шаг разыгрывается
следующим образом. Сначала на основе известных
сечений взаимодействия частицы с атомами
вещества разыгрывается длина свободного пробега
частицы и находится точка, в которой оказывается
частица после свободного пробега. Если эта точка
находится внутри того же экспериментального
объекта, в котором разыгрывался свободный
пробег, то вычисляется энергия, которую,
возможно, потеряла частица во время свободного
пробега (тек, например, электрон вследствие
радиационных потерь). Далее, если вещество
сложное, разыгрывается тип атома, на котором
произошла реакция, потом на основе соотношения
сечений возможных реакций разыгрываются тип
реакции и, на основе дифференциального сечения
реакции, энергии всех продуктов реакции и углы,
под которыми они вылетают. Следует отметить, что
дифференциальные сечения, заложенные в GEANT, не
всегда соответствуют действительности с хорошей
точностью. Пользователь может задать свои, более
точные значения сечений и “обязать” GEANT
использовать их при расчётах. Если эта точка
находится вне экспериментального объекта, в
котором разыгрывался свободный пробег, то
вычисляются координаты точки вылета частицы из
объекта, вычисляется энергия, которую, возможно,
потеряла частица во время свободного пробега, и
на точке выхода из объекта шаг завершается.
После каждого шага события GEANT
вызывает пользовательскую программу, также
имеющую определённое имя. Назовём её программой
контроля шагов события. В ней пользователь
получает доступ к типу произошедшей реакции, к
энергии, которую потеряла частица на шаге, и ко
всем параметрам как проводимой частицы, так и
других объектов, участвующих в событии
(физического тела, в котором движется частица,
ядра атома, на котором произошла реакция, всех
образовавшихся в результате реакции частиц).
Отметим, что среди системных переменных GEANT’а, к
которым после каждого шага имеет доступ
пользователь, есть переменная, которая указывает
на то, что произошло в результате шага. Возможные
варианты: частица осталась в рассматриваемом
объекте, находится в точке выхода из него,
находится в начальной точке своего
существования, в точке входа в новый объект или в
точке вылета из всего экспериментального
пространства. Любые из этих параметров
пользователь может записать для дальнейшего
контроля и анализа, вычислять на основе их
интересующие его величины (например, потери
энергии в рабочем веществе сцинтилляционного
детектора) или, если в этом нет необходимости,
оставить программу контроля шагов события
пустой.
Проведя одну частицу до конечной её
точки, GEANT берёт следующую, потом следующую, и так
до тех пор, пока все частицы, как исходные, так и
вторичные, не будут проведены. В результате число
шагов события может изменяться от одного (была
задана одна исходная частица, и она вылетела из
экспериментального пространства, не вступив ни в
какие реакции) до нескольких сот тысяч.
Недостатком GEANT’a является то, что по ходу
эксперимента изменить параметры
экспериментальных объектов (например, плотность
вещества внутри них) невозможно.
После каждого сгенерированного
события GEANT также вызывает пользовательскую
программу. Назовём её программой контроля
событий. В ней пользователь получает доступ ко
всем сохранённым и вычисленным в процессе
генерации события величинам. Как правило,
пользователь записывает их в файл особого типа -
ntuple. В эти файлы последовательно записываются
заданные пользователем наборы величин для всех
сгенерированных событий. Отметим, что файлы типа
ntuple используются и для записи данных реальных
экспериментов, тогда в них записываются
величины, измеренные физическими приборами. Если
пользователь хочет записывать данные
моделирования в ntuple, он должен до начала
генерации событий описать структуру файла, то
есть те величины каждого события, которые он
будет записывать в файл. Это делается
посредством вызова системной процедуры GEANT. Для
простой переменной указывается её имя и диапазон
значений, который она может принимать. Для
переменной-массива сначала указываются имена
индексов массива (одного или нескольких) и
границы их изменений, а потом имя самой
переменной массива и границы её изменения. После
каждого события пользователь может дать команду
записи величин, соответствующих этому событию, в
ntuple. Он может также записать эти величины в файл
другого типа.
После генерации всех событий GEANT
вызывает последнюю пользовательскую программу.
В ней пользователь может сделать финальные
вычисления и закрыть файлы, в которые
записывалась информация со всех сгенерированных
событий. После завершения математического
моделирования, если данные моделирования
записывались в файл типа ntuple, пользователь
посредством пакетов программ PAW или ROOT может
построить одномерные или многомерные
распределения любых величин, записанных в ntuple,
при условии, что одна или несколько участвующих
или не участвующих в распределениях величин
лежат в определённых пределах.