XHDF_Eventpar : processing of FDM X-ray measurements to get energy resolutions

Pipeline script for processing HDF5 X-ray event files. Performs event selection, optimal filtering and other functions, depending on the parameters set. Has same functionality as HDF_Eventpar plus the possibillity to process measurents with the broadband MXS + Mn55 spectra.

Can be used for multiprocessor execution, using mpiexec.

usage:

HDF_Eventpar [-h] [-ch CHANNEL] [-f FREQUENCY [FREQUENCY ...]]
             [-n NRECS] [--delist DELIST] [-sum] [--pdf] [--debug]
             [--threshold THRESHOLD] [--bsec BSEC] [--bpo]
             [--nopulseselect] [--absolute] [--noise]
             [--brange BRANGE BRANGE] [-nf NOISEFILE] [-np] [-nc]
             [-fc FREQCUTOFF] [-pl PRLEN] [-rot] [-ph PHASE]
             [--tdfilter] [-ect] [-rt] [--rterange RTERANGE RTERANGE]
             [--afitrange AFITRANGE AFITRANGE] [--avout] [-ss] [-el]
             [-rel] [--eventtime] [--woptf] [--useoptf USEOPTF]
             [--etprev ETPREV ETPREV] [--etnext ETNEXT ETNEXT]
             [--alltim]
             dir

Process event HDF5 records for optimal filtering and spectral fitting

positional arguments:
  dir                   Directory or file of x-ray data HDF5 file(s)

optional arguments:
  -h, --help            show this help message and exit
  -ch CHANNEL, --channel CHANNEL
                        Channel number to use. Default is first available
                        channel.
  -f FREQUENCY [FREQUENCY ...], --frequency FREQUENCY [FREQUENCY ...]
                        Frequency numbers (pixels) to use. Default is first
                        available frequency. 'all' for all frequencies
  -n NRECS, --nrecs NRECS
                        Number of records to display. When single is not
                        selected, average of records is shown. Default is all
                        records
  --delist DELIST       file specifying the event records numbers to ignore;
                        list of "from-to" to ignore
  -sum, --summary       Print summary of results to file
  --pdf                 Only pdf output
  --debug               show some debug info + plots on screen
  --threshold THRESHOLD, -t THRESHOLD
                        Amplitude threshold for event detection (default 2000)
  --bsec BSEC           Section (start+end) of record to use for background
                        (default 0.05)
  --bpo                 select only pretrigger section for baseline value
  --nopulseselect       discard event selection based on pulse intensity
  --absolute            Use sqrt(I^2+Q^2) for pulse record
  --noise               Let the script ask for seperate noise file
  --brange BRANGE BRANGE
                        Range of baseline values to select. Default: no
                        selection
  -nf NOISEFILE, --noisefile NOISEFILE
                        Define seperate noise file(name)
  -np, --nopulseposition
                        do not select pulses based on pulse position
  -nc, --nocorrelation  do not correct for opt.filter vs. baseline correlation
  -fc FREQCUTOFF, --freqcutoff FREQCUTOFF
                        Maximum frequency cutoff for optimal filtering
  -pl PRLEN, --prlen PRLEN
                        Length (power of 2) of record to process for optimal
                        filtering (default entire record)
  -rot, --rotate        Rotate events for minimum Q-signal (based on 100
                        events phase average)
  -ph PHASE, --phase PHASE
                        Rotate events with given fixed phase (degrees)
  --tdfilter            Perform optimal filtering in time domain
  --tdnppos TDNPPOS     For time domain filter, number of pulse positions to
                        use (default 11)
  -ect, --ectfilter     Perform filtering to exclude electric crosstalk
                        positive pulses
  -rt, --risetime       compute and show histograms of rise time for pulses
                        (only for single frequency)
  --rterange RTERANGE RTERANGE
                        range in energy for rise time correlation plot
  --afitrange AFITRANGE AFITRANGE
                        Fitrange in keV for alpha lines (default 5.860 5.920 )
  --avout               output ASCII text files with average pulses
  -ss, --sumspectrum    show spectrum, summed over all frequencies (pixels)
  -el, --eventlist      write eventlist with optimal filter and baseline
                        values
  -rel, --raweventlist  write eventlist of all pulses with raw pulse
                        parameters (no optimal fit and energy)
  --eventtime           write event times in eventlist file
  --woptf               write optimal filter data to file
                        (frequency domain only)
  --useoptf USEOPTF     use given external optimal filter file template
                        (frequency domain only)
  --etprev ETPREV ETPREV
                        only select events with delta time within given
                        interval from previous event
  --etnext ETNEXT ETNEXT
                        only select events with delta time within given
                        interval to next event
  --alltim              for deltatimes for "etprev", use all events from all
                        pixels
  --mxs                 process events for wide_energy MXS+Mn55 spectrum
  --mxsbins             number of bins for the mxs spectrum (default 40000)
  --npoly {1,2,3,4}     degree of polynomial for energy fit when "--mxs" is
                        set. When None, use exponential fit. (default None)
  --alsi                in wide-energy MXS+Mn55, also process Al and Si
                        fluorescent lines
  --ntemplates NTEMPLATES
                        number of templates to use for mxs spectra (default=1)

examples

Some example of use:

HDF_Eventpar -f all --pdf -sum --mxs --alsi dir

Process all frequencies (pixels) and write-out pdf plot and (ascii) summary file. Since only a directory is speficied where data files are located, the actual datafile to process will be interactively queried. The processing expects mxs+mn55 data and will also look for the (weak) Aluminium and Silicon lines.

Other example:

HDF_Eventpar -f 0 2 5 6 --pdf -sum -np -el -ss -fc 5000 --mxs dir/data.h5

Process only frequencies 0,2,5 and 6. Write plot to pdf file and write (ascii) summary. Do not require all pulses to be on the sameposition within the record and plot a summed spectrum. Set frequency cutoff to 5000 Hz and write (ascii) evenlists, which contains the selected events with the record index and relevant parameters. The complete filename is provided (so no further interactive queries are neccesary). Process mxs+mn55 data, but do not look for possible Al or Si lines.

input files

Some notes on input file specification:

When the input file (dir) is a straight h5 data file, with the file name containing _xray_, the script will search for the associated noise file, containing _noise_. When the input dir is a directory, the script will interactively ask the user for the h5 data file in that directory. The same file will also be used to obtain the noise data, unless the parameter --noise is set. In that case the script will also ask interactively for a noise file. The noise file can also be provided beforehand, using the --noisefile parameter.

[source download]