Лабораторная работа 4 Цели 1. Геометрия с повторяющимися элементами; 2. Стандартные (встроенные) наборы PhysicsList; 3. Моделирование сэмплинг-калориметра. Описание Часто встречаются экспериментальные установки, геометрия которых включает в себя множество одинаковых и регулярно расположенных элементов. Хорошим примером является сэмпл-калориметр, который применяется в физике высоких энергий и состоит из чередующихся слоев поглотителей и детекторов (сцинтилляторов). В слоях поглотителя идет размножение ядерно-фотонной лавины, а в слоях детектора – регистрация ливневых частиц. В этой лабораторной мы проведем моделирование такого детектора и рассмотрим как его конструировать. Схема геометрии показана на следующем рисунке: Поглотитель Сцинтиллятор Падающий пучек Основные отличия кода программы моделирования этой работы от предыдущей: DetectorConstruction: содержит пример реализации геометрии с множеством одинаковых слоев. PhysicsList: используется один из встроенных в geant4, к которому добавлены оптические процессы, конструируемые нами вручную. Создание реплики Несколько одинаковых геометрических объектов расположенных последовательно вдоль одной из осей координат называется в geant4 репликой и реализуется с помощью класса G4PVReplica. Создание реплики состоит из двух шагов: 1. Создается ограничивающий объем, который будет содержать в себе все компоненты реплики: // калориметр G4Box* calor_box = new G4Box("calorimeter", 5*cm, 5*cm, 100*cm); G4LogicalVolume* calor_log = new G4LogicalVolume(calor_box, vacuum, "calorimeter"); G4VPhysicalVolume* calor_phys = new G4PVPlacement(0, G4ThreeVector(), calor_log, "calorimeter", world_log, false, 0); 2. создается непосредственно сам элемент, много копий которого затем располагаются автоматически с помощью класса G4PVReplica: // слой G4Box* layer_box = new G4Box("layer", 5*cm, 5*cm, 10*cm); G4LogicalVolume* layer_log = new G4LogicalVolume(layer_box, Fe, "layer"); G4PVReplica* layer_phys = new G4PVReplica("layer", layer_log, calor_log, kZAxis, 10, 20*cm); В данном случае набор слоев layer_log располагается внутри calor_log вдоль оси Z в количестве 10 штук, толщина каждого слоя 20 см. Стоит отметить что такого же эффекта можно было добится использую цикл и располагая каждый слой по отдельности, но использование реплики 1) намного удобнее (не нужно вручную вычислять координаты каждого слоя), 2) позволяет экомомить оперативную память (так как фактически создается один объект а не десять), что весьма существенно при сложных геометриях. Использование встроенных PhysicsList-ов Во всех предыдущих лабораторных частицы и процессы, в которых они участвуют, конструировался полностью вручную. Но в geant4 есть и готовые к использованию списки для некоторых характерных задач моделировани детекторов частиц. Основное преимущество их использования – это удобство (необходимо писать и поддерживать меньше кода), также эти списки частиц/процессов прошли проверку временем и позволяют получать похожие на правду результаты. Однако, не во всех случаях они применимы, так как не всегда позволяют достигнуть требуемую точность (остро эта проблема стоит для адронной физики, где еще нет устоявшихся моделей (идет их постоянная разработка)), или скорость вычислений. Geant4 содержит следующие списки: LHEP – Low and High Energy Parameterized, это самая быстрая адронная модель, основанная на параметризации некоторых экспериментальных сечений. Включает стандартные электромагнитные процессы; адронные процессы основаны на эмпирических моделях, построенных с помощью параметризации имеющихся экспериментальных данных. Наиболее “быстрый” и проверенный (но не для точных вычислений) список. С него разработчики рекомедуют начинать и он используется в сегодняшней лабораторной работе. QGSP – Quark Gluon String, включает стандартные электромагнитные процессы; для адронных процессов больших энергий (> 20 ГэВ) используется кварк-глюонная струнная модель, для меньших – параметризованные модели (как в LHEP). Так же добавленны гамма-ядерные процессы для энергий < 3.5 ГэВ. LBE – стандартные электромагнитные процессы для позитронов, низкоэнергетичные электромагнитные процессы для электронов, ионов и адронов; оптические процессы; радиоактивный распад. Подключение стандартного списока – дело не хитрое: G4VModularPhysicsList* physList = new LHEP; physList->RegisterPhysics(new OpticalConstructor); runManager->SetUserInitialization(physList); Как видно, к стандартному списку LHEP мы также подключаем свой собственный список OpticalConstructor. Дело в том, что LHEP не содержит оптических процессов, поэтому мы их конструируем сами и подключаем отдельно. В результате моделирования образуются следующие выходные файлы: spectrum-emited.csv – спектр испущенных фотонов сцинтилляций для всего калориметра (функция отключена для убыстрения моделирования). spectrum-energy.csv – спектр оставленной в калориметре энергии. spectrum-energy-0.csv, … , spectrum-energy-i.csv – спектр оставленной энергии в i-м слое поглотителя. Методические задания 1. Ознакомьтесь с листингом программы. Скомпилируйте её и запустите с vis.macфайлом. Рассмотрите структуру калориметра. Затем запустите программу с run.macфайлом. На основе сгенерированных выходных файлов с гистограммами оставленной энергии в каждом слое поглотителя spectrum-energy-0.csv, …, spectrumenergy-i.csv (цифры – это номера слоёв поглотителей, «0» -- самый ближний к входному пучку частиц) определите амплитуды энергетических пиков в каждом слое поглотителя и постройте профиль ливня в калориметре (зависимость «амплитуда пика – номер слоя»). Что можно сказать о развитие электромагнитного ливня данной энергии? 2. Определите зависимость e/h (отношение амплитуды сигнала от лептонов к амплитуде сигналов от адронов) для данной геометрии калориметра и разрешения калориметра от энергии пучка и размеров мишени: а). Для --мезонов (“pi-”): в run.mac-файле задайте число частиц 300, энергию первичных частиц – 15 ГэВ. Определите энергетическое разрешение калориметра (используйте выходной файл spectrum-energy.csv – переименуйте его перед использованием!). Затем увеличьте энергию до 30 ГэВ и также определите энергетическое разрешение. Сравните полученные значения. б). Для электронов: в run.mac-файле задайте число частиц 100, энергию первичных частиц – 15 ГэВ. Сравните полученные значения энергетических разрешений при одинаковых энергиях адронов и лептонов. в). На основе полученных значений амплитуд энергетических пиков определите отношение e/h для данной геометрии сцинтиллятора: e/h = I e- /Ipi-где Ipi- -- амплитуда энергетического пика от пионов -, а Ie- -- от электронов. г). Увеличьте толщины всех слоёв поглотителя до значения 5 см, а толщины сцинтилляторов уменьшите до 1 см. В run.mac-файле задайте число частиц 200, энергию первичных частиц – 30 ГэВ, тип частиц -- --мезоны. На основании выходного файла spectrum-energy.csv определите энергетическое разрешение. Повторите то же самое для электронов, уменьшив число частиц при запуске до 100. Как изменилось энергетическое разрешение одноимённых частиц по сравнениею с результатами, полученными в п.2.? 3. Измените тип сцинтиллятора на BC-418. Повторите моделирования как в п.1.a. и определите энергетические разрешения. Как они изменились при использовании BC418 вместо PbWO4? Почему? 4. Проверьте линейность отклика калориметра: зависимость регистрируемой энергии от энергии пучка. В run.mac-файле задайте число частиц 10, энергию первичных частиц – 10, 15, 20, 25, 30, 35 ГэВ, тип частиц -- --мезоны. То же самое повторите для электронов. Постройте графики зависимости регистрируемой энергии от энергии первичных частиц.