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

Compare with Current View Page History

« Previous Version 4 Next »

Issue

Mariani, Valerio
Mon 2/7/2022 4:31 PM
Dear Phil, Mikhail and Chris,

   Sabine provided me with the mask they are using. You can find it at:
~valmarpsana-extra-extreme-sabine2.h5

Like the name suggests, it goes to the extreme in masking stuff. It looks more or less like the attached screenshot.
Sabine says she is working on another mask, which I will pass to you as soon as I get.
Thank you!
Valerio

-----

From: Hart, Philip Adam <philiph@slac.stanford.edu>
Sent: Wednesday, November 10, 2021 3:01 PM
To: lcls-det-support <lcls-det-support@slac.stanford.edu>
Subject: JF4M status
 
Hi, I'm looking a bit at the report of damaged JF4M pixels following an ice (?) event.  I see we've gone from ~261 official bad pixels to ~1931 and now have ~520 more pixels stuck in low when autoranging (id est, in 'Normal').  A simple script to capture this information and look at pixels stuck in the wrong state for a pedestal run is
~philiph/psana/jungfrau/2021/badSwitchStatus.py.

E.g.,

psanagpu103:~/psana/jungfrau/2021$ python badSwitchStatus.py cxilu7619 168
mode is Normal
found 4194254 pixels in Normal
found 20 pixels in Med
found 30 pixels in Low
mode is Med
found 29 pixels in Normal
found 4194273 pixels in Med
found 2 pixels in Low
mode is Low
found 23 pixels in Normal
found 3 pixels in Med
found 4194272 pixels in Low
number of bad pixels overall: 261

psanagpu103:~/psana/jungfrau/2021$ python badSwitchStatus.py cxilv1019 142
mode is Normal
found 4193737 pixels in Normal
found 17 pixels in Med
found 550 pixels in Low
mode is Med
found 28 pixels in Normal
found 4194274 pixels in Med
found 2 pixels in Low
mode is Low
found 22 pixels in Normal
found 3 pixels in Med
found 4194273 pixels in Low
number of bad pixels overall: 1931

- Philip

Implementation

	    igm - is a gain mode index 0,1,2 for Normal-00, Med-01, Low-11
        gbits = raw>>14 # 00/01/11 - gain bits for mode 0,1,2
        fg0, fg1, fg2 = gbits==0, gbits==1, gbits==3
        bad = (np.logical_not(fg0),\
               np.logical_not(fg1),\
               np.logical_not(fg2))[igm]

Images of mask versions

User's mask

Mask from ~valmarpsana-extra-extreme-sabine2.h5

Bad pixel status as mask

mask = det.status_as_mask(par, mode=3, mstcode=63) - mask all status codes but bad gain switch

mstcode=64 - mask bad gain switch (adds <100 new bad pixels)

mstcode=127 - mask all bad status codes

  • mstcode=64 strongly overlaps with 63 
  • mstcode=63 and 127 shows about the same mask, difference is minor...

Combined mask

mask = det.mask(par, calib=False, status=True, edges=True, central=True, unbond=False, unbondnbrs=False, mode=3, width=5, wcentral=5, mstcode=0xffff)

Summary

  • New bad pixel status code is added for bad gain mode switch:
[I] L0703 bad pixel status:
  status  1:     1240 pixel rms       > 19.414
  status  2:     1875 pixel rms       < 0.611
  status  4:     1755 pixel intensity > 16000 in more than 0.1 fraction of events
  status  8:      111 pixel intensity < 1 in more than 0.1 fraction of events
  status 16:      340 pixel average   > 3761.95
  status 32:     1940 pixel average   < 1226.6
[I] L0108 
  status 64:     1790 pixel with bad gain mode switch
  • However this status bit strongly overlaps with other bad pixel status.
  • User's mask contains more bad pixels in peripheral rings.

References


  • No labels