Data

exp=mfxc00118:run=191:smd
epix10k2M
/reg/d/psdm/mfx/mfxc00118/calib

gain mode is FL, as seen in datinfo.

datinfo -e mfxc00118 -d epix10k2M -r191
datinfo -e mfxc00118 -d epix10k2M -r191
[I] L0210: command: /cds/home/d/dubrovin/LCLS/con-py2/arch/x86_64-rhel7-gcc48-opt/bin/datinfo -e mfxc00118 -d epix10k2M -r191
[I] L0211: **kwargs
      runs: 191
  dssuffix: :smd
   detname: epix10k2M
   evtkeys: 2
    stskip: 0
   expname: mfxc00118
     steps: 1000
    evskip: 0
   stepnum: None
   logmode: INFO
    events: 1000000
[I] L0040: dsname: exp=mfxc00118:run=191:smd
[I] L0041: detname: epix10k2M
[I] L0114: runnum: 191
[I] L0115: info_det: info_det
  det.src: Source("DetInfo(MfxEndstation.0:Epix10ka2M.0)")
  dettype: 32
calibration constants for par(run or evt): 191
  pedestals shape:(7, 16, 352, 384) size:15138816 dtype:float32 [3497.452 3462.729 3479.892 3555.06  3379.326...]
  rms       shape:(7, 16, 352, 384) size:15138816 dtype:float32 [6.935 7.433 7.335 7.416 7.097...]
  status    shape:(7, 16, 352, 384) size:15138816 dtype:uint16 [0 0 0 0 0...]
  common_mode shape:(16,) size:16 dtype:float64 [ 7.  2. 10. 10.  0....]
  pixel X shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-42873.23141788 -42773.25839541 -42673.28537293 -42573.31235046
 -42473.33932799...]
  pixel Y shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-41529.65240873 -41528.50952055 -41527.36663237 -41526.22374418
 -41525.080856  ...]
  pixel Z shape:(1, 16, 352, 384) size:2162688 dtype:float64 [-175852.28919395 -175854.31121874 -175856.33324353 -175858.35526833
 -175860.37729312...]
[I] L0116: calibDir: /reg/d/psdm/mfx/mfxc00118/calib
[I] L0117: dettype: 32
[I] L0118: dettype of EPIX10KA2M: 32
==== run 0191 ====

==== istep 0
 ControlData.pvLabels:

 evt.keys:
   EventKey(type=psana.EvrData.DataV4, src='DetInfo(NoDetector.0:Evr.0)', alias='evr0')
   EventKey(type=psana.Epix.ArrayV1, src='DetInfo(MfxEndstation.0:Epix10ka2M.0)', alias='epix10k2M')
   EventKey(type=psana.Bld.BldDataEBeamV7, src='BldInfo(EBeam)')
   EventKey(type=psana.Bld.BldDataFEEGasDetEnergyV1, src='BldInfo(FEEGasDetEnergy)')
   EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG1-BMMON)')
   EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG2-BMMON)')
   EventKey(type=psana.EventOffset)
   EventKey(type=psana.EventId)
   EventKey(type=None)
   EventKey(type=psana.DgramList)

 ievt: 0000  pixel gain mode fractions for ranges
  FH       FM       FL       AHL-H    AML-M    AHL-L    AML-L
  1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000
 ievt: 0000 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3632 3496 3644 3543 3374...]

 evt.keys:
   EventKey(type=psana.EvrData.DataV4, src='DetInfo(NoDetector.0:Evr.0)', alias='evr0')
   EventKey(type=psana.Epix.ArrayV1, src='DetInfo(MfxEndstation.0:Epix10ka2M.0)', alias='epix10k2M')
   EventKey(type=psana.Bld.BldDataEBeamV7, src='BldInfo(EBeam)')
   EventKey(type=psana.Bld.BldDataFEEGasDetEnergyV1, src='BldInfo(FEEGasDetEnergy)')
   EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG1-BMMON)')
   EventKey(type=psana.Bld.BldDataBeamMonitorV1, src='BldInfo(MFX-DG2-BMMON)')
   EventKey(type=psana.EventOffset)
   EventKey(type=psana.EventId)
   EventKey(type=None)
   EventKey(type=psana.DgramList)

 ievt: 0001  pixel gain mode fractions for ranges
  FH       FM       FL       AHL-H    AML-M    AHL-L    AML-L
  1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000
 ievt: 0100 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3507 3458 3474 3722 3377...]
 ievt: 0200 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3498 3493 3494 3543 3386...]
 ievt: 0300 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3483 3454 3461 3722 3382...]
 ievt: 0400 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3513 3662 3487 3829 3376...]
 ievt: 0500 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3667 3445 3479 3551 3378...]
 ...
 ievt: 6700 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3500 3655 3477 3555 3374...]
 ievt: 6800 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3575 3653 3492 3543 3378...]
 ievt: 6900 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3502 3468 3472 3551 3375...]
 ievt: 6999 raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3490 3465 3484 3547 3376...]
==== Summary
run:0191 step:(events total, good):
 0: (7000, 7000)
[I] L0215: DONE, consumed time 184.117 sec
End of datinfo



Access to calibration raw data

from Detector.PyDataAccess import get_epix_config_object, get_epix_data_object

odata = get_epix_data_object(evt, det.source)
crows = odata.calibrationRows()

calibrows shape:(16, 4, 384) size:24576 dtype:uint16 [3169 2982 3159 2822 3093...]

raw shape:(16, 352, 384) size:2162688 dtype:uint16 [3651 3470 3463 3534 3398...]

combine these arrays together for panel images with x20 rows for each calibration row.

Raw data images

  • epix10ka_calib_components -e mfxc00118 -d epix10k2M -r191 -N3 -t102 -S 

parser.parse_args: Namespace(amax=None, amin=None, cframe=0, detname='epix10k2M', events=3, evskip=0, expname='mfxc00118', grindex=None, loglev='INFO', run=191, saveimg=True, segindex=None, stepnum=None, tname='102')

Segments of entire detector

Segments of quad 0

Segments of quad 1

Segments of quad 2

Segments of quad 3

Issue

  • panels of quad 0 behave as expected
  • panels of quads 1,2,3 - calibration rows for "dark" and "max code" swap data???

Averaging of calibration rows

Detector/examples/ex_epix10ka_calibrows.py -e mfxc00118 -d epix10k2M -r191 -N1000 -K0

statistics for panels 0-3
== panel:0
  med shape:(4, 384) size:1536 dtype:float64 [3168.367 2983.392 3160.525 2821.145 3094.843...]
  med[0,:] shape:(384,) size:384 dtype:float64 [3168.367 2983.392 3160.525 2821.145 3094.843...]
  med[1,:] shape:(384,) size:384 dtype:float64 [3207.724 2862.678 3111.163 2934.188 3149.702...]
  rms[0,:] shape:(384,) size:384 dtype:float64 [1.84345084 1.72983699 1.78251928 1.67749069 1.78054795...]
  rms[1,:] shape:(384,) size:384 dtype:float64 [1.63518317 1.61873902 1.65663243 1.68245535 1.61962835...]
  minimum of med[0,:]: 2634.083
  minimum of med[1,:]: 2634.186
  maximum of med[0,:]: 3391.569
  maximum of med[1,:]: 3466.012
  medium  of rms[0,:]: 1.887
  medium  of rms[1,:]: 1.849
  maximum of rms[0,:]: 3.073
  maximum of rms[1,:]: 3.039
== panel:1
  med shape:(4, 384) size:1536 dtype:float64 [3374.236 3126.95  3364.15  3193.475 3378.609...]
  med[0,:] shape:(384,) size:384 dtype:float64 [3374.236 3126.95  3364.15  3193.475 3378.609...]
  med[1,:] shape:(384,) size:384 dtype:float64 [2901.247 2836.717 2924.391 2860.471 2863.963...]
  rms[0,:] shape:(384,) size:384 dtype:float64 [1.64143352 1.75997159 1.68923059 1.57396792 1.6894138 ...]
  rms[1,:] shape:(384,) size:384 dtype:float64 [1.72394635 1.73462128 1.72630212 1.65019968 1.69104435...]
  minimum of med[0,:]: 2812.748
  minimum of med[1,:]: 2529.810
  maximum of med[0,:]: 3605.198
  maximum of med[1,:]: 3465.724
  medium  of rms[0,:]: 1.893
  medium  of rms[1,:]: 1.885
  maximum of rms[0,:]: 3.428
  maximum of rms[1,:]: 3.099
== panel:2
  med shape:(4, 384) size:1536 dtype:float64 [3075.72  3311.056 3158.876 3237.059 3049.259...]
  med[0,:] shape:(384,) size:384 dtype:float64 [3075.72  3311.056 3158.876 3237.059 3049.259...]
  med[1,:] shape:(384,) size:384 dtype:float64 [3178.537 3370.59  3195.272 3342.484 3157.823...]
  rms[0,:] shape:(384,) size:384 dtype:float64 [1.81427672 1.88649516 1.82828444 1.85135599 1.69879928...]
  rms[1,:] shape:(384,) size:384 dtype:float64 [1.81511184 1.78714857 1.72453356 1.79380712 1.77021778...]
  minimum of med[0,:]: 2439.597
  minimum of med[1,:]: 2577.148
  maximum of med[0,:]: 3377.571
  maximum of med[1,:]: 3429.967
  medium  of rms[0,:]: 1.972
  medium  of rms[1,:]: 1.874
  maximum of rms[0,:]: 2.916
  maximum of rms[1,:]: 2.687
== panel:3
  med shape:(4, 384) size:1536 dtype:float64 [3118.39  3215.456 3045.94  3241.929 3118.27 ...]
  med[0,:] shape:(384,) size:384 dtype:float64 [3118.39  3215.456 3045.94  3241.929 3118.27 ...]
  med[1,:] shape:(384,) size:384 dtype:float64 [3069.808 3133.232 2972.622 3142.785 2881.554...]
  rms[0,:] shape:(384,) size:384 dtype:float64 [1.74467762 1.76693633 1.74367428 1.74927385 1.7207847 ...]
  rms[1,:] shape:(384,) size:384 dtype:float64 [1.83660992 1.74016551 1.73237294 1.76373893 1.75587129...]
  minimum of med[0,:]: 2815.598
  minimum of med[1,:]: 2534.478
  maximum of med[0,:]: 3558.153
  maximum of med[1,:]: 3253.122
  medium  of rms[0,:]: 1.908
  medium  of rms[1,:]: 1.980
  maximum of rms[0,:]: 2.879
  maximum of rms[1,:]: 2.975

iv calibrows-mfxc00118-r0191-epix10k2M-ave.npy

iv calibrows-mfxc00118-r0191-epix10k2M-rms.npy

raw - pedestals vs calibrow

Images before and after standard common mode correction

  • epix10ka_calib_components -t7 -S                                            # raw - pedestals
  • epix10ka_calib_components -t9 --amin -2 --amax 2 -S # det.calib(evt, cmpars=(7,7,10,10))

Plots above show that common mode effect is seen and can be eliminated with standard algorithm for common mode correction. This algorithm does not work well in the central part of the detector where more than 50% of pixels have signal.

Segment 0-3 images with calibration rows

Raw data with subtracted pedestals for segments 0-3. Calibration rows show the difference between event calibrow and its average over 1000 events of the same run.

  • epix10ka_calib_components -t103 -i0 -S
  • epix10ka_calib_components -t103 -i1 -S
  • epix10ka_calib_components -t103 -i2 -S
  • epix10ka_calib_components -t103 -i3 -S

Scatter plots for segment 1 top and bottom half

Scatter plots show correlation between calibrow and segment row pixel intensities.

  • epix10ka_calib_components -t103 -i1 --icrow 0 -S      # left plot is a superposition of segment rows 0:176 vs calibrow 0
  • epix10ka_calib_components -t103 -i1 --icrow 1 -S      # right plot is a superposition of segment rows 176:352 vs calibrow 1

  • No correlation observed
  • Swapping of rows 0,1 between panel halves (to check possible mapping issue) does not work either.

Conclusion

  • data sample shows common mode effect, which can be handled by standard cm correction, except overpopulated central region.
  • in "raw - pedestal" type of images calibration rows do not reproduce common behavior in ASIC's.
  • quad 0 looks good - does not show significant difference between banks - hard to judge about calibrows mapping, it might be wrong mapping yet.
  • scatter plots do not show correlation either
  • Q: configuration of calibrows - gain mode, what exactly do they show?

References





  • No labels