smoofit.utils.Dim6EFTMorphing

class smoofit.utils.Dim6EFTMorphing(var, basis_points)[source]

A class for morphing signals in a dimension-6 EFT

Instances of this class are callable and are meant to be passed to smoofit.model.Process.scale_by_fn().

In a dim.-6 EFT with \(n\) operators, contributions (cross sections, yields…) scale like:

\[H(\vec{c}) = H_0 + \sum_{i=1}^n c_i H_i + \sum_{i=1,j=1,i \leq j \leq n} c_i c_j H_{ij}\]

where \(H_0\) is the SM prediction, \(\vec{c}\) are the Wilson coefficients, \(H_i\) are the interferences between the SM and operator \(i\), and \(H_{ij}\) are pure-EFT contributions (operator-squared and operator-operator interfence).

If you have at your disposal a set of templates \(B_k = H(\vec{c}_k)\) (for instance, you have event weights for each \(\vec{c}_k\), and have filled separate histograms using each set of weights), with \(k = 1 \dots M = 1+n+n(n+1)/2\), it is possible to morph these templates into the prediction for any value of \(\vec{c}\):

\[H(\vec{c}) = \sum_{k=1}^M f_k(\vec{c}) B_k\]

where:

\[\begin{split}f_k(\vec{c}) &= \sum_{l=1}^M w_l(\vec{c}) W_{lk}^{-1}, \\ \vec{w}(\vec{c}) &= (1, \, c_1, \dots, c_n, \, c_1 c_1, c_1 c_2, \dots , c_1 c_n, c_2 c_2, c_2 c_3, \dots , c_n c_n ), \\ W_{lk} &= w_l(\vec{c}_k)\end{split}\]

The process this scaling function is attached to should therefore have \(M\) sub-processes, matching the \(B_k\) above. Note that the sum over \(k\) is not performed by this morphing function, but by the model when summing all processes and sub-process together. Hence, systematic uncertainties are still applied separately to each sub-contribution \(B_k\).

Methods

__call__(values)

Morphing functions

__init__(var, basis_points)

Constructor

__call__(values)[source]

Morphing functions

Parameters

values (DeviceArrayBase) – array of shape (n,) with the values of the Wilson coefficients \(\vec{c}\)

Return type

DeviceArrayBase

Returns

array of shape (M,1) where entry [k,0] is equal to \(f_k(\vec{c})\)

__init__(var, basis_points)[source]

Constructor

Parameters
  • var – the smoofit.model.Variable representing the n Wilson coefficients

  • basis_points (ndarray) – the values of the Wilson coefficients used for filling each basis template, as a 2D array with shape (M,n)