PlotMixin

class cait.mixins.PlotMixin[source]

Bases: object

Mixin Class for the DataHandler to make essential plots for the analysis

show_efficiency(channel=0, cut_flag=None, which_quantity='true_ph', bins=100, title=None, xlabel=None, ylabel=None, show=True, plot=True, xran=None, yran=None, block=True, save_path=None, dpi=150, range=None, xscale='linear')[source]

Calculate the cut efficiency for a given cut flag and plot it.

Parameters:
  • channel (int) – The cut efficiency is calculated and plotted for this channel.

  • cut_flag (list of bools) – The cut values that are used for the cut efficiency calculation.

  • which_quantity (string) – Either ‘true_ph’, ‘ph’, ‘of’, ‘sef’ or ‘recoil_energy’. The method that is used for the pulse height estimation.

  • bins (int) – The number of bins in which we calculate the efficiency.

  • title (string) – A title for the plot.

  • xlabel (string) – A label for the x axis.

  • ylabel (string) – A label for the y axis.

  • show (bool) – If set, the plots are shown.

  • plot (bool) – Do a plot of the cut efficiency. Otherwise, only the values are returned.

  • xran (tuple of two floats) – The range of the x axis.

  • yran (tuple of two floats) – The range of the y axis.

  • block (bool) – If False the matplotlib generated figure window does not block the futher code execution.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

  • range (tuple of two floats) – The range in which the histogram is calculated. This should be maximally as large as the interval in which the pulses are simulated.

  • xscale (string) – Either ‘linear’ or ‘log’. The binning of the x axis.

Returns:

The efficiency within the bins, the number of counts within the bins, the bin edges.

Return type:

tuple of (array of length bins, array of length bins, array of length bins+1)

show_exceptional_sev(naming, title=None, show_fit=True, block=True, sample_length=None, show=True, save_path=None, dpi=150)[source]

Plot an exceptional standardevent.

Parameters:
  • naming (string) – The naming of the event, must match the group in the h5 data set, e.g. “carrier” –> group name “stdevent_carrier”

  • title (string) – A title for the plot.

  • show_fit (bool) – If True then also plot the parametric fit.

  • block (bool) – If False the matplotlib generated figure window does not block the futher code execution

  • sample_length (float) – The length of a sample in milliseconds. If None, it is calcualted from the sample frequency.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

show_hist(title=None, which_mp='pulse_height', only_idx=None, which_channel=0, type='events', which_labels=None, which_predictions=None, pred_model=None, bins=100, block=True, ran=None, show=True, save_path=None, dpi=150)[source]

Show a histogram of main parameter values

Attention! This method is depricated! Use show_values instead!

show_ly(title=None, xlabel=None, ylabel=None, which_method='ph', x_channel=0, y_channel=1, xlim=None, ylim=None, only_idx=None, type='events', which_labels=None, good_y_classes=None, which_predictions=None, pred_model=None, block=True, marker='.', alpha=0.8, s=10, show=True, save_path=None, dpi=150, name_appendix='')[source]

Make a Light Yield Plot out of specific Labels or Predictions.

The Light Yield Parameter was described in “CRESST Collaboration, First results from the CRESST-III low-mass dark matter program” (10.1103/PhysRevD.100.102002).

Parameters:
  • title (string) – A title for the plot.

  • xlabel (string) – A label for the x axis.

  • ylabel (string) – A label for the y axis.

  • which_method (string) – Either ph, sef or of. The pulse height estimation method that is used for the plot.

  • x_channel (int) – The number of the channel that PHs are on the x axis.

  • y_channel (int) – The number of the channel that PHs are on the y axis.

  • xlim (tuple of two floats) – The range of the x axis.

  • ylim (tuple of two floats) – The range of the y axis.

  • only_idx (list of ints or None) – If set only these indices are used.

  • type (string) – Either events or testpulses.

  • which_labels (list of ints) – The labels that are used in the plot.

  • good_y_classes (list of ints or None) – If set events with y class other than in that list are not used in the plot.

  • which_predictions (list of ints or None) – The predictions that are used in the plot.

  • pred_model (string) – The naming of the model from that the predictions are.

  • block (bool) – If the plot blocks the code when executed in cmd.

  • marker (string) – The marker type from pyplots scatter plot.

  • alpha (float) – The transparency factor of the scatter objects. Between 0 and 1.

  • s (int) – The size parameter of the scatter objects.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

  • name_appendix (string) – A string that is appended to the dataset of the pulse height estimation method. This is typically _downX if pulse height estimations were calculated with downsampling.

show_nps(channel=None, title=None, block=True, show=True, save_path=None, xran=None, yran=None, dpi=150)[source]

Plot the Noise Power Spectrum.

Parameters:
  • channel (int) – If chosen, only this channel is plotted.

  • title (string) – A title for the plot.

  • block (bool) – If False the matplotlib generated figure window does not block the futher code execution.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • xran (tuple of two floats) – The range of the x axis.

  • yran (tuple of two floats) – The range of the y axis.

  • dpi (int) – The dots per inch of the plot.

show_of(channel=None, title=None, block=True, show=True, group_name_appendix='', save_path=None, down=None, xran=None, yran=None, dpi=150)[source]

Plot the Optimum Filter.

Parameters:
  • channel (int) – If chosen, only this channel is plotted.

  • title (string) – A title for the plot.

  • block (bool) – If False the matplotlib generated figure window does not block the futher code execution.

  • show (bool) – If set, the plots are shown.

  • group_name_appendix (string) – A string that is appended to the group name optimumfilter. Typically this is _tp in case we want to plot a test pulse standardevent.

  • save_path (string) – If set, the plots are save to this directory.

  • down (int) – The downsample factor of the optimum filter. This is appended to the name of the data sets in the Hdf5 set.

  • xran (tuple of two floats) – The range of the x axis.

  • yran (tuple of two floats) – The range of the y axis.

  • dpi (int) – The dots per inch of the plot.

show_saturation(show_fit=True, channel=0, marker='.', s=1, alpha=1, only_idx=None, title=None, block=True, show=True, save_path=None, dpi=150, method: str = 'ph', name_appendix_tp: str = '')[source]

Plot the testpulse amplitudes vs their pulse heights and the fitted logistic curve.

This method was used to describe the detector saturation in “M. Stahlberg, Probing low-mass dark matter with CRESST-III : data analysis and first results”, available via https://doi.org/10.34726/hss.2021.45935 (accessed on the 9.7.2021).

Parameters:
  • show_fit (bool) – If true show the fitted logistics curve.

  • channel – The channel for that we want to plot the saturation curve.

  • channel – int

  • marker (string) – The marker type from pyplots scatter plot.

  • s (int) – The size parameter of the scatter objects.

  • alpha (float) – The transparency factor of the scatter objects. Between 0 and 1.

  • only_idx (list of ints) – Only these indices are used in the fit of the saturation.

  • title (string) – A title for the plot.

  • block (bool) – If the plot blocks the code when executed in cmd.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

  • method (string) – Either ‘ph’ (main parameter pulse height), ‘of’ (optimum filter) or ‘sef’ (standard event fit). Test pulse heights and event heights are then estimated with this method.

  • name_appendix_tp (string) – This is appended to the test pulse height estimation method, e.g. ‘_down16’.

show_scatter(groups, keys, title=None, xlabel=None, ylabel=None, cut_flag=None, idx0s=[None, None], idx1s=[None, None], idx2s=[None, None], block=True, marker='.', xran=None, yran=None, show=True, save_path=None, dpi=150, rasterized=False)[source]

Shows a scatter plot of some values from the HDF5 file

Parameters:
  • groups (list of string) – The group index that is used in the hdf5 file, typically either events, testpulses or noise; first list element applies to data on x, second to data on y axis.

  • keys (list of string) – The key index of the hdf5 file, typically mainpar, fit_rms, …; first list element applies to data on x, second to data on y axis.

  • title (string) – A title for the plot.

  • xlabel (string) – A label for the x axis.

  • ylabel (string) – A label for the y axis.

  • cut_flag (list of bools) – A booled array that decides which values are included in the histogram.

  • idx0s (list of int) – The first index of the array; first list element applies to data on x, second to data on y axis.

  • idx1s (list of int or None) – The second index of the array; first list element applies to data on x, second to data on y axis.

  • idx2s (list of int or None) – The third index of the array; first list element applies to data on x, second to data on y axis.

  • block (bool) – If the plot blocks the code when executed in cmd.

  • marker (string) – The marker type from pyplots scatter plot.

  • xran (tuple of two floats) – The range of the x axis.

  • yran (tuple of two floats) – The range of the y axis.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

  • rasterized (bool) – If activated, the scatter plot is done rasterized.

show_sev(type='stdevent', channel=None, title=None, show_fit=True, block=True, sample_length=None, show=True, save_path=None, name_appendix='', dpi=150)[source]

Plot the standardevent of all channels.

Parameters:
  • type (string) – Either stdevent for events or stdevent_tp for testpulses.

  • channel (int) – If chosen, only this channel is plotted.

  • title (string) – A title for the plot.

  • show_fit (bool) – If True then also plot the parametric fit.

  • block (bool) – If False the matplotlib generated figure window does not block the futher code execution.

  • sample_length (float) – The length of a sample in milliseconds. If None, it is calcualted from the sample frequency.

  • show (bool) – If set, the plots are shown.

  • save_path (string) – If set, the plots are save to this directory.

  • name_appendix (string) – A string that is appended to the group name standardevent. Typically this is _tp in case we want to plot a test pulse standardevent.

  • dpi (int) – The dots per inch of the plot.

show_values(group, key, title=None, xlabel=None, ylabel=None, cut_flag=None, idx0=None, idx1=None, idx2=None, block=True, bins=100, range=None, show=True, xran=None, yran=None, save_path=None, dpi=150, scale='linear')[source]

Shows a histogram of some values from the HDF5 file

Parameters:
  • group (string) – The group index that is used in the hdf5 file, typically either events, testpulses or noise.

  • key (string) – The key index of the hdf5 file, typically mainpar, fit_rms, …; There are a few exceptional properties that are calculated from the main parameters and can be plotted: ‘pulse_height’, ‘onset’, ‘rise_time’, ‘decay_time’, ‘slope’.

  • title (string) – A title for the plot.

  • xlabel (string) – A label for the x axis.

  • ylabel (string) – A label for the y axis.

  • cut_flag (list of bools) – A booled array that decides which values are included in the histogram.

  • idx0 (int) – The first index of the array.

  • idx1 (int or None) – The second index of the array.

  • idx2 (int or None) – The third index of the array.

  • block (bool) – If the plot blocks the code when executed in cmd.

  • bins (int) – The number of bins for the histogram.

  • range (2D tuple of floats) – The interval that is shown in the histogram.

  • show (bool) – If set, the plots are shown.

  • xran (tuple of two floats) – The range of the x axis.

  • yran (tuple of two floats) – The range of the y axis.

  • save_path (string) – If set, the plots are save to this directory.

  • dpi (int) – The dots per inch of the plot.

  • scale (string) – Put ‘linear’ for non-log plot and ‘log’ for log plot.