# PEARL Procedures: pearl-fitfuncs.ipf File Reference

pearl-fitfuncs.ipf File Reference
ARPES package

various fit functions for photoelectron spectroscopy. More...

`#include "mm-physconst"`

Go to the source code of this file.

## Data Structures

struct | DoniachSunjicStruct

## Namespaces

| PearlFitFuncs
| various fit functions for photoelectron spectroscopy.

## Functions

threadsafe variable | MultiGaussLinBG (wave w, variable x)
| multiple gaussian peaks on a linear background fit function. More...
threadsafe variable | MultiGaussLinBG_AO (wave pw, wave yw, wave xw)
| multiple gaussian peaks on a linear background fit function (all at once). More...
threadsafe variable | DoubletGaussLinBG_AO (wave pw, wave yw, wave xw)
| doublet gaussian peaks on a linear background fit function (all at once). More...
threadsafe variable | DblDoubletGaussLinBG_AO (wave pw, wave yw, wave xw)
| two doublet gaussian peaks on a linear background fit function (all at once). More...
threadsafe variable | MultiVoigtLinBG (wave w, variable x)
| multiple voigt peaks on a linear background fit function. More...
threadsafe variable | MultiVoigtLinBG_AO (wave pw, wave yw, wave xw)
| multiple voigt peaks on a linear background fit function. More...
threadsafe variable | DoniachSunjic (variable x, variable amp, variable pos, variable sing, variable fwhm)
| Doniach-Sunjic line shape. More...
threadsafe variable | MultiDoniachSunjicLinBG (wave w, variable x)
| multiple doniach-sunjic peaks on a linear background fit function. More...
threadsafe variable | ds1_bg (wave w, variable x)
threadsafe variable | ds2_bg (wave w, variable x)
variable | ds4_bg (wave w, variable x)
variable | ds6_bg (wave w, variable x)
threadsafe variable | DoniachSunjicBroadS (DoniachSunjicStruct *s)
variable | DoniachSunjicBroad (wave pw, wave yw, wave xw)
variable | Calc_DoniachSunjicBroad (wave pw, wave yw)
variable | Fit_DoniachSunjicBroad (wave pw, wave yw, wave xw, wave ww)
variable | Au4f (wave w, variable x)
variable | Au4f_2p2 (wave w, variable x)
variable | ShowComponents_Au4f_2p2 (wave coef_wave, wave fit_wave)
variable | Au4f_2p3 (wave w, variable x)
variable | ShowComponents_Au4f_2p3 (wave coef_wave, wave fit_wave)
variable | FermiGaussConv (wave pw, wave yw, wave xw)
| convolution of Fermi-Dirac distribution and a Gaussian. More...
variable | ShirleyBG (wave w, wave bg, variable p1, variable p2)
| calculate the shirley background More...

## Detailed Description

various fit functions for photoelectron spectroscopy.

this procedure contains various functions for curve fitting.

Author
  matthias muntwiler, matth.nosp@m.ias..nosp@m.muntw.nosp@m.iler.nosp@m.@psi..nosp@m.ch

Copyright
  2013-18 Paul Scherrer Institut
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Definition in file pearl-fitfuncs.ipf.

## Function Documentation

## Au4f()

variable Au4f | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 677 of file pearl-fitfuncs.ipf.

## Au4f_2p2()

variable Au4f_2p2 | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 722 of file pearl-fitfuncs.ipf.

## Au4f_2p3()

variable Au4f_2p3 | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 807 of file pearl-fitfuncs.ipf.

## Calc_DoniachSunjicBroad()

variable Calc_DoniachSunjicBroad | ( | wave | pw,
|  | wave | yw
| ) |  |

Definition at line 620 of file pearl-fitfuncs.ipf.

## DblDoubletGaussLinBG_AO()

threadsafe variable DblDoubletGaussLinBG_AO | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

two doublet gaussian peaks on a linear background fit function (all at once).

this fits four gaussian peaks. peak positions are specified by center, splitting and shift rather than individually. amplitudes are specified as absolute values for peaks 1 and 3, and relative values for peaks 2 and 4.

can be used if a spin-orbit doublet is split by a chemical shift which affects both spin-orbit peaks equally.

Note
  FWHM = width * 2 * sqrt(ln(2)) = width * 1.665

Parameters

  pw

  shape parameters.
  - pw[0] = constant coefficient of background
  - pw[1] = linear coefficient of background
  - pw[2] = amplitude of peak 1
  - pw[3] = amplitude of peak 2
  - pw[4] = amplitude of peak 3, relative to peak 1
  - pw[5] = amplitude of peak 4, relative to peak 2
  - pw[6] = position of peak 1
  - pw[7] = splitting (distance between peaks 1 and 3)
  - pw[8] = shift (distance between peaks 1 and 2)
  - pw[9] = width of peaks 1 and 3
  - pw[10] = width of peaks 2 and 4

  yw | y (dependent) values.
  xw | x (independent) independent values.

Definition at line 157 of file pearl-fitfuncs.ipf.

## DoniachSunjic()

threadsafe variable DoniachSunjic | ( | variable | x,
|  | variable | amp,
|  | variable | pos,
|  | variable | sing,
|  | variable | fwhm
| ) |  |

Doniach-Sunjic line shape.

[S. Doniach, M. Sunjic, J. Phys. C 3 (1970) 285]

Parameters

  x | independent variable
  amp | amplitude
  pos | position
  sing | singularity index (0 <= sing < 1)
  fwhm | full width at half maximum

Definition at line 253 of file pearl-fitfuncs.ipf.

## DoniachSunjicBroad()

variable DoniachSunjicBroad | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

Definition at line 559 of file pearl-fitfuncs.ipf.

## DoniachSunjicBroadS()

threadsafe variable DoniachSunjicBroadS | ( | DoniachSunjicStruct * | s | ) |

Definition at line 470 of file pearl-fitfuncs.ipf.

## DoubletGaussLinBG_AO()

threadsafe variable DoubletGaussLinBG_AO | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

doublet gaussian peaks on a linear background fit function (all at once).

this fits two gaussian peaks. peak positions are specified by center and distance rather than individually. amplitude and width are specified as absolute values for the upper peak (in x), and relative values for the lower peak.

Note
  FWHM = width * 2 * sqrt(ln(2)) = width * 1.665

Parameters

  pw

  shape parameters. the length of the wave defines the number of peaks.
  - pw[0] = constant coefficient of background
  - pw[1] = linear coefficient of background
  - pw[2] = amplitude of peak 1 (higher x)
  - pw[3] = amplitude of peak 2 relative to peak 1
  - pw[4] = center position
  - pw[5] = distance between peaks (splitting)
  - pw[6] = width of peak 1 (see note)
  - pw[7] = width of peak 2 relative to peak 1

  yw | y (dependent) values.
  xw | x (independent) independent values.

Definition at line 118 of file pearl-fitfuncs.ipf.

## ds1_bg()

threadsafe variable ds1_bg | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 296 of file pearl-fitfuncs.ipf.

## ds2_bg()

threadsafe variable ds2_bg | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 319 of file pearl-fitfuncs.ipf.

## ds4_bg()

variable ds4_bg | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 347 of file pearl-fitfuncs.ipf.

## ds6_bg()

variable ds6_bg | ( | wave | w,
|  | variable | x
| ) |  |

Definition at line 388 of file pearl-fitfuncs.ipf.

## FermiGaussConv()

variable FermiGaussConv | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

convolution of Fermi-Dirac distribution and a Gaussian.

- pw[0] = constant background
- pw[1] = linear background
- pw[2] = amplitude
- pw[3] = Fermi level in eV
- pw[4] = temperature in K
- pw[5] = gaussian width = FWHM / 1.66511

Definition at line 930 of file pearl-fitfuncs.ipf.

## Fit_DoniachSunjicBroad()

variable Fit_DoniachSunjicBroad | ( | wave | pw,
|  | wave | yw,
|  | wave | xw,
|  | wave | ww
| ) |  |

Definition at line 641 of file pearl-fitfuncs.ipf.

## MultiDoniachSunjicLinBG()

threadsafe variable MultiDoniachSunjicLinBG | ( | wave | w,
|  | variable | x
| ) |  |

multiple doniach-sunjic peaks on a linear background fit function.

Parameters

  w

  shape parameters. the length of the wave defines the number of peaks.
  - w[0] = constant coefficient of background
  - w[1] = linear coefficient of background
  - w[2 + (i-1) * 4] = amplitude of peak i
  - w[3 + (i-1) * 4] = position of peak i
  - w[4 + (i-1) * 4] = width (fwhm) of peak i
  - w[5 + (i-1) * 4] = singularity index (0...1) of peak i

  x | independent variable

Definition at line 280 of file pearl-fitfuncs.ipf.

## MultiGaussLinBG()

threadsafe variable MultiGaussLinBG | ( | wave | w,
|  | variable | x
| ) |  |

multiple gaussian peaks on a linear background fit function.

Note
  FWHM = width * 2 * sqrt(ln(2)) = width * 1.665

Parameters

  w

  shape parameters. the length of the wave defines the number of peaks.
  - w[0] = constant coefficient of background
  - w[1] = linear coefficient of background
  - w[2 + (i-1) * 3] = amplitude of peak i
  - w[3 + (i-1) * 3] = position of peak i
  - w[4 + (i-1) * 3] = width of peak i (see note)

  x | independent variable

Definition at line 45 of file pearl-fitfuncs.ipf.

## MultiGaussLinBG_AO()

threadsafe variable MultiGaussLinBG_AO | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

multiple gaussian peaks on a linear background fit function (all at once).

this is the all-at-once version of MultiGaussLinBG. it runs about 15% faster compared to the point-by-point function (measured on a 200 point spectrum with 3 peaks).

Note
  FWHM = width * 2 * sqrt(ln(2)) = width * 1.665

Parameters

  pw

  shape parameters. the length of the wave defines the number of peaks.
  - pw[0] = constant coefficient of background
  - pw[1] = linear coefficient of background
  - pw[2 + (i-1) * 3] = amplitude of peak i
  - pw[3 + (i-1) * 3] = position of peak i
  - pw[4 + (i-1) * 3] = width of peak i (see note)

  yw | y (dependent) values.
  xw | x (independent) independent values.

Definition at line 80 of file pearl-fitfuncs.ipf.

## MultiVoigtLinBG()

threadsafe variable MultiVoigtLinBG | ( | wave | w,
|  | variable | x
| ) |  |

multiple voigt peaks on a linear background fit function.

Parameters

  w

  shape parameters. the length of the wave defines the number of peaks.
  - w[0] = constant coefficient of background
  - w[1] = linear coefficient of background
  - w[2 + (i-1) * 4] = amplitude of peak i
  - w[3 + (i-1) * 4] = position of peak i
  - w[4 + (i-1) * 4] = width of peak i
  - w[5 + (i-1) * 4] = shape of peak i

  x | independent variable

Definition at line 190 of file pearl-fitfuncs.ipf.

## MultiVoigtLinBG_AO()

threadsafe variable MultiVoigtLinBG_AO | ( | wave | pw,
|  | wave | yw,
|  | wave | xw
| ) |  |

multiple voigt peaks on a linear background fit function.

this is the all-at-once version of MultiVoigtLinBG. it runs slightly faster compared to the point-by-point function.

Parameters

  pw

  shape parameters. the length of the wave defines the number of peaks.
  - pw[0] = constant coefficient of background
  - pw[1] = linear coefficient of background
  - pw[2 + (i-1) * 4] = amplitude of peak i
  - pw[3 + (i-1) * 4] = position of peak i
  - pw[4 + (i-1) * 4] = width of peak i
  - pw[5 + (i-1) * 4] = shape of peak i

  yw | y (dependent) values.
  xw | x (independent) independent values.

Definition at line 224 of file pearl-fitfuncs.ipf.

## ShirleyBG()

variable ShirleyBG | ( | wave | w,
|  | wave | bg,
|  | variable | p1,
|  | variable | p2
| ) |  |

calculate the shirley background

Definition at line 980 of file pearl-fitfuncs.ipf.

## ShowComponents_Au4f_2p2()

variable ShowComponents_Au4f_2p2 | ( | wave | coef_wave,
|  | wave | fit_wave
| ) |  |

Definition at line 776 of file pearl-fitfuncs.ipf.

## ShowComponents_Au4f_2p3()

variable ShowComponents_Au4f_2p3 | ( | wave | coef_wave,
|  | wave | fit_wave
| ) |  |

Definition at line 875 of file pearl-fitfuncs.ipf.