Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • background shape is evaluated in run 162 WITHOUT common mode correction. See Masks, Background subtraction for detail.
  • pfv3r1 - is upgraded PSAS-147
  • S/N statistical significance is improved by increasing number of pixels. See Hit /and Peak FindersFinding Algorithms.
  • Data processing and peak finding is done in  cxif5315/proc-cxif5315-r0169-data-pfvn-2016-05-03.py

  • pfv3r1 was improved - now in the background avg and rms calculation discards all type of local maximums

Data processing

exp=cxif5315:run=169

Code Block
    nda_data = det.raw(evt)
    if nda_data is not None :
        nda =  np.array(nda_data, dtype=np.float32, copy=True)
        nda -= nda_peds
        det.common_mode_apply(runnum, nda, cmpars=(5,50)) # applied for pfv3r1 latest processing only
        nda = subtract_bkgd(nda, nda_bkgd, mask=nda_smask, winds=winds_bkgd, pbits=0)
        nda *= nda_smask

...

Code Block
alg_arc = PyAlgos(windows=winds_arc, mask=mask_arc, pbits=2)

alg_arcequ.set_peak_selection_pars(npix_min=0, npix_max=1e6, amax_thr=0, atot_thr=0, son_min=6)10) # for v3r1
#alg_arc.set_peak_selection_pars(npix_min=0, npix_max=1e6, amax_thr=0, atot_thr=500, son_min=6) # for v2r1
#alg_arc.set_peak_selection_pars(npix_min=0, npix_max=1e6, amax_thr=0, atot_thr=0, son_min=6) # for v4r1
 
alg_equ = ... the same as above

        # in the event loop
        #peaks_arc = alg_arc.peak_finder_v2r1(nda, thr=30, r0=7, dr=2)
        #peakspeaks_arc = alg_arc.peak_finder_v3r1(nda, rank=5, r0=7, dr=2)
        peaks#peaks_arc = alg_arc.peak_finder_v4r1(nda, thr_low=10, thr_high=150, rank=5, r0=7, dr=2)

        peaks_equ = alg_equ... the same as above

Results

ARC

pre-selection for histograms

Code Block
def procPeakDataArc(pk) :
    """ Process peak for ARC region; accumulate peak statistics in histogram arrays.
    """
    #===================
    sp.lst_arc_atot.append(pk.atot)
    if pk.atot<1500 : return
    #===================
    sp.lst_arc_amax.append(pk.amax)
    sp.lst_arc_npix.append(pk.npix)
    sp.lst_arc_r   .append(pk.r)
    sp.lst_arc_phi .append(pk.phi)
...

plots for pfv2/3/4r1

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

================

 

EQU

pre-selection for histograms

Code Block
def procPeakDataEqu(pk) :
    """ Process peak for EQU region; accumulate peak data
    """
    # discard small radius peaks from all histograms
    #===================
    sp.lst_equ_atot.append(pk.atot)
    if pk.atot<1500 : return
    if pk.r<100 : return
    #===================
    sp.lst_equ_amax.append(pk.amax)
    sp.lst_equ_npix.append(pk.npix)
    sp.lst_equ_r   .append(pk.r)
    sp.lst_equ_phi .append(pk.phi)
...

plots for pfv2/3/4r1

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

 

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added 

Image RemovedImage Added 

Image RemovedImage Added

================

 

Fit results

ARC

pre-fit selection

Code Block
def peakIsSelectedArc(pk) :
    """Apply peak selection criteria to each peak from file
    """
    if sp.USE_PEAK_SELECTION :
        if pk.atot<1500 : return False
        if pk.npix>200  : return False
        if pk.r<435     : return False
        if pk.r>443     : return False
        if pk.rms<10    : return False
        if pk.rms>80    : return False
        if math.fabs(pk.bkgd)>25 : return False
    return True

...

plots for pfv2/3/4r1

Image RemovedImage Removed

...

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage RemovedImage AddedImage Added

================

 

EQU

pre-fit selection

Code Block
def peakIsSelectedEqu(pk) :
    """Apply peak selection criteria to each peak from file
    """
    if sp.USE_PEAK_SELECTION :
        if pk.atot<1500 : return False
        if pk.npix>200  : return False
        if pk.rms>80    : return False
        if math.fabs(pk.bkgd)>20 : return False
    if pk.r<100     : return False
    if pk.r>454     : return False
    return True

plots for pfv2/3/4r1

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage Added

Image RemovedImage RemovedImage AddedImage Added

================

 

References

...