kMap.py: A Python program for simulation and data analysis in photoemission tomography
Ultra-violet photoemission spectroscopy is a widely-used experimental technique to investigate the valence electronic structure of surfaces and interfaces. When detecting the intensity of the emitted electrons not only as a function of their kinetic energy, but also depending on their emission angle, as is done in angle-resolved photoemission spectroscopy (ARPES), extremely rich information about the electronic structure of the investigated sample can be extracted. For organic molecules adsorbed as well-oriented ultra-thin films on metallic surfaces, ARPES has evolved into a technique called photoemission tomography (PT). By approximating the final state of the photoemitted electron as a free electron, PT uses the angular dependence of the photocurrent, a so-called momentum map or k-map, and interprets it as the Fourier transform of the initial state’s molecular orbital, thereby gaining insights into the geometric and electronic structure of organic/metal interfaces. In this contribution, we present kMap.py which is a Python program that enables the user, via a PyQt-based graphical user interface, to simulate photoemission momentum maps of molecular orbitals and to perform a one-to-one comparison between simulation and experiment. Based on the plane wave approximation for the final state, simulated momentum maps are computed numerically from a fast Fourier transform (FFT) of real space molecular orbital distributions, which are used as program input and taken from density functional calculations. The program allows the user to vary a number of simulation parameters, such as the final state kinetic energy, the molecular orientation or the polarization state of the incident light field. Moreover, also experimental photoemission data can be loaded into the program, enabling a direct visual comparison as well as an automatic optimization procedure to determine structural parameters of the molecules or weights of molecular orbitals contributions. With an increasing number of experimental groups employing photoemission tomography to study molecular adsorbate layers, we expect kMap.py to serve as a helpful analysis software to further extend the applicability of PT.