[Ifeffit] Re: problem with normalization

Bernd Griesebock griesebock at uni-wuppertal.de
Thu Aug 31 12:32:10 CDT 2006


Dear Bruce,

thank you very much for the answer. I forgot to say that I load this
macro which athena uses for the step function at the very beginning of
using ifeffit.
Your advise make me looking at my macro file, where I found a little
typing error.
That was it!
Thank you so much!

Regards
Bernd

> Message: 2
> Date: Thu, 31 Aug 2006 09:33:26 -0500
> From: Bruce Ravel <bravel at anl.gov>
> Subject: Re: [Ifeffit] problem with normalization
> To: XAFS Analysis using Ifeffit <ifeffit at millenia.cars.aps.anl.gov>
> Message-ID: <200608310933.27010.bravel at anl.gov>
> Content-Type: text/plain;  charset="iso-8859-6"
>
> On Thursday 31 August 2006 02:57, Bernd Griesebock wrote:
>   
>> Hi there,
>>
>> I have a litte question about normalizing data using the commands that
>> athena uses.
>>
>> I used the following commands (in an ifeffit shell), which I copied from
>> the ifeffit buffer from athena, but I replaced most of the values with
>> the corresponding variables (see at the "set" commands):
>>     
>
> I have taken the liberty of numbering and slightly rearranging the lines of
> your script.
>
>
> 1  > read_data(file="Rh_sample_11.dat.spektrum.00040", group=rh, no_sort)
> 2  > set ___n = npts(rh.1)
> 3  > set rh.energy = 1000*rh.1
> 4  > set rh.xmu = (rh.2) / (rh.3)
> 5  > pre_edge("rh.energy+0", rh.xmu)
> 6  > erase rh.4
> 7  > show e0
> 8  > pre_edge("rh.energy+0", rh.xmu, e0=23228.9989104549, pre1=-150,
> 9  >          pre2=-30, norm_order=3, norm1=150, norm2=514.053)
> 10 > spline("rh.energy+0", rh.xmu, e0=23228.9989104549, rbkg=1.0, kmin=0.5,
> 11 >        kmax=12.695, kweight=1, dk=0, kwindow=kaiser-bessel, pre1=-150,
> 12 >        pre2=-30, norm_order=3, norm1=150, norm2=514.053, clamp2=24,
> 13 >        nclamp=5, interp=quad)
> 14 > set rh.preline = pre_offset+pre_slope*(rh.energy + 0)
> 15 > set rh.postline =
> 16 > norm_c0+norm_c1*(rh.energy+0.000000)+norm_c2*(rh.energy+0.000000)**2
> 17 > step rh.energy e0 rh.theta
> 18 > set flat_c0 =norm_c0 - pre_offset
> 19 > set flat_c1 =norm_c1 - pre_slope
> 20 > set flat_c2 =norm_c2
> 21 > set rh.line = (flat_c0 + flat_c1*(rh.energy+0) +
> 22 >               flat_c2*(rh.energy+0)**2)
> 23 > set rh.flat = (rh.pre + (edge_step - rh.line)*rh.theta) / edge_step
> 24 > set rh.fbkg = (rh.bkg-rh.preline+(edge_step-rh.line)*rh.theta)/edge_step
> 25 > newplot(rh.energy+0, "1*rh.fbkg+0", xlabel="E (eV)", ylabel="norm
> 26 >         x\gm(E)", fg=black, bg=white, grid, gridcolor="grey82",
> 27 >         xmin=23028.99891, xmax=24028.99891, style=lines, color="red",
> 28 >          key=bkg, title="rh_sample_11")
>   
>> At this point athena plots the normalized background function with all
>> data points in the post edge region at arround 1. This is exactly what I
>> want, but in the ifeffit shell I get an error message:
>> ** plot error: no data in y array
>>
>> Ifeffit> show rh.fbkg
>>  rh.fbkg        =   399 pts  [-0.2709E-01:  1.205    ]
>>
>> So there is data in that array! Using the following plot command:
>>
>> newplot(rh.energy+0, rh.fbkg, xlabel="E (eV)", ylabel="norm x\gm(E)",
>>         fg=black, bg=white, grid, gridcolor="grey82",  xmin=23028.99891,
>>         xmax=24028.99891, style=lines, color="red", key=bkg, 
>>         title="rh_sample_11")
>>
>> plots the background function but not normalized in the sense, that the
>> data points in post edge region are at arround 1.
>>
>> Where is my mistake??? If you need some plot examples please feel free
>> to ask for them.
>>     
>
>
> I suspect that the problem is in line 17 of the ifeffit script.  "step" is not
> a built-in Ifeffit command.  Instead it is a macro that Athena defines when
> you start the program.  Fire up Athena and look near the beginning of the
> ifeffit buffer -- you'll see where the macro is defined.
>
> The purpose of the macro is to define a step function centered at a given
> energy and placed on a particular energy grid.  If you don't define this macro
> the .theta array is undefined, leading to trouble with the .flat and .fbkg
> arrays. 
>
> Hope that helps,
> B
>
>
>   




More information about the Ifeffit mailing list