arpes.analysis.self_energy.to_self_energy#
- arpes.analysis.self_energy.to_self_energy(dispersion, bare_band, fermi_velocity=0, *, k_independent=True)[source]#
Converts MDC fit results into the self energy.
This largely consists of extracting out the linewidth and the difference between the dispersion and the bare band value.
\[lorentzian(x, amplitude, center, sigma) = (amplitude / pi) * sigma/(sigma^2 + ((x-center))**2)\]Once we have the curve-fitted dispersion we can calculate the self energy if we also know the bare-band dispersion. If the bare band is not known, then at least the imaginary part of the self energy is still calculable, and a guess as to the real part can be calculated under assumptions of the bare band dispersion as being free electron like with effective mass m* or being Dirac like (these are equivalent at low enough energy).
Acceptabe bare band specifications are discussed in detail in estimate_bare_band above.
To future readers of the code, please note that the half-width half-max of a Lorentzian is equal to the $gamma$ parameter, which defines the imaginary part of the self energy.
- Parameters:
dispersion (xr.DataArray | xr.Dataset) – The array of the fitted peak locations. When xr.Dataset is set, “.results” is used.
bare_band (xr.DataArray) – the bare band.
fermi_velocity (float) – The fermi velocity. If not set, use local_fermi_velocity
k_independent – bool
- Returns:
The equivalent self energy from the bare band and the measured dispersion.