E-Book Content
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ (ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ) А.А. БОГДАНОВ, К.О. ЛАПИДУС, С.Л. ТИМОШЕНКО ПРАКТИКУМ ПО МЕТОДАМ ОБРАБОТКИ И МОДЕЛИРОВАНИЯ В СОВРЕМЕННЫХ ЭКСПЕРИМЕНТАХ ПО ФИЗИКЕ ВЫСОКИХ ЭНЕРГИЙ Рекомендовано УМО “Ядерные физика и технологии” в качестве учебного пособия для студентов высших учебных заведений Москва 2008 УДК 539.1.01.(076.5) ББК 22.38я7 Б73 Богданов А.А., Лапидус К.О., Тимошенко С.Л. Практикум по методам обработки и моделирования в современных экспериментах по физике высоких энергий: учебное пособие. — М.: МИФИ, 2008. 80 с. Практикум посвящен компьютерным методам обработки и моделирования в экспериментах по физике высоких энергий. Практикум состоит из 3 глав, каждая из которых описывает один из аспектов такого моделирования. Первая глава посвящена пакету программ ROOT – по существу, целой среды, обеспечивающей базовый набор С++ классов и предназначенной для хранения и представления данных, работы с научной графикой и т.п. Во второй главе рассматриваются программы – генераторы физических событий, возникающих при взаимодействии различных частиц высоких энергий. В третьей главе описан GEANT3 – пакет программ, предназначенных для моделирования прохождения элементарных частиц через экспериментальную установку. Каждая из глав заканчивается планом лабораторной работы соответствующей тематики и списком литературы. Описанные программы охватывают, по существу, весь цикл работ, который обычно проводится при моделировании и обработке данных ускорительных и космических экспериментов по физике элементарных частиц. Лабораторный практикум предназначен для студентов старших курсов, обучающихся по специальностям «Физика элементарных частиц» и «Экспериментальные методы ядерной физики». Пособие подготовлено в рамках Инновационной образовательной программы МИФИ. Рецензент к.ф.-м.н. В.О. Тихомиров (ФИАН) ISBN 978-5-7262-1067-4 © Московский инженерно-физический институт (государственный университет) 2008 1. РАБОТА В ROOT 1.1. Общие сведения К концу 20-го века все возрастающая сложность экспериментальных установок и увеличение объема накапливаемых данных требовали освоения научным сообществом новых, более эффективных инструментов обработки информации. Речь идет о языке программирования С++, который к середине 90-х годов стал широко использоваться для создания коммерческих программных продуктов. Принципиальной особенностью этого языка является поддержка методов объектно-ориентированного программирования (ООП). Сотрудники Европейской организации ядерных исследований (CERN) Рене Бран и Фонс Ридмайкерс в 1994 г. занялись исследованием возможностей C++ применительно к задачам ядерного эксперимента. Результатом этой работы явилось создание программного пакета ROOT. К настоящему времени ROOT претерпел впечатляющую эволюцию и стал по сути дела стандартным программным обеспечением, используемым для хранения и обработки данных ускорительного эксперимента. Официальный Web-сайт проекта ROOT расположен по адресу http://root.cern.ch. На этом сайте содержится информация о текущем релизе. Наилучшим справочным материалом по ROOT является блестяще написанное руководство пользователя, которое доступно по адресу http://root.cern.ch/root/doc/RootDoc.html. Поскольку ROOT реализован на C++, то следует напомнить некоторые понятия этого языка, необходимые для практической работы. 3 В самом общем виде идея ООП заключается в том, чтобы моделировать окружающий мир как совокупность взаимодействующих объектов. В С++ такой подход реализуется с помощью классов. Класс является типом данных, определяемым пользователем, и представляет собой модель реального объекта в виде данных и функций для работы с ними. Таким образом, класс — это тип данных, который объединяет переменные и функции. Функции класса называются функциями-членами или методами. Переменные класса