How to optimize resolution

Last modified by sjhuotar@helsinki_fi on 2024/02/07 06:21

Our spectrometer uses the so-called Johann geometry which is based on a Rowland circle. The x-ray source point, the center of the monochromator crystal, and the sample (or the sample/detector slit) reside on a circle that has a diameter that equals the monochromator bending radius.

The distance between the monochromator and the x-ray source should be R*sin(th) where R = bending radius (Rowland circle diameter) and th = Bragg angle. If the distance differs from this nominal value, the Bragg angle will vary along the monochromator crystal surface, creating a range of photon energies to be reflected. This is called the off-Rowland contribution to the energy resolution. The variety of photon energies in the monochromatic beam due to this contribution is 

dE/E = (zD)/R^2 * cot(th)

where z is the difference between the nominal source-monochromator distance and the actual distance, and D is the active monochromator diameter. This contribution to the energy broadening can be made smaller by reducing the active monochromator diameter by masking it with lead or choosing a monochromator with larger bending radius, or by using Bragg angles as close to 90 degrees as possible, but none of these are choices we can really make. Reducing the monochromator size will reduce the intensity, the bending radius is fixed, and the Bragg angles are given by nature and Bragg's law.

But of course we can correct the distance and minimizing z, by making the source-monochromator distance as close to R*sin(th) as possible. Physically the distance can be measured by a ruler, but this is only accurate with a couple of centimeters because the exact source location cannot be seen from outside. Unfortunately couple of centimeter error in the source-monochromator distance has a huge effect on the energy resolution.

After an initial alignment (see other pages in this manual), we can optimize this distance in the following iterative manner.

0) Take a sample that has as sharp spectral features as possible. A metal foil should work fine. In the case of a transition metal K-edge, you could also consider an oxide with a sharp and intense pre-edge. Check the literature for typical standard spectra for your absorption edge you wish to optimize the spectrometer for and select a sample that you possess and has visibly strongly variable spectral features.

1) Do an energy scan across the absorption edge. A quite short scan (just across the relevant sharp spectral features that you have chosen) is enough.

2) Change the monochromator distance rho by e.g., 5 mm and realign the dety/detx so that the detector is again in the focus. If the monochromator moves by -5 mm, the dety should move by +10 mm (twice the monochromator movement, and the sign convention is such that the sign is reversed). Check this yourself! 

3) Repeat the energy scan. Did the spectrum become broader or sharper? You may evaluate this in PyMCA by taking the derivatives of the spectra. If the spectrum became broader, go to the other direction with the monochromator. If it got sharper, repeat sequence 1)-2) until it becomes broader again. The sharpest spectrum corresponds to the correct rho calibration. If the spectrum didn't really visibly change, you are most likely close to the optimum. Do a couple of more steps and you should see a visible change in the spectrum.


Here is a string of commands to do one iteration of such a sequence.

SPEC6> set_detx_offset 0; set rho A[rho]-2.5; set dety A[dety]+5; umv energy 7.69; dscan detx 10 -10 20 1; set_detx_offset CEN-A[detx];ascan energy 7.70 7.73 90 1


What is it?

set_detx_offset 0  # makes sure detx_offset is zero

set rho A[rho]-2.5   # changes the user value of the monochromator position - after this all monochromator positions will be further away from the source by 2.5 mm.

set dety A[dety]+5  # changes the dety position accordingly so that the focal spot on the detector does not change because the monochromator moved

umv energy 7.69 # the actual energy position where you wish to calibrate detx depends on your spectrum - this is ok for Co K edge. Change the number (in keV) to whatever is relevant for you.

dscan detx 10 -10 20 1   # scans detx and finds the focus

set_detx_offset CEN-A[detx]   # corrects for the shift in detx position: after this the detx is in the focus

ascan energy 7.70 7.73 90 1   # does an energy scan across the relevant edge (in this case Co K edge - again, change this line so that the energies match your case)


Repeat the same command line and compare the energy scans (point 3) above).


With this you should find the optimal distance. When you have the sharpest spectrum at hand, stop there and be happy.