Versions Compared

Key

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

Content

Table of Contents

Naming conventions

Since psana.Jungfrau.ConfigV3 Jungfrau provides per-segment access to class ModuleConfigV1 object with three methods

...

returning 64-bit integer numbers. For better human readability the segment Id name can be formatted as '%020d-%020d-%020d', e.g. "00000000000001508613-00000000000003997943-00000022630721062933".

Then, total , Jungfrau Id is a variable-length dash separated combination of sequential segment Id names, i.g. for two segments of exp=xcsls3716:run=631, XcsEndstation.0:Jungfrau.0 Id is 000000000001508613-000022630721062933-000000000003997872-000000000001508613-000022630721062933-000000000003997943.

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

Code Block
import psana
from Detector.UtilsJungfrau import id_jungfrau

ds  = psana.DataSource('exp=xcsls3716:run=631')
src = psana.Source('XcsEndstation.0:Jungfrau.0')
co  = ds.env().configStore().get(psana.Jungfrau.ConfigV3, src)

print('id_jungfrau(co,0)', id_jungfrau(co,0)) # prints segment 0 Id
print('id_jungfrau(co,1)', id_jungfrau(co,1)) # prints segment 1 Id
print('id_jungfrau(co)  ', id_jungfrau(co))

prints something like

Code Block
id_jungfrau(co,0): 00000000000001508613-00000022630721062933-00000000000003997872
id_jungfrau(co,1):  # prints entire Jungfrau Id00000000000001508613-00000022630721062933-00000000000003997943
id_jungfrau(co)  : 00000000000001508613-00000022630721062933-00000000000003997872-00000000000001508613-00000022630721062933-00000000000003997943

Calibration production

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

Code Block
/reg/g/psdm/detector/gains/jungfrau/M088/g0_gain.npy
/reg/g/psdm/detector/gains/jungfrau/M088/g0_offset.npy
/reg/g/psdm/detector/gains/jungfrau/M088/g1_gain.npy
/reg/g/psdm/detector/gains/jungfrau/M088/g1_offset.npy
/reg/g/psdm/detector/gains/jungfrau/M088/g2_gain.npy
/reg/g/psdm/detector/gains/jungfrau/M088/g2_offset.npy

For auto-generation of calibration files it is suggested to

  • keep segment calibration files under /reg/g/psdm/detector/gains/jungfrau/
  • use segment Id names in stead of 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.

References