DOI: 10.5281/zenodo.3701332
title: Precise Lifetime Measurement of the Cesium 5²D₅⸝₂ State

description: This repository contains data and software related to an experiment in which we determine the lifetime of the cesium 5<sup>2</sup>D<sub>5/2</sub> state using atoms in a vapor cell. More information is available in the following paper: arXiv:1912.10089 We provide the data and Python scripts for data evaluation in six folders. We zipped these folders with Windows 10 Enterprise, Version 1903. In the following, we describe how to use data and scripts to get the lifetime results published in our paper. <strong>Raw Time-Tags</strong> Here, we provide the raw measurement data. We perform several experiment cycles. An excitation laser is switched on at the beginning of each cycle. In the middle of the cycle, it is switched off. We use two single-photon counting modules (SPCM): one detects fluorescence photons emitted by the atoms, the other reference light from the excitation laser beam. We record the arrival times of those photons with respect to the beginning of the cycle. These time delays can be used to create a histogram and to determine the lifetime of the cesium 5<sup>2</sup>D<sub>5/2</sub> state. For each measurement, we provide two data files which are encoded in ‘UTF-8’: ‘figx_xxx_reference_time_tags.dat’ ‘figx_xxx_fluorescence_time_tags.dat’ where ‘figx_xxx’ is a unique tag indicating the figure and point to which this data corresponds in our paper. The ‘figx_xxx_fluorescence_raw_data.dat’ and ‘figx_xxx_reference_raw_data.dat’ files contain the raw time delays in picoseconds of the fluorescence and the reference photons, respectively. We provide raw time delays in the following folders: ‘fig3_time_tags’: The data used in figure 3. ‘fig4_time_tags’: The data used in figure 4. This folder has six subfolders, named ‘point_x’, where x indicates to which point of figure 4 the data belongs. The data of the subfolders ‘point_x_y’ was used for points x and y of figure 4 (the time-tags of the fluorescence photons were split into two sub-datasets with equal size). ‘fig5_time_tags’: The data underlying figure 5. This folder has subfolders from ‘23C’ to ‘116C’ where the name indicates the temperature in units of °C of the vapor cell during the measurement. Note that the various measurements have different cycle lengths because reabsorption makes the decay of the fluorescence signal longer. For the lifetime value at a temperature of 23 °C, we used the lifetime which we found in figure 4. For some measurements, the time-tags of the reference SPCM are missing because only one SPCM was available for these measurements. <strong>Histograms</strong> Since the files of the raw measurement data are large, we also provide histograms of the time tags. For all datasets discussed above, we generated a histogram with a bin length of 5 ns. We save these histograms with the same file name as the files with the raw time tags but with the ending ‘_histo’ instead of ‘_time_tags’, e.g., ‘fig3_fluorescence_histo.dat’ and ‘fig3_reference_histo.dat’. We always provide two file formats: a data file (.dat), containing rows with the start time of a bin in microseconds, and the number of SPCM counts due to the fluorescence signal until the start of the next bin, separated by a comma. These files are encoded in ‘UTF-8’. a NumPy compressed array format file (.npz), which includes two arrays: The first array is called ‘time’ and contains the starting times of the bins. The second array is called ‘counts’ and includes the corresponding measured number of fluorescence photons per bin. It is possible to load the arrays into a Python script with numpy.load (tested with NumPy version 1.18.1). <strong>Additional Information on the Measurements</strong> We provide a JavaScript Object Notation file (.json) for each measurement. These files provide the following information about every measurement: temperature of the cell, number of detected photons, photons per cycle, and the total measurement duration. They are named ‘figx_xxx_info.json’, where ‘figx_xxx’ is the same indicator as discussed in section ‘Raw Time-Tags’. <strong>Scripts</strong> This folder contains two sample scripts to illustrate how our data can be processed with Python. The first Python script (generate_histograms.py) generates a histogram of the photon arrival times. The second Python script performs a fit in order to determine the lifetime of the cesium 5<sup>2</sup>D<sub>5/2</sub> state. We wrote these scripts with Python 3.6.5. To avoid errors, one should download all zipped folders and extract them to the same folder. The script ‘generate_histograms.py’ processes the fluorescence photon detection events stored in the folder ‘fig3_time_tags’. The file ‘fig3 _fluorescence_time_tags.dat’ is read into the script, and a histogram is generated. To run the script, the following Python libraries are required: NumPy (version 1.18.1), os (version 0.1.4), and json (version 2.0.9). The script ‘fit_data.py’ loads the file ‘fig3_fluorescence_histogram.npz’ from the folder ‘histograms\ fig3_time_tags’ in NumPy arrays. We perform a least-square fit on the histogram of the fluorescence decay. From the fit, we get the lifetime of the cesium 5<sup>2</sup>D<sub>5/2</sub> state. Optionally, it is possible to print a fit report and to plot the fit with its residuals. The following Python libraries are required to run the script: NumPy (version 1.18.1), os (version 0.1.4), json (version 2.0.9), pyplot from matplotlib (version 3.1.1), and Parameters, ExponentialModel, and ConstantModel from LmFit (version 1.0.0). <strong>Figures</strong> In the folder ‘figures’, we provide the values of the points which we used to generate figure 4 and figure 5. For both figures, we made a JavaScript Object Notation file (.json) where the data of every point is stored in a dictionary. This data contains the fit result of the lifetime and the temperature of the measurement. Additionally, it contains the corresponding errors and the units of every value.