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

Dependency Graph

%3 raw_records raw_records photon_summary photon_summary raw_records->photon_summary pulse_ids pulse_ids raw_records->pulse_ids pulse_windows pulse_windows raw_records->pulse_windows propagated_s2_photons propagated_s2_photons photon_summary->propagated_s2_photons propagated_s1_photons propagated_s1_photons photon_summary->propagated_s1_photons pmt_afterpulses pmt_afterpulses photon_summary->pmt_afterpulses pulse_ids->photon_summary pulse_windows->photon_summary merged_s2_photons merged_s2_photons propagated_s2_photons->merged_s2_photons merged_extracted_electrons merged_extracted_electrons propagated_s2_photons->merged_extracted_electrons microphysics_summary microphysics_summary propagated_s1_photons->microphysics_summary s1_photon_hits s1_photon_hits propagated_s1_photons->s1_photon_hits pmt_afterpulses->propagated_s2_photons pmt_afterpulses->propagated_s1_photons s2_photons s2_photons merged_s2_photons->s2_photons delayed_electrons_s2_photons delayed_electrons_s2_photons merged_s2_photons->delayed_electrons_s2_photons extracted_electrons extracted_electrons merged_extracted_electrons->extracted_electrons extracted_delayed_electrons extracted_delayed_electrons merged_extracted_electrons->extracted_delayed_electrons s2_photons->microphysics_summary drifted_electrons drifted_electrons s2_photons->drifted_electrons s2_photons->extracted_electrons drifted_delayed_electrons drifted_delayed_electrons delayed_electrons_s2_photons->drifted_delayed_electrons delayed_electrons_s2_photons->extracted_delayed_electrons photo_ionization_electrons photo_ionization_electrons delayed_electrons_s2_photons->photo_ionization_electrons interactions_in_roi interactions_in_roi microphysics_summary->interactions_in_roi quanta quanta microphysics_summary->quanta electric_field_values electric_field_values microphysics_summary->electric_field_values drifted_electrons->microphysics_summary electrons_at_interface electrons_at_interface extracted_electrons->electrons_at_interface clustered_interactions clustered_interactions interactions_in_roi->clustered_interactions volume_properties volume_properties interactions_in_roi->volume_properties volume_selection volume_selection interactions_in_roi->volume_selection quanta->interactions_in_roi quanta->electric_field_values electric_field_values->interactions_in_roi geant4_interactions geant4_interactions clustered_interactions->geant4_interactions cluster_index cluster_index clustered_interactions->cluster_index volume_properties->clustered_interactions volume_selection->volume_properties cluster_index->geant4_interactions electrons_at_interface->microphysics_summary electrons_at_interface->drifted_electrons drifted_delayed_electrons->photo_ionization_electrons delayed_electrons_at_interface delayed_electrons_at_interface extracted_delayed_electrons->delayed_electrons_at_interface photo_ionization_electrons->s2_photons photo_ionization_electrons->microphysics_summary photo_ionization_electrons->extracted_electrons s2_photons_sum s2_photons_sum photo_ionization_electrons->s2_photons_sum s2_photons_sum->microphysics_summary s2_photons_sum->drifted_electrons s2_photons_sum->extracted_electrons delayed_electrons_at_interface->drifted_delayed_electrons delayed_electrons_at_interface->photo_ionization_electrons s1_photon_hits->microphysics_summary