Калибровка данных сеанса ноябрь 2005 на установке ПРОЗА-2

Введение
Калибровка данных (обработка)

Введение

Условия калибровки

Калибровка проводилась на пучке электронов с энергией 5 ГэВ (режим рассчитан пересчетом магнитных элементов 14-го канала из  режима 27 ГэВ). Режим канала приведен в соответствующей таблице. Энергия выбрана из условия, чтобы сигнал в ФЭУ (и АЦП) не находился в режиме насыщения. Рассчетное значение калибровки 2.5 МэВ/канал, так что энергия 5 ГэВ в среднем соответствут значению 2000 каналов  в АЦП.

Детектор ЧСПП установлен перпендикулярно пучку. Значение HV выставлено на уровне 1800 В, такое же значение выбрано при наборе данных.

Калибровка проведена в автоматическом режиме. При этом параметры калибровки - начальная точка - центр счетчика 03_01. Детктор движется после накопления статистики 500 событий на точку с шагом полсчетчика как по горизонтали, так и по вертикали. Таким образом, средняя ожидаемая статистика на счетчик 2000 событий  (с учетом шумов  около  1200 событий).  Таким образом, точность  калибровки должна составить не хуже 0.3% (даже если ширина распределения (сигма) составляет 12%).

Данные и программы

Все данные находятся на компьютере helix в директории /data/helix/1/run05-11. Данные также скопированы на данный компьютер (proza-2m.ihep.su) в директорию /data/proza-2m/proza_data/run05-11

Фаилы для калибровки:
Название файла
Генерации
Комментарий
cspp_calib.
000-026
Общая калибровка в автоматическом режиме
cspp_calib_12_12
000
Была маленькая статистика
cspp_calib_21_8_21_9
000-001
Перекалибровка после изменения перепутанных каналов в АЦП
cspp_calib_27_10
000-001
Поменяли канал в АЦП и перекалибровку в этой области
cspp_calib_7_2_7_3
000
Перекалибровка после изменения перепутанных каналов

Программа находится на компьютере  proza-2m.ihep.su в директории /home/mochalov/work/proza/offline/05-11/calibr. Название файла с последним работающим кодом offline.car. Структура программы выбрана из подготовленной ранее версии программы для обработки данных, однако существенным образом модифицирована.

Ниже (в соответствующем разделе) указана структура программы (используемые функции и их предназначение).

Калибровка данных

Настройка программы (основные алгоритмы).

Структура (основные подпрограммы и функции программы)
Название подпрограммы (функции)
Что делает
Что возвращает
Комментарий
Функции инициализации и спасения данных
SUBROUTINE ol_init
Инициализация всех данных в начале программы


SUBROUTINE encoeff_cspp
Чтение калибровочных коэффициентов из файла calib_matr.dat

В отсутствии файла берутся начальные коэффициенты
SUBROUTINE contab_cspp
Создание таблицы подсоединения и чтение замененных каналов из файла contab_cspp.dat


SUBROUTINE spil_init
Обновление счетчиков на спил


SUBROUTINE hist_init
Создание необходимых гистограмм


SUBROUTINE file_init
Чтение списка файлов для обработки из входного файла input.dat


SUBROUTINE file_open Открытие очередного файла из списка


FUNCTION ol_save()
Спасает гистограммы с данными по концу файла и  открывает новый файл
Статус файла
Прекращение обработки, если исчерпан список файлов с данными
Функции чтения, обработки и декодирования данных
SUBROUTINE ecal_cspp
Основная программы для анализа и декодировки данных


function find_cspp_header()
Поиск начала события в АЦП
Статус
.TRUE., если найден заголовок
FUNCTION  check_fixed()
Проверка фиксированной длины и сдвиг, если потеряно неважное слово в данных.
Вызывает начало обработки спила для пьедестальных событий)
Статус

FUNCTION  event_cspp()
Обработка информации после декодировки АЦП
Число амплитуд в детекторе

SUBR crate_addr(nadr_cspp)
Декодирует адрессное слово в данных


FUNCTION  cspp_cellplace(icr,ist1,ist2)
Ставит в соответствие номер канала в детекторе с адресом в электронике в соответствии с таблицой подсоединения.
Статус (найдено или нет)

SUBROUTINE  begin_spill
Заполнение информации о спиле и инциализация


FUNCTION good_leng()
Проверка длины данных в событии


Функции работы с кластером (ливнем)
function cspp_find_cluster()
Поиск кластеров в детекторе
Число найденных кластеров
Процедуру отбора кластеров смотри ниже.
SUBR clear_new_cluster
Очищает массив временного кластера


SUBR fill_cluster_5_5
Заполняет временный кластер


function check_cluster_5_5()
Проверяет критерии ливня
Статус кластера

SUBR copy_cluster_5_5
Копирует "временный" кластер в хороший кластер


SUBR fill_cluster_hist
Заполняет гистограмму для отобранного кластера


FUNCTION find_maximum()
Поиск ячейки с максимальным энерговыделением
Статус поиска

Функции для калибровки данных
SUBROUTINE store_matrix
Накапливает матрицу для калибровки на каждое событие


FUNCTION solve_matrix()
Решение накопленной матрицы
Статус решения

FUNCTION cut_matrix()
Удаляет из матрицы элементы с низкой статистикой
Число ненулевых строк

function check_cluster_calib()
Выбор кластеров, удовлетворяющим треббованиям калибровки


SUBROUTINE pk_open
Открытие файла для спасения калибровочных данных


SUBR save_new_coeff
Спасение новых полученных коэффициентов


Служебные функции
SUBROUTINE udzer
Обруление массива real


SUBROUTINE uzero_i
Обнуление массива целых


SUBROUTINE ucopy_r
Заполнение массива одинаковым начальным значением


SUBROUTINE  err_print
Заполнение ошибок декодировки


SUBROUTINE  er_shower
Заполнение причины отбраковки кластера



Обработка данных

Декодирование данных
Процедура обработки данных подробнее описана в документе, посвященном анализу ошибок электроники.  Очень коротко  можно  описать процедуру  следующим  образом:
Ошибки декодирования данных рассмотрены в отдельном документе.
Процедура восстановления кластера 
Так как калибровка проводится на электронном пучке низкой интенсивности, то процедура  поиска кластеров (ливней) упрощена и сводится к следующему  алгоритму:
Следует отметить, что в первой процедуре не проводится поправка на утечки ливня за край калориметра, таким образом коэффициенты для краевых счетчиков окажутся завышенными.
Метод калибровки 
Калибровка производится стандартным методом оборачивания матрицы. Для решения "симметричной" матрицы используется стандартная программы rseqn (dseqn) из библиотеки CERNLIB. Для счетчиков с малой статистикой (малое значение в столбце амплитуд или малое отношение диагонального элемента к правой части) решение не проводится. Для этой цели происходит обнуление всех недиагональных элементов, а диагональный элемент и правая часть приравниваются в 1. Данная процедура также требует вычитания соответствующих значений из других элементов правой части при диагонализации матрицы. Критерии отбора  (обнуления данных)  описаны ниже в соответствующем разделе.

Выбор условий для калибровки

Критерии выбора событий
Критериями отбора события являются 2 условия:
Критерии выбора кластера

Для илюстрации выбранных условий для калибровки приведены данные из всех генераций основной калибровки. При этом детектор не откалиброван. Для всех счетчиков начальные коэффициенты выбраны на уровне 2.5 МэВ на канал. Кроме этого на указанных рисунках не учтены перепутанные счетчики, что немного поменяет гистограммы по распределению множественностей и числу соседей. Таким образом, приведенные ниже гистограммы не являются окончательными, однако очень близки  к ним. Гистограммы по засветке приведены для генерации 015.

При поиске кластера используются следующие критерии (номер критерия соответствует типу ошибки, по которому этот кластер был отбракован - см. соответствующую гистограмму):

Номер
Описание критерия
0
Энергия при поиске максимума должна быть больше 200 МэВ
1
Энергия кластера больше 300 МэВ
2
Длина кластера в центральных ячейках должна быть больше 10
3
Длина кластера на границе калориметра должна быть больше 4
4
Длина кластера в угловой ячейке должна быть больше 3
5
Размер кластера по х-координате должен быть не меньше 3 (для граничных ячеек 2)
6
Тоже для y-координаты
7
Число "соседей" должно быть 4 (Под "соседом" понимается ячейка, граничащая с центральной по стороне)
8
Число "соседей" должно быть не меньше 2
9
Число "соседей" должно быть 2

Ниже приведены некоторые характеристики ливней (до соответствующего обрезания)
1. Распределение по энергии ВСЕХ кластеров (до отборов).
2. Распределение по числу ячеек в кластере (для ливней с суммарной энергией больше 300 МэВ)
3. Число соседей для центральных счетчиков (после обрезания по длине кластера)
4. Распределение по типу признаков отброшенных кластеров (согласно критериям)

В результате  приведены
1. Распределение по множественности кластеров в событии
2. Засветка по ВСЕМ кластерам (гистограммы приведены в логарифмическом масштабе,  число событий в области засветки составляет около 1500 событий, фон на уровне 10-30 событий).
3. Засветка по отобранным кластерам
4. Засветка только для событий, где обнаружен один кластер
5. Засветка отобранных для калибровки кластеров
6. Распределение по энергии событий с одним отобранным кластером.
Выбор ливня для калибровки
Единственным критерием отбраковки ливня является его энергия. При калибровке величина обрезания меняется. Начальные пороги по энергии составляют от 0.5 до 2.5 энергий пучка. Последнее значение определяется шириной энергетического распределения.

Проверка наличия данных и определение таблиц подсоединения (изменения в конфигурации электроники)

Для проверки таблицы подсоединения и засветки все файлы были обработаны по отдельности. Результаты исследований и ссылки на соответствующие рисунки приведены в таблице ниже.
Анализ данных по файлам и сопоставление с требованиями
Номер
Комментарии
Результаты обработки
000

Засветка
001
Перепутаны каналы 702 и 703.
Введено изменение в таблице подсоединения
Без поправки на перепутывание
С поправкой на перепутывание
002

Засветка
003
Перепутаны каналы 702 и 703.
Введено изменение в таблице подсоединения
Без поправки на перепутывание
С поправкой на перепутывание
004

Засветка
005

Засветка
006

Засветка
007
Перепутаны каналы 2108 и 2109.
Введено изменение в таблице подсоединения
Без поправки на перепутывание
С поправкой на перепутывание
008
Перепутаны каналы 2108 и 2109.
Введено изменение в таблице подсоединения
Без поправки на перепутывание
С поправкой на перепутывание
009
Обнаружена дырка в канале 2710.
Изменен АЦП, проведена перекалибровка (см. отдельный файл)
Засветка
010
Обнаружена дырка в канале 1212.
Изменен АЦП, проведена перекалибровка (см. отдельный файл)
Засветка
011
Обнаружена дырка в канале 1212.
Изменен АЦП, проведена перекалибровка (см. отдельный файл)
Засветка
012

Засветка
013

Засветка
014

Засветка
015

Засветка
016

Засветка
017

Засветка
018

Засветка
019

Засветка
020
В файле нет статистики, не работал ускоритель.
ЗасветкаТип событий в файле
021

Засветка
022

Засветка
023

Засветка
024
Нет данных в счетчиках 323 и 3223
Засветка
025
Нет данных в счетчиках 323 и 3223 Засветка
026
Нет данных в счетчиках 323 и 3223 Засветка

Суммарная засветка по основной части обработки приведена здесь

После этого была проведена дополнительная калибровка (после изменения каналов в АЦП и перепутанных каналов на патч-панели).
Приведены результаты засветки детектора в области счетчика 2710, счетчика 1212, и в области, где были перепутаны каналы  с исправленной для основной калибровки таблицы подсоединения и без исправления (каналы не перепутаны)). Чтобы увидеть зависимость от таблицы подсоединения был увеличен порог регистрации в каналах до 15 отсчетов. При этом четко видно потерю информации в счетчиках, когда неправильная таблица подсоединения.

Облучение в области счетчиков 323 и 3223 не проводилось из-за отсутствия времени.

Таким образом, в результате калибровки были засвечены все счетчики, кроме двух.

Изменения в настройках согласно конфигурации электроники
Калибровка основной части проведена с таблицей подсоединения из файла  contab_cspp.dat.calib.1
Содержимое файла:
  1  7  2  1 16 13
  1  7  3  1 7 2
  1 16 13  1 7 3
  2 13 8   1 16 13
  2 13 9   2 13 8
  1 16 13  2 13 9
  1  8  5  1 16 1
  3  5  15 3 16 1
  3  7  10 3 16 2

Калибровка дополнительных файлов (с перепутанными каналами)  проведена из файла contab_cspp.dat.calib.2
Содержимое файла:
  1  8  5  1 16 1
  3  5  15 3 16 1
  3  7  10 3 16 2


Собственно калибровка

Ход калибровки
Сначала проведена калибровка для основной части совместно с двумя незасвеченными каналами (счетчики 2710 и 1212).
Результаты калибровки спасены в файл calib_matr.dat.v1. Также спасены гистограммы для различных калибровок.

На втором этапе проведена дополнительная калибровка для ВСЕХ дополнительных файлов. При этом увеличено обрезание по величине диагонального элемента, чтобы не перекалибровывать счетчики, по котором не светили во время дополнительной калибровки.

Окончательные результаты спасены в файл calib_matr.dat.v2.
Результаты калибровки
Приведены:
энергетический спектр в центральных ячейках до калибровки (с начальными коэффициентами 2.5 МэВ/отсчет для всех счетчиков);
энергетический спектр после калибровки;
изменения коэффициентов в последней итерации;
значения коэффициентов (в Гэв/канал).
значения коэффициентов для центральных счетчиков (в МэВ/канал) и отфитированный вариант

Видно, что пучок достаточно грязный и имеет широкий импульсный разброс. В то же время удалось улучшить разрешение с 20% до 12%.
Единственный вопрос - среднее значение несколько меньше 5 ГэВ. Возможно, это связано с большим фоном в пучке.

Список счетчиков с большим коэффициентом
 coeff for x: 3 y:  1 =   0.00358892744
 coeff for x: 3 y:  4 =   0.00369510497
 coeff for x: 3 y:  14 =   0.00453149667
 coeff for x: 3 y:  21 =   0.00948242564
 coeff for x: 3 y:  22 =   0.00671942765
 coeff for x: 3 y:  24 =   0.00350176683
 coeff for x: 4 y:  8 =   0.00416487455
 coeff for x: 4 y:  19 =   0.00492977584
 coeff for x: 4 y:  23 =   0.00407834491
 coeff for x: 4 y:  24 =   0.00372876553
 coeff for x: 6 y:  8 =   0.00390179874
 coeff for x: 7 y:  14 =   0.00352377561
 coeff for x: 7 y:  24 =   0.00565617858
 coeff for x: 8 y:  16 =   0.00497918064
 coeff for x: 10 y:  1 =   0.0051547219
 coeff for x: 11 y:  24 =   0.00365748699
 coeff for x: 14 y:  1 =   0.00589515828
 coeff for x: 14 y:  18 =   0.00352627249
 coeff for x: 14 y:  21 =   0.00387878297
 coeff for x: 15 y:  1 =   0.00416798098
 coeff for x: 15 y:  12 =   0.00932925753
 coeff for x: 17 y:  7 =   0.00353785534
 coeff for x: 18 y:  24 =   0.00404455001
 coeff for x: 19 y:  12 =   0.00564218871
 coeff for x: 19 y:  18 =   0.00422654534
 coeff for x: 20 y:  1 =   0.0265027266
 coeff for x: 23 y:  22 =   0.00536553515
 coeff for x: 24 y:  7 =   0.00474804454
 coeff for x: 24 y:  15 =   0.00418389449
 coeff for x: 25 y:  1 =   0.00432120776
 coeff for x: 26 y:  7 =   0.00358165056
 coeff for x: 27 y:  1 =   0.00378437527
 coeff for x: 27 y:  10 =   0.0203100517
 coeff for x: 28 y:  24 =   0.00865175109
 coeff for x: 29 y:  1 =   0.00556445541
 coeff for x: 29 y:  21 =   0.003744466
 coeff for x: 29 y:  24 =   0.00611651782
 coeff for x: 30 y:  1 =   0.00585489534
 coeff for x: 30 y:  23 =   0.00535665872
 coeff for x: 30 y:  24 =   0.00864025205
 coeff for x: 31 y:  2 =   0.00395044312
 coeff for x: 31 y:  24 =   0.00841939263
 coeff for x: 32 y:  1 =   0.0149851423
 coeff for x: 32 y:  4 =   0.00465662312
 coeff for x: 32 y:  5 =   0.00492478721
 coeff for x: 32 y:  6 =   0.00436441088
 coeff for x: 32 y:  8 =   0.00381088257
 coeff for x: 32 y:  9 =   0.00829936005
 coeff for x: 32 y:  10 =   0.0051935981
 coeff for x: 32 y:  11 =   0.00668073399
 coeff for x: 32 y:  14 =   0.00398009457
 coeff for x: 32 y:  15 =   0.00455463771
 coeff for x: 32 y:  16 =   0.00695346529
 coeff for x: 32 y:  19 =   0.00867796224
 coeff for x: 32 y:  21 =   0.00525349472
 coeff for x: 32 y:  22 =   0.00614131149
 coeff for x: 32 y:  24 =   0.00482311426

Выделены зеленым цветом счетчики на границе, красным цветом - счетчики из центральной части с коэффициентом более 4.5 МэВ/канал.

Список счечиков с маленьким коэффициентом
Счетчик 2323 имеет подозрительно низкий коэффициент, при этом спектр в нем не просматривается. Таким образом, этот счетчик вероятно плохо засвечен или странно ведет, так что его поведение необходимо исследовать дополнительно.
coeff for x: 23 y:  23 =   0.000793899526

Калибровка вклада сигнала от счетчиков в триггерный сигнал

Калибровка триггерного сигнала проводилась также на калибровочных данных.  Для калибровки использовался оцифрованный триггерный сигнал (который приходил во второй крейт с АЦП (станция 16, место 16). Для исследования отбирались только калибровочные события, в которых выполнялись следующие условия:
Ниже приведены:
отобранный триггерный сигнал
двумерное распределение сигнал/энергия кластера

Метод калибровки
Метод калибровки был идентичен обычной калибровке - находились коэффициента перевода энергии в ячейке в амлитуду в АЦП. Для этого энергия каждой ячейки  (в ГэВ) умножалась на 200 и делилась на  триггерный сигнал. Находилось решение системы уравнений (методом оборачивания матрицы), чтобы отношение такой суммарной энергии кластера к амплитуде АЦП равнялась 1.  Таким образом получались коэффициенты в единицах отсчет АЦП/5 МеВ. (Множитель 200 был выбран для того, чтобы это отшение было примерно равно 1. Такая нормировка удобна для отбора ненулевых счетчиков). Калибровка также проводилась в 2 этапа, аналогично обычной калибровке.

Результат калибровки

Приведены
Спектр триггерных калибровочных коэффициентов
Двумерное распределение (box) и (lego)  получившихся коэффициентов.

Все коэффициенты спасены в файле calib_trig.dat.v2
Гистограммы с получившимися коэффициентами спасены в файле trig_coeff.v2.his

Среднее значение по столбцам
Приведены номер столбца, среднее значение и число счетчиков, по которым проводилось усреднение
 Average coeff for col: 4 is  0.735476077 22
 Average coeff for col: 5 is  0.754960954 22
 Average coeff for col: 6 is  0.761708498 22
 Average coeff for col: 7 is  0.822127938 22
 Average coeff for col: 8 is  0.84018749 22
 Average coeff for col: 9 is  0.83268714 22
 Average coeff for col: 10 is  0.890001357 22
 Average coeff for col: 11 is  0.802568972 21
 Average coeff for col: 12 is  0.822984934 22
 Average coeff for col: 13 is  0.830961943 22
 Average coeff for col: 14 is  0.875820696 22
 Average coeff for col: 15 is  0.836786747 21
 Average coeff for col: 16 is  0.851421297 22
 Average coeff for col: 17 is  0.844780862 22
 Average coeff for col: 18 is  0.915151536 22
 Average coeff for col: 19 is  0.826333821 22
 Average coeff for col: 20 is  0.916913748 22
 Average coeff for col: 21 is  0.891432583 22
 Average coeff for col: 22 is  1.00587928 22
 Average coeff for col: 23 is  1.08597934 22
 Average coeff for col: 24 is  1.02406001 22
 Average coeff for col: 25 is  0.937402546 22
 Average coeff for col: 26 is  0.824124932 22
 Average coeff for col: 27 is  0.799363613 21
 Average coeff for col: 28 is  0.75633198 22
 Average coeff for col: 29 is  0.709571064 22
 Average coeff for col: 30 is  0.736184478 22
 Average coeff for col: 31 is  0.689271033 22


Список счетчиков с малым и большим вкладом в триггерную систему.
 Small:x:y 6 8::  0.488074094
 Small:x:y 11 15::  0.0176546387
 Small:x:y 14 21::  0.460411221
 Small:x:y 15 12::  0.214162514
 Small:x:y 19 12::  0.360500038
 Small:x:y 19 18::  0.472329855
 Small:x:y 23 22::  0.430323929
 Small:x:y 24 7::  0.417418301
 Small:x:y 24 15::  0.482876867
 Small:x:y 27 10::  0.0963145345
 Small:x:y 29 21::  0.445948839
 Small:x:y 30 2::  0.43750453
 Small:x:y 30 23::  0.343356401
 Small:x:y 31 2::  0.437092781

  Large:x:y 8 22::  1.20487833
 Large:x:y 10 2::  1.11314487
 Large:x:y 10 7::  1.21590507
 Large:x:y 17 19::  1.10748506
 Large:x:y 18 19::  1.10075665
 Large:x:y 20 12::  1.10162652
 Large:x:y 20 13::  1.12487161
 Large:x:y 21 14::  1.11233401
 Large:x:y 22 2::  1.1602906
 Large:x:y 22 6::  1.11048281
 Large:x:y 22 19::  1.18449473
 Large:x:y 22 20::  1.10626483
 Large:x:y 22 21::  1.18557751
 Large:x:y 23 2::  1.16258597
 Large:x:y 23 3::  1.25521946
 Large:x:y 23 4::  1.39790285
 Large:x:y 23 5::  1.31669569
 Large:x:y 23 6::  1.29448795
 Large:x:y 23 7::  1.13099742
 Large:x:y 23 12::  1.24873948
 Large:x:y 23 13::  1.15579021
 Large:x:y 23 18::  1.23765194
 Large:x:y 23 19::  1.15767419
 Large:x:y 23 21::  1.21277964
 Large:x:y 23 23::  2.19646859
 Large:x:y 24 2::  1.2508496
 Large:x:y 24 3::  1.21744108
 Large:x:y 24 6::  1.35640001
 Large:x:y 24 8::  1.46422338
 Large:x:y 24 10::  1.22424304
 Large:x:y 24 18::  1.22422922
 Large:x:y 24 20::  1.19715369
 Large:x:y 24 21::  1.19174075
 Large:x:y 24 23::  1.82000256
 Large:x:y 25 13::  1.13161325
 Large:x:y 25 14::  1.3777678
 Large:x:y 25 16::  1.16475332

Краткие выводы по триггерной калибровке.
Несколько счетчиков (выделены красным) надо проверить. Среднее значение в 3-х столбцах (22, 23, 24) выше, чем в остальных. Зависимости коэффициентов от столбца не видно (иначе коэффициенты должны были бы увеличиваться с уменьшением номера столбца).