I don't think you can mix the peak shape macros in the way you're trying.
I think you need to use something more like the first "trick" on
http://topas.dur.ac.uk/topaswiki/doku.php?id=time_of_flight_tof_peak_fitting.
This will let you properly include the instrumental function when you peak fit. This is important with tof data. You're currently refining back-to-back exponentials for this and they seem to have gone to strange values. I suggest you get appropriate values from the instrument scientists and fix them (at least initially).
You should then be able to use something like the code sections below. You might want to change the macro so it allows different fwhm's for each peak. At the moment it uses a simple size/strain type parameterisation across the whole pattern.
John
**********************************************************************************
r_wp 4.54083053 r_exp 1.5140991 r_p 2.92185396 r_wp_dash 16.517065 r_p_dash 21.8919292 r_exp_dash 5.50746678 weighted_Durbin_Watson 0.2848859 gof 2.99903125
do_errors
iters 100000
no_LIMIT_warnings
chi2_convergence_criteria 0.0000001
#define Si_POWGEN_bank1
#ifdef Si_POWGEN_bank1
TOF_XYE (ALL_PG3_37849-1.xye,= Yobs_dx_at(Xo).5;)
TOF_LAM(0.001)
scale_pks = D_spacing^4;
start_X 8000
finish_X 90000
bkg @ 62.0886548`_0.112162635 -2.13135162`_0.200687157 1.14665218`_0.181433041 -0.786478208`_0.170901176 0.742346841`_0.161535983 -0.544177666`_0.151754591 0.173579161`_0.148072372 -0.0444392671`_0.126316794 -0.370325647`_0.088300723
neutron_data
TOF_x_axis_calibration(zero, -10.27386`_0.37826, dif_c, 22627.07441`_6.66155, dif_a, -46.38715`_2.41459)
TOF_Exponential(@, 0.00000`_186741.89747,@ , 16102.41566`_524099.14403, 1, dif_c, -)
TOF_Exponential(@, 4.02588`_0.09069, @, 284.92238`_3.47087, 4, dif_c, +)
str
scale scal_f1 80.9201816`_0.4155
space_group Fd-3m:2
Cubic(5.431178)
site Si num_posns 8 x 0.125 y 0.125 z 0.125 occ Si 1 beq beqSi 0.17466`_0.00501
TOF_PV(si_fwhm, 194.73217`_16.18474, si_fwhm_lor, 1`_0.0611965913, dif_c)
'peaks here
prm dsp 0.00000`_24.79753 min 0 max 500
prm dspsq 54.87860`_11.23441 min 0.1
prm lor 0.19460`_0.13129 min 0 max 1
tof_peak_fit2(peak1_dsp, 3.10855`_0.00061, @, 756.60686`_36.86218)
tof_peak_fit2(peak2_dsp, 1.91194`_0.00024, @, 1639.01367`_82.59958)
tof_peak_fit2(peak3_dsp, 1.73173`_0.02188, @, 7.44876`_27.07633)
#endif
/* Modified peak macro without dspacing in hkl_Is phase to fix minor bug */
macro tof_peak_fit2(p1,v1, p2,v2) {
#m_argu p1
#m_argu p2
If_Prm_Eqn_Rpt(p1, v1, min =0.9*v1; max =1.1*v1;)
If_Prm_Eqn_Rpt(p2, v2, min .000000000001 max 1e9)
hkl_Is phase_name CeV(p1,v1) a =10*CeV(p1,v1); b 0.1 c 0.1 space_group "P1" load hkl_m_d_th2 I { 10 0 0 1 0 80114.92 =CeV(p2,v2); }
peak_type pv pv_lor =lor; pv_fwhm = dsp*CeV(p1,v1) + dspsq*CeV(p1,v1)^2;
}