Программный комплекс для физической реконструкции и анализа событий в экспериментах с триггерной системой тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Дусаев Ренат Рамильевич
- Специальность ВАК РФ00.00.00
- Количество страниц 182
Оглавление диссертации кандидат наук Дусаев Ренат Рамильевич
Введение
Глава 1. Методология разработки программного обеспечения
1.1 Выбор методологии
1.1.1 Гибкие методологии
1.1.2 Гибридный подход
1.1.3 Графическая нотация UML
1.1.4 Виды полиморфизма в точках расширения
1.2 Специфика предметной области
1.2.1 Логический триггер
1.2.2 Модель события
1.3 Сценарии использования
1.3.1 Ограничения сценарных контекстов
1.3.2 Анализ физических величин и событий
1.3.3 Сопровождение набора данных
1.3.4 Калибровка детекторов
1.3.5 Точки расширения на основе вариантов использования
1.4 Архитектурные инварианты и шаблоны
1.4.1 Конвейерный шаблон
1.4.2 Коллекции и идентификаторы
1.4.3 Шаблон подписки
1.5 Существующие программные решения
1.5.1 Программы прикладного уровня
1.5.2 Инфраструктурные решения
1.6 Спецификации
1.6.1 Обработка данных
1.6.2 Калибровочные данные
1.6.3 Цикл разработки
1.6.4 Реализация
Глава 2. Эксперимент NA64
Стр.
2.1 Сигнальные процессы
2.1.1 Тёмный фотон
2.1.2 Тёмный фотон в толстой мишени
2.1.3 Мажоранта для генерации событий
2.1.4 Оценки выхода сигнального события
2.1.5 Лёгкие аксион-подобные частицы
2.2 Постановка эксперимента
2.2.1 Описание установки
2.2.2 Получение пучков и номенклатура данных
2.3 Детекторы
2.3.1 Электромагнитный калориметр
2.3.2 Адронный калориметр
2.3.3 Микроструктурные детекторы
2.3.4 Детекторы на основе тонкостенных трубок
2.3.5 Номенклатура детекторов
2.4 Аналого-цифровые преобразователи
2.4.1 Параметризация сигнала АЦП
2.4.2 Уровень нулевого сигнала и эффекты высокой частоты
2.5 Анализ данных
2.6 Функциональная организация
Глава 3. Реализация программного комплекса NA64
3.1 Компоненты прикладного уровня
3.1.1 Предметно-ориентированные языки
3.1.2 Динамические машины состояний
3.1.3 Форматы данных
3.2 Реконструкция сигналов
3.2.1 Восстановление амплитудных сигналов
3.2.2 Измерение координат трековыми детекторами
3.3 Калибровка детекторов
3.3.1 Калибровка на основе эталонного сигнала
3.3.2 Калибровка электромагнитного калориметра
3.4 Реконструкция событий
3.4.1 Аппроксимация треков частиц
Стр.
3.4.2 Предварительный поиск треков
3.4.3 Результаты восстановления треков
3.5 Поиск лёгких аксион-подобных частиц
3.5.1 Идентификация адронного ливня
3.5.2 Вычисление исключённой области
3.6 Перспективы развития методов и результаты
Заключение
Список литературы
Список рисунков
Список таблиц
Приложение А. Спецификации
А.1 Искусственные грамматики
А.2 Язык имён детекторов COMPASS
А.3 Язык селекторов
А.4 Язык запросов HDQL
А.5 Динамические машины состояний
Приложение Б. Аналитические выражения
Б.1 Решение переобусловленных систем
Б.2 Устранение черезстрочности
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Измерение парциальных ширин распадов B°s → J/ψη, B°s → J/ψη` и B° → J/ψω° на установке LHCb2013 год, кандидат наук Саврина, Дарья Викторовна
Электромагнитный калориметр для больших углов детектора Clas2004 год, кандидат физико-математических наук Сапуненко, Владимир Викторович
Изучение механизмов образования нейтральных мезонов в протон-протонных столкновениях в эксперименте ALICE2018 год, доктор наук Харлов Юрий Витальевич
Радиационные поправки к процессам е+е- аннигиляции и прецизионное измерение сечений рождения адронов с детектором КМД-22006 год, доктор физико-математических наук Федотович, Геннадий Васильевич
Реконструкция фотонов и энергетическая калибровка цилиндрического калориметра детектора КМД-32016 год, кандидат наук Шебалин Василий Евгеньевич
Введение диссертации (часть автореферата) на тему «Программный комплекс для физической реконструкции и анализа событий в экспериментах с триггерной системой»
Введение
Актуальность темы. В последние десятилетия значительное внимание уделяется экспериментам, направленным на поиск слабовзаимодействующих частиц, чья природа выходит за рамки Стандартной модели. Как правило, такие исследования требуют либо достаточно высоких энергий, либо накопления большой статистики измерений в среднем энергетическом диапазоне. В последнем случае широко применяются экспериментальные установки с герметичным сбросом пучка, в которых первичные частицы поглощаются массивной мишенью, а поиск редких событий производится на основе большой статистики наблюдений. В такой процедуре решающее значение имеют точность реконструкции физических величин и надёжность оценки фоновых процессов.
Средства автоматизации эксперимента, во многом обеспечивающие требуемые точность и надёжность, разрабатываются в условиях высокой динамики требований и ограниченного жизненного цикла. После завершения исследовательской программы они, как правило, утрачивают практическую ценность как целостное решение, тогда как отдельные компоненты остаются пригодными для повторного использования. Последнее обстоятельство требует целенаправленной стратегии разработки программного обеспечения, предполагающей переносимость и интеграцию этих средств. Такая стратегия опирается на ограниченный набор особенностей, выбираемых на этапе проектирования информационных систем с учётом специфики предметной области. Например, использование триггер-ной системы предполагает статистическую независимость физических событий.
Объектом исследования являются методы и программные средства организации вычислительных процессов в задачах реконструкции и анализа данных физических экспериментов. Предметом исследования являются архитектурные и алгоритмические принципы построения вычислительных процедур реконструкции и анализа событий эксперимента NA641, направленного на поиск новых слабовзаимодействующих частиц, из которых в работе рассматриваются лёгкий аксион-подобный бозон а [1] и т.н. тёмный фотон A [2; 3].
Степень разработанности темы. В работах, посвящённых программному обеспечению для научных исследований в целом и автоматизации физических
1 Эксперимент назван по внутренней номенклатуре CERN: «North Area № 64»
экспериментов в частности, часто подчёркиваются отличия от классических моделей разработки, требующие глубокого погружения в предметную область и ограничивающие применимость стандартных подходов к проектированию программного обеспечения принятых в индустрии. Несмотря на значительные усилия по созданию общих решений и программных сред, определяющих степень разработанности темы исследования, специфика экспериментальной физики, связанная с уникальностью конкретной установки, зачастую не позволяет полагаться на классические каскадные подходы. В результате исследовательские группы реализуют решения, исходя из текущих потребностей, действуя в рамках гибких методологий разработки и формируя собственную программную базу, привязанную к локальным задачам. Экспертным сообществом отмечается, что это нередко приводит к дублированию функциональности и затрудняет долговременное сопровождение. В результате такой избыточной специализации перенос и внедрение уже разработанных программ в новые задачи оказываются зачастую менее оправданными, чем их повторная реализация. Тем не менее такой подход остаётся преобладающим и описывается как общеупотребимая практика, предполагающая индуктивный переход от ситуативных решений к более общим системам.
Целью данной работы является разработка программного комплекса для экспериментальной физики частиц, обеспечивающего сопровождение эксперимента на различных этапах его жизненного цикла, включая моделирование, набор данных, калибровку детекторов, реконструкцию и анализ событий.
Для достижения поставленной цели решаются следующие задачи:
1. Разработать спецификацию программной архитектуры, обеспечивающую основные задачи автоматизации физического эксперимента в рамках архитектурных ограничений, присущих экспериментам с логическим триггером;
2. Реализовать архитектуру в виде обобщённых программ и алгоритмов, не подразумевающих специфику конкретного эксперимента;
3. Валидировать предложенные обобщённые решения, применив их для синтеза программ, решающих конкретные задачи реконструкции и анализа событий NA64;
4. Разработать и интегрировать в существующее специализированное программное окружение генератор событий для моделирования отклика установки на сигнальные события;
5. Разработать и интегрировать систему генерации динамических машин состояния для выбора гипотез в задачах оптимизации, часто возникающих в рамках реконструкции физического события;
6. Верифицировать предложенные реализации, применив к различным этапам жизненного цикла эксперимента, включая Монте-Карло моделирование, сопровождение набора данных, калибровку детекторов, реконструкцию событий и анализ.
При разработке и апробации программного комплекса необходимо учитывать и, где это возможно, внедрять существующую алгоритмическую базу.
Научная новизна:
1. Впервые для программных средств сопровождения физического эксперимента обосновано применение статического полиморфизма на основе объектных моделей при синтезе программной архитектуры для последовательной обработки событий.
2. Впервые предложена эффективная алгоритмическая реализация генератора событий для симуляции рождения тёмного фотона в приближении спектра эквивалентных фотонов Вайцзеккера-Вильямса.
3. Впервые установлены верхние пределы на фундаментальные характеристики аксион-подобного бозона — массу та и константу взаимодействия с парой фотонов дауу в реакции е- + 2 ^ е- + 2 + а (рассеяние электронов на ядре с зарядом 2) для уровня статистической значимости а = 0,1.
Практическая значимость предложенных решений:
- Разработано специализированное программное окружение для решения ключевых задач реконструкции событий в экспериментах физики высоких энергий, включая обработку данных трековых детекторов и калориметров;
- Архитектурные инварианты и реализованные механизмы расширения программного комплекса нацелены на разработку в рамках коротких циклов и допускают упрощённую интеграцию с другими экспериментами, построенными на триггерной логике (включая общие конфигурации системы калориметров, трековые подсистемы, системы сбора данных), снижая затраты на сопровождение и повторное использование программного кода и, таким образом, отвечая основным задачам автоматизации физического эксперимента;
- Метод параметрической реконструкции сигналов калориметров, опирающийся на применение конкурирующих гипотез о пространственном распределении энерговыделения в событии, повышает численную устойчивость алгоритмов реконструкции физических величин, включающих временные и амплитудные характеристики, при разных частотах дискретизации и геометриях сэмплирующих калориметров;
- Генератор случайных величин на основе аналитических сечений предназначен для получения численных оценок выхода сигнального процесса в сценариях поиска слабовзаимодействующих частиц. Применение мажорирующих функций обеспечивает более высокое принципиальное быстродействие генератора по сравнению с общими методами во всей кинематической области продуктов реакции.
Методология и методы исследования. С учётом сложившихся в науке практик создания компьютерных программ прикладного уровня целесообразно рассмотреть некоторые подходы промышленной инженерии программного обеспечения, учитывающие специфику предметной области и направленные на инкрементную модель разработки. Таким требованиям вполне отвечают т. н. гибкие (англ. Agile) методологии разработки, многие из которых ставят приоритетом обеспечение высокой доступности решений в рамках кратковременных циклов разработки.
На уровне конкретных технических средств необходимо учесть требования, предъявляемые не только к длительности цикла разработки, но и к быстродействию самих программ. Последнее условие значительно сужает круг доступных выразительных средств, заставляя разработчиков прибегать к сравнительно низкоуровневым решениям, в рамках которых недостаток выразительности компенсируется за счёт высокой идиоматизации (метапрограммирование, шаблоны, предметно-специфичные языки) и инкапсуляции оптимизированных решений в рамках упрощённого программного интерфейса.
Апробация реализованных технических решений осуществляется в рамках конкретного эксперимента, чья постановка имеет глубокое методическое обоснование. Она относится к семейству экспериментов с герметичным сбросом пучка. Методика измерений включает поиск редких событий по сигнатуре недостающей энергии, а также регистрацию энерговыделения за массивным поглотителем. Статистическая интерпретация наблюдений формулируется с использованием
метода CLs, последовательно изложенного как в частотной, так и в байесовской интерпретациях вероятности.
Основные положения, выносимые на защиту:
1. В рамках требований модульности, переносимости, логической изолированности и производительности компонент программного обеспечения, предполагающих инкрементную модель разработки, среди известных поведенческих шаблонов проектирования конвейерный шаблон проектирования, выраженный в парадигме обобщённого программирования и параметризуемый типом статистически независимых событий, наилучшим образом отвечает организации компьютерных программ, предназначенных для физической реконструкции и анализа событий.
2. Для сегментированного гетерогенного калориметра, набранного из сло-ёв свинца и полиметилметакрилата (1,5 мм и 1,55 мм), с поперечным размером ячеек, сопоставимым с радиусом Мольера (38,2 мм и Ям = 18 мм), метод наименьших квадратов, опирающийся на апостериорную оценку свёртки профиля пучка и электромагнитного ливня, уточняемую итеративно, обладает достаточной численной устойчивостью для сходимости в рамках рекурсивной процедуры калибровки, обеспечивая энергетическое разрешение на уровне проектных значений (5 ГэВ без учёта эффектов координатной неоднородности) и линейность не хуже к = 1,002 ± 0,023.
3. Для реакции е- + 2 ^ е- + 2 + а в эксперименте с герметичным сбросом пучка на свинцовой мишени не обнаружено статистически значимых событий (при уровне значимости а = 0,1) образования аксион-подобных частиц в диапазоне масс та от 10 МэВ до 100 МэВ и константы взаимодействия дауу от 2 х 10-4 до 10-2.
Личный вклад. Проектирование и реализация всех изложенных в работе программ, за исключением описанных в разделе «Существующие программные решения», выполнены автором самостоятельно.
Алгоритмическая и программная реализация генератора А', лежащая в основе [1; 3; 4], выполнена автором на основе существующих оценок сечения, в то время как тестирование генератора выполнялось с соавторами.
Обобщённая реализация алгоритма поиска треков выполнена автором на основе существующего описания алгоритма, с собственными дополнениями.
Тестирование и подстройка параметров выполнялись в сотрудничестве с участниками коллаборации NA64.
Автором предложен и реализован метод реконструкции сигналов сэмплирующих аналого-цифровых преобразователей на основе подгонки функции отклика в конечной временной области, в формализме элементов обобщённого поведения для отбора конкурирующих гипотез, а также метод калибровки электромагнитного калориметра на основе метода наименьших квадратов, дополненного апостериорными оценками свёртки профиля ливня и профиля пучка. Экспериментальная проверка алгоритма калибровки, настройка алгоритма реконструкции сигналов и подбор параметров реконструкции трека выполнялись в сотрудничестве с участниками коллаборации NA64.
Личный вклад автора в анализ данных по поиску аксион-подобных частиц, опубликованный в [1; 2], состоит в статистическом обосновании критерия отбора фоновых событий, моделировании и выделении исключённой области отсутствия сигнала на основе анализа, выполненного участниками коллаборации NA64.
Публикации. Основные результаты по теме диссертации изложены в 4 печатных изданиях, 4 из которых изданы в периодических научных журналах, индексируемых Web of Science и Scopus.
Апробация работы. Основные результаты исследований работы представлены на следующих конференциях:
1. Дусаев, Р. Универсальная объектная модель для систем численных математических расчётов [Текст] // Перрспективы развития фундаментальных наук: сборник трудов IX Международной конференции студентов и молодых ученых. — Томск : ТПУ, 04.2012. — С. 709—711. — URL: http://conf-prfn.org/Arch/Proceedings_2012.pdf.
2. Дусаев, Р. Software Infrastructure for Fast Data Analysis in NA64 Experiment [Постерный доклад] // Международная конференция-школа «Проблемы обработки, анализа и управления Большими Данными в распределённой гетерогенной компьютерной среде для высокоинтенсивных областей науки и бизнес приложений» — Томск : ТПУ, Декабрь, 2016.
Достоверность физических результатов обеспечена применением статистически обоснованных методов экспериментальной физики, включая метод выделения исключённой области на основе консервативных верхних пределов и слепой метод анализа. Предложенные методические рекомендации валидированы практически на актуальных задачах эксперимента NA64.
Объем и структура работы. Диссертация состоит из введения, 3 глав, заключения и 2 приложений. Полный объём диссертации составляет 182 страницы, включая 64 рисунка и 4 таблицы. Список литературы содержит 126 наименований.
Глава 1. Методология разработки программного обеспечения
Возросший в последние десятилетия коммерческий интерес к различным практикам разработки программного обеспечения привёл к формированию различных методологий в рамках корпоративных процессов, с широким охватом различных областей человеческой деятельности — от сферы услуг до специализированных научных инструментов в рамках инновационных разработок. Отдельные методики должны быть применимы и в рамках разработки программного обеспечения для целей автоматизации физического эксперимента.
Выбор методологии определяет стратегию и последовательность разработки, набор ключевых понятий и, в немалой степени, архитектуру программного обеспечения.
Данная глава посвящена краткому описанию методологии разработки и выделению ключевых черт архитектуры программного комплекса, и содержит методические рекомендации по разработке программного обеспечения для научных задач в рамках методологии разработки на основе коротких циклов. В заключении главы изложена спецификация, обеспечивающая основные задачи автоматизации физического эксперимента в рамках архитектурных ограничений, присущих экспериментам с логическим триггером.
1.1 Выбор методологии
Жизненный цикл научного программного обеспечения обычно короче, чем у коммерческих систем [5; 6]: после завершения измерений, проверки гипотез и публикации результатов программный продукт в целом быстро теряет актуальность из-за развития методов измерений, анализа и теоретических моделей [7]. Тем не менее отдельные его компоненты сохраняют ценность и потому должны быть изолированными и переносимыми, что выражается в таком качестве системы как модульность. Следует подчеркнуть, что под модульностью понимается не только разбиение программы на функциональные блоки, но и предусмотренная конкретными техническими средствами возможность их замены, дополнения или удаления без ущерба для системы в целом.
Учитывая эту специфику, при проектировании целесообразно опираться на методологии гибкой разработки программного обеспечения (Agile) [8], которые изначально ориентированы на изменчивость требований и компонентов. Такой подход обеспечивает адаптивность и устойчивость программных систем в условиях эволюции исследовательских задач.
1.1.1 Гибкие методологии
Разработка научного программного обеспечения существенно отличается от коммерческих практик. Во-первых, здесь отсутствует внешний заказчик и формализованное техническое задание: постановка задачи формируется самими исследователями в зависимости от актуальных научных проблем [9]. Во-вторых, организационная структура научных групп обычно не предполагает выделенных менеджеров проектов, и ключевую роль играют специалисты в предметной области, чьи компетенции в области разработки программ не обязательно включают беглое понимание общего контекста, перспектив и стратегии разработки. В-третьих, часто требуется в сжатые сроки получить конкретный физический результат (требование высокой доступности решения), что нередко приводит к компромиссам в части архитектурной строгости и сопровождаемости кода. Наконец, значительная доля разработок носит характер рабочих прототипов и имеет крайне короткий жизненный цикл, ограниченный решением конкретной вычислительной задачи.
Совокупность этих факторов делает традиционные модели разработки малоприменимыми и усиливает актуальность гибких методологий, учитывающих изменчивость требований и обеспечивающих высокую доступность программного решения. В этом контексте наибольшую релевантность имеют три направления из семейства Agile: Domain-Driven Development (DDD) [10], обеспечивающее формализацию понятийного аппарата предметной области; Feature-Driven Development FDD, [11]) , структурирующее процесс вокруг реализуемых функций; и Data-Driven Development [12; 13], ориентированное на построение решений исходя из характера и динамики обрабатываемых данных.
Нужно подчеркнуть, что в подходе к проектированию на основе данных под «данными» понимают информацию об опыте использования программно-
го продукта, а не о данных, получаемых при решении научных задач. Тем не менее проектирование на основе данных находит применение по отношению к высоконагруженным и распределённым системам, для оптимизации обобщённых решений в рамках вычислительно-ёмких процессов (англ. High Performance Computing, HPC) и вычислений, требующих высокой пропускной способности (англ. High Throughput Computing, HTC). Несмотря на то, что в рамках обобщённой архитектуры приложений для реконструкции и анализа данных применимость методологии проектирования на основе данных довольно ограничена, её принципы целесообразно иметь в виду при проектировании компонент модульных систем, поскольку на определённом этапе обработка данных, набранных экспериментом, осуществляется средствами автоматизированного пакетного счёта (HTC), и тогда принципиальными становятся такие черты архитектуры, как стандартизация и обратная совместимость схем и протоколов (модели данных, реляционных таблиц, программного интерфейса), слабая связность архитектуры и т.д.
1.1.2 Гибридный подход
В рамках разработки архитектуры для реконструкции и анализа данных физического эксперимента целесообразно совместить подходы FDD и DDD, принимая во внимание следующие положения:
- Комплексная предметная область, лежащая в основе проектирования, отвечает фундаментальному принципу DDD, в котором ведущая роль отводится предметной области и её модели.
- Независимая эволюция отдельных частей программного решения соотносится с концепцией ограниченных и строго определённых контекстов, декларируемых в DDD.
- Эксперитиза профильных специалистов при работе в коллаборациях часто требует непосредственной вовлечённости в процесс создания и отладки прототипов программ, что соответствует коротким циклам ин-крементной модели развития ПО в FDD.
- На этапе планирования эксперимента возможно формализовать и согласовать модель предметной области. Такие черты экспериментальной
установки, как уровни триггера, периодизация данных, каналы реакции, модель трека и кинематика реакций известны на проектном этапе. Это позволяет вполне формализовать наборы основных сущностей, атрибутов и отношений, что отвечает принципу проектирования FDD.
- Высокая доступность продукта (регулярные сборки и рабочие релизы) в рамках FDD критически важна для таких этапов жизненного цикла эксперимента, как набор данных и проекты развития экспериментальной программы, поскольку для них необходимы онлайн-мониторинг работы детекторов, моделирование Монте-Карло, а также калибровки и экспресс-анализ.
Следует отметить, что в рамках методологии DDD под контекстом понимается совокупность ограничений, обеспечивающих внутреннюю непротиворечивость понятийного аппарата, в частности, согласованное употребление одинаковых терминов. Так, например, величина интенсивности в общей физике определяется как энергия, проходящая через единицу площади в единицу времени, тогда как в физике ускорителей этот термин часто используется для обозначения среднего числа частиц, приходящихся на единицу времени [14].
В методологии FDD понятие контекста определяется менее строго: под ним обычно подразумевается совокупность допущений и умолчаний, характерных для конкретной функции или её реализации.
В качестве обобщающего определения будем понимать далее под сценарным контекстом такой набор вариантов использования элемента программы, в котором фиксируется поведение процедур, функций, типов данных и высокоуровневых сценариев из некоторого набора, определяемого предметной областью.
Совмещая принципы, изложенные в [10; 11], сформулируем следующую последовательность этапов проектирования и разработки программного обеспечения в рамках предложенной гибридной методологии, совмещающей элементы DDD и FDD:
1. Анализ предметной области: формирование единого понятийного аппарата, выявление ключевых сущностей и обобщённая классификация контекстов использования.
Ожидаемый результат: глоссарий основных терминов и концепций, применяемых в системе.
2. Структурирование вариантов использования и определение связности вариантов внутри контекстов (стратегическое моделирование), задаю-
щих контракты между ними.
Ожидаемый результат: формализованная диаграмма вариантов использования, отражающая взаимодействие контекстов.
3. Построение детализированной доменной модели внутри каждого контекста: определение сущностей, типологии отношений, инвариантов консистентности и правил транзакционной целостности (например, временные окна фиксации событий, атомарность операций). Ожидаемый результат: диаграммы классов и интерфейсов, фиксирующие основные структурные и поведенческие аспекты системы.
4. Определение приоритетных элементов для реализации на ранних этапах. Ожидаемый результат: согласованный перечень функциональных компонентов с указанием очередности их внедрения.
Дальнейшая разработка должна производиться в коротких итерационных циклах, сосредоточенных на реализации конкретной функциональности, необходимой для проведения анализа, обеспечивая таким образом раннюю проверку проектных решений и их быструю интеграцию.
Далее в работе понятийный аппарат экспериментальной физики предполагается преимущественно известным и не требующим детального изложения. Вместе с тем, для устранения возможных разночтений при формулировании ключевых архитектурных ограничений следует уточнить содержание таких понятий, как «логический триггер» и «объектная модель события».
1.1.3 Графическая нотация UML
Для формализации архитектурных решений в данной работе используется нотация UML 2 (Unified Modeling Language) [15; 16]. Этот выбор обусловлен тем, что выбранная методология требует представления программной системы на различных уровнях общности, описывающих как статические, так и динамические аспекты. Например, необходимо стратифицировать сценарии взаимодействия пользователя и системы, а также необходимо документировать структурные черты и поведенческие особенности модели. Это существенно выходит за рамки традиционных блок-схем и диаграмм последовательности, принятых в отечественных стандартах инженерной документации (ГОСТ и ЕСПД).
UML является международным стандартом моделирования программных систем и позволяет единообразно описывать различные аспекты архитектуры. Несмотря на недостаток формальной детерминированности этой графической нотации с точки зрения норм инженерной документации, использование UML обеспечивает достаточно наглядное представление систем и отдельных решений посредством широкого набора выразительных средств, что делает её пригодной для иллюстрации отдельных аспектов.
1.1.4 Виды полиморфизма в точках расширения
В архитектуре программного обеспечения термин точка расширения (англ. extension point) относится к идеям проектирования каркасных систем (англ. framework), в рамках которых различают «замороженные» и «горячие» участки кода [17]. В рамках классических шаблонов проектирования [18] такие горячие участки реализуются через шаблоны, подобные «фабричному методу» и служат средствами обеспечения инверсии управления (внедрение пользовательского кода). Позднее данный термин был закреплён в языке UML как обозначение явно заданного места, в котором поведение варианта использования может быть расширено[19]. На рубеже 2000-х годов концепция точек расширения получила широкое распространение в т.н. плагин-архитектурах, в частности в платформе Eclipse [20], где точка расширения представляет собой декларативный контракт между ядром системы и внешним модулем.
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Изучение процесса e+e– → K+K–η c детектором КМД-32023 год, кандидат наук Иванов Вячеслав Львович
Образование адронных струй в широком диапазоне быстрот в pp-взаимодействиях при √s = 7 ТэВ2013 год, кандидат физико-математических наук Сафронов, Григорий Борисович
Образование векторных бозонов в сопровождении адронных струй2021 год, кандидат наук Степеннов Антон Дмитриевич
Электромагнитный калориметр для исследований свойств частиц и резонансов в эксперименте SELEX2005 год, кандидат физико-математических наук Евдокимов, Анатолий Валерьевич
Измерение спектров анти-Σ土-гиперонов с помощью электромагнитного калориметра PHOS эксперимента ALICE2026 год, кандидат наук Гордеев Павел Петрович
Список литературы диссертационного исследования кандидат наук Дусаев Ренат Рамильевич, 2025 год
Список литературы
1. Dusaev R., Kirpichnikov D. V., Kirsanov M. M. Photoproduction of axionlike particles in the NA64 experiment [Текст] // Phys. Rev. D. — 2020. — Т. 102, вып. 5, № 055018. — URL: https://link.aps.org/doi/10.1103/PhysRevD.102. 055018. — (Scopus, WoS).
2. Search for Axionlike and Scalar Particles with the NA64 Experiment [Текст] / D. Banerjee [и др.] // Phys. Rev. Lett. — 2020. — Т. 125, вып. 8, № 081801. — URL: https://link.aps.org/doi/10.1103/PhysRevLett.125.081801. — (Scopus, WoS).
3. Fully Geant4 compatible package for the simulation of Dark Matter in fixed target experiments [Текст] / M. Bondi [и др.] // Computer Physics Communications. — 2021. — Т. 269, № 108129. — URL: https : / /www. sciencedirect.com/science/article/pii/S0010465521002411. — (Scopus, WoS).
4. Development of the fully Geant4 compatible package for the simulation of Dark Matter in fixed target experiments [Текст] / B. Banto Oberhauser [и др.] // Computer Physics Communications. — 2024. — Т. 300, № 109199. — URL: https : //www. sciencedirect. com/science/article/pii/ S001046552400122X. — (Scopus, WoS).
5. Data management lifecycle and software lifecycle management in the context of conducting science [Текст] / W. C. Lenhardt [и др.] // Journal of Open Research Software. — 2014. — Т. 2, № 1. — e15—e15.
6. Przedzinski T. Methodology for Development of Scientific Software and Test Frameworks in Function of Precision of the Expected Results [Текст] : дис. ... канд. / Przedziñski Tomasz. — Kraków, Poland : AGH University of Science, Technology, Faculty of Computer Science, Electronics, Telecommunications, Department of Computer Science, 02.2020. — Supervisor: dr. hab. Maciej Malawski; co-supervisor: prof. dr hab. Zbigniew W^s. Defense date: 18 November 2020.
7. A Roadmap for HEP Software and Computing R&D for the 2020s [Текст] / HEP Software Foundation [и др.] // Computing and Software for Big Science. — 2019. — Т. 3, № 1. — С. 7. — Community white paper; arXiv:1712.06982.
8. Manifesto for Agile Software Development [Текст] / K. Beck [и др.]. — 2001. — Accessed: 2025-09-05. https://agilemanifesto.org/.
9. Software Engineering for Science [Текст] / под ред. J. C. Carver, N. P. C. Hong, G. K. Thiruvathukal. — 1st. — Boca Raton, FL : CRC Press / Taylor & Francis, 2016. — С. 311. — (Chapman & Hall/CRC Computational Science Series).
10. Vernon V. Implementing Domain-Driven Design [Текст]. — 1st. — Addison-Wesley Professional, 2013.
11. Coad P., Luca J. d., Lefebvre E. Java modeling color with UML: Enterprise components and process with Cdrom [Текст]. — Prentice Hall PTR, 1999.
12. Treleaven P. C., Brownbridge D. R., Hopkins R. P. Data-Driven and Demand-Driven Computer Architecture [Текст] // ACM Comput. Surv. — New York, NY, USA, 1982. — Март. — Т. 14, № 1. — С. 93—143. — URL: https://doi.org/10. 1145/356869.356873.
13. Llopis N. Data-oriented design (or why you might be shooting yourself in the foot with OOP) [Текст] // Game Developer Magazine. — 2009. — Т. 16, № 8.
14. Комар Е. Г. Ускорители заряженных частиц [Текст] / под ред. А. В. Гороховский. — Москва : Атомиздат, 1964. — УДК 621.384.6.
15. ISO/IEC. Information technology — Object Management Group Unified Modeling Language (OMG UML) — Part 2: Superstructure [Текст]. — Geneva, Switzerland, 2012. — 2nd edition.
16. Пайлон Д., Питмен Н. UML 2 для программистов [Текст]. — Санкт-Петербург : Питер, 2012. — С. 240.
17. Pree W. Design Patterns for Object-Oriented Software Development [Текст]. — Reading, MA : Addison-Wesley, 1994.
18. Design Patterns: Elements of Reusable Object-Oriented Software [Текст] / E. Gamma [и др.]. — 1-е изд. — Addison-Wesley Professional, 1994. — URL: http : / / www . amazon . com / Design - Patterns - Elements - Reusable - Object -Oriented/dp/0201633612/ref=ntt_at_ep_dpi_1.
19. Unified Modeling Language Specification, Version 1.5 [Текст]. — 2003. — https: //www.omg.org/spec/UML/1.5/.
20. Gamma E., Beck K. Contributing to Eclipse: Principles, Patterns, and Plug-Ins [Текст]. — Boston : Addison-Wesley, 2003.
21. Cardelli L., Wegner P. On Understanding Types, Data Abstraction, and Polymorphism [Текст] // ACM Computing Surveys. — 1985. — Т. 17, № 4. — С. 471—522.
22. Krieg-Brückner B. ESOP'92: 4th European Symposium on Programming, Rennes, France, February 26-28,1992. Proceedings [Текст]. Т. 582. — Springer Science & Business Media, 1992.
23. Meyer B. Object-Oriented Software Construction [Текст]. — 2nd. — Prentice Hall, 1997.
24. Stroustrup B. The C++ Programming Language [Текст]. — 4th. — Addison-Wesley, 2013.
25. Vandevoorde D., Josuttis N. M. C++ Templates: The Complete Guide [Текст]. — 2nd. — Addison-Wesley, 2017.
26. Abrahams D., GurtovoyA. C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond [Текст]. — Addison-Wesley, 2005.
27. Григорьев В. А., Колюбин А. А., Логинов В. А. Электронные методы ядерно-физического эксперимента: Учебное пособие для вузов [Текст] / под ред.
B. А. Григорьева. — 1-е. — Москва : Энергоатомиздат, 1988. — С. 336. — УДК 539.1.07 (075.8).
28. Detection of the free neutrino: a confirmation [Текст] / C. L. Cowan Jr [и др.] // Science. — 1956. — Т. 124, № 3212. — С. 103—104.
29. Абрамов А. И., Казанский Ю. А., Матусевич Е. С. Основы экспериментальных методов ядерной физики [Текст]. — 2-е изд., перераб. и доп. — Москва: Атомиздат, 1977. — С. 528.
30. Shaw M., Garlan D. Software architecture: perspectives on an emerging discipline [Текст]. — USA : Prentice-Hall, Inc., 1996.
31. Басс Л., Клементе П., Кацман Р. Архитектура программного обеспечения на практике [Текст]. — 2-е изд. — Санкт-Петербург : Питер, 2006. —
C. 575. — ББК 32.973-018, УДК 004.14.
32. Smirnov V. I. Some Hardware Aspects of the BESM-6 Design [Текст] // Perspectives on Soviet and Russian Computing / под ред. J. Impagliazzo, E. Proydakov. — Berlin, Heidelberg : Springer Berlin Heidelberg, 2011. — С. 20—25.
33. Pattern-Oriented Software Architecture Volume 1: A System of Patterns [Текст] / F. Buschmann [и др.]. — 1-е изд. — Wiley, 1996.
34. Mattson T. G., Sanders B. A., Massingill B. Patterns for parallel programming [Текст]. — Boston : Addison-Wesley, 2005. — URL: http://www.amazon.com/ Patterns-Parallel- Programming-Timothy-Mattson/dp/0321228111/ref=sr_1_2? s=books&ie=UTF8&qid=1353414365&sr=1-2&keywords=design+patterns+ parallel+programming.
35. Kahn A. B. Topological Sorting of Large Networks [Текст] // Communications of the ACM. — New York, NY, USA, 1962. — Т. 5, № 11. — С. 558—562.
36. Brun R., Rademakers F. ROOT — An object oriented data analysis framework [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1997. — Т. 389, № 1. — С. 81—86. — URL: https://www.sciencedirect.com/science/ article / pii / S016890029700048X ; New Computing Techniques in Physics Research V.
37. Recent developments in Geant4 [Текст] / J. Allison [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2016. — Т. 835. — С. 186—225. — URL: http://www.sciencedirect.com/science/article/pii/S0168900216306957.
38. Rauch J., Schlüter T. GENFIT — a Generic Track-Fitting Toolkit [Текст] // Journal of Physics: Conference Series. — 2015. — Апр. — Т. 608, № 1. — С. 012042. — URL: https://dx.doi.org/10.1088/1742-6596/608/1Z012042.
39. Technical design report for the PANDA (AntiProton Annihilations at Darmstadt) Straw Tube Tracker [Текст] / W. Erni [и др.] // The European Physical Journal A. — 2013. — Февр. — Т. 49, № 2. — С. 25. — URL: https://doi.org/10.1140/ epja/i2013-13025-8.
40. The Belle II Physics Book [Текст] / E. Kou [и др.] // Progress of Theoretical and Experimental Physics. — 2019. — Дек. — Т. 2019, № 12. — С. 123C01. — eprint: https://academic.oup.com/ptep/article-pdf/2019/12/123C01/32693980/ ptz106.pdf. — URL: https://doi.org/10.1093/ptep/ptz106.
41. Kalman R. E. A New Approach to Linear Filtering and Prediction Problems [Текст] // Journal of Basic Engineering. — 1960. — Март. — Т. 82, № 1. — С. 35—45. — eprint: https://asmedigitalcollection.asme.org/fluidsengineering/ article-pdf/82/1/35/5518977/35\_1.pdf. — URL: https://doi.org/10.1115/1. 3662552.
42. Strandlie A., Wittek W. Derivation of Jacobians for the propagation of covariance matrices of track parameters in homogeneous magnetic fields [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2006. — Т. 566, № 2. — С. 687—698. — URL: https: //www. sciencedirect. com/science/article/pii/ S0168900206013143.
43. Kleinwort C. General broken lines as advanced track fitting method [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2012. — Т. 673. — С. 107—110. — URL: https://www.sciencedirect.com/science/article/pii/ S0168900212000642.
44. Blobel V. Alignment via Millepede II: simultaneous fit of global and local parameters [Текст] // 3rd LHC Detector Alignment Workshop. — CERN. 2009.
45. Mato P. GAUDI-Architecture design document [Текст] : тех. отч. / CERN. — Geneva, 1998. — URL: https://cds.cern.ch/record/691746.
46. The FairRoot framework [Текст] / M. Al-Turany [и др.] // Journal of Physics: Conference Series. — 2012. — Дек. — Т. 396, № 2. — С. 022001. — URL: https: //dx.doi.org/10.1088/1742-6596/396/2/022001.
47. FAIR - Baseline technical report. Executive summary [Текст] : тех. отч. / H. H. " "Gutbrod [и др.]. — Germany, 2006. — Available from TIB Hannover.
48. Polli R., Wilde E., Aro E. YAML Media Type [Текст] : тех. отч. / Internet Engineering Task Force (IETF). — 02.2024. — RFC 9512. — URL: https://www. rfc-editor.org/rfc/rfc9512 (дата обр. 06.09.2025).
49. RonacherA. Jinja2 Documentation, Release 2.9.6 [Текст]. — 2017. — (Дата обр. 06.09.2025).
50. Holdom B. Two U(1)'s and e charge shifts [Текст] // Physics Letters B. —1986. — Т. 166, № 2. — С. 196—198. — URL: https://www.sciencedirect.com/science/ article/pii/0370269386913778.
51. Kim K. J., Tsai Y.-S. Improved Weizsäcker-Williams Method and Its Application to Lepton and W-Boson Pair Production [Текст] // Phys. Rev. D. — 1973. — Нояб. — Т. 8, вып. 9. — С. 3109—3125. — URL: https://link.aps.org/doi/10. 1103/PhysRevD.8.3109.
52. Tsai Y. S. Axion bremsstrahlung by an electron beam [Текст] // Phys. Rev. D. — 1986. — Сент. — Т. 34, вып. 5. — С. 1326—1331. — URL: https://link.aps.org/ doi/10.1103/PhysRevD.34.1326.
53. New fixed-target experiments to search for dark gauge forces [Текст] / J. D. Bjorken [и др.] // Phys. Rev. D. — 2009. — Окт. — Т. 80, вып. 7. — С. 075018. — URL: https://link.aps.org/doi/10.1103/PhysRevD.80.075018.
54. Andreas S., Niebuhr C., Ringwald A. New limits on hidden photons from past electron beam dumps [Текст] // Phys. Rev. D. — 2012. — Нояб. — Т. 86, вып. 9. — С. 095019. — URL: https://link.aps.org/doi/10.1103/PhysRevD. 86.095019.
55. Ворончихин И. В. Рождение медиаторов тёмной материи в экспериментах с фиксированной мишенью [Текст] : Диссертация на соискание учёной степени кандидата физико-математических наук / Ворончихин Илья Вячеславович. — Москва : Московский государственный университет имени М.
B. Ломоносова, 2025. — Специальность 1.3.3 — Теоретическая физика. Научный руководитель: канд. физ.-мат. наук Кирпичников Д. В.
56. KOCH H. W., MOTZ J. W. Bremsstrahlung Cross-Section Formulas and Related Data [Текст] // Rev. Mod. Phys. — 1959. — Окт. — Т. 31, вып. 4. —
C. 920—955. — URL: https://link.aps.org/doi/10.1103/RevModPhys.31.920.
57. Neumann J. von. Various Techniques Used in Connection with Random Digits [Текст] // Monte Carlo Method. Т. 12 / под ред. A. S. Householder, G. E. Forsythe, H. H. Germond. — Washington, DC : US Government Printing Office, 1951. — Гл. 13. С. 36—38. — (National Bureau of Standards Applied Mathematics Series).
58. ALPtraum: ALP production in proton beam dump experiments [Текст] / B. Döbrich [и др.] // Journal of High Energy Physics. — 2016. — Февр. — Т. 2016, № 2. — С. 18. — URL: https://doi.org/10.1007/JHEP02(2016)018.
59. Peccei R. D., Quinn H. R. CP Conservation in the Presence of Instantons [Текст] // Phys. Rev. Lett. — 1977. — Т. 38. — С. 1440—1443.
60. Weinberg S. A New Light Boson? [Текст] // Phys. Rev. Lett. —1978. — Т. 40. — С. 223—226.
61. Wilczek F. Problem of Strong P and T Invariance in the Presence of Instantons [Текст] // Phys. Rev. Lett. — 1978. — Т. 40. — С. 279—282.
62. A scintillator-lead photon calorimeter using optical fiber readout systems [Текст] / H. Fessler [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1985. — Т. 240, № 2. — С. 284—288. — URL: http://www. sciencedirect.com/science/article/pii/0168900285906369.
63. Shashlik calorimeter Beam-test results [Текст] / J. Badier [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1994. — Т. 348, № 1. — С. 74—86. — URL: http : / / www . sciencedirect. com / science / article / pii / 0168900294908443.
64. Grupen C., Shwartz B. Particle Detectors [Текст]. — 2-е изд. — Cambridge University Press, 2008. — (Cambridge Monographs on Particle Physics, Nuclear Physics and Cosmology).
65. Energy and spatial resolution of a Shashlik calorimeter and a silicon preshower detector [Текст] / P. Aspell [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1996. — Т. 376, № 1. — С. 17—28. — URL: http://www. sciencedirect.com/science/article/pii/0168900296002707.
66. Fabjan C. W., Gianotti F. Calorimetry for particle physics [Текст] // Rev. Mod. Phys. — 2003. — Окт. — Т. 75, вып. 4. — С. 1243—1286. — URL: https://link. aps.org/doi/10.1103/RevModPhys.75.1243.
67. Wigmans R. Calorimetry: Energy Measurement in Particle Physics [Текст]. — Oxford University Press, 09.2017. — URL: https://doi.org/10.1093/oso/ 9780198786351.001.0001.
68. Performance of the COMPASSII shashlyk calorimeter ECAL0 read out by SiPMs [Текст] /1. Chirikov-Zorin [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2019. — Т. 936. — С. 141—143. — URL: https://www.
sciencedirect.com/science/article/pii/S0168900218311902 ; Frontier Detectors for Frontier Physics: 14th Pisa Meeting on Advanced Detectors.
69. Поляков В. Презентация «HCAL» [Текст]. — 2015. — URL: https://na64.web. cern.ch/node/20 (дата обращения: 18.07.2025). [Электронный ресурс].
70. Leading neutron production in e+p collisions at HERA [Текст] / S. Chekanov [и др.] // Nuclear Physics B. — 2002. — Т. 637, № 1. — С. 3—56. — URL: https://www.sciencedirect.com/science/article/pii/S055032130200439X.
71. Sauli F. GEM: A new concept for electron amplification in gas detectors [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1997. — Т. 386, № 2. — С. 531—534. — URL: https://www.sciencedirect.com/science/ article/pii/S0168900296011722.
72. Performance of Multiplexed XY Resistive Micromegas detectors in a high intensity beam [Текст] / D. Banerjee [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2018. — Т. 881. — С. 72—81. — URL: http://www. sciencedirect.com/science/article/pii/S016890021731149X.
73. Discharge studies and prevention in the gas electron multiplier (GEM) [Текст] / S. Bachmann [и др.] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 2002. — Т. 479, № 2. — С. 294—308. — URL: https://www.sciencedirect.com/ science/article/pii/S0168900201009317.
74. The APV25 deep submicron readont chip for CMS detectors [Текст] / L. L. Jones [и др.]. — 1999. — URL: https://cds.cern.ch/record/432224.
75. Строу-камеры для эксперимента NA64 [Текст] / В. Ю. Волков [и др.] // Письма в ЭЧАЯ. — 2019. — Т. 16, 6(225). — С. 627—642. — Раздел «Методика физического эксперимента».
76. Пешехонов В. Д. Координатные детекторы на основе тонкостенных дрейфовых трубок [Текст] // Физика элементарных частиц и атомного ядра. — 2015. — Т. 46, № 1. — С. 167—218.
77. Mann A., Konorov I., Paul S. A Versatile Sampling ADC System for On-Detector Applications and the AdvancedTCA Crate Standard [Текст] // 2007 15th IEEE-NPSS Real-Time Conference. — 2007. — С. 1—5.
78. The universal sampling ADC readout system of the COMPASS experiment [Текст] / A. B. Mann [и др.] // 2009 IEEE Nuclear Science Symposium Conference Record (NSS/MIC). — 2009. — С. 2225—2228.
79. LVDS Outputs on the ADS527x [Текст] / Texas Instruments. — 06.2004. — URL: https://www.ti.com/lit/an/sbaa118/sbaa118.pdf.
80. Фотоэлектронные приборы [Текст] : Отраслевой руководящий материал РМ 11 073.075.5-86 / Всесоюзный научно-исследовательский институт «Электростандарт». — Москва, 1972.
81. AD8021, Low Noise, High Speed Amplifier for 16-Bit Systems [Текст] / Analog Devices. — 2006. — URL: https: // www. analog. com/ media/ en/ technical -documentation/data- sheets/ad8021.pdf.
82. Technology L. LTspice XVII [Текст]. — Available at https://www.analog.com/ en/design-center/simulation-tools/ltspice.html.
83. Marquardt D. W. An Algorithm for Least-Squares Estimation of Nonlinear Parameters [Текст] // Journal of the Society for Industrial and Applied Mathematics. — 1963. — Т. 11, № 2. — С. 431-441. — eprint: https ://doi. org/10.1137/0111030. — URL: https://doi.org/10.1137/0111030.
84. Moyal J. XXX. Theory of ionization fluctuations [Текст] // The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science. — 1955. — Т. 46, № 374. — С. 263—280. — eprint: https://doi.org/10.1080/ 14786440308521076. — URL: https://doi.org/10.1080/14786440308521076.
85. Abramowitz M., Stegun I. A. Handbook of mathematical functions: with formulas, graphs, and mathematical tables [Текст]. Т. 55. — Courier Corporation, 1965.
86. Optimal Pulse Processing, Pile-Up Decomposition, and Applications of Silicon Drift Detectors at LCLS [Текст] / G. Blaj [и др.] // IEEE Transactions on Nuclear Science. — 2017. — Т. 64, № 11. — С. 2854—2868.
87. Klein J. R., Roodman A. BLIND ANALYSIS IN NUCLEAR AND PARTICLE PHYSICS [Текст] // Annual Review of Nuclear and Particle Science. — 2005. — Т. 55, Volume 55, 2005. — С. 141—163. — URL: https://www.annualreviews. org/content/journals/10.1146/annurev.nucl.55.090704.151521.
88. Zech G. Upper limits in experiments with background or measurement errors [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1989. — Т. 277, № 2. — С. 608—610. — URL: https://www.sciencedirect.com/science/ article/pii/016890028990795X.
89. Harel A Statistical methods in CMS searches [Текст]. — 2011. — URL: https: //cds.cern.ch/record/2203243.
90. Read A. L. Presentation of search results: the CLs technique [Текст] // Journal of Physics G: Nuclear and Particle Physics. — 2002. — Сент. — Т. 28, № 10. — С. 2693. — URL: https://dx.doi.org/10.1088/0954-3899/28/10/313.
91. Битюков С. И., Красников Н. В. Применение статистических методов для поиска новой физики на Большом адронном коллайдере [Текст]. — Москва: Едиториал УРСС, 2019. — С. 272.
92. Фаулер М., Парсонс Р. Предметно-ориентированные языки программирования [Текст]. — Москва : Вильямс, 2011.
93. nformation technology — Database languages — SQL [Текст] : Standard / International Organization for Standardization. — Geneva, CH, 03.1992.
94. Thompson K. Programming techniques: Regular expression search algorithm [Текст] // Communications of the ACM. — 1968. — Т. 11, № 6. — С. 419—422.
95. Berra A. Geant4 simulation of a scintillator-lead shashlik calorimeter with a SiPM readout [Текст] // INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND TECHNOLOGY. Т. 34. — 2011. — С. 35—45. — URL: http: //inis.iaea.org/search/search.aspx?orig_q=RN:43093361.
96. Alfred V. A., Monica S. L., Jeffrey D. U. Compilers principles, techniques & tools [Текст]. — pearson Education, 2007.
97. Chomsky N. Three models for the description of language [Текст] // IRE Transactions on information theory. — 1956. — Т. 2, № 3. — С. 113—124.
98. McIlroy M. D. A research UNIX reader: annotated excerpts from the programmer's manual, 1971-1986 [Текст]. — AT, T Bell Laboratories. Computing Science, 1987.
99. Dusaev R. NA64 Data Handling Software [Текст]. — 09.2025. — URL: https: //doi.org/10.5281/zenodo.17170837.
100. Dusaev R. HDQL: Hierarchical Data Query Language [Текст]. — Вер. v0.2. — 09.2025. — URL: https://doi.org/10.5281/zenodo.17170790.
101. Sayago Heredia J., Flores-García E., Solano A. R. Comparative analysis between standards oriented to web services: SOAP, REST and GRAPHQL [Текст] // Applied Technologies: First International Conference, ICAT 2019, Quito, Ecuador, December 3-5, 2019, Proceedings, Part 11. — Springer. 2020. — С. 286-300.
102. Berners-Lee T. J. Information management: A proposal [Текст] : тех. отч. — 1989.
103. Lie H. W., Bos B. Cascading style sheets, level 1 [Текст]. — 1996.
104. Dusaev R. SDC: A Self-Descriptive Calibration data library [Текст]. — Вер. v0.5. — 09.2025. — URL: https://doi.org/10.5281/zenodo.17170796.
105. Mankel R. Pattern recognition and event reconstruction in particle physics experiments [Текст] // Reports on Progress in Physics. — 2004. — Март. — Т. 67, № 4. — С. 553—622. — URL: https://doi.org/10.1088/0034-4885/67M/r03.
106. The artificial retina for track reconstruction at the LHC crossing rate [Текст] / A. Abba [и др.] // Nuclear and Particle Physics Proceedings. — 2016. — Т. 273—275. — С. 2488—2490. — URL: https://www.sciencedirect.com/science/ article/pii/S2405601415009232 ; 37th International Conference on High Energy Physics (ICHEP).
107. Apache Avro Specification [Текст] / The Apache Software Foundation. — Вер. 1.11.3. — 2025. — URL: https://avro.apache.org/docs/L1L3/specification/ (дата обр. 06.09.2025); Authoritative specification.
108. HDF5: A Scalable, Persistent, Portable, High-Performance Data Storage System and Suite [Текст] / M. Folk [и др.] // Proceedings of the 2011 ACM International Conference on Management of Data. — ACM, 2011. — С. 17—22. — Comprehensive overview of HDF5 technology suite.
109. Protocol Buffers — Google's Data Interchange Format [Текст] / Google. — 2025. — URL: https://developers.google.com/protocol-buffers (дата обр. 06.09.2025) ; Official documentation of Protocol Buffers.
110. The DAQ of the COMPASS experiment [Текст] / L. Schmitt [и др.] // IEEE Trans. Nucl. Sci. — 2004. — Т. 51. — С. 439—444. — URL: https://cds.cern.ch/ record/816789.
111. Ососков Г. А, Полянский А., Пузынин И. В. Современные методы обработки экспериментальных данных в физике высоких энергий [Текст] // Физика элементарных частиц и атомного ядра. — 2002. — Т. 33, № 3. — С. 676—745.
112. Стренг Г. Линейная алгебра и ее применения [Текст]. — Москва : Мир, 1980. — Пер. с англ.: Ю. А. Кузнецов, Д. М. Фаге; 454 с.; ил.
113. Fruhwirth R., Strandlie A. Track fitting with ambiguities and noise: A study of elastic tracking and nonlinear filters [Текст] // Computer Physics Communications. — 1999. — Т. 120, № 2. — С. 197—214. — URL: https: //www.sciencedirect.com/science/article/pii/S0010465599002313.
114. Fruhwirth R. Application of Kalman filtering to track and vertex fitting [Текст] // Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. — 1987. — Т. 262, № 2. — С. 444—450. — URL: https: //www. sciencedirect. com/science/article/pii/ 0168900287908874.
115. Track filter on the basis of a cellular automaton [Текст] / A. A. Glazov [и др.] // JINR-E10-91-507. — 1991. — Нояб.
116. Kisel I., Ososkov G. An application of cellular automata and neural networks for event reconstruction in discrete detectors [Текст] // 6th International Conference on Computing in High-Energy and Nuclear Physics. — 1992.
117. S.Emelyanov I. I. S. CATS: A cellular automaton for tracking in silicon for the HERA-B vertex detector [Текст] // Nucl.Instrum.Meth. — 2002. — Т. A, № 489. — С. 389—405.
118. Application of a cellular automaton for recognition of straight tracks in the spectrometer DISTO [Текст] / M. P. Bussa [и др.] // JINR-E10-95-32. —1995. — Янв.
119. Search for neutral metastable penetrating particles produced in the SLAC beam dump [Текст] / J. D. Bjorken [и др.] // Phys. Rev. D. — 1988. — Дек. — Т. 38, вып. 11. — С. 3375—3386. — URL: https://link.aps.org/doi/10.1103/PhysRevD. 38.3375.
120. Search for short-lived axions in an electron-beam-dump experiment [Текст] / E. M. Riordan [и др.] // Phys. Rev. Lett. — 1987. — Авг. — Т. 59, вып. 7. — С. 755—758. — URL: https://link.aps.org/doi/10.1103/PhysRevLett.59.755.
121. Search for an Axionlike Particle in B Meson Decays [Текст] / J. P. Lees [и др.] // Phys. Rev. Lett. — 2022.— Апр. — Т. 128, вып. 13. —С. 131802.— URL: https: //link.aps.org/doi/10.1103/PhysRevLett.128.131802.
122. Search for axion-like particle production in 400 GeV proton-copper interactions [Текст] / F. Bergsma [и др.] // Physics Letters B. — 1985. — Т. 157, № 5. — С. 458—462. — URL: https: //www. sciencedirect. com/science/article/pii/ 0370269385904009.
123. Limits on neutral light scalar and pseudoscalar particles in a proton beam dump experiment [Текст] / J. Blümlein [и др.] // Zeitschrift für Physik C Particles and Fields. — 1991. — Сент. — Т. 51, № 3. — С. 341—350. — URL: https: //doi.org/10.1007/BF01548556.
124. Jaeckel J., Spannowsky M. Probing MeV to 90 GeV axion-like particles with LEP and LHC [Текст] // Physics Letters B. — 2016. — Т. 753. — С. 482-487. — URL: https://www.sciencedirect.com/science/article/pii/S0370269315009855.
125. Photoproduction of Axionlike Particles [Текст] / D. Aloni [и др.] // Phys. Rev. Lett. — 2019. — Авг. — Т. 123, вып. 7. — С. 071801. — URL: https://link.aps. org/doi/10.1103/PhysRevLett.123.071801.
126. Revised report on the algorithmic language Algol 60 [Текст] / J. W. Backus [и др.] // Communications of the ACM. — 1963. — Т. 6, № 1. — С. 1—17.
Список рисунков
1.1 Пример реализации динамического полиморфизма виртуального
метода на диаграмме классов........................18
1.2 Пример реализации динамического полиморфизма в C++ с выделенным интерфейсом на диаграмме классов.............19
1.3 Пример статического полиморфизма на основе шаблона свойств .... 20
1.4 Простейшая модель отклика детектора в событии............22
1.5 Модель события с разделением откликов во времени с классом ассоциации .................................. 23
1.6 Модель события с разделением откликов во времени, представляющая конкурирующие гипотезы................24
1.7 Класс срабатывания координатного детектора, инкапсулирующий координатное преобразование.......................27
1.8 Диаграмма вариантов использования в сценарном контексте анализа данных....................................35
1.9 Диаграмма вариантов использования в сценарном контексте сопровождения набора данных.......................36
1.10 Диаграмма вариантов использования в сценарном контексте извлечения калибровочной информации .................. 38
2.1 Фоторождение A' на ядре Z.........................58
2.2 Эффективный поток фотонов, отнесённый к квадрату зарядового числа x/Z2 для различных материалов и энергий налетающей частицы: приведён расчёт в соответствии с формулой (2.4) для вольфрама и алюминия (ср. с [53]) и свинца. Последний используется
в качестве материала активной мишени NA64...............60
2.3 Характерный вид отношения h(x,6)/f'var(x, 6).............62
2.4 Характерный вид кривых, с точностью до нормирующей константы, соответствующих M\(x) и |2(x)......................63
2.5 Фоторождение и распад аксион-подобной частицы (ALP)........66
2.6 Оценки чувствительности NA64 к реакции образования ALP [1] . . . . 67
2.7 Размещение детекторов установки NA64 в постановке для обнаружения невидимых частиц ...................... 68
2.8 Фотография торцевой части ECAL NA64 со снятым кожухом......72
2.9 Зависимость оценки энерговыделения калориметра от координаты до
и после коррекции согласно работе [65]..................74
2.10 Относительное разрешение ECAL COMPASS фазы II, согласно [68] . . 75
2.11 Схема укладки оптического волокна, фотографии вкладыша и
сварного каркаса HCAL [69] ................................................76
2.12 Схематическое изображение гальванического усиления и зарядового считывания в объёме детектора GEM [73].................77
2.13 Регистрация треков в рабочем объёме детектора MicroMega [72] .... 77
2.14 Схема измерения времени дрейфа ионизационных электронов [76] . . 79
2.15 Гистограмма временной развёртки амплитудного сигнала в центральной ячейке ..........................................................82
2.16 Результат моделирования преобразования сигнала в LTspice ......84
2.17 Отыскание нулевого уровня сигнала по первым сэмплам (слева) и на основе минимизации производных (справа) в относительных единицах 87
3.1 Диаграмма вариантов использования программной библиотеки для решения задач численной минимизации с расширенной логикой (ветвление, сопоставление, перебор)....................103
3.2 Диаграмма классов реализующих различные форматы хранения событий .................................... 105
3.3 Иерархия объектов внутри TFile порождаемая идентификатором детектора на основе шаблонных путей .................. 106
3.4 Пример разрешения сигнального отклика калориметра от двух
частиц в относительных амплитудных и временных единицах ..... 107
3.5 Сравнение эффективности идентификации димюонных событий до и после использования алгоритмов подгонки (L. Marsicano) ........ 108
3.6 Сэмплирование переднего фронта сигнала с одного канала микроструктурного детектора [72] ..................... 109
3.7 Пример распределения отношения амплитуд r02 и т\2 переднего
фронта сигнала микроструктурного детектора .............. 109
3.8 Распределение R(T) для нескольких трубок станции ST диаметром
6 мм .....................................111
3.9 Реконструкция треков по показаниям MicroMega со станциями тонкостенных разрядных трубок ...................... 112
3.10 Пример автоматического выделения основного пика во временном распределении мюонного сигнала в вето-детекторе...........113
3.11 Распределения во сстановленных амплитудных максимумов отвечающих энерговыделенияю в ячейках ECAL 3 х 3.........116
3.12 Профиль ливня в ячейках ECAL в свёртке с профилем пучка......119
3.13 Энергетический спектр в электромагнитном калориметре для различных энергий пучка..........................120
3.14 Зависимость реконструированного среднего энерговыделения и
ошибки от координат на передней грани ECAL..............121
3.15 Развёртка числа частиц зарегистрированных на мишени (T2) и числа отсчётов пучковых счётчиков по номеру спилла ............. 121
3.16 Развёртка амплитудных показаний центральной ячейки ECAL.....122
3.17 Пример работы клеточного автомата CATS [117].............125
3.18 Спектр мюонов реконструированных алгоритмом DAF без предварительного выбора гипотез ..................... 126
3.19 Результат применения реализации CATS(C) на данных МК-моделирования одного сособытия геометрии детектора Belle
II [40] (С.Г. Герасимов)...........................127
3.20 Распределения спиральных геометрических характеристик триплетов, по результатам МК-моделирования Belle II для оценки мощности критерия (С.Г. Герасимов) ...................128
3.21 Распределение импульсов частиц NA64^ реконструированных при помощи DAF без применения CATS(C) и при помощи KRF после CATS(C) до (MS1) и после (MS2) основного магнита спектрометра NA64^ (M. Tuzi)...............................129
3.22 Распределение углов для всех возможных комбинаций при учёте разрешения отдельных станций трекера MS2 NA64^ (M.Tuzi).....130
3.23 Комплексный график иллюстрирующий распределение координатных невязок bu/v для плоскости X первой станци MicroMega 131
3.24 Распределение px2 реконструированных треков в плече MS1
мюонного спектрометра NA64 после выравнивания (M.Tuzi)......132
3.25 Детектирование ALP в видимой моде...................133
3.26 Плотности вероятности относительной доли энерговыделения R для различных энергий и типов частиц согласно моделированию ...... 135
3.27 ROC-кривая для критерия R < Rth применяемого для разделения адронных и электромагнитных ливней в адронном калориметре . . . . 136
3.28 Распределения R для различных типов частиц совместно с данными, полученными на калибровочных пучках [2] ................ 136
3.29 7 х 103 идентифицированных нейтральных частиц из исходной статистики 2,85 х 1011 электронных событий [2].............137
3.30 Иллюстрация работы дихотомического алгоритма для оценки чувствительности эксперимента ...................... 138
3.31 Области, исключённые NA64 и другими экспериментами........139
А.1 Пример машины конечных состояний порождаемой элементом
обобщённого поведения «competing» ...................173
А.2 Пример машины конечных состояний порождаемой элементом
обобщённого поведения «breakdown»...................173
А.3 Пример машины конечных состояний порождаемой элементом
обобщённого поведения «fallback» ..................... 173
А.4 Диаграмма классов элементов обобщённого поведения.........174
А.5 Диаграмма классов иллюстрирующая объектную
модель ModelsCollection.........................175
А.6 Диаграмма классов показывающая типовые реализации интерфейса
iModel .................................... 178
Список таблиц
1 Соответствие типов коллекций.......................43
2 Оценки выхода А' из свинцовой мишени различной толщины .....65
3 Примеры имён детекторов.........................80
4 Максимальное число событий принятия Н для различных значений доверительного предела при отсутствии фона ..............89
Приложение А Спецификации
В данном приложении содержатся некоторые технические спецификации, без которых изложение в соответствующих разделах работы неполно, либо спецификации, положенные в основу реализованных технических решений, которые могут представлять самостоятельную практическую ценность.
А.1 Искусственные грамматики
Грамматики формулируются в форме Бэкуса-Наура [126].
А.2 Язык имён детекторов COMPASS
В COMPASS DAQ в основном имена детекторов сформулированы, согласно следующей грамматике:
det ID ::= <detector kin> <station number> detector kin ::= <буква> | <detector kin> <буква>
station number ::= <цифра> | <station number> <цифра>
где <буква> и <цифра> — терминалы грамматики.
Примерами грамматически корректных имён детекторов в такой простейшей грамматике являются ECAL0 (калориметр ECAL), HCAL3 (третий модуль адронного калориметра), MM03 и т.д.
А.3 Язык селекторов
В качестве альтернативы строковым ПОЯ, для фильтрации записей по числовым идентификаторам предложена следующая грамматика:
selExpr ::= <ftCompExpr> | ( <selExpr> ) | ! <selExpr> | <selExpr> && <selExpr> | <selExpr> || <selExpr> | <selExpr> ЛЛ <selExpr>
ftCompExpr :: = <id> cmpOp <id>
cmpOp ::= > | >= | < | <= | == | ! =
где терминалом грамматики id выступает определяемый на этапе лексического анализа числовой литерал, либо идентификатор. Набор идентификаторов определяется динамически во времени выполнения, и подобная простая грамматика позволяет создать LALR(1)-парсер для задания выражений-фильтров (селекторов), сформулированных в C-подобном синтаксисе бинарных логических операторов и операторов сравнения, и учитывающих иерархию детекторов установки (посредством идентификаторов «kin», «number», «xldx», «wirelD» и прочих, зависящих от топологии чувствительных элементов детектора). Рассмотрим следующие примеры:
- Выбрать ячейку 2 х 3 основной части ECAL:
kin == ECAL && xldx == 2 && yIdx == 3 && zldx == 1
- Выбрать все модули HCAL за исключением нулевого: kin == HCAL && number != 0
- Выбрать станции MM №1, 2, 3 или GM №5:
kin==MM && (number>0 && number<4) || (kin==GM && 5==number)
Хотя выбранная нотация бинарных операторов несколько избыточна, она близка к нотации принятой в языке С, понятна и привычна пользователю.
В качестве самостоятельного программного компонента, интерпретатор языка селекторов применяются для спецификации отдельным обработчикам конкретного набора детекторов (или, в соответствие с моделью события - показаний их отдельных чувствительных элементов, зарядов и временных кластеров, интегральных величин).
В качестве модели выполнения выбрано бинарное дерево операций с функциями обратного вызова. Ввиду простоты семантики языка, промежуточное представление и оптимизации избыточны.
Лексический анализатор и автомат выполнения включены в в основной дистрибутив NA64sw [99].
А.4 Язык запросов HDQL
Поскольку данный ПОЯ во всех случаях порождает вычислитель в виде генераторного выражения (частным случаем которого является логическое значение), модель языка предполагает наличие единственного корневого элемента. Этот элемент обычно считывается из потокового источника. Таким образом сценариям использования отвечает модель последовательного перебора (scan) — в отличие от выборок на индексированных данных применяемых в СУБД.
Язык вводит следующие абстракции:
- Типом данных t е Т называется набор рефлексивной информации о некотором адресе памяти. При этом, всё множество типов данных Т в языке разделяется на подмножество атомарных и составных типов данных Т = Та U Tc, различных по составу этой рефлексивной информации.
- Для атомарных типов данных (atomic) ta е Та запись содержит только код-идентификатор, доступный для внешних приложений.
- Составным типом данных (compound) Tc является именованный набор определений атрибутов.
- Определением атрибута (attribute definition) является именованное отношение ассоциации r е R между двумя экземплярами данных, заданное в виде кортежа значений состоящего из типа данных t е Т, множественности m (в смысле скалярного значения или индексированной коллекции), и операций доступа a е A: r = (t,m,a).
- Любая коллекция поддерживает индексирование по ключу. При этом рассматриваемый ПОЯ не включает грамматики описывающие выбор элементов коллекции (делегирование реализуется через интеграцию посредством выделенного интерфейса).
- Элементарным запросом является указание определения атрибута г, которое необходимо учесть для извлечения данных из составного типа. При этом, если атрибут ссылается на коллекцию, к запросу возможно присоединить предикаты выбора (по ключу) или фильтрации (по значению). Выполнением запроса таким образом является выполнение процедуры указанной в интерфейсе т записи г с учётом выражений выбора и фильтрации. Результатом выполнения запроса является последовательность адресов в памяти, соответствующая определению атрибута и ключе, соответствующему взятому элементу коллекций, если разыменование определения атрибута использует коллекцию.
- Элементарные запросы возможно определять в последовательности, образуя таким образом составные запросы. Рекурсивное выполнение также имеет результатом последовательность адресов в памяти, аннотированных кортежем ключей, соответствующим последовательности разыменования в коллекциях.
Таким образом, интеграция с пользовательской объектной моделью требует задания множества составных типов данных Тс на основе атомарных типов данных Та через набор кортежей г выражающих именованные отношения между составными типами данных, в конечном счёте всегда реализующихся через атомарные типы. Следует заметить, что в такой формулировке язык не предполагает какой-то определённой локализации данных составных типов в памяти. Всё взаимодействие с составными данными осуществляется посредством абстрактных интерфейсов реализованных в Та,с и т. Поскольку модель выполнения запросов опирается на проход в глубину, а интерфейс обращения к коллекции предполагает только операции с последовательным итератором поддерживающим только единичный инкремент, реализации интерфейсов могут генерировать данные динамически (разыменование атрибутов и итерирование коллекций неидемпотент-ны). Реализации интерфейсов могут запрашивать данные из внешних ресурсов (файлов, баз данных). В частном случае определение атрибута может ссылаться на поля структур и классов С/С++, включая коллекции (списки, различные ассоциативные массивы).
Важным архитектурным решением является поддержка рекурсивного определения составного типа (возможно задание циклических отношений). Хотя рекурсия существенно усложняет реализацию алгоритмов в рассмотренных вариантах использования, рекурсивные модели важны практически. Например, при задании объектной модели трека частицы, используется абстракция вероятной точки взаимодействия частицы с рабочим веществом детектора (чувствительным элементом) выраженная в виде пространственных координат и матрицы ковариации. Для задачи поиска и отбора кандидатов для треков частицы удобно применять рекуррентное определение такого типа, поскольку нередки события в которых сработали не все плоскости стрипового детектора, и алгоритм реконструкции трека должен, вообще говоря, рассмотреть все комбинации. В составных детекторах имеет смысл рассматривать временные кластеры определённые через временные кластеры в отдельных элементах и т.д. Хотя алгоритм обхода модели запроса, в принципе, позволяет конструировать рекуррентные запросы (программными средствами), сознательным ограничением грамматики языка является невозможность такой запрос сформулировать.
Язык имеет следующую грамматику (приводится с сокращениями):
aQExpr ::= <aOp>
| <aQExpr> <бинарный оператор> <aQExpr> | <унарный оператор> <aQExpr> | ( <aQExpr> )
| <идентификатор> ( <argsList> ) argsList :: = <aQExpr> | <argsList> , <aQExpr> aOp :: = <числовой литерал> | <queryExpr>
selection ::= <выражение с ключом>
| <выражение с ключом> -> <метка ключа> | -> <метка ключа>
queryExpr :: = . <идентификатор>
| . <идентификатор> selection | queryExpr . <идентификатор>
| queryExpr . <идентификатор> ^е1ес^оп> | queryExpr { <scopedDefs> }
scopedDefs :: = <vCompoundDef>
| <vCompoundDef> : <aQExpr> | : <aQExpr>
vCompoundDef :: = <идентификатор> : = aQExpr
| <vCompoundDef> , <идентификатор> := <aQExpr>
Здесь терминалы <бинарный оператор> и унарный оператор включают лексемы основных арифметических и логических операций, включая битовые операции.
Лексема <выражение с ключом> выделяется на этапе лексического анализа с целью делегирования внешнему интерпретатору произвольного языка селекторов (в частности, DSuL). С этой целью для селекторов коллекций предусмотрен специальный интерфейс. Посредством разделителя -> с определённым запросом может задаваться идентификатор ключа <метка ключа>, необходимый во внешних приложениях для именования критической части ключа записи.
Словарь лексем <идентификатор> статический, отвечает множеству определений атрибутов г, формируется на основе рефлексивной информации об иерархии данных (в контексте работы — на основе объектной модели физического события).
Рассмотрим примеры в контексте модели физического события.
Корневые объекты независимы и поступают на вход выражения последовательно. Извлечение значений атрибута (например, временной метки — eventTimestamp из каждого события выражается следующим образом:
.eventTimestamp
Корневой объект, как правило, содержит вложенные коллекции. К атрибутам элементов этих коллекций можно обращаться, используя оператор «.» последовательно:
.hits.energyDeposition
такой запрос вернёт значения energyDeposition для всех элементов коллекции hits корневого объекта.
Во многих практических случаях коллекции индексированы и представляют инъективные отображения (ключ ^ значение). Например, линейный массив - это упорядоченная коллекция, где каждый элемент имеет числовой индекс, и доступ к отдельному элементу возможен с помощью оператора «[]» (лексема ключи):
.hits[23].energyDeposition
возвращает значение energyDeposition для 23-его элемента массива hits.
Выражения внутри оператора «[]» (лексема <выражение с ключом>) могут использовать произвольную грамматику, предоставляемую пользовательским окружением. Например, выражение с использованием DSuL:
.hits[kin == ECAL].energyDeposition
соответствует модификации всех элементов коллекции hits корневого элемента для которых ключи адресуют элементы принадлежащие электромагнитному калориметру ECAL.
Все запросы возвращают векторизованный результат (упорядоченный набор значений или составных объектов), которые затем, в рамках одного события, итерируются пользовательским кодом (обработчика). Можно создавать или изменять типы составных объектов в пределах запроса (сама объектная модель события имеет статическую схему) посредством оператора «:=» определяющего новые (синтетические) атрибуты внутри оператора области видимости определённого как фигурные скобки «{}». Здесь применяется грамматическое правило <vCompoundDef>. Выражение
.hits{halfDistance := .distance / 2}
возвратит таблицу, в которой каждый элемент коллекции hits расширен новым атрибутом halfDistance, вычисленным как половина атрибута distance.
Возможно применение фильтрации на основе значений атрибутов (вдобавок к выборке по ключу). Для этого логическое выражение помещается внутрь оператора области видимости после разделителя «: » - применяется грамматическое правило <scopedDefs>. Выражение
.hits{: .energyDeposition > 10}
возвратит таблицу содержащую элементы коллекции hits со значением атрибута energyDeposition превышающим 10.
Оператор «:» введён с тем чтобы можно было разделить фильтр по значению и создание новых атрибутов. Например, выражение
.tracks{chi2ToNDF := .chi2/.ndf : .chi2ToNDF < 10} .hits[kin == MM || kin == GM]
возвратит таблицу набранную из треков со значением синтетического атрибута chi2ToNDF более десяти в детекторах MM и GM.
На выборках сформированных посредством описанных выразительных средств грамматика языка предусматривает различные агрегатные методы, такие как отыскание максимумов и минимумов, суммирование, составление набора уникальных элементов, взятие произвольного элемента и т.д.
Предложенный язык (HDQL, Hierarchical Data Query Language) представляет собой специализированный язык запросов, разработанный для формального и эффективного доступа к иерархически организованным данным в средах C и C++. Язык решает проблему быстрого создания запросов для проверки логических условий и построения гистограмм.
C точки зрения API HDQL предоставляет механизмы компиляции и исполнения запросов с минимальными накладными расходами и строгой типовой согласованностью, не являясь в то же время обязательным компонентом рассматриваемого программного окружения. Доступ к данным осуществляется через абстрактные дескрипторы, а разрешение ключей — через плоское представление, удобное для анализа. Язык ориентирован на потоковую обработку событий, типичную для экспериментов в физике высоких энергий, где необходима эффективная работа с глубокой иерархией структур данных.
Лексический анализатор и встраиваемые реализации исполняющих машин распространяются в дистрибутиве [100].
Competing
процедура A ->
Коллекция моделей
Модель А1
Модель А2
Модель A3
выбор
Рисунок А.1 — Пример машины конечных состояний порождаемой элементом
обобщённого поведения «competing»
Breakdown
7
Процедура А
Коллекция моделей
Модель А1
Модель А2
Модель A3
Рисунок А.2 — Пример машины конечных состояний порождаемой элементом
обобщённого поведения «breakdown»
Fallhark
7
[процедура А1
Модель А
/валидация А
Модель В
/ валидация В
ivcnexl
Модель С
/валидация С
' ivcnexl
Рисунок А.3 — Пример машины конечных состояний порождаемой элементом
обобщённого поведения «fallback»
Рисунок А.4 — Диаграмма классов элементов обобщённого поведения
А.5 Динамические машины состояний
В качестве программной реализации, рассмотрим декомпозицию на классы показанную на Рисунке А.4. Интерфейс iFitProcedure фиксирует наиболее общий контракт варианта использования процедуры через объявление сигнатур методов ^Ц) и reset(), соответствующих общим для всех процедур этапам жизненного цикла.
В частности, простейший вариант использования выражается реализацией NumericFitProcedure, делегирующей выполнение конкретным численным процедурам через интерфейс iFitter.
Вариант использования с декомпозицией модели реализован в классе BreakdownFitProcedure, в агрегирующим единственную подчинённую процедуру через её полиморфную базу.
Вариант использования с выбором подходящей модели реализован в классе FallbackFitProcedure и агрегирует упорядоченный набор экземпляров подклассов iFitProcedure.
Вариант использования с выбором наилучшего результата должен быть параметризован метрикой по которой определяется наилучшее соответствие. Поскольку на данном уровне общности отсутствует требование конкретной топологии данных, а вычисление метрики ожидается довольно частым, был выбран статический полиморфизм. Реализация предложенная в шаблонном классе CompetingFitProcedure параметризуется типом метрики. В то же время, чтобы сохранить гибкость в стратегии принятия решений, и предоставить пользователь-
скому коду возможность определять подклассы, реализующие, например, ленивое вычисление, коллекция моделей строится через посреднический тип, содержащий дополнительные аннотации к экземплярам моделей (например, значение метрики).
Более подробно реализация CompetingFitProcedure показана на Рисунке А.5. Реализация опирается на класс М^е^СоПес^оп, управляющий порождаемой машиной конечных состояний над множеством состояний модели шг дополненных набором текстовых меток £г, согласно правилам перехода {7}}. Каждый элемент множества 7} задаёт правило перехода, дополняя процедуру Рк правилом альтерации ^ = А} (£г) и предикатом текстовых меток С} (£г), что символически отразим как 7} := {Рк, А}, С}}. Выполнению процедуры Р} (шг) = ш} в таком расширенном контексте соответствует операция 7} : С}(£г); 7}({шг,£г}) = {Р}(шг), А}(£г)} = {ш}, ^}. Иными словами, аннотирование модели текстовыми метками нужно затем чтобы на данном уровне общности снабдить абстрактную модель логическими предикатами для выбора соответствующего перехода. Экземпляры множества {шг,£г} соответствуют типу данных М^е^Со11ес^оп::М^е!Еп^у, а правилам перехода 7} = {Р}, А}, Р}} отвечает интерфейс Mode1sCo11ection::iTransition.
Рисунок А.5 — Диаграмма классов иллюстрирующая объектную модель М^е^^Пе^^п
Метод eval() класса ModelsCollection принимает на вход экземпляр модели m0, набор данных x, и реализует следующий рекурсивный алгоритм прохода в глубину со стеком:
1. Создаётся новый экземпляр структуры ModelEntry mi5t = {m0,t0}, инициализированный исходной моделью и набором начальных текстовых меток, заданных для экземпляра ModelsCollection.
2. Среди множества правил перехода выбирается первый элемент Tj со связанным предикатом, отвечающий Если таковой найден, выполняется переход Tj : Cj(tj); Tj({m^}) = {mj, tj}, новое состояние сохраняется в стеке (stack push), и для {mj ,tj} повторяется алгоритм с п.2.
3. Если перехода с соответствующим предикатом не найдено (Tj : Cj({mi,ti}) ^ 0) и стек не пуст то состояние изымается из стека (stackpull), алгоритм повторяется с п.2. с прежним состоянием.
4. Если Tj : Cj ({mi,ti}) ^ 0 и стек пуст, алгоритм завершён.
Вспомогательный метод query() класса ModelsCollection параметризуется предикатом C(t) и осуществляет выбор {mi,ti} : C(t).
Промежуточный класс MultistagedFitProcedure реализует интерфейс iFitProcedure посредством делегирования выполнения соответствующим методам ModelsCollection. При этом, результат применения процедуры (MultistagedFitProcedure::fit()) выраженной в ModelsCollection является первый результат в списке возвращённом запросом ModelsCollection::query(), согласно предикату параметризующему экземпляр MultistagedFitProcedure. Это поведение изменено в шаблонном классе CompetingFitProcedure<Metric>, который осуществляет отбор результатов query() посредством параметра-метрики, таким образом реализуя вариант использования «выбор наилучшего результата».
Заметим, что описанная реализация процедур имеет дело с максимально общим описанием моделей и данных. За исключением элемента обобщённого поведения осуществляющего декомпозицию (breakdown), для модели фиксируется только следующее поведение:
- Вычисление модели на данных идемпотентно (т.е. это чистая функция, зависящая только от {x,p}).
- Модель рефлексивна (т.е. допускает копирование посредством интерфейса iModel).
Требование накладываемое декомпозицией существенно более строго и вводит в рассмотрение транзитивное отношение включения множеств моделей: mi е m2, m2 G m3 mi e m3. Этот вариант использования очень важен с
практической стороны, поскольку большинство рассмотренных задач физической реконструкции так или иначе имеют дело с моделями допускающими декомпозицию, в том числе с неоднозначностями, и при этом принятие решений (выбор варианта) должно производиться на основе дополнительной информации предоставляемой алгоритмами аппроксимации. Например, на разных стадиях анализа алгоритм фитирования трека должен опираться не только на х2 трека, но и учитывать количество сработавших детекторов, - до окончания процедуры физического выравнивания, выбор наиболее длинного трека более предпочтителен чем выбор наиболее правдоподобной оценки.
Рассмотрим систему классов на Рисунке А.6. Упоминавшийся ранее интерфейс iModel задаёт абстрактную базу удовлетворяющую наиболее общим требованиям сценариев представленных элементами «fallback» и «competing». В предположении о том, что набор параметров p гомогенен (представим в виде массива значений одного и того же типа), этот интерфейс может быть сведён средствами статического полиморфизма до абстрактной реализации AbstractParametricModel.
Дополнительные предположения о типе ассоциации определяют реализацию интерфейса доступа к значениям параметров.
Статическая композиция частично реализованная в абстрактном базовом классе AbstractFixedParametricModel<> нужна для моделей с фиксированным числом параметров - например, аппроксимация одиночной N-параметрической функцией отдельного пика, линейной модели движения частицы, отдельного ливневого профиля и т.д.
Динамическая композиция частично реализованная в абстрактном классе AbstractVariableParametricModel<> нужна для моделей с переменным числом параметров. Такие модели используют различные алгоритмы поиска, задания начальных условий, а также алгоритмы апостериорной коррекции (например, удаления вырожденных членов после аппроксимации).
Агрегация параметров декомпозированной модели реализуется через абстрактный класс-прослойку - вид AbstractParametricModelView<>. Экземпляры этого класса, всегда ассоциированы с экземпляром подкласса AbstractParametricModel и в конечном счёте всегда предоставляют доступ к
Рисунок А.6 — Диаграмма классов показывающая типовые реализации интерфейса iMode1
значениям параметров содержащихся в композиционном классе, реализуя таким образом отношение включения множеств.
Приложение Б Аналитические выражения
В данном приложении приводятся некоторые вспомогательные математические рассуждения, положенные в основу соответствующих алгоритмов.
Б.1 Решение переобусловленных систем
Пусть А Е кпхт — матрица системы, х Е Кп — столбец неизвестных, Ь Е Кп — столбец свободных членов. К может быть полем комплексных или вещественных чисел.
Тогда (не обязательно совместная) система
Ах ~ Ь (Б.1)
будет называться переопределённой, если т > п. Для такой системы можно получить приближённого решения, наилучшим образом удовлетворяющего условию на вектор невязок г Е Кт : г = Ах — Ь. Для этого аналитически ищут вектор X удовлетворяющий условию ||г0|| = ||АХ — Ь|| ^ ||Ах — Ь||. В курсе линейной алгебры доказано, что наилучшим образом этому условию удовлетворяет решение вида А+Ь, где А+ = (А*А)—1 А* — т.н. псевдообратная матрица [112]. Численно А+ можно получить несколькими способами. Наиболее стабильным является использование сингулярного разложения, в котором А представляется в виде матричного произведения А = VЕ-1 и*, где Т — диагональная матрица сингулярных чисел, и^ — матрицы, состоящие из левых и правых сингулярных векторов, соответственно. Доказательство использует свойство унитарности матриц и^ : ии* = I, VV* = I, ассоциативность матричного произведения и
дистрибутивность матричной инверсии:
А+ = (А* А)-1 А*
= ((УШ*)(и£У*))—1 • УШ*
= (у е2у *)-1 • у ш *
= У Е-1и *.
Помимо численной стабильности метода получения псевдообратной матрицы на основе сингулярного разложения, он оказывается сравнительно нетребователен к компьютерной памяти, что важно при работе с большими матрицами А, подобно случаю, описанному в разделе, посвященном калибровке электромагнитного калориметра, где число строк составляет порядка 107.
Программные реализации самого сингулярного разложения включены во многие специализированные библиотеки, определённый интерес могут представлять только процедуры вычитки большого объёма входных данных. В описанном в данной работе программном комплексе процедура представлена обработчиком, формирующим компактное представление входных данных в рамках реализации конвейерного шаблона, и специализированным решателем в виде отдельной утилиты, использующего различные стратегии минимизации использования памяти.
Б.2 Устранение черезстрочности
Пусть /(¿) — амплитудная функция сигнала. Известно, что эта функция преобразуется в последовательность дискретных измерений (сэмплов) с фиксированным временным шагом Н двумя амплитудно-цифровыми преобразователями, у каждого из которых есть свой уровень нулевого сигнала. Обозначим эти уровни как Ъеуеп и Ь0м для чётных г = 0,2,... N — 1 и нечётных г = 1,3,... N номеров сэмплов соответственно.
Тогда измеренная сетчатая функция у = /(£«):
{/ (и) + Ьеуеп г = 2п
/ (£г) + ЪоМ г = 2п + 1
Цель состоит в том, чтобы получить оценку f (¿¿) во всех точках на основе у.
Предлагаемый подход опирается на конечно-разностную оценку производной ]' = в общем определённую как:
*ЛУ) = ¿£ j"' y.+j + O(8J), (Б.2)
где kn — коэффициенты соответствующего разложения в ряд Тейлора ограниченные порядком p > 0.
Для функции сигнала f (t) определённой в точках t. корректно следующее приближение:
- 1/s" £ (t.-j) = f (У, beven, bodd), (Б.3)
j
где
f (У, beven, bodd) = ^ ( У kjn'P)(y - b_n) + У - ,0dd
(Й ЧЕ kjn,P)(y - beven) + Е kjn,P)(y - bodd^ .
^ ' \j G2n jG2n+1 J
^ ' \j G2n jG2n+1
(Б.4)
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.