the preceding day’s dataset (excluding the portion of the waveforms where a signal in prompt coincidence with ZEPLIN–III would appear) and searches for the smallest area pulses found above the baseline. This is done by the pulse-finding software ‘raVen’, a dedicated code derived from the ZEPLIN–III data reduction application ZE3RA [@ze3ra]. Most of the 320 $\mu$s long timelines are empty save for signals from spontaneous photoelectron emission from the PMTs, due to both dark noise and low-level light leakage. The peak position of the resulting SPE spectrum from each channel, which is very well defined for all modules, has been used to equalise the PMT gains across the array prior to the science run.

The SPE analysis ensures stability of the gains as well as providing a conversion from pulse size to number of photoelectrons, allowing accurate calibration of the signal response. Calibrating using SPEs from the science acquisition itself, rather than a dedicated SPE dataset, avoids interrupting the science run and maximises the WIMP search exposure. Moreover, this ensures signal pulses are calibrated with contemporaneous SPE data subjected to identical operational conditions. Figure \[speTrend\] shows the average of the mean SPE values from all 52 PMTs. With continuous dark 