В этой папке лежит исходный код скриптов

### `compton_filter.py`
код для фильтрации данных комптоновских измерений из slowdb и переноса их в базу данных калибровок

#### Подробности
Беру данные из slowdb, соответствующие измерению комптоновских энергий (`g_id==43`), очищаю (`dt > 0`), вычисляю времена начала и окончания измерения.
Дополнительно убираю перекрывающиеся измерения (оставляю только самые новые).
Записываю оставшиеся строки в базу данных калибровок в **Compton_run**

#### Пример использования

`python compton_filter.py --season cmd3_2021_2 --config database.ini --update`

* обозначает отфильтровать таблицу **cmd3\_2021\_2** из slowdb и обновить новыми 
значениями (если есть) базу данных калибровок
* **database.ini** файл содержит параметры аутентификации для slowdb и бд калибровок, пример
```
[postgresql]
host=xxx
database=xxx
user=xxx
password=xxx

[clbrDB]
host=xxx
database=xxx
user=xxx
password=xxx
```

* требуется `python3` и библиотека `psycopg2==2.9.1` для работы

### `compton_combiner.py`
код для объединения данных заходов и измерений комптоновской энергии из бд калибровок + вычисление усреднённых значений в точках по энергии

#### Подробности
Вычитываю раны из базы данных заходов и комптоновские измерения из базы данных калибровок.
Суммирую светимость по заходам, соответствующим каждому комптоновскому измерению. Суммарные светимости, набранные в каждом комптоновском измерении становятся весами этих измерений.
С помощью лайклихуда усредняю комптоновские измерения с учётом весов, соответствующих светимостям.

#### Пример использования

`python compton_combiner.py -s NNBAR2021 -c database.ini --csv --clbrdb --pics_folder ./pics`

* означает вычислить средние энергии для сезона **NNBAR2021**, использовать конфиг файл с данными аутентификации **database.ini**, сохранить полученные результаты в csv таблицу, обновить данные в базе данных калибровок, сохранить картинки по точкам в директории **./pics**
* в дополнение к предыдущему, **database.ini** должен содержать аутентификацию для базы данных заходов, пример
```
[cmdruns]
host=xxx
database=xxx
user=xxx
password=xxx
```

### `compton_checker.py`
Служебный скрипт для проверки корректности записанных усреднений в базе данных калибровок

### `elabelizer.py`
Скрипт для сопоставления `elabel` и усреднённых энергий

#### Пример использования
1. Зайти на cc-8
`ssh username@slXXcmd -p 1022`
2. Настроить окружение
`source /sl/cmd3/cc8-64/Cmd3Off/tune.cmd3_runs_scripts.sh`
3. Запустить скрипт
`python3 elabelizer.py`