PMTResponseAndDAQ
Link to source: PMTResponseAndDAQ
Plugin Description
Plugin to simulate the PMT response and DAQ effects.
First the single PMT waveform is simulated based on the photon timing and gain information. Next the waveform is converted to ADC counts, noise and a baseline are added. Then hitfinding is performed and the found intervals are split into multiple fragments of fixed length (if needed). Finally the data is saved as raw_records.
Technical Details
depends_on = ('photon_summary', 'pulse_ids', 'pulse_windows')
provides = ('raw_records',)
data_kind = raw_records
__version__ = 0.1.6
Provided Columns
raw_records
Field Name |
Data Type |
Comment |
|---|---|---|
time |
int64 |
Start time since unix epoch [ns] |
length |
int32 |
Length of the interval in samples |
dt |
int16 |
Width of one sample [ns] |
channel |
int16 |
Channel/PMT number |
pulse_length |
int32 |
Length of pulse to which the record belongs (without zero-padding) |
record_i |
int16 |
Fragment number in the pulse |
baseline |
int16 |
Baseline determined by the digitizer (if this is supported) |
data |
(‘<i2’, (110,)) |
Waveform data in raw ADC counts |
Config Options
Option |
default |
track |
Help |
|---|---|---|---|
debug |
False |
False |
Show debug informations |
deterministic_seed |
True |
True |
Set the random seed from lineage and run_id, or pull the seed from the OS |
digitizer_bits |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=digitizer_bits |
True |
Number of bits of the digitizer boards |
digitizer_reference_baseline |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=digitizer_reference_baseline |
True |
Digitizer reference baseline |
digitizer_voltage_range |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=digitizer_voltage_range |
True |
Voltage range of the digitizer boards [V] |
dt |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=sample_duration |
True |
Width of one sample [ns] |
enable_noise |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=enable_noise |
True |
Option to enable or disable noise |
external_amplification |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=external_amplification |
True |
External amplification factor |
min_records_gap_length_for_splitting |
100000.0 |
False |
chunk can not be split if gap between pulses is smaller than this value given in ns |
n_tpc_pmts |
<OMITTED> |
True |
Number of PMTs in the TPC |
noise_data |
simple_load://resource://simulation_config://SIMULATION_CONFIG_FILE.json?&key=noise_file&fmt=npy |
True |
Measured noise data |
pe_pulse_ts |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=pe_pulse_ts |
True |
Time for PMT SPE waveform [sample] |
pe_pulse_ys |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=pe_pulse_ys |
True |
Amplitude for PMT SPE waveform [PE/sample] |
pmt_circuit_load_resistor |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=pmt_circuit_load_resistor |
True |
PMT circuit load resistor [kg m^2/(s^3 A)] |
pmt_pulse_time_rounding |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=pmt_pulse_time_rounding |
True |
Time rounding of the PMT pulse |
raw_records_file_size_target |
200 |
False |
Target for the raw records file size [MB] |
samples_after_pulse_center |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=samples_after_pulse_center |
True |
Number of samples after the pulse center |
samples_before_pulse_center |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=samples_before_pulse_center |
True |
Number of samples before the pulse center |
special_thresholds |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=special_thresholds |
True |
Special thresholds for certain PMTs |
trigger_window |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=trigger_window |
True |
Trigger window |
user_defined_random_seed |
None |
True |
Define the random seed manually. You need to set deterministic_seed to False |
zle_threshold |
take://resource://SIMULATION_CONFIG_FILE.json?&fmt=json&take=zle_threshold |
True |
Threshold for the zero length encoding |