Configuration files

Detector configuration

name

Name of the detector.

data_type

Defines the raw data loader. Built-in options are:

standard

The data mode native to Listmode. All other data is converted to native format before parsing

caen

The data file saved by Caen MC2 program with extra data set on.

panda

For PANDA data files.

ortec

For data files saved with Ortec Maestro program.

extension

The extension of the raw data files. Extension can include wildcard characters.

daq_type

Might be redundant.

coinc_win

Coincidence window length in nanoseconds. This is the max time interval between two counts so that they will be built into a single event.

sample_ns

Size of the time tick of the detector in ns.

readout_cfg

Optional, will probably be moved to another config file. Defines readout electronics specific configuration file used for daq.

cal_name

Name of the energy calibration file for the detector. Located in config/ecal directory.

effcal

Name of the gamma efficiency calibration file. Located in config/effcal directory.

ch_cfg

List of ch_config dictionaries. One per channel.

events

Definition of energy information. A data_info dictionary.

extras

Definition of any extra data. A list of data_info dictionaries.

latency

Latency values in ns. A list of values, one per channel, which are added to channel timestamps before searching for coincidences.

histo_size

Optional, will probably be moved to another config file. Defines the number of bins in the histogram returned by daq.

ch_list

List of channels with indices to ‘ch_cfg’ list. Defines the order (and number) of channels in the output. Functionality of this may be changed in the future.

ch_config

name

Name of the channel. Will appear in title and legend of plots.

cfg_file

Optional, will probably be moved to another config file. Defines readout channel specific configuration file used for daq.

pdeadtime

Dead time of a single pulse in the channel. This value will be used to calculate estimated dead time in data formats where hardware calculated dead time does not exist (Caen) or where it cannot be fully trusted (Caen). This value includes the rise time, flat top and any trigger holdoff values and needs to be corrected whenever configuration is changed.

data_info

name

the name of the data. Energy information is always ‘energy’ and value in this field is ignored.

type

Numpy type string describing the data format in the binary file. For energy the default is ‘i2’ for signed 16-bit integer. Extras don’t have defaults and type must be defined.

ch_mask

Defines which energy channels have this extra associated with. Given as a list of zeros and ones. Energy data is always one column per channel and this key is ignored. Default is all channels.

aggregate

Defines how the data is combined or created in the event parser. Normally extras are just read from channel files and combined as events in the event construction. Some builtin extra data types are created while the events are built and exist only as final data.

col

Data is saved as columns in a matrix with number of columns defined by ‘ch_mask’.

bit

Bit mask with a single bit ber channel.

latency

Builtin extra. The time difference between counts in different channels. Needs additional key ‘main’ to define the channel that is compared against the others. Output is always (number of channels - 1) columns.

multihit

Builtin extra. A bit mask with bit set on a channel that received multiple hits per event.

multi

Defines what happens if two or more hits are detected in a single channel within a single event (inside the coincidence window). Valid values are:

sum

Sum of the values

max

Maximum of the values

min

Minimum of the values

mean

Mean of the values

kill

The event is discarded

max_e

Value in the hit where energy is largest

raw unit

String that is used as unit for uncalibrated data. Default is ‘ch’.

unit

String that is used for calibrated data. Default for energy is ‘KeV’.

empty_val

Value given to channels that don’t have information. Default for energy is -1, for all other extras the default is 0. Latency extra has this set to smallest value of the datatype and ignores this parameter.

num_col

Number of columns in the parsed data matrix. It is automatically calculated. For energy it is the number of channels, for extras this value is calculated based on ‘ch_mask’ or defined by the type of inbuilt extra. It is used by the data loader.

main

‘main’ is used by the ‘latency’ aggregate to single out which channel time is compared against the others.

Plot configuration

Plot configuration defines the data in the plot as well as the plotting parameters, such as labels, scales etc. Only one plot can be defined per Plot object. However multiple plots can be stacked into the plot_cfg list of the plot configuration. If all of the plots are 1d and have same axes they can be plotted into a single figure. Creating figures and handling how to stack plots into figures should be done explicitly by the user. Two Plot instances can be compared for equality. The result is True only if they can be shown in the same axes. The Plot class uses only the information in plot_cfg and the name.

name

Name of the canvas. Will be visible in the title of the plot.

plot_cfg

List defining all plots in the configuration file. If multi plot configuration is given the index of the plot has to be set by plot_idx keyword on initialization of the Plot object. First plot in this list is configured if index is not given. A plot is defined by its name, axes and gates:

plot_name

Name for the individual plot that helps to understand the content of the plot. Will be visible in the legend of 1d plots and as the label of the colorbar in 2d plots.

axes

An axis info dictionary defining the x-axis of the plot or a list defining two axis_infos for a 2d plot.

gates

A list of gate_info dictionaries. All gates in this list are applied in AND mode.

The rest of the plot configuration is not used by listmode library at all.

xscale

Defines whether x axis of a plot is logarithmic (“log”) or linear (“linear”, default).

yscale

Defines whether x axis of a plot is logarithmic (“log”) or linear (“linear”, default).

zscale

Defines whether z axis (colorbar) of a 2d-plot is logarithmic (“log”) or linear (“linear”, default)

reverse_x_axis

Optional string that defines whether x-axis is reversed in a plot.

reverse_y_axis

Optional string that defines whether y-axis is reversed in a plot.

axis_info

A dictionary defining each data axis of the plot: :channel: The channel to plot. Note that some extra data have different number of channels. Note also that this

defines the name printed to legend for 1d plots, also for time axes. It should match the gate used for selecting the data (if applicable) for time plots.

data

A string defining the name of the data to be plotted on this axis. This can be “time”, “energy” or any of the extras.

bin_width

For normal data this is an integer width of bin in raw units. Note, for time axis this is in timebase units instead and fractional bin widths can be used.

range

A two item list defining lower and upper limits in calibrated units. Ignored with time axes.

timebase

Only relevant for time axes. A string defining the base unit for time axes. (“ns”, “us”, “ms”, “s”, “m”, “h” and “d”).

gate_info

A dictionary defining a gate :channel: The channel to gate with.

data

A string defining the name of the data to be gated with. This can be “time”, “energy” or any of the extras.

range

A nested list defining the ranges that are used for the gate. Each range is a list of start and stop values. The ranges are defined in calibrated units. Bitmask type data ignores range. An event is in range if True and not if False.

coinc

An integer defining whether the gate is anticoincident (negative integer), coincident (positive integer) or null (zero). Coincident gate only passes events with data value in that channel contained within the gate range, anticoincident passes if not. A zero defines a null gate. It will not cause filtering of the data - it is not processed at all. Use null gates to switch off gates quickly.