Skip to content

Results variables

Louis VASLIN edited this page Apr 9, 2021 · 7 revisions

Here is a list of all the inner results variables available in the BumpHunter1D and BumpHunter2D classes.
In order to fully understand how they work, please refer to the Inner parameter variables section.

Scan results

These variables are used to store the results of the last scan performed.
For the signal injection, the stored results correspond to the last injection, when the required significance is reached.

Note:
Depending on the scan method you use, the inner result variables might be defined differently. More about scan methods.

global_Pval

The global p-value calculated from the BumpHunter test statistic distribution.

significance

The significance corresponding the obtained global p-value.

signal_eval

The number of signal events in the bump as evaluated from event count.
In the case of a deficit (negative bump), this evaluated event count is also negative.

min_Pval_ar

This is a numpy array containing all the minimum local p-values obtained for the data and pseudo-data.
For a simple scan performed with the bump_scan method, the first index correspond to the data, and all others to the pseudo-experiments.
For a scan performed with the signal_inject method, the indices from 0 to npe correspond to the background+signal pseudo-experiments, and all others to the background only pseudo-experiments.

min_loc_ar

This is a numpy array containing the position of the intervals corresponding to the minimum local p-values stored in min_Pval_ar.
The position is given as the number of the left most bin of the interval.

min_width_ar

This is a numpy array containing the width of the intervals corresponding to the minimum local p-values stored in min_Pval_ar.
The width is given as the number of bins included in the interval.

res_ar

This is a complex variable containing all the local p-values calculated during the last scan (not only the minimums).
It is a array-like variables which first index correspond to the scanned distribution:

  • The index 0 correspond to the data distribution.
  • The index greater than 0 correspond to the pseudo-data distributions.

The second index correspond to a specific window width.
Thus, the index i correspond to a width of width_min + i.

The third index correspond to the position of the window.
Thus, the index j correspond to the bin number first_bin + width * j, with first bin begin the number of the first non-empty bin of the data distribution.

To summarize, the value res_ar[n][i][j] correspond to the local p-value obtained for:

  • The data distribution if n=0 or the n-th pseudo-data distribution otherwise
  • A window of width w = width_min + i
  • A window located at the position 'loc = first_bin + w * j'

This complicated variable can be used for example to make a tomography plot.

Note:
Currently, the res_ar variable is only relevant when calling the bump_scan method.

Injection results (Note used in BumpHunter2D class yet)

These variables store the results specific to the signal injection performed by the method signal_inject.

signal_min

This is the minimum number of signal events that needs to be injected in order to reach the required significance.
Note: This number being given as a float, it is subject to the float rounding errors upon printing.

signal_ratio

This is the ratio 'number of injected signal event' over 'excepted number of signal event' required to reach the wanted significance (the so called signal strength).
This correspond to signal_min / signal_exp.

data_inject

This is the data obtained after injecting signal in the background with a signal strength of signal_ratio.
This variables only give the event yield for each bin of the distribution, as you would obtain when calling the numpy.histogram function.

sigma_ar

This is a numpy array containing the significance reached for every tested value of signal strength.