straxen.plugins.aqmon_hits package

Submodules

straxen.plugins.aqmon_hits.aqmon_hits module

class straxen.plugins.aqmon_hits.aqmon_hits.AqmonChannels(value)[source]

Bases: IntEnum

Mapper of named aqmon channels to ints.

ARTIFICIAL_DEADTIME = 799
BUSY_HE_START = 805
BUSY_HE_STOP = 804
BUSY_START = 807
BUSY_STOP = 806
GPS_SYNC = 798
GPS_SYNC_AM = 801
GPS_SYNC_MV = 1084
GPS_SYNC_NV = 813
HEV_START = 803
HEV_STOP = 802
MV_TRIGGER = 797
SUM_WF = 800
class straxen.plugins.aqmon_hits.aqmon_hits.AqmonHits[source]

Bases: Plugin

Find hits in acquisition monitor data.

These hits could be then used by other plugins for deadtime calculations, GPS SYNC analysis, etc.

property aqmon_channels
baseline_samples_aqmon

Dispatch on URL protocol.

unrecognized protocol returns identity inspired by dasks Dispatch and fsspec fs protocols.

check_raw_record_aqmon_overlaps

Dispatch on URL protocol.

unrecognized protocol returns identity inspired by dasks Dispatch and fsspec fs protocols.

compute(raw_records_aqmon)[source]
config: Dict
data_kind: str | immutabledict | dict = 'aqmon_hits'
depends_on: tuple = 'raw_records_aqmon'
deps: Dict
dtype: tuple | dtype | immutabledict | dict = [(('Start time since unix epoch [ns]', 'time'), <class 'numpy.int64'>), (('Length of the interval in samples', 'length'), <class 'numpy.int32'>), (('Width of one sample [ns]', 'dt'), <class 'numpy.int16'>), (('Channel/PMT number', 'channel'), <class 'numpy.int16'>), (('Integral [ADC x samples]', 'area'), <class 'numpy.float32'>), (('Index of sample in record in which hit starts', 'left'), <class 'numpy.int16'>), (('Index of first sample in record just beyond hit (exclusive bound)', 'right'), <class 'numpy.int16'>), (('For lone hits, index of sample in record where integration starts', 'left_integration'), <class 'numpy.int16'>), (('For lone hits, index of first sample beyond integration region', 'right_integration'), <class 'numpy.int16'>), (('Internal (temporary) index of fragment in which hit was found', 'record_i'), <class 'numpy.int32'>), (('ADC threshold applied in order to find hits', 'threshold'), <class 'numpy.float32'>), (('Maximum amplitude above baseline [ADC counts]', 'height'), <class 'numpy.float32'>)]
find_aqmon_hits_per_channel(records)[source]

Allow different thresholds to be applied to different channels.

get_deadtime_hits(artificial_deadtime)[source]

Actually, the artificial deadtime hits are already an interval so we only have to copy the appropriate hits.

hit_min_amplitude_aqmon

Dispatch on URL protocol.

unrecognized protocol returns identity inspired by dasks Dispatch and fsspec fs protocols.

input_buffer: Dict[str, Chunk]
provides: tuple = ('aqmon_hits',)
run_i: int
run_id: str
save_when = 2
takes_config = immutabledict({'hit_min_amplitude_aqmon': <straxen.url_config.URLConfig object>, 'baseline_samples_aqmon': <straxen.url_config.URLConfig object>, 'check_raw_record_aqmon_overlaps': <straxen.url_config.URLConfig object>})

Module contents