XPS Peak Fitting Program for WIN95 XPSPEAK95 Version 2.0 Introduction I had spent >1000 hours on XPS peak fitting when I was a graduate student. During that time, I have dreamed of many features in the XPS peak fitting software that could help to obtain more information from the XPS peaks and reduce my processing time. Last year, I wrote a program that converts the Kratos XPS spectral files to ASCII data. Kratos's VISION software only generates peak parameters, not the peak intensity at each binding energy. That program can convert the peak parameters to a list of peak intensities. Once this program was finished, I found that the program could be easily converted to a peak fitting program. Then I added the features into the program, e.g., a better way to locate a point at a noise baseline for the Shirley background calculations, combine the two peaks of 2p3/2 and 2p1/2, fitting different XPS regions at the same time. Version 2.0 of the program has been extensively tested and debugged. A file conversion program is also included to convert the older file format to this one. In addition, Tougaard background subtraction was added. Because this subtraction requires a large scan range, the maximum number of points in each spectrum has been increased to 2000. Many checking codes are added so that the program will not end so easily. This version of the program was written in Visual Basic 4.0 and uses 32 bit processes. This is a freeware. You may ask for the source program if you really want to. I hope this program will be useful for people without a modern XPS software. I also hope that the new features in this program can be adopted by the XPS manufacturers in the later versions of their software. If you have any questions/suggestions, please send an email to me. Raymund W.M. Kwok Department of Chemistry The Chinese University of Hong Kong Shatin, Hong Kong Tel: (852)-2609-6261 Fax:(852)-2603-5057 email: rmkwok@cuhk.edu.hk Finally, I would like to thank the comments and suggestions of many people, e.g. Francois Gaillard, Gerard Tourillon. I hope I will add other features into the program in the next future. Program Installation Run Setup.exe program. Features of the program (1) Background Shirley, Linear and Tougaard background. For Tougaard background, the program can optimize the B1 parameter by minimizing the ‘square of the difference ‘ of the intensities of ten data points in the high binding energy side of the range with the intensities of the calculated background. We can choose None (1 point), 3, 5, 7, and 9 point average. This will average the intensities around the binding energy you selected. Hence, we do not need to locate a point with intensity at the middle of a noisy baseline. (2) Peak types: p, d and f. Each of these peaks combines the two splitting peaks. The FWHM is the same for both the splitting peaks, e.g. a p-type peak with FWHM=0.7eV is the combination of a p3/2 with FWHM at 0.7eV and a p1/2 with FWHM at 0.7eV, and with an area ratio of 2 to 1. If the theoretical area ratio is not true for the splitted peaks, the old way of setting two s-type peaks and adding the constraints should be used. The “s.o.s.” stands for spin orbital splitting. (3) Peak constraints This program uses four parameters for each peak, i.e., peak position, area, FWHM, and the %Gaussian-Lorentzian. Since peak area depends on peak height, FWHM and %GL, use peak height as a peak parameter cannot directly reflect concentration. Thus, peak area is used as a better way of correlating the concentration ratios. The optimisation of the %GL value is allowed in this program. A suggestion to use this feature is to find a nice peak for a certain setting of your instrument and optimise the %GL for this peak. Then we can fix the %GL in the later peak fitting process when the same instrument settings were used. For setting constraints, each parameter can only be the following three types: “referenced by others”, “reference to another parameter”, and “not involved in referencing”. The parameter cannot be both “referenced by another parameter” and “reference to another parameter”. You can set the constraints in the follow way, Position: Peak 2 = Peak 1 + 1.6 Position: Peak 3 = Peak 1 + 15 but you cannot Position: Peak 2 = Peak 1 + 1.6 Position: Peak 3 = Peak 2 + 13.4. (4) Optimisation You can optimise a single peak parameter, the peak (the peak position, area, FWHM, and the %GL if the “fix” box is not ticked), a single region (all the parameters of all the peaks in that region if the “fix” box is not ticked), or all the regions. During optimisation, you can press the “Cancel” button and the program will stop the process in the next cycle. (5) Option The %tolerence allows the optimisation routine to stop if the change in the "difference" after one loop is less that the %tolerence. The optimisation routine will also stop if the maximum number of loop is reached. We may also confirm the search range by selecting “medium” or “small”. The “difference” means the sum of the square of the difference between each point in the calculated and the experimental curve. This is a little bit faster that using Chi^2 since Chi^2 requires an additional division calculation for each point. (6) Import The program can read the Kratos's *.DES files. The peak fitting parameters in the file will also be read. It can also import ASCII file in the following format: Binding Energy Value 1 Intensity Value 1 Binding Energy Value 2 Intensity Value 2 .. .. The B.E. list must be in ascending or descending order. However, the file cannot have other lines before and after the data, and sometimes, TAB may cause reading error. Limitations This program limits the maximum number of points for each spectrum to 2000 and the maximum of peaks for all the regions to 21. Sample Files: (i) gaas.xps: a file contains 10 spectra Use Open to retrieve the file. It includes ten regions, 1-4 for Ga 3d, 5-8 for Ga 3d and 9-10 for S 2p. For the Ga 3d and As 3d, the peaks are d-type with s.o.s.=0.3 and 0.9 respectively. Regions 4 and 8 are the sample just after S- treatment. Other regions are after annealing. Peak width of Ga 3d and As 3d are constrained to those in regions 1 and 5. Because of the Fermi level shift, the peak positions are not constrained. (ii) As3d1.des: a Kratos DES file Use import Kratos to retrieve the file. Note that the four peaks are all s-type. You may delete peak 2, 4 and change the peak 1,3 to d-type with s.o.s. =0.7. (iii) As3d.prn: a ASCII file Use import ASCII to retrieve the file. In order to fit the spectra, you need to first add the background and then add two d-type peaks with s.o.s.=0.7. Have Fun! July 22,1996.