cait.simulate

cait.simulate.generate_ps_par(h)[source]

Simulate PS parameters modelled after the TUM40 phonon detector.

Parameters:

h (1D array) – Array of pulse heights.

Returns:

(t0, An, At, tau_n, tau_in, tau_t)

Return type:

list of 6 1D arrays

cait.simulate.simulate_baselines(path_h5, size, rms_thresholds, lamb=0.01, kde=True, sim_poly=True, verb=False)[source]

Creates fake baselines with given nps and drift structure.

Parameters:
  • path_h5 (string) – Path to the file from which nps and bl drifts come.

  • size (int) – Nmbr of baselines to simulate.

  • rms_thresholds (list of two ints) – Threshold for the bl rms fit error above which they get not included in the nps and drifts.

  • lamb (float) – Parameter for the noise simulation method.

  • kde (bool) – If True we sample the coefficients of the bl fit with a kernel density estimation.

  • sim_poly (pool) – If True we simulate the polynomials for the baselines.

  • verb (bool) – If true feedback about progress in code.

Returns:

(ch_nmbr, size bl, rec_len) of the simulated baselines, (ch_nmbr, size bl, rec_len) of the simulated polynomials.

Type:

tuple (3D array, 3D array)

cait.simulate.simulate_events(path_h5, type, name_appendix, size, record_length, nmbr_channels, ph_intervals=[(0, 1), (0, 1)], discrete_ph=None, exceptional_sev_naming=None, channels_exceptional_sev=[0], t0_interval=(-20, 20), fake_noise=True, use_bl_from_idx=0, take_idx=None, rms_thresholds=[1, 1], lamb=0.01, sample_length=0.04, saturation=False, reuse_bl=False, ps_dev=False)[source]

Simulates pulses on a noise baseline.

Options are to take measured noise baselines or fake bl, sev of events or testpulses, pulse heights, onset intervals.

Parameters:
  • path_h5 (string) – Path of the dataset on which the sim is based on.

  • type (string) – Either events, testpulses or noise - what type of event is simulated; if testpulses the other channels than the first will beignored for the PHs.

  • size (integer > 0) – Size of the simulated dataset, if fake_noise is False it must be smaller than the number of noise baselines in the hdf5 file.

  • record_length (integer) – Length of the record window in the hdf5 datset.

  • nmbr_channels (integer) – The number of channels in the hdf5 dataset.

  • ph_intervals (list of c intervals) – Intervals for the simulated pulse heights, with c the nmbr_channels; the heights are samples uniformly from these intervals.

  • discrete_ph (list of intervals) – c Lists of values for the pulse heights for the c channels or None for ph intervals; the heights are sampled uniformly for the list.

  • exceptional_sev_naming (string) – If set, this is full group name in the HDF5 set for the sev used for the simulation of events - by setting this, e.g. carrier events can be simulated.

  • channel_exceptional_sev (list of ints) – The channels for that the exceptional sev is used, e.g. if only for phonon channel, choose [0], if for botch phonon and light, choose [0,1].

  • t0_interval (tuple) – Interval (l,u) with l lower bound for onset and u upper bound. The onsets are sampled uniformly from the interval. In ms.

  • fake_noise (bool) – If true use simulated noise baselines, otherwise measured ones.

  • use_bl_from_idx (int) – The start index of the baselines that are used.

  • take_idx (list) – The event indices which we want to use for the simulation.

  • rms_threshold (float) – Above which value noise baselines are excluded for the distribution of polynomial coefficients; also, a cut value for the baselines if not the fake ones but the ones from the h5 set are taken.

  • lamb (float) – The parameter for the bl simulation method.

  • sample_length (float) – The length in ms of one sample from an event.

  • saturation (bool) – If True the logistic curve is applied to the pulses.

  • reuse_bl (bool) – If True the same baselines are used multiple times to have enough of them (use this with care to not have identical copies of events).

  • ps_dev (bool) – If True the pulse shape parameters are modelled with deviations.

Returns:

The simulated events, the true pulse heights, the onsets of the events.

Return type:

(3D array of size (nmbr channels, size, record_length), the simulated events, 2D array of size (nmbr channels, size), the true pulse heights, 1D array (size), the onsets of the events)