XAMS - amstrax datastructure
This page is an autogenerated reference for all the plugins in amstrax.context.xams-context
.
Colors indicate data kinds. To load tables with different data kinds, you currently need more than one get_df (or get_array) commands.
event_info
Description
Provided by plugin: EventInfo
Data kind: events
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cs1 | float32 | Corrected area of main S1 [PE] |
cs2 | float32 | Corrected area of main S2 [PE] |
alt_cs1 | float32 | Corrected area of alternate S1 [PE] |
alt_cs2 | float32 | Corrected area of alternate S2 [PE] |
n_peaks | int32 | Number of peaks in the event |
drift_time | float32 | Drift time between main S1 and S2 in ns |
event_number | int64 | Event number in this dataset |
s1_index | int32 | Main S1 peak index in event |
alt_s1_index | int32 | Alternate S1 peak index in event |
s1_time | int64 | Main S1 start time since unix epoch [ns] |
alt_s1_time | int64 | Alternate S1 start time since unix epoch [ns] |
s1_center_time | int64 | Main S1 weighted center time since unix epoch [ns] |
alt_s1_center_time | int64 | Alternate S1 weighted center time since unix epoch [ns] |
s1_endtime | int64 | Main S1 end time since unix epoch [ns] |
alt_s1_endtime | int64 | Alternate S1 end time since unix epoch [ns] |
s1_area | float32 | Main S1 area, uncorrected [PE] |
alt_s1_area | float32 | Alternate S1 area, uncorrected [PE] |
s1_n_channels | int16 | Main S1 count of contributing PMTs |
alt_s1_n_channels | int16 | Alternate S1 count of contributing PMTs |
s1_n_hits | int16 | Main S1 count of hits contributing at least one sample to the peak |
alt_s1_n_hits | int16 | Alternate S1 count of hits contributing at least one sample to the peak |
s1_max_pmt | int16 | Main S1 PMT number which contributes the most PE |
alt_s1_max_pmt | int16 | Alternate S1 PMT number which contributes the most PE |
s1_max_pmt_area | float32 | Main S1 area in the largest-contributing PMT (PE) |
alt_s1_max_pmt_area | float32 | Alternate S1 area in the largest-contributing PMT (PE) |
s1_range_50p_area | float32 | Main S1 width, 50% area [ns] |
alt_s1_range_50p_area | float32 | Alternate S1 width, 50% area [ns] |
s1_range_90p_area | float32 | Main S1 width, 90% area [ns] |
alt_s1_range_90p_area | float32 | Alternate S1 width, 90% area [ns] |
s1_rise_time | float32 | Main S1 time between 10% and 50% area quantiles [ns] |
alt_s1_rise_time | float32 | Alternate S1 time between 10% and 50% area quantiles [ns] |
s1_area_fraction_top | float32 | Main S1 fraction of area seen by the top PMT array |
alt_s1_area_fraction_top | float32 | Alternate S1 fraction of area seen by the top PMT array |
s1_tight_coincidence | int16 | Main S1 Channel within tight range of mean |
alt_s1_tight_coincidence | int16 | Alternate S1 Channel within tight range of mean |
s1_n_saturated_channels | int16 | Main S1 Total number of saturated channels |
alt_s1_n_saturated_channels | int16 | Alternate S1 Total number of saturated channels |
alt_s1_interaction_drift_time | float32 | Drift time using alternate S1 [ns] |
alt_s1_delay | int32 | Time between main and alternate S1 [ns] |
s2_index | int32 | Main S2 peak index in event |
alt_s2_index | int32 | Alternate S2 peak index in event |
s2_time | int64 | Main S2 start time since unix epoch [ns] |
alt_s2_time | int64 | Alternate S2 start time since unix epoch [ns] |
s2_center_time | int64 | Main S2 weighted center time since unix epoch [ns] |
alt_s2_center_time | int64 | Alternate S2 weighted center time since unix epoch [ns] |
s2_endtime | int64 | Main S2 end time since unix epoch [ns] |
alt_s2_endtime | int64 | Alternate S2 end time since unix epoch [ns] |
s2_area | float32 | Main S2 area, uncorrected [PE] |
alt_s2_area | float32 | Alternate S2 area, uncorrected [PE] |
s2_n_channels | int16 | Main S2 count of contributing PMTs |
alt_s2_n_channels | int16 | Alternate S2 count of contributing PMTs |
s2_n_hits | int16 | Main S2 count of hits contributing at least one sample to the peak |
alt_s2_n_hits | int16 | Alternate S2 count of hits contributing at least one sample to the peak |
s2_max_pmt | int16 | Main S2 PMT number which contributes the most PE |
alt_s2_max_pmt | int16 | Alternate S2 PMT number which contributes the most PE |
s2_max_pmt_area | float32 | Main S2 area in the largest-contributing PMT (PE) |
alt_s2_max_pmt_area | float32 | Alternate S2 area in the largest-contributing PMT (PE) |
s2_range_50p_area | float32 | Main S2 width, 50% area [ns] |
alt_s2_range_50p_area | float32 | Alternate S2 width, 50% area [ns] |
s2_range_90p_area | float32 | Main S2 width, 90% area [ns] |
alt_s2_range_90p_area | float32 | Alternate S2 width, 90% area [ns] |
s2_rise_time | float32 | Main S2 time between 10% and 50% area quantiles [ns] |
alt_s2_rise_time | float32 | Alternate S2 time between 10% and 50% area quantiles [ns] |
s2_area_fraction_top | float32 | Main S2 fraction of area seen by the top PMT array |
alt_s2_area_fraction_top | float32 | Alternate S2 fraction of area seen by the top PMT array |
s2_tight_coincidence | int16 | Main S2 Channel within tight range of mean |
alt_s2_tight_coincidence | int16 | Alternate S2 Channel within tight range of mean |
s2_n_saturated_channels | int16 | Main S2 Total number of saturated channels |
alt_s2_n_saturated_channels | int16 | Alternate S2 Total number of saturated channels |
alt_s2_interaction_drift_time | float32 | Drift time using alternate S2 [ns] |
alt_s2_delay | int32 | Time between main and alternate S2 [ns] |
s1_max_diff | int32 | Main S1 largest time difference between apexes of hits [ns] |
alt_s1_max_diff | int32 | Alternate S1 largest time difference between apexes of hits [ns] |
s1_min_diff | int32 | Main S1 smallest time difference between apexes of hits [ns] |
alt_s1_min_diff | int32 | Alternate S1 smallest time difference between apexes of hits [ns] |
s2_x | float32 | Main S2 reconstructed X position, uncorrected [cm] |
s2_y | float32 | Main S2 reconstructed Y position, uncorrected [cm] |
alt_s2_x | float32 | Alternate S2 reconstructed X position, uncorrected [cm] |
alt_s2_y | float32 | Alternate S2 reconstructed Y position, uncorrected [cm] |
area_before_main_s2 | float32 | Sum of areas before Main S2 [PE] |
large_s2_before_main_s2 | float32 | The largest S2 before the Main S2 [PE] |
s2_x_cgr | float32 | Main S2 cgr-reconstructed X position, uncorrected [cm] |
s2_y_cgr | float32 | Main S2 cgr-reconstructed Y position, uncorrected [cm] |
alt_s2_x_cgr | float32 | Alternate S2 cgr-reconstructed X position, uncorrected [cm] |
alt_s2_y_cgr | float32 | Alternate S2 cgr-reconstructed Y position, uncorrected [cm] |
x | float32 | Main interaction x-position |
y | float32 | Main interaction y-position |
r | float32 | Main interaction r-position |
alt_s2_r | float32 | Alternative S2 interaction (rel. main S1) r-position |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
default_reconstruction_algorithm | cgr | <OMITTED> | (event_positions,) | default reconstruction algorithm that provides (x,y) |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_time_gate | 1 | <OMITTED> | (event_positions,) | Electron drift time from the gate in ns |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_positions,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
elife | 30000 | <OMITTED> | (corrected_areas,) | electron lifetime in [ns] (should be implemented in db soon) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
corrected_areas
Description
Provided by plugin: CorrectedAreas
Data kind: events
Plugin which applies light collection efficiency maps and electron life time to the data.
Computes the cS1/cS2 for the main/alternative S1/S2 as well as the corrected life time. Note:
Please be aware that for both, the main and alternative S1, the area is corrected according to the xy-position of the main S2. There are now 3 components of cS2s: cs2_top, cS2_bottom and cs2. cs2_top and cs2_bottom are corrected by the corresponding maps, and cs2 is the sum of the two.
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cs1 | float32 | Corrected area of main S1 [PE] |
cs2 | float32 | Corrected area of main S2 [PE] |
alt_cs1 | float32 | Corrected area of alternate S1 [PE] |
alt_cs2 | float32 | Corrected area of alternate S2 [PE] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
default_reconstruction_algorithm | cgr | <OMITTED> | (event_positions,) | default reconstruction algorithm that provides (x,y) |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_time_gate | 1 | <OMITTED> | (event_positions,) | Electron drift time from the gate in ns |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_positions,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
elife | 30000 | <OMITTED> | (corrected_areas,) | electron lifetime in [ns] (should be implemented in db soon) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
event_area_per_channel
Description
Provided by plugin: EventAreaPerChannel
Data kind: events
Simple plugin that provides area per channel for main and alternative S1/S2 in the event.
Columns provided
Field name | Data type | Comment |
---|---|---|
s1_area_per_channel | ('<f4', (5,)) | Area per channel for main S1 |
s1_length | int32 | Length of the interval in samples for main S1 |
s1_dt | int32 | Width of one sample for main S1 [ns] |
s2_area_per_channel | ('<f4', (5,)) | Area per channel for main S2 |
s2_length | int32 | Length of the interval in samples for main S2 |
s2_dt | int32 | Width of one sample for main S2 [ns] |
alt_s1_area_per_channel | ('<f4', (5,)) | Area per channel for alternative S1 |
alt_s1_length | int32 | Length of the interval in samples for alternative S1 |
alt_s1_dt | int32 | Width of one sample for alternative S1 [ns] |
alt_s2_area_per_channel | ('<f4', (5,)) | Area per channel for alternative S2 |
alt_s2_length | int32 | Length of the interval in samples for alternative S2 |
alt_s2_dt | int32 | Width of one sample for alternative S2 [ns] |
s1_n_channels | int16 | Main S1 count of contributing PMTs |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (event_area_per_channel, event_n_channel) | immutabledict mapping subdetector to (min, max) |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
event_n_channel
Description
Provided by plugin: EventAreaPerChannel
Data kind: events
Simple plugin that provides area per channel for main and alternative S1/S2 in the event.
Columns provided
Field name | Data type | Comment |
---|---|---|
s1_n_channels | int16 | Main S1 count of contributing PMTs |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (event_area_per_channel, event_n_channel) | immutabledict mapping subdetector to (min, max) |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
event_positions
Description
Provided by plugin: EventPositions
Data kind: events
Computes the observed and corrected position for the main S1/S2 pairs in an event. For XENONnT data, it returns the FDC corrected positions of the default_reconstruction_algorithm. In case the fdc_map is given as a file (not through CMT), then the coordinate system should be given as (x, y, z), not (x, y, drift_time).
Columns provided
Field name | Data type | Comment |
---|---|---|
x | float32 | Main interaction x-position |
alt_s2_x | float32 | Alternative S2 interaction (rel. main S1) x-position |
y | float32 | Main interaction y-position |
alt_s2_y | float32 | Alternative S2 interaction (rel. main S1) y-position |
r | float32 | Main interaction r-position |
alt_s2_r | float32 | Alternative S2 interaction (rel. main S1) r-position |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
default_reconstruction_algorithm | cgr | <OMITTED> | (event_positions,) | default reconstruction algorithm that provides (x,y) |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_time_gate | 1 | <OMITTED> | (event_positions,) | Electron drift time from the gate in ns |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_positions,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
event_waveform
Description
Provided by plugin: EventWaveform
Data kind: events
- Simple plugin that provides total (data) and top (data_top) waveforms for main and
alternative S1/S2 in the event.
Columns provided
Field name | Data type | Comment |
---|---|---|
s1_data | ('<f4', (200,)) | Waveform for main S1 [ PE / sample ] |
s1_length | int32 | Length of the interval in samples for main S1 |
s1_dt | int32 | Width of one sample for main S1 [ns] |
s2_data | ('<f4', (200,)) | Waveform for main S2 [ PE / sample ] |
s2_length | int32 | Length of the interval in samples for main S2 |
s2_dt | int32 | Width of one sample for main S2 [ns] |
alt_s1_data | ('<f4', (200,)) | Waveform for alternative S1 [ PE / sample ] |
alt_s1_length | int32 | Length of the interval in samples for alternative S1 |
alt_s1_dt | int32 | Width of one sample for alternative S1 [ns] |
alt_s2_data | ('<f4', (200,)) | Waveform for alternative S2 [ PE / sample ] |
alt_s2_length | int32 | Length of the interval in samples for alternative S2 |
alt_s2_dt | int32 | Width of one sample for alternative S2 [ns] |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
event_basics
Description
Provided by plugin: EventBasics
Data kind: events
Computes the basic properties of the main/alternative S1/S2 within an event.
The main S1 and alternative S1 are given by the largest two S1-Peaks within the event. The main S2 is given by the largest S2-Peak within the event, while alternative S2 is selected as the largest S2 other than main S2 in the time window [main S1 time, main S1 time + max drift time].
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
n_peaks | int32 | Number of peaks in the event |
drift_time | float32 | Drift time between main S1 and S2 in ns |
event_number | int64 | Event number in this dataset |
s1_index | int32 | Main S1 peak index in event |
alt_s1_index | int32 | Alternate S1 peak index in event |
s1_time | int64 | Main S1 start time since unix epoch [ns] |
alt_s1_time | int64 | Alternate S1 start time since unix epoch [ns] |
s1_center_time | int64 | Main S1 weighted center time since unix epoch [ns] |
alt_s1_center_time | int64 | Alternate S1 weighted center time since unix epoch [ns] |
s1_endtime | int64 | Main S1 end time since unix epoch [ns] |
alt_s1_endtime | int64 | Alternate S1 end time since unix epoch [ns] |
s1_area | float32 | Main S1 area, uncorrected [PE] |
alt_s1_area | float32 | Alternate S1 area, uncorrected [PE] |
s1_n_channels | int16 | Main S1 count of contributing PMTs |
alt_s1_n_channels | int16 | Alternate S1 count of contributing PMTs |
s1_n_hits | int16 | Main S1 count of hits contributing at least one sample to the peak |
alt_s1_n_hits | int16 | Alternate S1 count of hits contributing at least one sample to the peak |
s1_max_pmt | int16 | Main S1 PMT number which contributes the most PE |
alt_s1_max_pmt | int16 | Alternate S1 PMT number which contributes the most PE |
s1_max_pmt_area | float32 | Main S1 area in the largest-contributing PMT (PE) |
alt_s1_max_pmt_area | float32 | Alternate S1 area in the largest-contributing PMT (PE) |
s1_range_50p_area | float32 | Main S1 width, 50% area [ns] |
alt_s1_range_50p_area | float32 | Alternate S1 width, 50% area [ns] |
s1_range_90p_area | float32 | Main S1 width, 90% area [ns] |
alt_s1_range_90p_area | float32 | Alternate S1 width, 90% area [ns] |
s1_rise_time | float32 | Main S1 time between 10% and 50% area quantiles [ns] |
alt_s1_rise_time | float32 | Alternate S1 time between 10% and 50% area quantiles [ns] |
s1_area_fraction_top | float32 | Main S1 fraction of area seen by the top PMT array |
alt_s1_area_fraction_top | float32 | Alternate S1 fraction of area seen by the top PMT array |
s1_tight_coincidence | int16 | Main S1 Channel within tight range of mean |
alt_s1_tight_coincidence | int16 | Alternate S1 Channel within tight range of mean |
s1_n_saturated_channels | int16 | Main S1 Total number of saturated channels |
alt_s1_n_saturated_channels | int16 | Alternate S1 Total number of saturated channels |
alt_s1_interaction_drift_time | float32 | Drift time using alternate S1 [ns] |
alt_s1_delay | int32 | Time between main and alternate S1 [ns] |
s2_index | int32 | Main S2 peak index in event |
alt_s2_index | int32 | Alternate S2 peak index in event |
s2_time | int64 | Main S2 start time since unix epoch [ns] |
alt_s2_time | int64 | Alternate S2 start time since unix epoch [ns] |
s2_center_time | int64 | Main S2 weighted center time since unix epoch [ns] |
alt_s2_center_time | int64 | Alternate S2 weighted center time since unix epoch [ns] |
s2_endtime | int64 | Main S2 end time since unix epoch [ns] |
alt_s2_endtime | int64 | Alternate S2 end time since unix epoch [ns] |
s2_area | float32 | Main S2 area, uncorrected [PE] |
alt_s2_area | float32 | Alternate S2 area, uncorrected [PE] |
s2_n_channels | int16 | Main S2 count of contributing PMTs |
alt_s2_n_channels | int16 | Alternate S2 count of contributing PMTs |
s2_n_hits | int16 | Main S2 count of hits contributing at least one sample to the peak |
alt_s2_n_hits | int16 | Alternate S2 count of hits contributing at least one sample to the peak |
s2_max_pmt | int16 | Main S2 PMT number which contributes the most PE |
alt_s2_max_pmt | int16 | Alternate S2 PMT number which contributes the most PE |
s2_max_pmt_area | float32 | Main S2 area in the largest-contributing PMT (PE) |
alt_s2_max_pmt_area | float32 | Alternate S2 area in the largest-contributing PMT (PE) |
s2_range_50p_area | float32 | Main S2 width, 50% area [ns] |
alt_s2_range_50p_area | float32 | Alternate S2 width, 50% area [ns] |
s2_range_90p_area | float32 | Main S2 width, 90% area [ns] |
alt_s2_range_90p_area | float32 | Alternate S2 width, 90% area [ns] |
s2_rise_time | float32 | Main S2 time between 10% and 50% area quantiles [ns] |
alt_s2_rise_time | float32 | Alternate S2 time between 10% and 50% area quantiles [ns] |
s2_area_fraction_top | float32 | Main S2 fraction of area seen by the top PMT array |
alt_s2_area_fraction_top | float32 | Alternate S2 fraction of area seen by the top PMT array |
s2_tight_coincidence | int16 | Main S2 Channel within tight range of mean |
alt_s2_tight_coincidence | int16 | Alternate S2 Channel within tight range of mean |
s2_n_saturated_channels | int16 | Main S2 Total number of saturated channels |
alt_s2_n_saturated_channels | int16 | Alternate S2 Total number of saturated channels |
alt_s2_interaction_drift_time | float32 | Drift time using alternate S2 [ns] |
alt_s2_delay | int32 | Time between main and alternate S2 [ns] |
s1_max_diff | int32 | Main S1 largest time difference between apexes of hits [ns] |
alt_s1_max_diff | int32 | Alternate S1 largest time difference between apexes of hits [ns] |
s1_min_diff | int32 | Main S1 smallest time difference between apexes of hits [ns] |
alt_s1_min_diff | int32 | Alternate S1 smallest time difference between apexes of hits [ns] |
s2_x | float32 | Main S2 reconstructed X position, uncorrected [cm] |
s2_y | float32 | Main S2 reconstructed Y position, uncorrected [cm] |
alt_s2_x | float32 | Alternate S2 reconstructed X position, uncorrected [cm] |
alt_s2_y | float32 | Alternate S2 reconstructed Y position, uncorrected [cm] |
area_before_main_s2 | float32 | Sum of areas before Main S2 [PE] |
large_s2_before_main_s2 | float32 | The largest S2 before the Main S2 [PE] |
s2_x_cgr | float32 | Main S2 cgr-reconstructed X position, uncorrected [cm] |
s2_y_cgr | float32 | Main S2 cgr-reconstructed Y position, uncorrected [cm] |
alt_s2_x_cgr | float32 | Alternate S2 cgr-reconstructed X position, uncorrected [cm] |
alt_s2_y_cgr | float32 | Alternate S2 cgr-reconstructed Y position, uncorrected [cm] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | (event_basics,) | Allow S1s past the main S2 to become the main S1 and S2 |
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
electron_drift_velocity | 0.000002 | <OMITTED> | (event_basics,) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
event_s1_min_coincidence | 0 | <OMITTED> | (event_basics,) | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_alt_s2_in_max_drift_time | True | <OMITTED> | (event_basics,) | Make sure alt_s2 is in max drift time starting from main S1 |
force_main_before_alt | False | <OMITTED> | (event_basics,) | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
max_drift_length | 10 | <OMITTED> | (event_basics,) | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
peak_positions
Description
Provided by plugin: PeakPositions
Data kind: peaks
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
x_cgr | float32 | Interaction x-position center of gravity |
y_cgr | float32 | Interaction y-position center of gravity |
r_cgr | float32 | radial distance from center of gravity |
time | int64 | Start time of the peak (ns since unix epoch) |
endtime | int64 | End time of the peak (ns since unix epoch) |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_positions,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
events
Description
Provided by plugin: Events
Data kind: events
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
event_number | int64 | Event number in this dataset |
time | int64 | Event start time in ns since the unix epoch |
endtime | int64 | Event end time in ns since the unix epoch |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
left_event_extension | 500000 | <OMITTED> | (events,) | Extend events this many ns to the left from each triggering peak |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
right_event_extension | 50000 | <OMITTED> | (events,) | Extend events this many ns to the right from each triggering peak |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
trigger_min_area | 10 | <OMITTED> | (events,) | Peaks must have more area (PE) than this to cause events |
peak_basics
Description
Provided by plugin: PeakBasics
Data kind: peaks
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time of the peak (ns since unix epoch) |
endtime | int64 | End time of the peak (ns since unix epoch) |
center_time | int64 | Weighted center time of the peak (ns since unix epoch) |
area | float32 | Peak integral in PE |
n_hits | int32 | Number of hits contributing at least one sample to the peak |
n_channels | int16 | Number of PMTs contributing to the peak |
max_pmt | int16 | PMT number which contributes the most PE |
max_pmt_area | float32 | Area of signal in the largest-contributing PMT (PE) |
n_saturated_channels | int16 | Total number of saturated channels |
range_50p_area | float32 | Width (in ns) of the central 50% area of the peak |
range_90p_area | float32 | Width (in ns) of the central 90% area of the peak |
area_fraction_top | float32 | Fraction of area seen by the top array (NaN for peaks with non-positive area) |
length | int32 | Length of the peak waveform in samples |
dt | int16 | Time resolution of the peak waveform in ns |
rise_time | float32 | Time between 10% and 50% area quantiles [ns] |
tight_coincidence | int16 | Number of PMTs with hits within tight range of mean |
type | int16 | Type of peak (s1 or s2) |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
peaks
Description
Provided by plugin: Peaks
Data kind: peaks
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
length | int32 | Length of the interval in samples |
dt | int32 | Width of one sample [ns] |
channel | int16 | Channel/PMT number |
type | int8 | Classification of the peak(let) |
area | float32 | Integral across channels [PE] |
area_per_channel | ('<f4', (5,)) | Integral per channel [PE] |
n_hits | int32 | Number of hits contributing at least one sample to the peak |
data | ('<f4', (200,)) | Waveform data in PE/sample (not PE/ns!) |
data_top | ('<f4', (200,)) | Waveform data in PE/sample (not PE/ns!), top array |
width | ('<f4', (11,)) | Peak widths in range of central area fraction [ns] |
area_decile_from_midpoint | ('<f4', (11,)) | Peak widths: time between nth and 5th area decile [ns] |
saturated_channel | ('i1', (5,)) | Does the channel reach ADC saturation? |
n_saturated_channels | int16 | Total number of saturated channels |
tight_coincidence | int16 | Channel within tight range of mean |
max_gap | int32 | Largest gap between hits inside peak [ns] |
max_goodness_of_split | float32 | Maximum interior goodness of split |
max_diff | int32 | Largest time difference between apexes of hits inside peak [ns] |
min_diff | int32 | Smallest time difference between apexes of hits inside peak [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks,) | Gain to pe array |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | False | 5 | (peaks,) | Number of channels |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
single_channel_peaks | False | <OMITTED> | (peaks,) | Whether single-channel peaks should be reported |
peak_basics_ext
Description
Provided by plugin: PeakBasicsEXT
Data kind: peaks_ext
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time of the peak (ns since unix epoch) |
endtime | int64 | End time of the peak (ns since unix epoch) |
center_time | int64 | Weighted center time of the peak (ns since unix epoch) |
area | float32 | Peak integral in PE |
n_hits | int32 | Number of hits contributing at least one sample to the peak |
n_channels | int16 | Number of PMTs contributing to the peak |
max_pmt | int16 | PMT number which contributes the most PE |
max_pmt_area | float32 | Area of signal in the largest-contributing PMT (PE) |
n_saturated_channels | int16 | Total number of saturated channels |
range_50p_area | float32 | Width (in ns) of the central 50% area of the peak |
range_90p_area | float32 | Width (in ns) of the central 90% area of the peak |
area_fraction_top | float32 | Fraction of area seen by the top array (NaN for peaks with non-positive area) |
length | int32 | Length of the peak waveform in samples |
dt | int16 | Time resolution of the peak waveform in ns |
rise_time | float32 | Time between 10% and 50% area quantiles [ns] |
tight_coincidence | int16 | Number of PMTs with hits within tight range of mean |
type | int16 | Type of peak (s1 or s2) |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
baseline_samples | 40 | <OMITTED> | (records_ext,) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (peak_basics_ext,) | Map of channel numbers to top, bottom and aqmon, to be defined in the context |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_peak_sum_area_rtol | 0.0001 | <OMITTED> | (peak_basics_ext,) | Check if the area of the sum-wf is the same as the total area (if the area of the peak is positively defined). Set to None to disable. |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks_ext,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks_ext,) | Gain to pe array |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | False | 5 | (peaks_ext,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks_ext,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks_ext,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks_ext,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks_ext,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks_ext,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks_ext,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks_ext,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
s1_max_area_fraction_top | 0.2 | <OMITTED> | (peak_basics_ext,) | Maximum area fraction top for S1s |
s1_max_width | 225 | <OMITTED> | (peak_basics_ext,) | Maximum (IQR) width of S1s |
s1_min_area | 10 | <OMITTED> | (peak_basics_ext,) | Minimum area (PE) for S1s |
s1_min_channels | 5 | <OMITTED> | (peak_basics_ext,) | Minimum number of channels for S1s |
s1_min_width | 10 | <OMITTED> | (peak_basics_ext,) | Minimum (IQR) width of S1s |
s2_min_area | 10 | <OMITTED> | (peak_basics_ext,) | Minimum area (PE) for S2s |
s2_min_area_fraction_top | 0 | <OMITTED> | (peak_basics_ext,) | Minimum area fraction top for S2s |
s2_min_channels | 5 | <OMITTED> | (peak_basics_ext,) | Minimum number of channels for S2s |
s2_min_width | 225 | <OMITTED> | (peak_basics_ext,) | Minimum width for S2s |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
single_channel_peaks | False | <OMITTED> | (peaks_ext,) | Whether single-channel peaks should be reported |
records
Description
Provided by plugin: PulseProcessing
Data kind: records
Get the specific raw_records of the measurements (raw_records_v1724 or raw_records_v1730) and split the raw_records into: - records - pulse_counts Apply basic pulse processing:
Flip the pulse if it is necessary (only for the PMT pulse)
Calculate the baseline and integrate the waveform
Find hits
Filter the record and cut outside the hit bounds
pulse_counts holds some average information for the individual PMT channels for each chunk of raw_records. This includes e.g. number of recorded pulses, lone_pulses (pulses which do not overlap with any other pulse), or mean values of baseline and baseline rms channel.
Columns provided
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 |
area | int32 | Integral in ADC counts x samples |
reduction_level | uint8 | Level of data reduction applied (strax.ReductionLevel enum) |
baseline | float32 | Baseline in ADC counts. data = int(baseline) - data_orig |
baseline_rms | float32 | Baseline RMS in ADC counts. data = baseline - data_orig |
amplitude_bit_shift | int16 | Multiply data by 2**(this number). Baseline is unaffected. |
data | ('<i2', (110,)) | Waveform data in raw counts above integer part of baseline |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
pulse_counts
Description
Provided by plugin: PulseProcessing
Data kind: pulse_counts
Get the specific raw_records of the measurements (raw_records_v1724 or raw_records_v1730) and split the raw_records into: - records - pulse_counts Apply basic pulse processing:
Flip the pulse if it is necessary (only for the PMT pulse)
Calculate the baseline and integrate the waveform
Find hits
Filter the record and cut outside the hit bounds
pulse_counts holds some average information for the individual PMT channels for each chunk of raw_records. This includes e.g. number of recorded pulses, lone_pulses (pulses which do not overlap with any other pulse), or mean values of baseline and baseline rms channel.
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time of the chunk |
endtime | int64 | End time of the chunk |
pulse_count | ('<i8', (5,)) | Number of pulses |
lone_pulse_count | ('<i8', (5,)) | Number of lone pulses |
pulse_area | ('<i8', (5,)) | Integral of all pulses in ADC_count x samples |
lone_pulse_area | ('<i8', (5,)) | Integral of lone pulses in ADC_count x samples |
baseline_mean | ('<i2', (5,)) | Average baseline |
baseline_rms_mean | ('<f4', (5,)) | Average baseline rms |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
allow_sloppy_chunking | True | <OMITTED> | (records, pulse_counts) | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | (records, pulse_counts) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
check_raw_record_overlaps | True | <OMITTED> | (records, pulse_counts) | Crash if any of the pulses in raw_records overlap with others in the same channel |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
hit_min_amplitude | xams_thresholds | <OMITTED> | (records, pulse_counts) | Minimum hit amplitude in ADC counts above baseline. See amstrax.hit_min_amplitude in hitfinder_thresholds.py for options. |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | <OMITTED> | 5 | (records, pulse_counts) | Number of TPC channels |
pmt_pulse_filter | None | <OMITTED> | (records, pulse_counts) | Linear filter to apply to pulses, will be normalized. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
save_outside_hits | (3, 20) | <OMITTED> | (records, pulse_counts) | Save (left, right) samples besides hits; cut the rest |
peaks_ext
Description
Provided by plugin: PeaksEXT
Data kind: peaks_ext
(no plugin description)
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
length | int32 | Length of the interval in samples |
dt | int32 | Width of one sample [ns] |
channel | int16 | Channel/PMT number |
type | int8 | Classification of the peak(let) |
area | float32 | Integral across channels [PE] |
area_per_channel | ('<f4', (5,)) | Integral per channel [PE] |
n_hits | int32 | Number of hits contributing at least one sample to the peak |
data | ('<f4', (200,)) | Waveform data in PE/sample (not PE/ns!) |
data_top | ('<f4', (200,)) | Waveform data in PE/sample (not PE/ns!), top array |
width | ('<f4', (11,)) | Peak widths in range of central area fraction [ns] |
area_decile_from_midpoint | ('<f4', (11,)) | Peak widths: time between nth and 5th area decile [ns] |
saturated_channel | ('i1', (5,)) | Does the channel reach ADC saturation? |
n_saturated_channels | int16 | Total number of saturated channels |
tight_coincidence | int16 | Channel within tight range of mean |
max_gap | int32 | Largest gap between hits inside peak [ns] |
max_goodness_of_split | float32 | Maximum interior goodness of split |
max_diff | int32 | Largest time difference between apexes of hits inside peak [ns] |
min_diff | int32 | Smallest time difference between apexes of hits inside peak [ns] |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
baseline_samples | 40 | <OMITTED> | (records_ext,) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
diagnose_sorting | False | <OMITTED> | (peaks_ext,) | Enable runtime checks for sorting and disjointness |
gain_to_pe_array | None | <OMITTED> | (peaks_ext,) | Gain to pe array |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
n_tpc_pmts | False | 5 | (peaks_ext,) | Number of channels |
peak_gap_threshold | 300 | <OMITTED> | (peaks_ext,) | No hits for this many ns triggers a new peak |
peak_left_extension | 10 | <OMITTED> | (peaks_ext,) | Include this many ns left of hits in peaks |
peak_min_area | 10 | <OMITTED> | (peaks_ext,) | Minimum contributing PMTs needed to define a peak |
peak_min_pmts | 1 | <OMITTED> | (peaks_ext,) | Minimum contributing PMTs needed to define a peak |
peak_right_extension | 10 | <OMITTED> | (peaks_ext,) | Include this many ns right of hits in peaks |
peak_split_min_height | 25 | <OMITTED> | (peaks_ext,) | Minimum height in PE above a local sum waveformminimum, on either side, to trigger a split |
peak_split_min_ratio | 4 | <OMITTED> | (peaks_ext,) | Minimum ratio between local sum waveformminimum and maxima on either side, to trigger a split |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
single_channel_peaks | False | <OMITTED> | (peaks_ext,) | Whether single-channel peaks should be reported |
records_ext
Description
Provided by plugin: PulseProcessingEXT
Data kind: records_ext
Plugin which performs the pulse processing steps: 1. Baseline subtraction 2. Pulse splitting 3. Pulse merging 4. Pulse counting 5. Pulse length and area calculation
Columns provided
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 |
area | int32 | Integral in ADC counts x samples |
reduction_level | uint8 | Level of data reduction applied (strax.ReductionLevel enum) |
baseline | float32 | Baseline in ADC counts. data = int(baseline) - data_orig |
baseline_rms | float32 | Baseline RMS in ADC counts. data = baseline - data_orig |
amplitude_bit_shift | int16 | Multiply data by 2**(this number). Baseline is unaffected. |
data | ('<i2', (110,)) | Waveform data in raw counts above integer part of baseline |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
baseline_samples | 40 | <OMITTED> | (records_ext,) | Number of samples to use at the start of the pulse to determine the baseline |
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
raw_records_ext
Description
Provided by plugin: DAQReader
Data kind: raw_records_ext
- Read the XENONnT DAQ-live_data from redax and split it to the appropriate raw_record data-
types based on the channel-map.
Does nothing whatsoever to the live_data; not even baselining.
- Provides:
raw_records: (tpc)raw_records.
raw_records_ext: (external)raw_records.
Columns provided
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 |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |
raw_records
Description
Provided by plugin: DAQReader
Data kind: raw_records
- Read the XENONnT DAQ-live_data from redax and split it to the appropriate raw_record data-
types based on the channel-map.
Does nothing whatsoever to the live_data; not even baselining.
- Provides:
raw_records: (tpc)raw_records.
raw_records_ext: (external)raw_records.
Columns provided
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 |
Dependencies
Configuration options
These are all options that affect this data type. This also includes options taken by dependencies of this datatype, because changing any of those options affect this data indirectly.
option | default | current | applies_to | help |
---|---|---|---|---|
channel_map | <OMITTED> | (bottom, top, external, aqmon) | (raw_records_ext, raw_records) | immutabledict mapping subdetector to (min, max) channel number. |
daq_chunk_duration | 5000000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of regular chunks in ns |
daq_compressor | lz4 | <OMITTED> | (raw_records_ext, raw_records) | Algorithm used for (de)compressing the live data |
daq_input_dir | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Directory where readers put data |
daq_overlap_chunk_duration | 500000000 | <OMITTED> | (raw_records_ext, raw_records) | Duration of intermediate/overlap chunks in ns |
max_digitizer_sampling_time | 10 | <OMITTED> | (raw_records_ext, raw_records) | Highest interval time of the digitizer sampling times(s) used. |
readout_threads | <OMITTED> | <OMITTED> | (raw_records_ext, raw_records) | Dictionary of the readout threads where the keys specify the reader and value the number of threads |
record_length | 110 | <OMITTED> | (raw_records_ext, raw_records) | Number of samples per raw_record |
run_start_time | 0 | <OMITTED> | (raw_records_ext, raw_records) | time of start run (s since unix epoch) |
safe_break_in_pulses | 1000 | <OMITTED> | (raw_records_ext, raw_records) | Time (ns) between pulses indicating a safe break in the datastream -- gaps of this size cannot be interior to peaklets. |