Emulated data

Emulated data from Ric
Claus, Ric.  2023-04-25 11:51 AM
Dubrovin, Mikhail
O'Grady, Paul Christopher
Hi Mikhail,
  The following two commands show where the ePixHR emulator data is:
detnames -i exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc
detnames -i exp=tstx00417,run=277,dir=/cds/data/drpsrcf/tst/tstx00417/xtc
You can view it with:
ami-local -b 1 -f interval=1 psana://exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc
but I think you already know that.  You’ll see 4 ASICs of data along the vertical axis (0 - 3) and each of the segments along the horizontal axis.
  Ric
  • exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc 20-panel epixhr_emu
  • exp=tstx00417,run=277,dir=/cds/data/drpsrcf/tst/tstx00417/xtc 1-panel epixhr_emu

Data fix for single-panel detector in run 277

To fix issues in data two methods re-implemented in psana/detector/epixhremu.py

_config_object - adds missing in data configuration info for

    trbit = [0,0,0,0]
    asicPixelConfig = np.zeros((144, 768), dtype=np.uint8)

Default geometry files

Detector package code is fixed to load default geometry from files if constants are missing in DB

lcls2/psana/psana/pscalib/geometry/data/geometry-def-epixhr1x4-01.data

lcls2/psana/psana/pscalib/geometry/data/geometry-def-epixhr1x4-20.data

lcls2/psana/psana/pscalib/geometry/data/geometry-def-epixhr1x4-20.data
# HDR PARENT IND        OBJECT IND     X0[um]   Y0[um]   Z0[um]   ROT-Z ROT-Y ROT-X     TILT-Z   TILT-Y   TILT-X

DETECTOR        0    EPIXHR1X4:V1  0     40000    15000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  1     40000    30000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  2     40000    45000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  3     40000    60000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  4     40000    75000       0       0     0     0    0.00000  0.00000  0.00000

DETECTOR        0    EPIXHR1X4:V1  5     40000   -15000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  6     40000   -30000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  7     40000   -45000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  8     40000   -60000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1  9     40000   -75000       0       0     0     0    0.00000  0.00000  0.00000

DETECTOR        0    EPIXHR1X4:V1 10    -40000    15000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 11    -40000    30000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 12    -40000    45000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 13    -40000    60000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 14    -40000    75000       0       0     0     0    0.00000  0.00000  0.00000

DETECTOR        0    EPIXHR1X4:V1 15    -40000   -15000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 16    -40000   -30000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 17    -40000   -45000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 18    -40000   -60000       0       0     0     0    0.00000  0.00000  0.00000
DETECTOR        0    EPIXHR1X4:V1 19    -40000   -75000       0       0     0     0    0.00000  0.00000  0.00000

IP              0    DETECTOR      0         0        0   10000      90     0     0    0.00000  0.00000  0.00000

Commands to deploy constants

pedestals, pixel_rms, pixel_status, pixel_gain

epix10ka_deploy_constants -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu -o ./work -D

epix10ka_deploy_constants -k exp=tstx00417,run=277,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu -o ./work -D

geometry

cdb add -e tstx00417 -d epixhremu_000001 -c geometry -r 277 -f lcls2/psana/psana/pscalib/geometry/data/geometry-def-epixhr1x4-01.data -i txt -l DEBUG
cdb add -e tstx00417 -d epixhremu_000002 -c geometry -r 276 -f lcls2/psana/psana/pscalib/geometry/data/geometry-def-epixhr1x4-20.data -i txt -l DEBUG

datinfo

datinfo -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu

datinfo -k exp=tstx00417,run=277,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu

det.raw.image

det.rew.image calls det.rew.calib

single-panel

epix10ka_raw_calib_image calib -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu
epix10ka_raw_calib_image -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu

exp=tstx00417,run=277

single panel shape:(1, 144, 768)

New interface for single or a few of total number of panels

exp=tstx00417,run=277

segnums = det.raw._segment_numbers = [3,]

pedestals and other arrays from calib constants including mask and geometry coordinate and index arrays:

peds = det.raw._pedestals()                                    # peds.shape=(7, 1, 144, 768) 

peds = det.raw._pedestals(all_segs=True)            # peds.shape=(7, 20, 144, 768) 

mask = det.raw._mask(...)                                        # mask.shape=(1, 144, 768) 

mask = det.raw._mask(all_segs=True, ...)              # mask.shape=(20, 144, 768)

x,y,z = det.raw._pixel_coords(...)                             # x/y/z.shape=(1, 144, 768) 

x,y,z = det.raw._pixel_coords(all_segs=True, ...)   # x/y/z.shape=(20, 144, 768) 

raw = det.raw.raw(evt) # raw.shape=(1, 144, 768) <== ALWAYS

raw = det.raw.calib(evt) # calib.shape=(1, 144, 768) <== ALWAYS, because derived from raw.

image = det.raw.image(evt, nda=None, value_for_missing_segments=100, **kwa)

image = det.raw.image(evt, nda=None, value_for_missing_segments=None, **kwa)

20-panel

epix10ka_raw_calib_image calib -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu
epix10ka_raw_calib_image -k exp=tstx00417,run=276,dir=/cds/data/drpsrcf/tst/tstx00417/xtc -d epixhr_emu

exp=tstx00417,run=276

20-panel shape:(20, 144, 768)

Summary

  • det.raw.raw/calib/image works for epixhremu as 
  • assuming that issue in data confugiration are fixed, the real detector epixhr<real-name>.py needs to be implemented from epixhremu.py with removing fixes. in code

References

  • No labels