Pedestals

psana -c ana-cxii0212/psana-cxii0212-r0104-pedestals.cfg

where ana-cxii0212/psana-cxii0212-r0104-pedestals.cfg

[psana]
files   = /reg/d/psdm/cxi/cxii0212/xtc/e165-r0104-s00-c00.xtc \
          /reg/d/psdm/cxi/cxii0212/xtc/e165-r0104-s02-c00.xtc

events      = 1000
modules = ImgAlgos.CSPadArrAverage

[ImgAlgos.CSPadArrAverage]
source        = DetInfo(CxiDs1.0:Cspad.0)
key           = 
avefile       = ana-cxii0212/cspad-cxii0212-r0104-pedestals-ave.dat
rmsfile       = ana-cxii0212/cspad-cxii0212-r0104-pedestals-rms.dat
print_bits    =  15
evts_stage1   = 100
evts_stage2   = 100
gate_width1   = 200
gate_width2   =  20

./PlotCSPadArrayFromFile.py ana-cxii0212/cspad-cxii0212-r0104-pedestals-ave.dat 800 1400

Copy the pedestal file:
bq: cp ana-cxii0212/cspad-cxii0212-r0104-pedestals-ave.dat ana-cxii0212/calib/CsPad::CalibV1/CxiDs1.0:Cspad.0/pedestals/0-end.data

Background

Averaged background for 1000 events is obtained from:

psana -c ana-cxii0212/psana-cxii0212-r0091-bkgd-ave.cfg

where ana-cxii0212/psana-cxii0212-r0091-bkgd-ave.cfg:

[psana]
files   = \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s00-c00.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s00-c01.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s02-c00.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s02-c01.xtc

#skip-events = 100
events      =  1000
modules     = cspad_mod.CsPadCalib ImgAlgos.CSPadArrAverage

[cspad_mod.CsPadCalib]
inputKey      = 
outputKey     = calibrated
doPedestals   = yes
doPixelStatus = no
doCommonMode  = yes

[ImgAlgos.CSPadArrAverage]
source  = DetInfo(CxiDs1.0:Cspad.0)
key     = calibrated
avefile = ana-cxii0212/cspad-cxii0212-r0091-background-ave.dat
rmsfile = ana-cxii0212/cspad-cxii0212-r0091-background-rms.dat
print_bits  = 15

./PlotCSPadArrayFromFile.py ana-cxii0212/cspad-cxii0212-r0091-background-ave.dat -2 10

Permanent mask

./MakePixelMask.py ana-cxii0212/cspad-cxii0212-r0091-background-ave.dat 2 ana-cxii0212/cspad-cxii0212-r0091-mask-<type>.dat

... with minor edition of the MakePixelMask.py we get masks:

ana-cxii0212/cspad-cxii0212-r0091-mask-bkgd.dat - for background with threshold 2
ana-cxii0212/cspad-cxii0212-r0091-mask-rects.dat - for rectangular regions
ana-cxii0212/cspad-cxii0212-r0091-mask-badregs.dat - for both, background and rectangular regions

./PlotCSPadArrayFromFile.py ana-cxii0212/cspad-cxii0212-r0091-mask-bkgd.dat -1 2

Noisy-pixel mask

From peak finder output

./PlotCSPadArrayFromFile.py ana-cxii0212/cspad-cxii0212-r0091-noise-mask-out.dat -1 2

Peak finder / selector

psana -c ana-cxii0212/psana-cxii0212-r0091-peak-finder.cfg

where the ana-cxii0212/psana-cxii0212-r0091-peak-finder.cfg:

[psana]
files   = \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s00-c00.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s00-c01.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s02-c00.xtc \
  /reg/d/psdm/cxi/cxii0212/xtc/e165-r0091-s02-c01.xtc

#skip-events = 100
#events      =  1000
experiment  = cxii0212
calib-dir   = ana-cxii0212/calib


modules = cspad_mod.CsPadCalib \
          ImgAlgos.CSPadMaskApply \
          ImgAlgos.CSPadArrPeakFinder \
          PSXtcOutput.XtcOutputModule  

[cspad_mod.CsPadCalib]
inputKey      = 
outputKey     = calibrated
doPedestals   = yes
doPixelStatus = no
doCommonMode  = yes


[ImgAlgos.CSPadMaskApply]
source            = DetInfo(CxiDs1.0:Cspad.0)
inkey             = calibrated
outkey            = masked_arr
mask_fname        = ana-cxii0212/cspad-cxii0212-r0091-mask-badregs.dat
masked_amp        =  0
print_bits        =  5
mask_control_bits = 15

[ImgAlgos.CSPadArrPeakFinder]
source            = DetInfo(CxiDs1.0:Cspad.0)
key               = masked_arr
key_peaks_out     = peaks

hot_pix_mask_inp_file = ana-cxii0212/cspad-cxii0212-r0091-noise-mask-ini.dat
hot_pix_mask_out_file = ana-cxii0212/cspad-cxii0212-r0091-noise-mask-out.dat
frac_noisy_evts_file  = ana-cxii0212/cspad-cxii0212-r0091-noise-frac.dat

evt_file_out        = tmp/cspad-ev-
rmin                =     8
dr                  =     1
SoNThr_noise        =     3
SoNThr_signal       =     4
frac_noisy_imgs     =   0.9
peak_npix_min       =     5
peak_npix_max       =   500
peak_amp_tot_thr    =     0.
peak_SoN_thr        =     5.
event_npeak_min     =     4
event_npeak_max     =  1000
event_amp_tot_thr   =     0.
nevents_mask_update =     0
nevents_mask_accum  =    50
selection_mode      = SELECTION_ON
out_file_bits       =    15
print_bits          =  1601

[PSXtcOutput.XtcOutputModule]
dirName       = ./xtc

Intermediate:

[info:ImgAlgos.CSPadArrPeakFinder]   NFrames:    1000  NHits:       7 (  0.70%)  Time:    220.357 sec ( 4.538 fps)
[info:ImgAlgos.CSPadArrPeakFinder]   NFrames:    2000  NHits:      15 (  0.75%)  Time:    436.159 sec ( 4.585 fps)
[info:ImgAlgos.CSPadArrPeakFinder]   NFrames:    3000  NHits:      25 (  0.83%)  Time:    651.769 sec ( 4.603 fps)
[info:ImgAlgos.CSPadArrPeakFinder]   NFrames:    4000  NHits:      33 (  0.82%)  Time:    872.068 sec ( 4.587 fps)
[info:ImgAlgos.CSPadArrPeakFinder]   NFrames:    5000  NHits:      38 (  0.76%)  Time:   1087.951 sec ( 4.596 fps)

Selected events:

tmp/cspad-ev-000049-r0091-2012-05-15-001045.234643687-peaks.txt
tmp/cspad-ev-000257-r0091-2012-05-15-001106.040495738-peaks.txt
tmp/cspad-ev-000290-r0091-2012-05-15-001109.341278610-peaks.txt
tmp/cspad-ev-000405-r0091-2012-05-15-001120.843585383-peaks.txt
tmp/cspad-ev-000553-r0091-2012-05-15-001135.646752814-peaks.txt
tmp/cspad-ev-000757-r0091-2012-05-15-001156.050227355-peaks.txt
tmp/cspad-ev-000823-r0091-2012-05-15-001202.650968368-peaks.txt
tmp/cspad-ev-001047-r0091-2012-05-15-001225.058570990-peaks.txt
tmp/cspad-ev-001378-r0091-2012-05-15-001258.171085846-peaks.txt
tmp/cspad-ev-001393-r0091-2012-05-15-001259.671736030-peaks.txt
tmp/cspad-ev-001509-r0091-2012-05-15-001311.276967953-peaks.txt
tmp/cspad-ev-001678-r0091-2012-05-15-001328.182259445-peaks.txt
tmp/cspad-ev-001914-r0091-2012-05-15-001351.792593865-peaks.txt
tmp/cspad-ev-001969-r0091-2012-05-15-001357.295585954-peaks.txt
tmp/cspad-ev-001991-r0091-2012-05-15-001359.496636193-peaks.txt
tmp/cspad-ev-002185-r0091-2012-05-15-001418.904297816-peaks.txt
tmp/cspad-ev-002214-r0091-2012-05-15-001421.805401099-peaks.txt
tmp/cspad-ev-002286-r0091-2012-05-15-001429.008349593-peaks.txt
tmp/cspad-ev-002361-r0091-2012-05-15-001436.511386761-peaks.txt
tmp/cspad-ev-002564-r0091-2012-05-15-001456.817729702-peaks.txt
tmp/cspad-ev-002608-r0091-2012-05-15-001501.218988796-peaks.txt
tmp/cspad-ev-002751-r0091-2012-05-15-001515.523954494-peaks.txt
tmp/cspad-ev-002896-r0091-2012-05-15-001530.028242293-peaks.txt
tmp/cspad-ev-002927-r0091-2012-05-15-001533.129495321-peaks.txt
tmp/cspad-ev-002985-r0091-2012-05-15-001538.931948039-peaks.txt
tmp/cspad-ev-003003-r0091-2012-05-15-001540.732602249-peaks.txt
tmp/cspad-ev-003598-r0091-2012-05-15-001640.231630346-peaks.txt
tmp/cspad-ev-003603-r0091-2012-05-15-001640.731596354-peaks.txt
tmp/cspad-ev-003609-r0091-2012-05-15-001641.331563485-peaks.txt
tmp/cspad-ev-003692-r0091-2012-05-15-001649.631654569-peaks.txt
tmp/cspad-ev-003713-r0091-2012-05-15-001651.731763017-peaks.txt
tmp/cspad-ev-003774-r0091-2012-05-15-001657.832338070-peaks.txt
tmp/cspad-ev-003870-r0091-2012-05-15-001707.434251204-peaks.txt
tmp/cspad-ev-004087-r0091-2012-05-15-001729.139940879-peaks.txt
tmp/cspad-ev-004211-r0091-2012-05-15-001741.541492733-peaks.txt
tmp/cspad-ev-004325-r0091-2012-05-15-001752.942562495-peaks.txt
tmp/cspad-ev-004338-r0091-2012-05-15-001754.242951955-peaks.txt
tmp/cspad-ev-004768-r0091-2012-05-15-001837.261195747-peaks.txt
...

Images 257, 485, 553, and 823:

  • No labels