[Ifeffit] Setting ranges in peak fitting

Bruce Ravel bravel at bnl.gov
Tue Jul 28 07:09:05 CDT 2015

On 07/28/2015 12:59 AM, Kenneth Latham wrote:
> Hi Bruce,
> To clarify this further, I am peak fitting a number of peaks under
> the carbon edge. For example, I know from the literature that the
> 1s-p transition for the C=C should be located between 284.5 to 285.5
> eV, so I would fit a peak at about 285 eV to start with. I would then
> move on to fitting additional peaks based on their literature values
> with what I know about the material/where obvious peaks are in the
> The problem now comes when I tell Athena to fit, it will start to
> move the peaks all over the place to obtain the best fit, typically
> placing them in locations where functionalities don't appear under
> the NEXAFS. In other words, it would move peaks away from where I
> would expect them to be based on the literature. This can be
> partially stopped by fixing all but one peak, fitting it and then and
> applying this procedure to every peak multiple times.
> What I was wondering is if Athena has the ability to set a range that
> each peak is allowed to move, i.e., the C=C center would be
> restricted to values between 284.5-285.5 eV. Hence I could set up the
> ranges and fit quickly based on those.

Hi Ken,

So, the short answer is no, Athena does not current allow you to do 
that.  That's not because it is somehow not possible, but because Athena 
does not have controls which allow you to specify limits on a fitted value.

Happily Adrian's answer was extremely useful.

Limits on variables is something that is implemented very well in Larch:


Matt even provides an example of XANES peak fitting in the Larch manual:


Now that Athena has the option of using Larch instead of Ifeffit, it 
will be easier for me to implement controls to do that, but that is a 
future project.  The bottom line is that Athena does not currently do 
what you are asking for.


  Bruce Ravel  ------------------------------------ bravel at bnl.gov

  National Institute of Standards and Technology
  Synchrotron Science Group at NSLS-II
  Building 535A
  Upton NY, 11973

  Homepage:    http://bruceravel.github.io/home/
  Software:    https://github.com/bruceravel
  Demeter:     http://bruceravel.github.io/demeter/

More information about the Ifeffit mailing list