DOI: 10.5061/dryad.c2fqz61nc
title: Spectrally-resolved higher-order photon statistics of spontaneous parametric down-conversion

description: Time-correlated single photon counting (TCSPC) data is obtained using a
 Becker & Hickl DPC-230 correlation board in order to study the
 photon statstics of the incident light beam as functions of different
 parameters. Here specifically, the photon statistics of spontaneous
 parametric down-conversion (SPDC) exhibit dependencies on wavelength, pump
 power, and coincidence time. Notably, the average photon numbers were
 found to asymmetrically increase with increasing pump power around the
 degenerate wavelength of emission. By the coupling of the detection scheme
 to a spectrometer, studying different bandwidths within the emission
 revealed that shorter wavelengths increased nonlinearly with pump power,
 while longer wavelengths showed more linear behavior, indicating a
 wavelength-dependent efficiency in the generation of the SPDC. We employ
 the use of a four-detector Hanbury Brown and Twiss Interferometer to study
 the photon statistics of the signal beam, where the idler serves as the
 herald. The measured statistics were found to be best described by a
 Negative Binomial Distribution, which is a characteristic of thermal light
 sources. The detection and characterization of complex light sources has
 wide ranging applications in the fields of quantum metrology, quantum
 communications, and quantum computing, more specifically, a system that is
 sensitive to wavelength and photon number distribution. 
description: # Spectrally-resolved higher-order photon statistics of spontaneous
 parametric down-conversion Dataset DOI:
 [10.5061/dryad.c2fqz61nc](10.5061/dryad.c2fqz61nc) ## Description of the
 data and file structure The data in each `.spc` file is saved as binary
 data, and needs to be unpacked using high times and low times as outlined
 in the Becker & Hickl documentation. One example of how to unpack the
 `.spc` files using Python is
 shown [https://github.com/laserlab/spcReader](https://github.com/laserlab/spcReader). Once the required packages are installed, the `.spc`  file would be unpacked and put into a Pandas DataFrame by running the following commands  ``` import spcReader spc_path = "/path/to/file.spc" spc_object = spcReader.readspc(spc_path) df = spc_object.topandas() df.head(10) ``` The provided git repo also provides the option of unpacking the `.spc` to ascii with the `toascii` function or to arrays with the `datatoarray` function. Using this library, the resulting `df` would have one column for each channel in the measurement and an index which reflects the absolute time. Channel 20 corresponds to the reference pulse channel, and the other four channels are the single photon detectors (APDs).  Within the `.spc` files, events are recorded in time-correlated single photon counting (TCSPC) fashion, so the data is recorded as the relative time difference between a reference channel and detector events. The photon events, their reference pulse and relative time values are used to reconstruct the photon statistics of the incident light. Here, the photon statistics of spontaneous parametric down-conversion (SPDC) are studied as functions of wavelength, pump power, and coincidence time. The wavelength dependence is studied through utilizing a spectrometer, where the grating can be rotated to adjust which portions of the spectrum coupled into the fiber input of the Hanbury Brown and Twiss (HBT) setup. Based on the observed spectra there are 10 wavelength measurements obtained for each pump power used. There is a known offset with the particular grating we are using, so the measured wavelengths need to be corrected by a factor of +23 nm. The four pump powers used are approximately 39 mW, 33 mW, 25 mW, and 14 mW. The associated files are named by their pump power and uncorrected grating wavelength, where p40 corresponds to 39 mW, p30 corresponds to 33 mW, and so on. For each measurement, the maximum file size is 5 minutes and each measurement was run for 100 minutes, so every measurement has 20 associated files. Here, the 20 `.spc` files are put together in a single `.tar` file and a hash file to verify the integrity of the `.tar` is also created (`.sha256`). ## Files and variables #### File: all_p13wave764_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave768_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave772_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave776_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave780_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave788_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave792_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave796_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave760_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave764_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave768_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave776_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave760_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave780_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave772_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave784_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave788_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave792_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p20wave796_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave760_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave764_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave768_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave772_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave780_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave776_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p13wave784_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave784_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave788_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave792_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave760_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave764_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave768_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p30wave796_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave776_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave772_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave780_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave784_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave788_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave792_spc.tar.sha256 **Description:** hash file to verify the `.tar` file containing the `.spc` files. #### File: all_p40wave796_spc.tar.sha256 **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave780_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave784_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave788_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave792_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave768_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave760_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave796_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave764_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave796_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave768_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave788_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave772_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave780_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave792_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave776_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p13wave784_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave760_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave768_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave764_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave776_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave784_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave772_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave792_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave772_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave796_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave780_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p20wave788_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave760_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave792_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave764_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave784_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave796_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave788_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave768_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave776_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p30wave780_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave760_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave776_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave764_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. #### File: all_p40wave772_spc.tar **Description:** contains 20 files with the associated measurement in binary data stored as `.spc` files. ## Methods Since each cycle saved corresponds to five minutes of data, during the unpacking of each `.spc` file, the files are first concatenated together to create a master Pandas `DataFrame` reflecting the same information as the individual `.spc` files. Since the reference pulse numbers restart for every cycle, the maximum value from the preceding file is added to the reference pulse numbers of the next file in an effort to make the reference pulse number not repeat itself unless there are multiple photon detections within that reference pulse.   To count simultaneous events, the data is grouped by the reference pulse and `dt` (relative time) values using the `pd.groupby` function. The number of bins in the `pd.groupby` function can effectively change the coincidence window being applied to count the multi-photon events. Here, five coincidence windows are used, ranging from approximately 165 ps to 823 ps in steps of about 165 ps, resulting in five different coincidence windows. Since each measurement has a corresponding wavelength and pump power, the five coincidence times make the total number of data sets 200. After counting the coincidence detection events, the probability distributions for each measurement are reconstructed by taking the frequencies of the photon number events (from 1 to 4 since there are four detectors) and applying a derived single photon efficiency of the setup along with the normalization factor of detection opportunities. There is also a photon number resolving correction which is applied to the probability distributions and described in detail in the supplemental of the associated publication. The probability distributions are then fit using `scipy.optimize.differential_evolution`, which minimizes a loss function defined here as a least squares difference. The fitting functions used are a Negative Binomial (`scipy.stats.nbinom.pmf`), Poisson (`scipy.stats.poisson.pmf`) and a convolution of the two (using `np.convolve`). Based on the fittings, the average photon numbers are extracted to quantitatively study their dependencies on wavelength, pump power, and coincidence time.