Блоки АЦП ЛЭ-14 преобразуют амплитуду сигнала во временную "полку", которая оцифровывается модулем МИСС ЛЭ-19. По приходу триггера, автономный контроллер ЛЭ-68 считывает данные из ЛЭ-19 своего сектора, вычитает из них пьедесталы, хранящиеся в памяти контроллера, и передает дальше разницу, если она больше или равна 0.
Вследствие ненадежности элементной базы и наводок на электронику, пьедесталы АЦП имеют свойство изменяться со временем, поэтому требуется переодическое обновление текущего значения пьедесталов. Для этого, в промежутке между выводами пучка ускорителя, производится подача триггеров на все сектора АЦП и считывание текущих значений пьедесталов с помощью контроллера сектора, вычисляется средний пьедестал и RMS для каждого из каналов, новые пьедесталы заносятся в память автономных контроллеров. Кроме того, средние значения и RMS заносятся в базу данных, для контроля за работой системы и дальнейшего использования при реконструкции событий.
Для управления системой АЦП и обновления пьедесталов используется программа gams. В качестве необязательного аргумента программа использует название конфигурационного файла, по умолчанию - gams.cfg В конфигурационном файле описывается структура и адреса модулей МИСС и СУММА, участвующих в системе амплитудного анализа и другие параметры работы программы, такие как количество циклов чтения пьедесталов, флаги диагностики и записи в базу данных, номера каналов исключений, для которых пьедесталы не должны вычитаться (черенковские счетчики).
Алгоритм работы программы:
Для хранения истории изменения пьедесталов используется MySQL база данных. В базе gams создаются таблицы для каждого сеанса, например run31. Структура полей таблицы:
+--------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+---------------+------+-----+---------+----------------+ | n | int(11) | | PRI | NULL | auto_increment | | time | timestamp(14) | YES | | NULL | | | spill | int(11) | | | 0 | | | crate | tinyint(4) | | | 0 | | | module | tinyint(4) | | | 0 | | | chan | tinyint(4) | | | 0 | | | mean | float | | | 0 | | | rms | float | | | 0 | | +--------+---------------+------+-----+---------+----------------+Для уменьшения размера хранимых данных, в базу заносятся только те каналы, у которых изменилось среднее значение пьедестала. Кроме того, запись данных от всех каналов производится при запуске программы gams и после 100 циклов ускорителя (примерно раз в 16 мин.)
Для анализа данных используются макросы системы ROOT - gams.C
Пример работы данного макроса:
Исходные тексты программ находятся в каталоге ~roger/online/src/gams. Для сборки используются соответствующий Makefile.