[Ifeffit] normalization methods

Matthew Marcus mamarcus at lbl.gov
Wed May 15 10:41:55 CDT 2013

The way I commonly do pre-edge is to fit with some form plus a power-law singularity representing the initial rise of the edge, then
subtract out that "some form".  Now, that form can be either linear, linear+E^(-2.7) (for transmission), or linear+ another power-law
singularity centered at the center passband energy of the fluorescence detector.  That latter is for fluorescence data which is affected by
the tail of the elastic/Compton peak from the incident energy.  Whichever form is taken gets subtraccted from the whole data range, resulting
in data which is pre-edge-subtracted but not yet post-edge normalized.  The path then splits; for EXAFS, the usual conversion to k-space, spline
fitting in the post-edge, subtraction and division is done, all interactively.  Tensioned spline is also available due to request of a prominent user.
For XANES, the post-edge is fit as previously described.  Thus, there's no distinction made between data above and below E0 in XANES, whereas
there is such a distinction in EXAFS.

On 5/15/2013 8:25 AM, Matt Newville wrote:
> Hi Matthew,
> On Wed, May 15, 2013 at 9:57 AM, Matthew Marcus <mamarcus at lbl.gov> wrote:
>> What I typically do for XANES is divide mu-mu_pre_edge_line by a linear
>> function which goes through the post-edge oscillations.
>> This division goes over the whole data range, including pre-edge.  If the
>> data has obvious curvature in the post-edge, I'll use a higher-order
>> polynomial.  For transmission data, what sometimes linearizes the background
>> is to change the abscissa to 1/E^2.7 (the rule-of-thumb absorption
>> shape) and change it back afterward.  All this is, of course, highly
>> subjective and one of the reasons for taking extended XANES data (300eV,
>> for instance).  For short-range XANES, there isn't enough info to do more
>> than divide by a constant.  Once this is done, my LCF programs allow
>> a slope adjustment as a free parameter, thus muNorm(E) =
>> (1+a*(E-E0))*Sum_on_ref{x[ref]*muNorm[ref](E)}.  A sign that this degree of
>> freedom
>> may be being abused is if the sum of the x[ref] is far from 1 or if
>> a*(Emax-E0) is large.  Don't get me started on overabsorption :-)
>>          mam
> Thanks -- I should have said that pre_edge() can now do a
> victoreen-ish fit, regressing a line to mu*E^nvict (nvict can be any
> real value).
> Still, it seems that the current flattening is somewhere between
> "better" and "worse", which is unsettling...  Applying the
> "flattening" polynomial to the pre-edge range definitely seems to give
> poor results, but maybe some energy-dependent compromise is possible.
> And, of course, over-absorption is next on the list!
> --Matt
> _______________________________________________
> Ifeffit mailing list
> Ifeffit at millenia.cars.aps.anl.gov
> http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit

More information about the Ifeffit mailing list