Content
Overview
This note extends Jungfrau and Epix10ka Calibration for specific commands to produce calibration constants. These commands work with all epix10ka composite detectors from single-panel to 4-panel quad and 16-panel epix10ka2m.
Scripts
There are three major scripts intended for production of intensity correction constants:
epix10ka_offset_calibration -h # done more rarely by psana/detector experts on 103-calib-cycle dark + charge injection runs epix10ka_pedestals_calibration -h # done quite often on 5-calib-cycle dark runs epix10ka_deploy_constants -h # merges per-panel-per-gain-range constants in full scale calibration files of shape (7, <number-of-panels>, 352, 384)
NOTE: The "-h" option for all commands shows common example syntax, as well as descriptions of parameters.
These commands can be executed in psana (1) environment.
Panel constants repository and file naming conventions
Currently per-panel calibration constants resides under directory called as "repository"
/reg/g/psdm/detector/gains/epix10k/panels/
/reg/g/psdm/detector/gains/epix10k/panels/logs/
/reg/g/psdm/detector/gains/epix10k/panels/<panel-id>/<calibration-type>/<file-name.dat/txt>
The panel constants file name consists of fields to provide unique self-describing content
<panel-type>_<panel-id-short-number>-<timestamp-as-YYYYmmDDHHMMSS>_<experiment>_r<run-number>_<calibration-type>_<gain-range>.dat
for example
epix10ka_0110_20210727105515_detdaq19_r0082_pedestals_FH.dat
See more in EPIX10KA Per-panel calibration constants
Example of commands
Examples assume that processing is done on detdaq18 run 80 or 92. These parameters needs to be substituted in actual processing.
Offset calibration
Regular offset calibration
Script epix10ka_offset_calibration works on special runs containing 103 calib-cycles = 5 dark + 2 x (7x7) charge injection.
Processing time of this file is quite long, so it is split for panels, which can be run in parallel, that still takes ~1hour 30min.
List of commands to process all panels in batch:
epix10ka_offset_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -i0 -p epix10ka_offset_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -i1 -p epix10ka_offset_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -i2 -p ... epix10ka_offset_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -i15 -p #in batch (should be in slurm now) bsub -o 2020-07-14-detdaq18-r92-offset-log15 -q psanaq epix10ka_offset_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -i15 -p
Log files can be found in:
/reg/g/psdm/detector/gains/epix10k/panels/logs/
If everything in log files looks fine, they have the same size, then per-panel-per-gain-range constants needs to be merged and deployed.
Alternative offset calibration
Regular offset calibration procedure is complicated and may not be available for new detectors.
If the offset files are missing in the directory /reg/g/psdm/detector/gains/epix10k/panels/<panel-id>/offset/
pedestals for gain switching modes created by command epix10ka_deploy_constants will be zeros.
Philip has developed a script to populate the panel offset directory with files of type offsetph like
epix10ka_0110_20210513000001_detdaq19_r0082_offsetph_AML.dat
Example for population of the offset directory with correct names is in
https://github.com/lcls-psana/Detector/blob/master/examples/ex_epix10ka_save_ctype_in_repo.py
Formulae for pedestals of AML-L and AHL-L is changed by Philip's request,
AML_L pedestal = FL + offset, if offset is available, otherwise 0 (or can be changed to FL).
Pedestal calibration
Script epix10ka_pedestals_calibration works on special runs containing 5 dark calib-cycles.
To speed-up processing commands are split for 5 calib-cycles. Processing time is a few minutes per gain range so script can be run interactively or in batch.
Interactive commands:
epix10ka_pedestals_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r80 -c 0 epix10ka_pedestals_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r80 -c 1 epix10ka_pedestals_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r80 -c 2 epix10ka_pedestals_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r80 -c 3 epix10ka_pedestals_calibration -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r80 -c 4
Log files:
/reg/g/psdm/detector/gains/epix10k/panels/logs/
If everything in log files looks fine, they have the same size, then per-panel-per-gain-range constants needs to be merged and deployed.
Merging and deployment
Script epix10ka_deploy_constants merges per-panel-per-gain-range constants in full scale calibration files of shape (7, <number-of-panels>, 352, 384) and deploys them under experiment calib directory.
Execution time is a few minutes, so everything can be done interactively.
Command:
epix10ka_deploy_constants -e detdaq18 -d DetLab.0:Epix10ka2M.0 -r92 -D -p psrc
Parameter "-p psrc" specifies what constants need to be saved, where "c" stands for charge injection gains (see help).
By default "-p psrg" and constant gains are deployed as high/medium/low = 16.4/5.466/0.164 ADU/keV.
Log file in:
/reg/g/psdm/detector/gains/epix10k/panels/logs/
References
- Jungfrau and Epix10ka Calibration - brief overview
- EPIX10KA2M References
- EPIX10KA Per-panel calibration constants