Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Intro

This page describes mechanism dynamic generation of gain correction calibration constants dynamic generation and access for multi-panel jungfrau detector. This is relevant to rarely changed constants of types calibration types pixel_gain and pixel_offset, e.g. for single-panel detector

  • pixel_gain:  shape:(3, 1, 512, 1024)  size:1572864  dtype:float32
  • pixel_offset:  shape:(3, 1, 512, 1024)  size:1572864  dtype:float32

which are combined from 3 gain range per - panel files with arrays of shape (512, 1024).

Naming conventions

...

Then, total Jungfrau Id is a variable-length underscore-separated concatenation of sequential segment panel Id names, i.g. for two segments panels of exp=xcsls3716:run=631, XcsEndstation.0:Jungfrau.0 complete detector Id is 170505-149520170815-3d00b0_170505-149520170815-3d00f7.

...

Method returning Jungfrau and its segments' segment Ids is implemented in Detector/src/UtilsJungfrau.py and can be used as in example:

...

Summary of experiments/runs with jungfrau data available on 2018-04-19 is listed below.

Code Block
titleDatasets with jungfrau data and detector Id
Dataset                 Runs     DetInfo name                   Panel/detector Id or configuration object version
-----------------------------------------------------------------------------------------------------------------------------
exp=mfx00616:run=8      1-8      MfxEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV1
exp=mfx05516:run=16     16       MfxEndstation.0:Jungfrau.0     171113-154920171025-3d00b0_171113-154920171025-3d00f7
exp=mfxlr1716:run=295   1-295    MfxEndstation.0:Jungfrau.0     171113-154920171025-3d00b0_171113-154920171025-3d00f7
exp=mfxlr5016:run=197   194-197  MfxEndstation.0:Jungfrau.0     171113-154920171025-3d00b0_171113-154920171025-3d00f7
exp=mfxx20515:run=2     1-2      MfxEndstation.0:Jungfrau.0     170505-149520170815-3d00b0_170505-149520170815-3d00f7
exp=mfx11116:run=697    563-697  MfxEndstation.0:Jungfrau.1     171113-154920171025-3d00fb
exp=mfxls0816:run=193   1-193    MfxEndstation.0:Jungfrau.1     171113-154920171025-3d00fb

exp=xcs11116:run=18     4-18     XcsEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV2
exp=xcsx22015:run=555   503-555  XcsEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV2
exp=xcsls3716:run=631   1-631    XcsEndstation.0:Jungfrau.0     170505-149520170815-3d00b0_170505-149520170815-3d00f7
exp=xcslr6316:run=17    4-17     XcsEndstation.0:Jungfrau.1     171113-154920171025-3d00fb

exp=cxi11216:run=54     4-54     CxiEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV1
exp=detdaq17:run=68     3-68     DetLab.0:Jungfrau.0            171113-154920171025-3d00fb
exp=xppls2416:run=247   1-247    XppEndstation.0:Jungfrau.1     171113-154920171025-3d00b0_171113-154920171025-3d00f7
exp=mecls3216:run=226   2-226    MecTargetChamber.0:Jungfrau.0  170505-149520170815-3d00b0_170505-149520170815-3d00f7

...

Panel calibration arrays

For now, firmware calibration arrays for offset and gain is produced per segment (panel named as M044, M068, M088, etc.), e.g.  directory /reg/g/psdm/detector/gains/jungfrau/M088/ contains:

Code Block
g0_gain.npy
g0_offset.npy
g1_gain.npy
g1_offset.npy
g2_gain.npy
g2_offset.npy

...

Content of calibration directory for panels

For auto-generation of calibration files it is suggested to

  • keep segment panel calibration files under /reg/g/psdm/detector/gains/jungfrau/
  • use segment Id names in stead of M088 etc with possible referencing
  • M044, M068, M088, etc.
  • use panel Id with timestamp (version) as a reference to one of above directories
  • in M044, M068, M088, etc. keep the same naming conventions for gain range and type (g1_gain.npy, g1_offset.npy, g2_gain.npy, etc.)
  • versions?

Calibration file for particular detector can be generated dynamically using names of its segments from configuration data. Thus generated file can be deployed in the calib or "generic" repository.

Content of calibration directory for panels

Panel calibration files are collected under the directory

...

  • g2_gain.npy, etc.).

To distinguish calibration versions the time-stamp in format YYYYMMDDHHMMSS is dash-concatenated at the end of the panel Id name. This time stamp stands for start time of the constants validity range.

...

Code Block
lrwxrwxrwx 1 dubrovin ps-data   4 Apr 30 11:56 170505-149520170815-3d00b0-20171025000000 -> M068
lrwxrwxrwx 1 dubrovin ps-data   4 Apr 30 11:56 170505-149520170815-3d00f7-20171025000000 -> M088
drwxr-sr-x 2 dubrovin ps-data   2 Apr 30 12:01 171113-154920171025-3d00b0 -> M068
drwxr-sr-x 2 dubrovin ps-data   2 Apr 30 12:01 171113-154920171025-3d00f7 -> M088
lrwxrwxrwx 1 dubrovin ps-data   4 Apr 30 11:55 171113-154920171025-3d00fb-20180306000000 -> M044
drwxr-sr-x 2 dubrovin ps-data  12 Mar 27 12:11 M044
drwxr-sr-x 2 dubrovin ps-data  11 Mar 27 12:10 M068
drwxr-sr-x 2 dubrovin ps-data  11 Mar 27 12:10 M088

 At these conventions calibration file for particular detector can be generated dynamically using panel Ids from configuration data. Thus generated file can be deployed in the calib or "generic" repository.

CLI for calibration

Two commands are available in releases >ana-1.3.51

...