Программное обеспечение системы сбора данных установки ВЕС
Контроль и обновление пьедесталов системы амплитудного анализа (ГАМС и счетчики)


В системе сбора данных установки ВЕС повышенное внимание уделено системе амплитудного анализа, в частности контролю за пьедесталами АЦП, которые обслуживают более 1500 каналов электромагнитного калориметра типа ГАМС а так же черенковские счетчики и "охранную" систему из сцинтилляционных счетчиков.

Блоки АЦП ЛЭ-14 преобразуют амплитуду сигнала во временную "полку", которая оцифровывается модулем МИСС ЛЭ-19. По приходу триггера, автономный контроллер ЛЭ-68 считывает данные из ЛЭ-19 своего сектора, вычитает из них пьедесталы, хранящиеся в памяти контроллера, и передает дальше разницу, если она больше или равна 0.

Вследствие ненадежности элементной базы и наводок на электронику, пьедесталы АЦП имеют свойство изменяться со временем, поэтому требуется переодическое обновление текущего значения пьедесталов. Для этого, в промежутке между выводами пучка ускорителя, производится подача триггеров на все сектора АЦП и считывание текущих значений пьедесталов с помощью контроллера сектора, вычисляется средний пьедестал и RMS для каждого из каналов, новые пьедесталы заносятся в память автономных контроллеров. Кроме того, средние значения и RMS заносятся в базу данных, для контроля за работой системы и дальнейшего использования при реконструкции событий.

Для управления системой АЦП и обновления пьедесталов используется программа gams. В качестве необязательного аргумента программа использует название конфигурационного файла, по умолчанию - gams.cfg В конфигурационном файле описывается структура и адреса модулей МИСС и СУММА, участвующих в системе амплитудного анализа и другие параметры работы программы, такие как количество циклов чтения пьедесталов, флаги диагностики и записи в базу данных, номера каналов исключений, для которых пьедесталы не должны вычитаться (черенковские счетчики).

Алгоритм работы программы:

  1. Чтение конфигурационного файла и инициализация системы
  2. Ожидание конца цикла вывода пучка ускорителя (конец сброса)
  3. Цикл чтения пьедесталов (обычно 200 раз)
  4. Запись новых пьедесталов в память автономных контроллеров
  5. Спасение измененных пьедесталов в базу данных
  6. Переход к ожиданию конца сброса (2)

Для хранения истории изменения пьедесталов используется 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.


Last updated Aug-2005 by Solo