source code and some documentation about compton averaging

nikita-p 98ad719b77 Fix elabelizer.py 4 months ago
docs 7d5a1e1782 Update file structure 5 months ago
src 98ad719b77 Fix elabelizer.py 4 months ago
.gitignore 98ad719b77 Fix elabelizer.py 4 months ago
README.md ca25f4281b Add elabelizer 5 months ago

README.md

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

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