Straxen 1T datastructure
This page is an autogenerated reference for all the plugins in straxen’s xenon1t_dali 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_double
Description
Provided by plugin: EventInfoDouble
Data kind: events
- Alternate version of event_info for Kr and other double scatter
analyses:
Uses a different naming convention: s1 -> s1_a, alt_s1 -> s1_b, and similarly for s2s;
Adds s1_b_distinct_channels, which can be tricky to compute (since it requires going back to peaks)
Columns provided
Field name | Data type | Comment |
---|---|---|
cs1_a | float32 | Corrected S1 area [PE] |
cs2_a | float32 | Corrected S2 area [PE] |
cs1_b | float32 | Corrected area of the alternate S1 [PE] |
cs2_b | float32 | Corrected area of the alternate S2 [PE] |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
e_light | float32 | Energy in light signal [keVee] |
e_charge | float32 | Energy in charge signal [keVee] |
e_ces | float32 | Energy estimate [keVee] |
n_peaks | int32 | Number of peaks in the event |
drift_time | int32 | Drift time between main S1 and S2 in ns |
event_number | int64 | Event number in this dataset |
s1_a_index | int32 | Main S1 peak index in event |
s1_b_index | int32 | Alternate S1 peak index in event |
s1_a_time | int64 | Main S1 start time since unix epoch [ns] |
s1_b_time | int64 | Alternate S1 start time since unix epoch [ns] |
s1_a_center_time | int64 | Main S1 weighted center time since unix epoch [ns] |
s1_b_center_time | int64 | Alternate S1 weighted center time since unix epoch [ns] |
s1_a_endtime | int64 | Main S1 end time since unix epoch [ns] |
s1_b_endtime | int64 | Alternate S1 end time since unix epoch [ns] |
s1_a_area | float32 | Main S1 area, uncorrected [PE] |
s1_b_area | float32 | Alternate S1 area, uncorrected [PE] |
s1_a_n_channels | int16 | Main S1 count of contributing PMTs |
s1_b_n_channels | int16 | Alternate S1 count of contributing PMTs |
s1_a_n_competing | int32 | Main S1 number of competing peaks |
s1_b_n_competing | int32 | Alternate S1 number of competing peaks |
s1_a_max_pmt | int16 | Main S1 PMT number which contributes the most PE |
s1_b_max_pmt | int16 | Alternate S1 PMT number which contributes the most PE |
s1_a_max_pmt_area | float32 | Main S1 area in the largest-contributing PMT (PE) |
s1_b_max_pmt_area | float32 | Alternate S1 area in the largest-contributing PMT (PE) |
s1_a_range_50p_area | float32 | Main S1 width, 50% area [ns] |
s1_b_range_50p_area | float32 | Alternate S1 width, 50% area [ns] |
s1_a_range_90p_area | float32 | Main S1 width, 90% area [ns] |
s1_b_range_90p_area | float32 | Alternate S1 width, 90% area [ns] |
s1_a_rise_time | float32 | Main S1 time between 10% and 50% area quantiles [ns] |
s1_b_rise_time | float32 | Alternate S1 time between 10% and 50% area quantiles [ns] |
s1_a_area_fraction_top | float32 | Main S1 fraction of area seen by the top PMT array |
s1_b_area_fraction_top | float32 | Alternate S1 fraction of area seen by the top PMT array |
s1_b_interaction_drift_time | int32 | Drift time using alternate S1 [ns] |
ds_s1_dt | int32 | Time between main and alternate S1 [ns] |
s2_a_index | int32 | Main S2 peak index in event |
s2_b_index | int32 | Alternate S2 peak index in event |
s2_a_time | int64 | Main S2 start time since unix epoch [ns] |
s2_b_time | int64 | Alternate S2 start time since unix epoch [ns] |
s2_a_center_time | int64 | Main S2 weighted center time since unix epoch [ns] |
s2_b_center_time | int64 | Alternate S2 weighted center time since unix epoch [ns] |
s2_a_endtime | int64 | Main S2 end time since unix epoch [ns] |
s2_b_endtime | int64 | Alternate S2 end time since unix epoch [ns] |
s2_a_area | float32 | Main S2 area, uncorrected [PE] |
s2_b_area | float32 | Alternate S2 area, uncorrected [PE] |
s2_a_n_channels | int16 | Main S2 count of contributing PMTs |
s2_b_n_channels | int16 | Alternate S2 count of contributing PMTs |
s2_a_n_competing | int32 | Main S2 number of competing peaks |
s2_b_n_competing | int32 | Alternate S2 number of competing peaks |
s2_a_max_pmt | int16 | Main S2 PMT number which contributes the most PE |
s2_b_max_pmt | int16 | Alternate S2 PMT number which contributes the most PE |
s2_a_max_pmt_area | float32 | Main S2 area in the largest-contributing PMT (PE) |
s2_b_max_pmt_area | float32 | Alternate S2 area in the largest-contributing PMT (PE) |
s2_a_range_50p_area | float32 | Main S2 width, 50% area [ns] |
s2_b_range_50p_area | float32 | Alternate S2 width, 50% area [ns] |
s2_a_range_90p_area | float32 | Main S2 width, 90% area [ns] |
s2_b_range_90p_area | float32 | Alternate S2 width, 90% area [ns] |
s2_a_rise_time | float32 | Main S2 time between 10% and 50% area quantiles [ns] |
s2_b_rise_time | float32 | Alternate S2 time between 10% and 50% area quantiles [ns] |
s2_a_area_fraction_top | float32 | Main S2 fraction of area seen by the top PMT array |
s2_b_area_fraction_top | float32 | Alternate S2 fraction of area seen by the top PMT array |
s2_b_interaction_drift_time | int32 | Drift time using alternate S2 [ns] |
ds_s2_dt | int32 | Time between main and alternate S2 [ns] |
s2_a_x | float32 | Main S2 reconstructed X position, uncorrected [cm] |
s2_a_y | float32 | Main S2 reconstructed Y position, uncorrected [cm] |
s2_b_x | float32 | Alternate S2 reconstructed X position, uncorrected [cm] |
s2_b_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] |
x | float32 | Interaction x-position, field-distortion corrected (cm) |
y | float32 | Interaction y-position, field-distortion corrected (cm) |
z | float32 | Interaction z-position, using mean drift velocity only (cm) |
r | float32 | Interaction radial position, field-distortion corrected (cm) |
z_naive | float32 | Interaction z-position using mean drift velocity only (cm) |
r_naive | float32 | Interaction r-position using observed S2 positions directly (cm) |
r_field_distortion_correction | float32 | Correction added to r_naive for field distortion (cm) |
z_field_distortion_correction | float32 | Correction added to z_naive for field distortion (cm) |
theta | float32 | Interaction angular position (radians) |
s1_b_distinct_channels | int32 | Number of PMTs contributing to the secondary S1 that do not contribute to the main S1 |
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 | help |
---|
fiducial_events
Description
Provided by plugin: FiducialEvents
Data kind: fiducial_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] |
cut_fiducial_cylinder_1t | bool | One tonne fiducial cylinder |
cs1 | float32 | Corrected S1 area [PE] |
cs2 | float32 | Corrected S2 area [PE] |
alt_cs1 | float32 | Corrected area of the alternate S1 [PE] |
alt_cs2 | float32 | Corrected area of the alternate S2 [PE] |
e_light | float32 | Energy in light signal [keVee] |
e_charge | float32 | Energy in charge signal [keVee] |
e_ces | float32 | Energy estimate [keVee] |
n_peaks | int32 | Number of peaks in the event |
drift_time | int32 | 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_competing | int32 | Main S1 number of competing peaks |
alt_s1_n_competing | int32 | Alternate S1 number of competing peaks |
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 |
alt_s1_interaction_drift_time | int32 | 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_competing | int32 | Main S2 number of competing peaks |
alt_s2_n_competing | int32 | Alternate S2 number of competing peaks |
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 |
alt_s2_interaction_drift_time | int32 | Drift time using alternate S2 [ns] |
alt_s2_delay | int32 | Time between main and alternate S2 [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] |
x | float32 | Interaction x-position, field-distortion corrected (cm) |
y | float32 | Interaction y-position, field-distortion corrected (cm) |
z | float32 | Interaction z-position, using mean drift velocity only (cm) |
r | float32 | Interaction radial position, field-distortion corrected (cm) |
z_naive | float32 | Interaction z-position using mean drift velocity only (cm) |
r_naive | float32 | Interaction r-position using observed S2 positions directly (cm) |
r_field_distortion_correction | float32 | Correction added to r_naive for field distortion (cm) |
z_field_distortion_correction | float32 | Correction added to z_naive for field distortion (cm) |
theta | float32 | Interaction angular position (radians) |
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 | help |
---|
sr1_cuts
Description
Provided by plugin: SR1Cuts
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] |
cut_fiducial_cylinder_1t | bool | One tonne fiducial cylinder |
cut_s1_low_energy_range | bool | Event under 200pe |
cut_s1_max_pmt | bool | S1 max PMT cut |
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 | help |
---|
cut_s1_single_scatter
Description
Provided by plugin: S1SingleScatter
Data kind: events
- Requires only one valid interaction between the largest S2, and any S1 recorded before it.
The S1 cut checks that any possible secondary S1s recorded in a waveform, could not have also produced a valid interaction with the primary S2. To check whether an interaction between the second largest S1 and the largest S2 is valid, we use the S2Width cut. If the event would pass the S2Width cut, a valid second interaction exists, and we may have mis-identified which S1 to pair with the primary S2. Therefore we cut this event. If it fails the S2Width cut the event is not removed. Current version is developed on calibration data (pax v6.8.0). It is described in this note: https://xecluster.lngs.infn.it/dokuwiki/doku.php?id=xenon:xenon1t:jacques:s1_single_scatter_cut_sr1 It should be applicable to data regardless whether it is ER or NR. Contact: Jacques Pienaar, <jpienaar@uchicago.edu> ported from lax.sciencerun1.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s1_single_scatter | bool | S1 Single Scatter cut |
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 | help |
---|
cut_s2_area_fraction_top
Description
Provided by plugin: S2AreaFractionTop
Data kind: events
- Cuts events with an unusual fraction of S2 on top array.
Primarily cuts gas events with a particularly large S2 AFT, also targets some strange / junk / other events with a low AFT. This cut has been checked on S2 ranges between 0 and 50 000 pe. Described in the note at: xenon:xenon1t:analysis:firstresults:s2_aft_cut_summary Contact: Adam Brown <abrown@physik.uzh.ch>, ported from lax.sciencerun1.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s2_area_fraction_top | bool | Cut on S2 AFT |
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 | help |
---|
cut_s2_single_scatter
Description
Provided by plugin: S2SingleScatter
Data kind: events
- Check that largest other S2 area is smaller than some bound.
The single scatter is to cut an event if its largest_other_s2 is too large. As the largest_other_s2 takes a greater value when they originated from some real scatters in comparison, those from photo-ionization in single scatter cases would be smaller. https://xecluster.lngs.infn.it/dokuwiki/doku.php?id=xenon:xenon1t:analysis:firstresults:cut:s2single Contact: Tianyu Zhu <tz2263@columbia.edu> ported from lax.sciencerun1.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s2_single_scatter | bool | S2 Single Scatter cut |
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 | help |
---|
cut_s2_threshold
Description
Provided by plugin: S2Threshold
Data kind: events
- The S2 energy at which the trigger is perfectly efficient.
See: https://xecluster.lngs.infn.it/dokuwiki/doku.php?id=xenon:xenon1t:analysis:firstresults:daqtriggerpaxefficiency Contact: Jelle Aalbers <aalbers@nikhef.nl> ported from lax.sciencerun1.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s2_threshold | bool | s2 must be larger then 200 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 | help |
---|
cut_s2_width
Description
Provided by plugin: S2Width
Data kind: events
- S2 Width cut based on diffusion model
The S2 width cut compares the S2 width to what we could expect based on its depth in the detector. The inputs to this are the drift velocity and the diffusion constant. The allowed variation in S2 width is greater at low energy (since it is fluctuating statistically) Ref: (arXiv:1102.2865) It should be applicable to data regardless of if it ER or NR; above cS2 = 1e5 pe ERs the acceptance will go down due to track length effects. around S2 = 1e5 pe there are beta-gamma merged peaks from Pb214 that extends the S2 width Tune the diffusion model parameters based on fax data according to note: https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:xenon1t:sim:notes:tzhu:width_cut_tuning#toy_fax_simulation Contact: Tianyu <tz2263@columbia.edu>, Yuehuan <weiyh@physik.uzh.ch>, Jelle <jaalbers@nikhef.nl> ported from lax.sciencerun1.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s2_width | bool | S2 Width cut |
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 | help |
---|
event_info
Description
Provided by plugin: EventInfo1T
Data kind: events
Plugin which merges the information of all event data_kinds into a single data_type.
This only uses 1T data-types as several event-plugins are nT only
Columns provided
Field name | Data type | Comment |
---|---|---|
cs1 | float32 | Corrected S1 area [PE] |
cs2 | float32 | Corrected S2 area [PE] |
alt_cs1 | float32 | Corrected area of the alternate S1 [PE] |
alt_cs2 | float32 | Corrected area of the alternate S2 [PE] |
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
e_light | float32 | Energy in light signal [keVee] |
e_charge | float32 | Energy in charge signal [keVee] |
e_ces | float32 | Energy estimate [keVee] |
n_peaks | int32 | Number of peaks in the event |
drift_time | int32 | 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_competing | int32 | Main S1 number of competing peaks |
alt_s1_n_competing | int32 | Alternate S1 number of competing peaks |
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 |
alt_s1_interaction_drift_time | int32 | 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_competing | int32 | Main S2 number of competing peaks |
alt_s2_n_competing | int32 | Alternate S2 number of competing peaks |
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 |
alt_s2_interaction_drift_time | int32 | Drift time using alternate S2 [ns] |
alt_s2_delay | int32 | Time between main and alternate S2 [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] |
x | float32 | Interaction x-position, field-distortion corrected (cm) |
y | float32 | Interaction y-position, field-distortion corrected (cm) |
z | float32 | Interaction z-position, using mean drift velocity only (cm) |
r | float32 | Interaction radial position, field-distortion corrected (cm) |
z_naive | float32 | Interaction z-position using mean drift velocity only (cm) |
r_naive | float32 | Interaction r-position using observed S2 positions directly (cm) |
r_field_distortion_correction | float32 | Correction added to r_naive for field distortion (cm) |
z_field_distortion_correction | float32 | Correction added to z_naive for field distortion (cm) |
theta | float32 | Interaction angular position (radians) |
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 | help |
---|
energy_estimates
Description
Provided by plugin: EnergyEstimates
Data kind: events
Plugin which converts cS1 and cS2 into energies (from PE to KeVee).
Columns provided
Field name | Data type | Comment |
---|---|---|
e_light | float32 | Energy in light signal [keVee] |
e_charge | float32 | Energy in charge signal [keVee] |
e_ces | float32 | Energy estimate [keVee] |
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 | help |
---|---|---|---|
g1 | 0.142600 | <OMITTED> | S1 gain in PE / photons produced |
g2 | 31.216216 | <OMITTED> | S2 gain in PE / electrons produced |
lxe_w | 0.013700 | <OMITTED> | LXe work function in quanta/keV |
cut_s1_low_energy_range
Description
Provided by plugin: S1LowEnergyRange
Data kind: events
Pass only events with cs1<200
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_s1_low_energy_range | bool | Event under 200pe |
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 | help |
---|
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.
Columns provided
Field name | Data type | Comment |
---|---|---|
cs1 | float32 | Corrected S1 area [PE] |
cs2 | float32 | Corrected S2 area [PE] |
alt_cs1 | float32 | Corrected area of the alternate S1 [PE] |
alt_cs2 | float32 | Corrected area of the alternate S2 [PE] |
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 | help |
---|---|---|---|
default_reconstruction_algorithm | mlp | <OMITTED> | default reconstruction algorithm that provides (x,y) |
elife_conf | (elife, ONLINE, True) | (elife_xenon1t, v1, False) | Electron lifetime Specify as (model_type->str, model_config->str, is_nT->bool) where model_type can be "elife" or "elife_constant" and model_config can be a version. |
s1_xyz_correction_map | https://ra...3d_v0.json | <OMITTED> | S1 relative (x, y, z) correction map |
s2_xy_correction_map | https://ra..._v2.2.json | <OMITTED> | S2 (x, y) correction map. Correct S2 position dependence manly due to bending of anode/gate-grid, PMT quantum efficiency and extraction field distribution, as well as other geometric factors. |
cut_fiducial_cylinder_1t
Description
Provided by plugin: FiducialCylinder1T
Data kind: events
- Implementation of fiducial volume cylinder 1T,
ported from lax.sciencerun0.py
Columns provided
Field name | Data type | Comment |
---|---|---|
time | int64 | Start time since unix epoch [ns] |
endtime | int64 | Exclusive end time since unix epoch [ns] |
cut_fiducial_cylinder_1t | bool | One tonne fiducial cylinder |
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 | help |
---|
distinct_channels
Description
Provided by plugin: DistinctChannels
Data kind: events
Compute the number of contributing PMTs that contribute to the alt_s1 but not to the main S1.
Columns provided
Field name | Data type | Comment |
---|---|---|
alt_s1_distinct_channels | int32 | Number of PMTs contributing to the secondary S1 that do not contribute to the main S1 |
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 | help |
---|
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 | Interaction x-position, field-distortion corrected (cm) |
y | float32 | Interaction y-position, field-distortion corrected (cm) |
z | float32 | Interaction z-position, using mean drift velocity only (cm) |
r | float32 | Interaction radial position, field-distortion corrected (cm) |
z_naive | float32 | Interaction z-position using mean drift velocity only (cm) |
r_naive | float32 | Interaction r-position using observed S2 positions directly (cm) |
r_field_distortion_correction | float32 | Correction added to r_naive for field distortion (cm) |
z_field_distortion_correction | float32 | Correction added to z_naive for field distortion (cm) |
theta | float32 | Interaction angular position (radians) |
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 | help |
---|---|---|---|
default_reconstruction_algorithm | mlp | <OMITTED> | default reconstruction algorithm that provides (x,y) |
electron_drift_time_gate | (electron_drift_time_gate, ONLINE, True) | (electron_drift_time_gate_constant, 1700) | Electron drift time from the gate in ns |
electron_drift_velocity | (electron_drift_velocity, ONLINE, True) | (electron_drift_velocity_constant, 0.00013325) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
fdc_map | https://ra...v1.json.gz | <OMITTED> | 3D field distortion correction map path |
cut_s1_max_pmt
Description
Provided by plugin: S1MaxPMT
Data kind: events
- Removes events where the largest hit in S1 is too large
port from lax.sciencerun0.py
Columns provided
Field name | Data type | Comment |
---|---|---|
cut_s1_max_pmt | bool | S1 max PMT cut |
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 | help |
---|
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 S2 and alternative S2 are given by the largest two S2-Peaks within the event. By default this is also true for S1.
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 | int32 | 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_competing | int32 | Main S1 number of competing peaks |
alt_s1_n_competing | int32 | Alternate S1 number of competing peaks |
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 |
alt_s1_interaction_drift_time | int32 | 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_competing | int32 | Main S2 number of competing peaks |
alt_s2_n_competing | int32 | Alternate S2 number of competing peaks |
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 |
alt_s2_interaction_drift_time | int32 | Drift time using alternate S2 [ns] |
alt_s2_delay | int32 | Time between main and alternate S2 [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] |
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 | help |
---|---|---|---|
allow_posts2_s1s | False | <OMITTED> | Allow S1s past the main S2 to become the main S1 and S2 |
event_s1_min_coincidence | 2 | <OMITTED> | Event level S1 min coincidence. Should be >= s1_min_coincidence in the peaklet classification |
force_main_before_alt | False | <OMITTED> | Make the alternate S1 (and likewise S2) the main S1 if occurs before the main S1. |
events
Description
Provided by plugin: Events
Data kind: events
Plugin which defines an “event” in our TPC.
An event is defined by peak(s) in fixed range of time around a peak which satisfies certain conditions:
The triggering peak must have a certain area.
2. The triggering peak must have less than “trigger_max_competing” peaks. (A competing peak must have a certain area fraction of the triggering peak and must be in a window close to the main peak)
- Note:
The time range which defines an event gets chopped at the chunk boundaries. This happens at invalid boundaries of the
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 | help |
---|---|---|---|
electron_drift_velocity | (electron_drift_velocity, ONLINE, True) | (electron_drift_velocity_constant, 0.00013325) | Vertical electron drift velocity in cm/ns (1e4 m/ms) |
left_event_extension | 250000 | 300000 | Extend events this many ns to the left from each triggering peak. This extension is added to the maximum drift time. |
max_drift_length | 148.651 | 96.9 | Total length of the TPC from the bottom of gate to the top of cathode wires [cm] |
right_event_extension | 250000 | 1000000 | Extend events this many ns to the right from each triggering peak. |
trigger_max_competing | 7 | <OMITTED> | Peaks must have FEWER nearby larger or slightly smaller peaks to cause events |
trigger_min_area | 100 | <OMITTED> | Peaks must have more area (PE) than this to cause events |
peak_proximity
Description
Provided by plugin: PeakProximity
Data kind: peaks
Look for peaks around a peak to determine how many peaks are in proximity (in time) of a peak.
Columns provided
Field name | Data type | Comment |
---|---|---|
n_competing | int32 | Number of nearby larger or slightly smaller peaks |
n_competing_left | int32 | Number of larger or slightly smaller peaks left of the main peak |
t_to_prev_peak | int64 | Time between end of previous peak and start of this peak [ns] |
t_to_next_peak | int64 | Time between end of this peak and start of next peak [ns] |
t_to_nearest_peak | int64 | Smaller of t_to_prev_peak and t_to_next_peak [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 | help |
---|---|---|---|
min_area_fraction | 0.5 | <OMITTED> | The area of competing peaks must be at least this fraction of that of the considered peak |
nearby_window | 10000000.0 | <OMITTED> | Peaks starting within this time window (on either side)in ns count as nearby. |
peak_max_proximity_time | 100000000.0 | <OMITTED> | Maximum value for proximity values such as t_to_next_peak [ns] |
peak_basics
Description
Provided by plugin: PeakBasics
Data kind: peaks
Compute the basic peak-properties, thereby dropping structured arrays. NB: This plugin can therefore be loaded as a pandas DataFrame.
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_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) |
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 | Hits within tight range of mean |
type | int8 | Classification of the peak(let) |
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 | help |
---|---|---|---|
check_peak_sum_area_rtol | NaN | <OMITTED> | Check if the sum area and the sum of area per channel are the same. If None, don't do the check. To perform the check, set to the desired rtol value used e.g. '1e-4' (see np.isclose). |
n_top_pmts | 253.0 | 127 | Number of top PMTs |
peak_positions
Description
Provided by plugin: PeakPositions1T
Data kind: peaks
Compute the S2 (x,y)-position based on a neural net.
Columns provided
Field name | Data type | Comment |
---|---|---|
x | float32 | Reconstructed S2 X position (cm), uncorrected |
y | float32 | Reconstructed S2 Y position (cm), uncorrected |
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 | help |
---|---|---|---|
min_reconstruction_area | 10 | <OMITTED> | Skip reconstruction if area (PE) is less than this |
n_top_pmts | 253 | 127 | Number of top PMTs |
nn_architecture | https://ra...atted.json | <OMITTED> | Path to JSON of neural net architecture |
nn_weights | https://ra...217_sr1.h5 | <OMITTED> | Path to HDF5 of neural net weights |
peaks
Description
Provided by plugin: Peaks
Data kind: peaks
Merge peaklets and merged S2s such that we obtain our peaks (replacing all peaklets that were later re-merged as S2s). As this step is computationally trivial, never save this plugin.
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', (248,)) | 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!) |
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', (248,)) | 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 |
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 | help |
---|---|---|---|
diagnose_sorting | False | <OMITTED> | Enable runtime checks for sorting and disjointness |
merge_without_s1 | True | <OMITTED> | If true, S1s will be igored during the merging. It's now possible for a S1 to be inside a S2 post merging |
merged_s2s
Description
Provided by plugin: MergedS2s
Data kind: merged_s2s
Merge together peaklets if peak finding favours that they would form a single peak instead.
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', (248,)) | 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!) |
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', (248,)) | 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 |
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 | help |
---|---|---|---|
gain_model | <OMITTED> | (to_pe_model, v1, False) | PMT gain model. Specify as (str(model_config), str(version), nT-->boolean |
merge_without_s1 | True | <OMITTED> | If true, S1s will be igored during the merging. It's now possible for a S1 to be inside a S2 post merging |
s2_merge_gap_thresholds | ((1.7, 26500.0), (4.0, 2600.0), (5.0, 0.0)) | ((1.7, 5000.0), (4.0, 500.0), (5.0, 0.0)) | Points to define maximum separation between peaklets to allow merging [ns] depending on log10 area of the merged peak\nwhere the gap size of the first point is the maximum gap to allow mergingand the area of the last point is the maximum area to allow merging. The format is ((log10(area), max_gap), (..., ...), (..., ...)) |
s2_merge_max_duration | 50000 | <OMITTED> | Do not merge peaklets at all if the result would be a peak longer than this [ns] |
peaklet_classification
Description
Provided by plugin: PeakletClassification
Data kind: peaklets
Classify peaklets as unknown, S1, or S2.
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) |
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 | help |
---|---|---|---|
s1_max_rise_time | 110 | 60 | Maximum S1 rise time for < 100 PE [ns] |
s1_max_rise_time_post100 | 200 | 150 | Maximum S1 rise time for > 100 PE [ns] |
s1_min_coincidence | 2 | 3 | Minimum tight coincidence necessary to make an S1 |
s2_min_pmts | 4 | <OMITTED> | Minimum number of PMTs contributing to an S2 |
peaklets
Description
Provided by plugin: Peaklets
Data kind: peaklets
- Split records into:
-peaklets -lone_hits
Peaklets are very aggressively split peaks such that we are able to find S1-S2s even if they are close to each other. (S2) Peaks that are split into too many peaklets will be merged later on.
- To get Peaklets from records apply/do:
Hit finding
Peak finding
Peak splitting using the natural breaks algorithm
Compute the digital sum waveform
Lone hits are all hits which are outside of any peak. The area of lone_hits includes the left and right hit extension, except the extension overlaps with any peaks or other hits.
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', (248,)) | 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!) |
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', (248,)) | 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 |
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 | help |
---|---|---|---|
diagnose_sorting | False | <OMITTED> | Enable runtime checks for sorting and disjointness |
gain_model | <OMITTED> | (to_pe_model, v1, False) | PMT gain model. Specify as (str(model_config), str(version), nT-->boolean |
hit_min_amplitude | (hit_thresholds_tpc, ONLINE, True) | XENON1T_SR1 | Minimum hit amplitude in ADC counts above baseline. Specify as a tuple of length n_tpc_pmts, or a number,or a string like "pmt_commissioning_initial" which means callinghitfinder_thresholds.pyor a tuple like (correction=str, version=str, nT=boolean),which means we are using cmt. |
n_tpc_pmts | <OMITTED> | 248 | Number of TPC PMTs |
peak_left_extension | 30 | <OMITTED> | Include this many ns left of hits in peaks |
peak_min_pmts | 2 | 2 | Minimum number of contributing PMTs needed to define a peak |
peak_right_extension | 200 | 30 | Include this many ns right of hits in peaks |
peak_split_filter_wing_width | 70 | <OMITTED> | Wing width of moving average filter for low-split natural breaks |
peak_split_gof_threshold | (None, ((0.5, 1.0), (6.0, 0.4)), ((2.5, 1.0), (5.625, 0.4))) | (None, ((0.5, 1), (3.5, 0.25)), ((2, 1), (4.5, 0.4))) | Natural breaks goodness of fit/split threshold to split a peak. Specify as tuples of (log10(area), threshold). |
peak_split_iterations | 20 | <OMITTED> | Maximum number of recursive peak splits to do. |
peak_split_min_area | 40 | <OMITTED> | Minimum area to evaluate natural breaks criterion. Smaller peaks are not split. |
peaklet_gap_threshold | 700 | 350 | No hits for this many ns triggers a new peak |
peaklet_max_duration | 10000000 | <OMITTED> | Maximum duration [ns] of a peaklet |
saturation_correction_on | True | <OMITTED> | On off switch for saturation correction |
saturation_min_reference_length | 20 | <OMITTED> | Minimum number of reference sample used to correct saturated samples |
saturation_reference_length | 100 | <OMITTED> | Maximum number of reference sample used to correct saturated samples |
tight_coincidence_window_left | 50 | <OMITTED> | Time range left of peak center to call a hit a tight coincidence (ns) |
tight_coincidence_window_right | 50 | <OMITTED> | Time range right of peak center to call a hit a tight coincidence (ns) |
lone_hits
Description
Provided by plugin: Peaklets
Data kind: lone_hits
- Split records into:
-peaklets -lone_hits
Peaklets are very aggressively split peaks such that we are able to find S1-S2s even if they are close to each other. (S2) Peaks that are split into too many peaklets will be merged later on.
- To get Peaklets from records apply/do:
Hit finding
Peak finding
Peak splitting using the natural breaks algorithm
Compute the digital sum waveform
Lone hits are all hits which are outside of any peak. The area of lone_hits includes the left and right hit extension, except the extension overlaps with any peaks or other hits.
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 |
area | float32 | Integral [ADC x samples] |
left | int16 | Index of sample in record in which hit starts |
right | int16 | Index of first sample in record just beyond hit (exclusive bound) |
left_integration | int16 | For lone hits, index of sample in record where integration starts |
right_integration | int16 | For lone hits, index of first sample beyond integration region |
record_i | int32 | Internal (temporary) index of fragment in which hit was found |
threshold | float32 | ADC threshold applied in order to find hits |
height | float32 | Maximum amplitude above baseline [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 | help |
---|---|---|---|
diagnose_sorting | False | <OMITTED> | Enable runtime checks for sorting and disjointness |
gain_model | <OMITTED> | (to_pe_model, v1, False) | PMT gain model. Specify as (str(model_config), str(version), nT-->boolean |
hit_min_amplitude | (hit_thresholds_tpc, ONLINE, True) | XENON1T_SR1 | Minimum hit amplitude in ADC counts above baseline. Specify as a tuple of length n_tpc_pmts, or a number,or a string like "pmt_commissioning_initial" which means callinghitfinder_thresholds.pyor a tuple like (correction=str, version=str, nT=boolean),which means we are using cmt. |
n_tpc_pmts | <OMITTED> | 248 | Number of TPC PMTs |
peak_left_extension | 30 | <OMITTED> | Include this many ns left of hits in peaks |
peak_min_pmts | 2 | 2 | Minimum number of contributing PMTs needed to define a peak |
peak_right_extension | 200 | 30 | Include this many ns right of hits in peaks |
peak_split_filter_wing_width | 70 | <OMITTED> | Wing width of moving average filter for low-split natural breaks |
peak_split_gof_threshold | (None, ((0.5, 1.0), (6.0, 0.4)), ((2.5, 1.0), (5.625, 0.4))) | (None, ((0.5, 1), (3.5, 0.25)), ((2, 1), (4.5, 0.4))) | Natural breaks goodness of fit/split threshold to split a peak. Specify as tuples of (log10(area), threshold). |
peak_split_iterations | 20 | <OMITTED> | Maximum number of recursive peak splits to do. |
peak_split_min_area | 40 | <OMITTED> | Minimum area to evaluate natural breaks criterion. Smaller peaks are not split. |
peaklet_gap_threshold | 700 | 350 | No hits for this many ns triggers a new peak |
peaklet_max_duration | 10000000 | <OMITTED> | Maximum duration [ns] of a peaklet |
saturation_correction_on | True | <OMITTED> | On off switch for saturation correction |
saturation_min_reference_length | 20 | <OMITTED> | Minimum number of reference sample used to correct saturated samples |
saturation_reference_length | 100 | <OMITTED> | Maximum number of reference sample used to correct saturated samples |
tight_coincidence_window_left | 50 | <OMITTED> | Time range left of peak center to call a hit a tight coincidence (ns) |
tight_coincidence_window_right | 50 | <OMITTED> | Time range right of peak center to call a hit a tight coincidence (ns) |
records
Description
Provided by plugin: PulseProcessing
Data kind: records
Split raw_records into:
(tpc) records
aqmon_records
pulse_counts
- For TPC records, apply basic processing:
Flip, baseline, and integrate the waveform
Apply software HE veto after high-energy peaks.
Find hits, apply linear filter, and zero outside hits.
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 | help |
---|---|---|---|
allow_sloppy_chunking | False | True | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | Number of samples to use at the start of the pulse to determine the baseline |
check_raw_record_overlaps | True | False | Crash if any of the pulses in raw_records overlap with others in the same channel |
events_per_chunk | 50 | <OMITTED> | Number of events to yield per chunk |
hev_gain_model | (disabled, None) | (to_pe_model, v1, False) | PMT gain model used in the software high-energy veto.Specify as (model_type, model_config) |
hit_min_amplitude | (hit_thresholds_tpc, ONLINE, True) | XENON1T_SR1 | Minimum hit amplitude in ADC counts above baseline. Specify as a tuple of length n_tpc_pmts, or a number,or a string like "pmt_commissioning_initial" which means callinghitfinder_thresholds.pyor a tuple like (correction=str, version=str, nT=boolean),which means we are using cmt. |
max_veto_value | None | <OMITTED> | Optionally pass a HE peak that exceeds this absolute area. (if performing a hard veto, can keep a few statistics.) |
n_tpc_pmts | <OMITTED> | 248 | Number of TPC PMTs |
pax_raw_dir | /data/xenon/raw | <OMITTED> | Directory with raw pax datasets |
pmt_pulse_filter | None | (0.012, -0.119, 2.435, -1.271, 0.357, -0.174, -0.0, -0.036, -0.028, -0.019, -0.025, -0.013, -0.03, -0.039, -0.005, -0.019, -0.012, -0.015, -0.029, 0.024, -0.007, 0.007, -0.001, 0.005, -0.002, 0.004, -0.002) | Linear filter to apply to pulses, will be normalized. |
samples_per_record | 110 | <OMITTED> | Number of samples per record |
save_outside_hits | (3, 20) | (3, 3) | Save (left, right) samples besides hits; cut the rest |
stop_after_zips | 0 | <OMITTED> | Convert only this many zip files. 0 = all. |
tail_veto_duration | 3000000 | <OMITTED> | Time in ns to veto after large peaks |
tail_veto_pass_extend | 3 | <OMITTED> | Extend pass veto by this many samples (tail_veto_resolution!) |
tail_veto_pass_fraction | 0.05 | <OMITTED> | Pass veto if maximum amplitude above max * fraction |
tail_veto_resolution | 1000 | <OMITTED> | Time resolution in ns for pass-veto waveform summation |
tail_veto_threshold | 0 | 100000 | Minimum peakarea in PE to trigger tail veto.Set to None, 0 or False to disable veto. |
veto_regions
Description
Provided by plugin: PulseProcessing
Data kind: veto_regions
Split raw_records into:
(tpc) records
aqmon_records
pulse_counts
- For TPC records, apply basic processing:
Flip, baseline, and integrate the waveform
Apply software HE veto after high-energy peaks.
Find hits, apply linear filter, and zero outside hits.
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 |
area | float32 | Integral [ADC x samples] |
left | int16 | Index of sample in record in which hit starts |
right | int16 | Index of first sample in record just beyond hit (exclusive bound) |
left_integration | int16 | For lone hits, index of sample in record where integration starts |
right_integration | int16 | For lone hits, index of first sample beyond integration region |
record_i | int32 | Internal (temporary) index of fragment in which hit was found |
threshold | float32 | ADC threshold applied in order to find hits |
height | float32 | Maximum amplitude above baseline [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 | help |
---|---|---|---|
allow_sloppy_chunking | False | True | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | Number of samples to use at the start of the pulse to determine the baseline |
check_raw_record_overlaps | True | False | Crash if any of the pulses in raw_records overlap with others in the same channel |
hev_gain_model | (disabled, None) | (to_pe_model, v1, False) | PMT gain model used in the software high-energy veto.Specify as (model_type, model_config) |
hit_min_amplitude | (hit_thresholds_tpc, ONLINE, True) | XENON1T_SR1 | Minimum hit amplitude in ADC counts above baseline. Specify as a tuple of length n_tpc_pmts, or a number,or a string like "pmt_commissioning_initial" which means callinghitfinder_thresholds.pyor a tuple like (correction=str, version=str, nT=boolean),which means we are using cmt. |
max_veto_value | None | <OMITTED> | Optionally pass a HE peak that exceeds this absolute area. (if performing a hard veto, can keep a few statistics.) |
n_tpc_pmts | <OMITTED> | 248 | Number of TPC PMTs |
pmt_pulse_filter | None | (0.012, -0.119, 2.435, -1.271, 0.357, -0.174, -0.0, -0.036, -0.028, -0.019, -0.025, -0.013, -0.03, -0.039, -0.005, -0.019, -0.012, -0.015, -0.029, 0.024, -0.007, 0.007, -0.001, 0.005, -0.002, 0.004, -0.002) | Linear filter to apply to pulses, will be normalized. |
save_outside_hits | (3, 20) | (3, 3) | Save (left, right) samples besides hits; cut the rest |
tail_veto_duration | 3000000 | <OMITTED> | Time in ns to veto after large peaks |
tail_veto_pass_extend | 3 | <OMITTED> | Extend pass veto by this many samples (tail_veto_resolution!) |
tail_veto_pass_fraction | 0.05 | <OMITTED> | Pass veto if maximum amplitude above max * fraction |
tail_veto_resolution | 1000 | <OMITTED> | Time resolution in ns for pass-veto waveform summation |
tail_veto_threshold | 0 | 100000 | Minimum peakarea in PE to trigger tail veto.Set to None, 0 or False to disable veto. |
pulse_counts
Description
Provided by plugin: PulseProcessing
Data kind: pulse_counts
Split raw_records into:
(tpc) records
aqmon_records
pulse_counts
- For TPC records, apply basic processing:
Flip, baseline, and integrate the waveform
Apply software HE veto after high-energy peaks.
Find hits, apply linear filter, and zero outside hits.
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', (248,)) | Number of pulses |
lone_pulse_count | ('<i8', (248,)) | Number of lone pulses |
pulse_area | ('<i8', (248,)) | Integral of all pulses in ADC_count x samples |
lone_pulse_area | ('<i8', (248,)) | Integral of lone pulses in ADC_count x samples |
baseline_mean | ('<i2', (248,)) | Average baseline |
baseline_rms_mean | ('<f4', (248,)) | 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 | help |
---|---|---|---|
allow_sloppy_chunking | False | True | Use a default baseline for incorrectly chunked fragments. This is a kludge for improperly converted XENON1T data. |
baseline_samples | 40 | <OMITTED> | Number of samples to use at the start of the pulse to determine the baseline |
check_raw_record_overlaps | True | False | Crash if any of the pulses in raw_records overlap with others in the same channel |
hev_gain_model | (disabled, None) | (to_pe_model, v1, False) | PMT gain model used in the software high-energy veto.Specify as (model_type, model_config) |
hit_min_amplitude | (hit_thresholds_tpc, ONLINE, True) | XENON1T_SR1 | Minimum hit amplitude in ADC counts above baseline. Specify as a tuple of length n_tpc_pmts, or a number,or a string like "pmt_commissioning_initial" which means callinghitfinder_thresholds.pyor a tuple like (correction=str, version=str, nT=boolean),which means we are using cmt. |
max_veto_value | None | <OMITTED> | Optionally pass a HE peak that exceeds this absolute area. (if performing a hard veto, can keep a few statistics.) |
n_tpc_pmts | <OMITTED> | 248 | Number of TPC PMTs |
pmt_pulse_filter | None | (0.012, -0.119, 2.435, -1.271, 0.357, -0.174, -0.0, -0.036, -0.028, -0.019, -0.025, -0.013, -0.03, -0.039, -0.005, -0.019, -0.012, -0.015, -0.029, 0.024, -0.007, 0.007, -0.001, 0.005, -0.002, 0.004, -0.002) | Linear filter to apply to pulses, will be normalized. |
save_outside_hits | (3, 20) | (3, 3) | Save (left, right) samples besides hits; cut the rest |
tail_veto_duration | 3000000 | <OMITTED> | Time in ns to veto after large peaks |
tail_veto_pass_extend | 3 | <OMITTED> | Extend pass veto by this many samples (tail_veto_resolution!) |
tail_veto_pass_fraction | 0.05 | <OMITTED> | Pass veto if maximum amplitude above max * fraction |
tail_veto_resolution | 1000 | <OMITTED> | Time resolution in ns for pass-veto waveform summation |
tail_veto_threshold | 0 | 100000 | Minimum peakarea in PE to trigger tail veto.Set to None, 0 or False to disable veto. |
raw_records
Description
Provided by plugin: RecordsFromPax
Data kind: raw_records
(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 | 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 | help |
---|---|---|---|
events_per_chunk | 50 | <OMITTED> | Number of events to yield per chunk |
pax_raw_dir | /data/xenon/raw | <OMITTED> | Directory with raw pax datasets |
samples_per_record | 110 | <OMITTED> | Number of samples per record |
stop_after_zips | 0 | <OMITTED> | Convert only this many zip files. 0 = all. |