Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
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 date data two methods re-implemented in psana/detector/epixhremu.py
...
trbit = [0,0,0,0]
asicPixelConfig = np.zeros((144, 768), dtype=np.uint8)_segment_numbers(self, evt) returns 3 fixed as 0
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
Code Block | ||||
---|---|---|---|---|
| ||||
# 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
...
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
...
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
...
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