DOI: 10.5061/dryad.0rxwdbsfh
title: Data from the July 16 2025 Advanced Accelerator Diagnostics Collaboration run at the SLAC NLCTA

description: An integrated detection system, comprised of a thin diamond sensor
 incorporated into a compact signal loop, coupled in turn to an
 application-specific integrated circuit readout chip, has been tested for
 the first time, using picosecond-duration electron pulses from the NLCTA
 accelerator at the SLAC National Accelerator Laboratory. For readout frame
 rates as high as 120 kHz, the detection system is shown to achieve a
 linear dynamic range of greater than 10 bits and a bandwidth of 4-5 GHz,
 with no ringing seen on the tail of the output pulse. This dataset
 captures results that demonstrate this system to be the best-performing
 multi-GHz ionizing particle detection system achieved to date.
description: # Data from the July 16 2025 Advanced Accelerator Diagnostics
 Collaboration run at the SLAC NLCTA Access this dataset on Dryad
 [https://doi.org/10.5061/dryad.0rxwdbsfh](https://doi.org/10.5061/dryad.0rxwdbsfh); file NLCTA_public.zip We have submitted our raw data from the run of a high-bandwidth ionizing particle detection system. The data was from the characterization of the system using short (picosecond) bursts of high-energy (40 MeV) electrons produced by the Next Linear Collider Test Accelerator (NLCTA) at the SLAC National Accelerator Laboratory. Each burst produces an event inside the detection system, and many (hundreds) of bursts (collected into a dataset called a "run") are recorded for a number of setting of the detection system control parameters. From this data, the system performance can be determined. The recorded data is, for each event, the output of a 45-element switched capacitor array, with a sampling frequency of 36.9 Gs/s (36.9 billion sample per second, for a period of approximately 1.25 nanoseconds). ## Description of the data and file structure A list of the runs, including the detection system settings used during the run, is provided below. For each run, a signal file is stored in .h5 format. For each event in the run, this signal file contains two columns of data: one is time, and the other the voltage output by each capacitor in the switched capacitor array as the voltage levels are clocked out, one by one. For most (but not all) runs, as indicated below, a second file is stored: that of the level of the clock signal that indicates when the system output should transition to the next capacitor in the array. The format is again time in one column and voltage (the clock level) in the other column. In the raw data available here, the runs are labeled by run number, as described below, with a .sig suffix for signal and .clk suffix for clock. Detection system settings are distinguished by the bias voltage applied to the diamond sensor that senses the passing of the electron beam, and the frequency of the readout clock. For "pedestal" runs, the beam was stoppered, so that the response of the system to a no-signal condition could be recorded. Run 00000,00001,00002 Diamond bias +100 Clock frequency 2 Mz Run 00003 PEDESTAL NO BEAM Diamond bias +100 Clock frequency 2 Mz Run 00004,00005,00006 Diamond bias +50 Clock frequency 2 Mz Run 00007,00008,A00009,A00010,A00011 Diamond bias +150 Clock frequency 2 Mz Run A00012 PEDESTAL - no beam Diamond bias +150 Clock frequency 2 Mz Run A00013,A00014,A00015,A00016,A00017, [A00018,A00019,A00020 signal only - no clock!] Diamond bias +200 Clock frequency 2 Mz Run A00021 PEDESTAL (no beam) Diamond bias +50 Clock frequency 2 Mz Run [No clock saved] A00022,A00023,A00024 Diamond bias +50 Clock frequency 2 Mz Run [No clock saved] A00025,A00026,A00027 Diamond bias +100 Clock frequency 2 Mz Run A00028 [no clock] PESDESTAL: no beam Diamond bias +100 Clock frequency 2 Mz Run A00029 [with clock] Diamond bias -100 Clock frequency 2 Mz Run A00030 PESDESTAL: no beam Diamond bias -100 Clock frequency 2 Mz Run A00031,A00032,A00033 [with clock] Diamond bias +200 Clock frequency 4 Mz Run A00034 PESDESTAL: no beam Diamond bias +200 Clock frequency 4 Mz Run A00035 PESDESTAL: no beam Diamond bias +200 Clock frequency 6 Mz Run A00036,A00037,A00038 [with clock] Diamond bias +200 Clock frequency 6 Mz ## Sharing/Access information This is the sole source for accessing the data of this study. The data derives from the test beam run performed at the SLAC SLNCAT on July 16 2025. ## Code/Software The follow Python code snippet, and included documentation, should help in opening and interpreting the .h5 data files. Note that the comment character "#" has been replaced by "!" to avoid conflicting with the format of the README file. Anyone using the code should replace "!" with "#". ! Only need h5py and numpy -- Pandas used for our analysis import pandas as pd import numpy as np import h5py ! Data is stored in "/Waveforms/Channel 3" for clock files ! Or "/Waveforms/Channel 4" for asic output ! If unsure, printing hierarchical file structure will make structure clear path = f"./NLCTA_200V/Pedestal/CLKA00021.h5" with h5py.File(path, 'r') as file: file.visit(lambda x: print (x)) ! When structure is known, access data by indexing file then converting to 2D array with h5py.File(path, 'r') as file: data_dir = file['Waveforms']['Channel 3'] data = [data_dir[key][:] for key in data_dir.keys()] ! Load into DataFrame if desired clock = pd.DataFrame({'Waveform': data}, index=np.arange(len(data))) ! Alternatively, for both clock and asic output files with h5py.File(path, 'r') as file: wfm_dir = file['Waveforms'] data_dir = wfm_dir[list(wfm_dir.keys())[0]] data = [data_dir[key][:] for key in data_dir.keys()]