straxen.plugins.raw_records package

Submodules

straxen.plugins.raw_records.daqreader module

class straxen.plugins.raw_records.daqreader.DAQReader[source]

Bases: Plugin

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_he: raw_records for the high energy boards digitizing the top PMT-array at lower amplification.

  • raw_records_nv: neutron veto raw_records; only stored temporary as the software coincidence trigger not applied yet.

  • raw_records_mv: muon veto raw_records.

  • raw_records_aqmon: raw_records for the acquisition monitor (_nv for neutron veto).

chunk_target_size_mb = 50
compressor = 'lz4'
compute(chunk_i)[source]
data_kind: Union[str, immutabledict, dict] = immutabledict({'raw_records': 'raw_records', 'raw_records_he': 'raw_records_he', 'raw_records_aqmon': 'raw_records_aqmon', 'raw_records_nv': 'raw_records_nv', 'raw_records_aqmon_nv': 'raw_records_aqmon_nv', 'raw_records_aux_mv': 'raw_records_aux_mv', 'raw_records_mv': 'raw_records_mv'})
depends_on: Tuple = ()
infer_dtype()[source]

Return dtype of computed data; used only if no dtype attribute defined.

input_timeout = 300
is_ready(chunk_i)[source]

Return whether the chunk chunk_i is ready for reading.

Returns True by default; override if you make an online input plugin.

parallel: Union[str, bool] = 'process'
provides: Tuple[str, ...] = ('raw_records', 'raw_records_he', 'raw_records_aqmon', 'raw_records_nv', 'raw_records_aqmon_nv', 'raw_records_aux_mv', 'raw_records_mv')
rechunk_on_save = immutabledict({'raw_records': False, 'raw_records_he': False, 'raw_records_aqmon': True, 'raw_records_nv': False, 'raw_records_aqmon_nv': True, 'raw_records_aux_mv': True, 'raw_records_mv': False})
setup()[source]

Hook if plugin wants to do something on initialization.

source_finished()[source]

Return whether all chunks the plugin wants to read have been written.

Only called for online input plugins.

takes_config = immutabledict({'record_length': <strax.config.Option object>, 'max_digitizer_sampling_time': <strax.config.Option object>, 'run_start_time': <strax.config.Option object>, 'daq_chunk_duration': <strax.config.Option object>, 'daq_overlap_chunk_duration': <strax.config.Option object>, 'daq_compressor': <strax.config.Option object>, 'readout_threads': <strax.config.Option object>, 'daq_input_dir': <strax.config.Option object>, 'safe_break_in_pulses': <strax.config.Option object>, 'channel_map': <strax.config.Option object>})
straxen.plugins.raw_records.daqreader.split_channel_ranges(records, channel_ranges)[source]

Return numba.List of record arrays in channel_ranges.

~2.5x as fast as a naive implementation with np.in1d

Module contents