%         Created on 02-jan-92 by BGV
%-------------------------------------------------------------------
\documentstyle[12pt,russian,epsf]{iheprep}
\textwidth=6in
\textheight=8.5in
%\textwidth=160mm

\newcommand{\omg}{$ \omega\omega$}
\newcommand{\omgomg}{ $ \pi^-p\rightarrow\omega\omega n$}
\newcommand{\threepi}{\pi^+\pi^-\pi^0}

\begin{document}
\begin{titlepage}
\prepnum{92-xx} { ОЭИУНК }
\author{%       Список авторов.
 Г.В.~Борисов
}
\title{ Система обработки данных установки ВЕС. \\ 
II. Программа поиска и реконструкции треков}
\bigskip
\end{titlepage}
%
\begin{abstractpage}[xxx.xx]
\engabs{Borisov G.V.}{ Data processing on VES}
Description of data processing on IHEP Vertex Spectrometer is
presented. In the second part of this work the algorithm of
track finding and reconstruction is given.
The work with magnetic field of VES is also described.

\rusabs{Борисов Г.В.} { Система обработки данных установки ВЕС}
Представлена система обработки данных установки ВЕС. Во второй части
описывается программа реконструкции треков. Рассмотрен принятый
для ВЕС способ работы с магнитным полем.
\end{abstractpage}

\subsection*{ 4. Программа поиска треков и определения их параметров.}

В предыдущем разделе была рассмотрена общая структура системы
обработки ВЕС. Сейчас основное внимание будет сконцентрировано на основном
элементе системы обработки - программе реконструкции событий, и более
конкретно, на той ее части, которая занимается поиском и восстановлением
треков. Как показывает практика, это наиболее сложная часть программы,
нахождение ливней в калориметрических
детекторах значительно проще (главным образом из-за того что
в первом случае событие восстанавливается в трехмерном пространстве,
а во втором - в двумерном, и при этом отсутствуют такие
усложняющие факторы, как магнитное поле, "сшивка" событий
в разных плоскостях и т.д.).

\subsection*{ 4.1 Структурное построение программы реконструкции: 
процессорный конвейер и фрагменты события.}

Общая схема программы реконструкции треков (ПРТ) приведена на рис. 6. 
Главный принцип построения этой программы основан на понятии 
процессорного конвейера. Это понятие означает, что вся цепочка
реконструкции события от исходных, "сырых" данных вплоть до конечного ответа 
в виде числа треков в событии и их параметров разбивается на отдельные 
элементарные этапы с конкретной последовательностью  выполнения и 
фиксированным результатом работы, которые в дальнейшем будут называться 
{\bf процессорами}. Каждый процессор рассматривается как независимая 
программная единица, выполняющая строго определенные операции и 
создающая в результате своей работы так называемые {\bf фрагменты события} 
(ФС), которыми может быть любая информация о событии, полученная в ходе 
реконструкции  и хранящаяся в определенном формате в оперативной
памяти. 

Небольшой пример. Реконструкция событий на ВЕС начинается с 
восстановления параметров пучковой частицы, провзаимодействовавшей
в мишени; эта операция  выделена в отдельный процессор BEAM, 
который использует данные от пучковых камер (см. рис.1), а результат 
работы записывает в виде фрагмента события, формат которого приведен 
на рис. 7. После него в обработку включается процессор VTNY, 
который, используя определенное процессором BEAM направление 
пучковой частицы в качестве стартового коридора, последовательным 
перебором находит все элементы треков в пропорциональных 
камерах до магнита, имеющие  пересечение с пучковой частицей в 
области мишени. Эти элементы треков записываются в 
виде новых ФС определенного формата и используются 
последующими процессорами, при этом некоторые варианты в дальнейшем могут быть 
отброшены. Полностью алгоритм реконструкции будет описан позднее.

В качестве исходной информации процессор использует либо "сырые"
данные, либо ФС, полученные в результате работы
предыдущих процессоров. ФС последнего процессора
являются по определению конечным ответом. ФС является единственным 
разрешенным способом обмена информацией между процессорами, не 
допускается создание дополнительных COMMON-блоков или какого-нибудь 
другого мехнизма передачи данных. Форматы фрагментов события, создающихся
разными процессорами, могут различаться, однако для каждого
процессора они полностью определены и зафиксированы вместе с
последовательностью обработки события процессорами.
Для каждого процессора определен набор детекторов,
информацию от которых он использует, и список ранее отработавших
процессоров, ФС которых нужны ему для работы. 
Каждый процессор может создавать переменное число ФС, отвечающих
различным возможным вариантам реконструкции, при этом в задачу
последующих процессоров входит выбор правильных ФС и исключение
ошибочных вариантов. 

У фрагмента события кроме информационной части имеется т.н.
{\bf список ссылок } (Reference List, RL). В этом списке указываются
ссылки на все сигналы от детекторов ("хиты", hits), а также на предыдущие ФС,
которые были использованы для построения данного ФС. По этим спискам ссылок 
в процессе реконструкции для каждого хита или ФС заполняются 
{\bf списки включения}, (Inclusion List, IL), в которых указываются 
все фрагменты события, использовавшие данный хит или ФС. 
Такая система перекрестных ссылок активно используется при построении 
и отборе различных вариантов реконструкции события. Например, при 
поиске Y-проекций треков до магнита (процессор VTNY), для каждого 
нового варианта трека требуется, чтобы он включал в себя как минимум 2 
"уникальных" хита, т.е. таких хита, которые не входили бы ни в какой другой
трек. Для проверки этого условия просматриваются Inclusion Lists всех
хитов, образующих новый элемент трека.
Естественно, список ссылок для каких-то типов ФС можно не заполнять, 
если есть уверенность, что в дальнейшей работе эти ссылки не понадобятся.

Для удобства работы с фрагментами событий реализованы такие операции, как:
\begin{itemize}
\item создание нового ФС. При этом по RL создаваемого ФС запоняются
IL тех хитов или ФС, которые указаны в Reference List.
\item уничтожение ФС. Эта операция бывает нужна для удаления
отбракованных вариантов реконструкции. При уничтожении ФС соответсвующим 
образом исправляются также и списки включения для всех хитов или ФС, 
котрые использовались для его построения.
\item восстановление ФС. Уничтоженный ФС остается в структуре события
до тех пор, пока не будет проведена чистка структуры (см. ниже),
поэтому его можно в случае необходимости восстановить, при этом
восстанавливаются также и все ссылки.
\item чистка структуры события. Если в процессе работы было удалено
много ненужных ФС, можно освободить часть рабочего места операцией
чистки. При этом все уничтоженные ранее ФС будут потеряны окончательно.
На практике использовать эту операцию следует только в случае нехватки
оперативной памяти, с чем в нашей практике сталкиваться не приходилось.
\item доступ к ФС. Организовано два способа доступа к 
фрагментам событий: последовательный, когда из памяти извлекаются
последовательно все ФС, которые были созданы определенным процессором,
и прямой доступ, когда можно обращаться сразу к нужному ФС по его номеру.
\item работа со списками включения. Эта операция позволяет извлекать
для данного хита или фрагмента события его список включения (IL) (т.е.
список всех ФС, которые использовали данный хит или ФС).
\end{itemize}

Все ФС в оперативной памяти хранятся в виде ZEBRA-банков, \footnote {
Работа программы реконструкции треков основывается на
использовании системы управления структурами данных
(Data Structrure Management System) ZEBRA \cite{zebra}, поэтому
в данном описании употребляются многие понятия и термины, вводимые
авторами этого пакета, для их разъяснения следует обращаться непосредственно
к цитируемой работе.}
однако следует особо подчеркнуть, что мы отказались от
хранения фрагментов событий в виде линейной структуры банков
(по типу: один фрагмент события - один банк),
поскольку на опреации создания банков тратится много процессорного
времени, кроме того, линейная структура не обеспечивает прямой
адресации к какому-либо фрагменту. Все ФС от одного процессора 
хранятся в общем банке большого размера и заносятся туда при помощи 
специальной процедуры. Структура для хранения события
создается в оперативной памяти за все время работы программы 
реконструкции {\bf один раз в самом начале}, ни какие 
банки после не уничтожаются, а только лишь, по мере необходимости,
расширяются. При таком способе построения программы реконструкции 
не тратится процессорное время на создание и уничтожение банков и 
экономия оказывается существенной для сложной топологии события.
Организация хранения позволяет иметь прямую адресацию к фрагментам, 
переменное число фрагментов, можно помечать любые фрагменты как ненужные,
а в случае необходимости восстанавливать их. Поскольку, как 
отмечалось в предыдущем разделе, промежуточные результаты не сохраняются 
и на внешние носители не выводятся, возникающие пустоты в банках не 
причиняют ни какого беспокойства и в процессе работы удалять их нет 
необходимости.

В заключение этого раздела отметим еще раз главные особенности
структурного построения программы реконструкции ВЕС.
\begin{itemize}
\item[1.] Организация работы программы по типу процессорного 
конвейера, благодаря чему упрощается разработка и реализация алгоритма 
реконструкции; обеспечивается независимость разных частей программы 
друг от друга, что расширяет возможности их создания, проверки правильности
работы, модифицирования, замены одного процессора на другой с одинаковым 
выходным форматом ФС; облегчается состыковка различных частей программ 
реконструкции, которые могут разрабатываться различными людьми.
\item[2.] Хранениe результатов работы процессоров в виде 
формализованных фрагментов события позволяет легко осуществлять
разнообразные способы перебора вариантов, выбор оптимального, 
удаление ненужных фрагментов, установление логических связей
между ФС от разных процессоров;
\item[3.] Стационарная структура из ZEBRA-банков дает возможность
использовать все преимущества пакета ZEBRA и одновременно обойтись 
без значительной части вспомогательных операций по созданию/уничтожению 
банков. 
\end{itemize}

\subsection*{ 4.2 Последовательность работы процессорного конвейера.}

В этом разделе будет дано описание алгоритма реконструкции событий
на установке ВЕС. Исходя из общих целей эксперимента, сформулированных
во второй части данной работы, задачей программы восстановления
событий является {\bf поиск и определение параметров всех заряженных треков, 
попавших в апертуру установки и имеющих одну общую вершину, 
находящуюся в области мишени}. Следует сразу отметить, что
так сформулированная задача значительно сужает класс событий,
подлежащих реконструкции. Например, не будут искаться треки, вылетающие
из вторичных вершин внутри объема установки (образующиеся, например,
из-за распадов $K^0$, вторичного взаимодействия в веществе детекторов и т.д.).
Сознательный отказ от реконструкции треков из вторичных вершин 
находится в согласии с основным принципом соответсвия целей эксперимента
и программного обеспечения и приводит к значительным упрощениям алгоритма
реконструкции. 

На рис. 8(а,б) в качестве иллюстрации приведен пример реконструкции 
одного из событий, по которому можно следить за описываемым ниже
алгоритмом реконструкции.

Начинается реконструкция с {\bf поиска трека пучковой частицы}, котрый
осуществляется процессором BEAM. Используемые детекторы: 4 
пучковые камеры, измеряющие координаты в ZX и ZY плоскостях.
\footnote {Для установки ВЕС принята следующая система координат:
ось Z направлена вдоль пучка, ось Y вертикально вверх, ось X дополняет
эту тройку до правой. Центр системы отсчета совпадает с центром 
магнита. Магнитное поле направлено вдоль оси Y и треки отклоняются магнитом
в ZX-плоскости}. Метод поиска: в пучковых камерах регистрируется, как
правило, только одна пучковая частица, поэтому требуется, чтобы
имелось по крайней мере две камеры с одним хитом в каждой плоскости.
по этим хитам проводится прямая линия, если в камере два и более хитов,
выбирается хит с минимальным расстоянием до трека. Результат работы
процессора: фрагмент события с параметрами пучкового трека.

{\bf Поиск проекций треков в ZY плоскости до магнита} (процессор VTNY). 
Используемые детекторы и процессоры: 6 Y-плоскостей пропорциональных
камер и ФС от BEAM. Метод поиска: найденное ранее направление пучковой
частицы используется для определения области внутри мишени,
из которой допускается вылет треков. Начиная от самой дальней от мишени
плоскости последовательно берутся все хиты в качестве стартовой
точки для поиска трека, строится коридор между областью
в мишени и стартовой точкой и определяется число хитов в других плоскостях,
попавших в этот коридор. Если общее число хитов больше 3 и при этом
число уникальных хитов (т.е. хитов, не входящих в другие треки)
больше 2, то по найденным точкам определяются параметры кандидата в трек
и записываются в виде фрагмента события.

{\bf Первичное определение положения вершины взаимодействия в
ZY - плоскости} (процессор VRTY). Используются ФС от процессоров VTNY
и BEAM.
По найденным проекциям трекoв после мишени и направлению пучковой
частицы находится положение вершины (первое прибижение) как
точки, минимально удаленной от всех треков (с учетом ошибок определения
параметров). Координаты найденной вершины записываются в виде ФС.

{\bf Дополнительный поиск треков в ZY плоскости} (процессор VANY).
После того как найдена вершина события, осуществляется дополнительный
поиск треков в ZY плоскости процессором, практически совпадающим
с VTNY, но с более мягкими условиями отбора (требуется наличия для трека
по крайней мере 3 хитов, два из которых являются уникальными). 

{\bf Поиск треков в ZX плоскости до магнита} (процессор VANX).
Используемые детекторы и процессоры: 8 X-плоскостей пропорциональных камер
и  процессор VRTY. Метод поиска: применяется
алгоритм работы процессора VTNY, однако информация от двух последних 
плоскостей для определения параметров треков не используется, поскольку
эти камеры расположены уже в области сильного магнитного поля
и измеряемые ими точки заметно отклоняются от прямой линии для мягких
треков. Эти две плоскости участвуют, однако, в подсчете числа хитов
для треков. Трек считается найденным, если его образует как минимум
4 хита от разных плоскостей, причем 3 из них являются уникальными. 

{\bf Определение пространственного положения вершины взаимодействия}
(процессор VERS). По найденным проекциям треков в ZY и ZX плоскостях
и направлению пучковой частицы проводится фит пространственного 
положения вершины.

{\bf Продолжение треков в ZY плоскости через магнит до дрейфовых
камер} (процессор SDRY). Используемые детекторы и процессоры:
3 Y-проекции дрейфовых камер, процессоры VERS и VTNY.
По проекциям треков в ZY плоскости и координатам вершины взаимодействия
треки продолжаются за магнит (при этом считается
что трек не откланяется магнитным полем в ZY плоскости), и ищутся
хиты в Y плоскостях дрейфовых камер, соответсвующие каждому треку.
При этом допускается, чтобы для какого- либо трека не нашлось ни 
одного хита после магнита (это означает, что данный трек вылетел
за апертуру дрейфовых камер, отклонившись в магнитном поле), однако
число таких треков не должно быть больше двух. Результат работы:
ФС с указанием параметров треков и ссылок на хиты в дрейфовых камерах,
входящих в каждый трек.

{\bf Поиск триплетов в дрейфовых камерах} (процессор DALI). Триплетами
называются три хита в трех плоскостях одной дрейфовой камеры
(X-плоскость, Y-плоскость и наклонная V-плоскость), принадлежащие
одному треку. Они используются для связывания X- и Y- проекций
треков.
Используемые детекторы и процессоры: 9 плоскостей 
трех дрейфовых камер и процессор SDRY. Метод поиска: для триплетов,
принадлежащих одному треку, существует одно услвие их связывающее.
Поэтому последовательно перебираются все хиты и проверяется выполнение
этого условия. Для Y-плоскостей берутся только те хиты, которые
входят в найденные после магнита Y-проекции треков
(по фрагментам события процессора SDRY). Результат работы:
ФС с триплетами хитов ( с указанием, какому треку они принадлежат).

{\bf Отбор кандидатов треков. Соеденение элементов треков до и после магнита
в X-плоскости до и после магнита} (процессор CURV). Данный процессор
является наиболее сложной и трудоемкой частью всей программы реконструкции,
поскольку необходимо одновременно отбирать кандидаты элементов треков по камерам
после магнита, находить соответсвующие им кандидаты элементы треков до магнита,
проводить трек через магнитное поле и искать соответствующие треку
хиты в камерах расположенных внутри магнитного поля. Принятая для ВЕС
методика проведения треков через магнитное поле будет описана несколько
позднее, а здесь внимание будет акцентировано на самом алгоритме
поиска треков в X-проекции. Используемые детекторы и процессоры:
8 X-плоскостей пропорциональных камер, 2 наклонные плоскости пропорциональных
камер ( на рис.8 не показаны), 9 плоскостей дрейфовых камер (X,Y,V- плоскости),
4 плоскости минидрейфовых камер, расположенных внутри магнитного поля;
фрагменты события от процессоров: VANX, VERS, SDRY, DALI.
Метод работы: для каждого трека, доходящего до дрейфовых камер
после магнита (по ФС от SDRY) берутся все триплеты, с ним связанные
(ФС от DALI). По каждому триплету определяется хит в X-проекции,
связанный (через триплет) с Y-проекцией трека, этот хит берется в качестве
опорной точки для поиска X-проекции трека. Для каждой найденной
X-проекции трекa до магнита и данной опорной точки строится 
гипотеза трека, вылетающего из мишени по направлению X-проекции до
магнита и проходящую через опорную точку после магнита, и для 
данной гипотезы ищутся хиты в дрефовых камерах (X- и V- плоскости)
в минидрейфовых камерах (X- плоскости) и в повернутых камерах
до магнита (две наклонные плоскости). Гипотеза
считается удовлетворительной и записывается как кандидат в трек
при выполнении следующих условий:
\begin{itemize}
\item суммарное число хитов в X- и V- плоскостях дрейфовых камер, больше 3
( для треков вылетающих под большими углами больше 2);
\item суммарное число хитов в X-плоскостях дрейфовых камер максимально
среди всех вариантов связывания X-проекций треков до магнита с данной
опорной точкой (при этом допускается одновременное существование
нескольких гипотез с максимальным числом хитов);
\item для данной гипотезы должен быть найден хотя бы один хит
в 4 плоскостях минидрейфовых камер.
\end{itemize}

В результате работы этого процессора получается набор всех 
возможных кандидатов в треки, удовлетворяющих перечисленным выше
минимальным требованиям, у которых найдены проекции до и после
магнита, определен импульс и сшиты X- и Y- проекции. 
Этот набор, однако, является избыточным (некоторые кандидаты в треки
являются ложными) и следующим процессором (TRSP) он будет сокращен.

{\bf Выбор истинных треков из набора кандидатов} (процессор TRSP).

\end{document}