You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Content

Intro

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

  • gain:  shape:(3, 1, 512, 1024)  size:1572864  dtype:float32
  • offset:  shape:(3, 1, 512, 1024)  size:1572864  dtype:float32

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

Naming conventions

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

  • moduleVersion()
  • firmwareVersion()
  • serialNumber()

returning 64-bit integer numbers. For readability the segment/module/panel Id name can be formatted as '%d-%d-%d', e.g. "1508613-22630721062933-3997943".

Then, total Jungfrau Id is a variable-length dash separated concatination of sequential segment Id names, i.g. for two segments of exp=xcsls3716:run=631, XcsEndstation.0:Jungfrau.0 Id is 1508613-22630721062933-3997872-1508613-22630721062933-3997943.

API

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

import psana
from Detector.UtilsJungfrau import id_jungfrau

ds  = psana.DataSource('xpptut15:run=430')
env = ds.env()
src = 'MfxEndstation.0:Jungfrau.0' # or part of the DetInfo name 'Jung' or 'Jungfrau.1' or alias 'jungfrau1M'

print 'id_jungfrau(env, src, 0):', id_jungfrau(env, src, iseg=0) # for segment 0
print 'id_jungfrau(env, src, 1):', id_jungfrau(env, src, iseg=1) # for segment 1
print 'id_jungfrau(env, src)   :', id_jungfrau(env, src)         # for all segments

which prints

id_jungfrau(env, src, 0): 1508613-22630721062933-3997872
id_jungfrau(env, src, 1): 1508613-22630721062933-3997943
id_jungfrau(env, src)   : 1508613-22630721062933-3997872-1508613-22630721062933-3997943

CLI

A few commands which shed light on data with jungfrau detector are listed below.

Command line to get jungfrau Id:

jungfrau_id exp=xpptut15:run=430 [Jungfrau.0]

Command line to get jungfrau psana.EventKey objects:

event_keys -d exp=xpptut15:run=430 -m2 -p Jung

Command line to find experiment runs with jungfrau:

find_detector_runs MFX jungfrau

Available data

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

Datasets 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     1511699-23403815178277-3997872-1511699-23403815178277-3997943
exp=mfxlr1716:run=295   1-295    MfxEndstation.0:Jungfrau.0     1511699-23403815178277-3997872-1511699-23403815178277-3997943
exp=mfxlr5016:run=197   194-197  MfxEndstation.0:Jungfrau.0     1511699-23403815178277-3997872-1511699-23403815178277-3997943
exp=mfxx20515:run=2     1-2      MfxEndstation.0:Jungfrau.0     1508613-22630721062933-3997872-1508613-22630721062933-3997943
exp=mfx11116:run=697    563-697  MfxEndstation.0:Jungfrau.1     1511699-23403815178277-3997947
exp=mfxls0816:run=193   1-193    MfxEndstation.0:Jungfrau.1     1511699-23403815178277-3997947

exp=xcs11116:run=18     4-18     XcsEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV2
exp=xcsls3716:run=631   1-631    XcsEndstation.0:Jungfrau.0     1508613-22630721062933-3997872-1508613-22630721062933-3997943
exp=xcsx22015:run=555   503-555  XcsEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV2
exp=xcslr6316:run=17    4-17     XcsEndstation.0:Jungfrau.1     1511699-23403815178277-3997947

exp=detdaq17:run=68     3-68     DetLab.0:Jungfrau.0            1511699-23403815178277-3997947
exp=xppls2416:run=247   1-247    XppEndstation.0:Jungfrau.1     1511699-23403815178277-3997872-1511699-23403815178277-3997943
exp=cxi11216:run=54     4-54     CxiEndstation.0:Jungfrau.0     psana.Jungfrau.ConfigV1
exp=mecls3216:run=226   2-226    MecTargetChamber.0:Jungfrau.0  1508613-22630721062933-3997872-1508613-22630721062933-3997943

 

Calibration production

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

g0_gain.npy
g0_offset.npy
g1_gain.npy
g1_offset.npy
g2_gain.npy
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 with possible referencing
  • 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 panel calibration directory

/reg/g/psdm/detector/gains/jungfrau/

1508613-22630721062933-3997872/   <- this may be reference to one of the M0## directories
1508613-22630721062933-3997943/
1511699-23403815178277-3997872/
1511699-23403815178277-3997943/
1511699-23403815178277-3997947/
M044/
M068/
M088/

Questions

  • prefix zeroes in the name
  • calibration versions

References

 

  • No labels