fit_tscan#

fitting tscan data using sum of exponential decay covolved with gaussian/cauchy(lorenzian)/pseudo voigt irf function. It uses fact_anal_exp_conv to determine best c_i’s where timezero, fwhm, and time constants are given. So, to use this script what you need to give are only timezero, fwhm, and time constants

Note

  • If you set shape of irf to pseudo voigt (pv), then you should provide two full width at half maximum value for gaussian and cauchy parts, respectively.

  • If you did not set tau then it assume you finds the timezero of this scan. So, –no_base option is discouraged.

  • usage: fit_tscan [-h] [–irf {g,c,pv}] [–fwhm_G FWHM_G] [–fwhm_L FWHM_L] [-t0 TIME_ZEROS [TIME_ZEROS …]] [-t0f TIME_ZEROS_FILE] [–tau [TAU [TAU …]]] [–no_base] [-o OUT] prefix

  • positional arguments:

    • prefix prefix for tscan files It will read prefix_i.txt

  • optional arguments:

    • -h, –help show this help message and exit

    • –irf {g,c,pv} shape of instrument response function g: gaussian distribution c: cauchy distribution pv: pseudo voigt profile, linear combination of gaussian distribution and cauchy distribution pv = eta*c+(1-eta)*g the mixing parameter is guessed according to Journal of Applied Crystallography. 33 (6): 1311–1316.

    • –fwhm_G FWHM_G full width at half maximum for gaussian shape It should not used when you set cauchy irf function

    • –fwhm_L FWHM_L full width at half maximum for cauchy shape It should not used when you did not set irf or use gaussian irf function

    • -t0 TIME_ZEROS [TIME_ZEROS …], –time_zeros TIME_ZEROS [TIME_ZEROS …] time zeros for each tscan

    • -t0f TIME_ZEROS_FILE, –time_zeros_file TIME_ZEROS_FILE filename for time zeros of each tscan

    • –tau [TAU [TAU …]] lifetime of each component

    • –no_base exclude baseline for fitting

    • -o OUT, –out OUT prefix for output files

Parameter bound scheme

  • fwhm: temporal width of x-ray pulse

    • lower bound: 0.5*fwhm_init

    • upper bound: 2*fwhm_init

  • t_0: timezero for each scan

    • lower bound: t_0 - 2*fwhm_init

    • upper bound: t_0 + 2*fwhm_init

  • tau: life_time of each component

    • if tau < 0.1

      • lower bound: tau/2

      • upper bound: 1

    • if 0.1 < tau < 10

      • lower bound: 0.05

      • upper bound: 100

    • if 10 < tau < 100

      • lower bound: 5

      • upper bound: 500

    • if 100 < tau < 1000

      • lower bound: 50

      • upper bound: 2000

    • if 1000 < tau then

      • lower bound: tau/2

      • upper bound: np.inf

Mixing parameter eta

For pseudo voigt IRF function, mixing parameter eta is guessed to

\[\eta = 1.36603({fwhm}_L/f)-0.47719({fwhm}_L/f)^2+0.11116({fwhm}_L/f)^3\]

where

\[\begin{align*} f &= ({fwhm}_G^5+2.69269{fwhm}_G^4{fwhm}_L+2.42843{fwhm}_G^3{fwhm}_L^2 \\ &+ 4.47163{fwhm}_G^2{fwhm}_L^3+0.07842{fwhm}_G{fwhm}_L^4 \\ &+ {fwhm}_L^5)^{1/5} \end{align*}\]

This guess is according to J. Appl. Cryst. (2000). 33, 1311-1316