EnergyScale

class EnergyScale : public madspace::FunctionGenerator

Renormalization and factorization scales for an event.

Computes the renormalization scale and the two factorization scales from the event momenta. Each can be fixed to a constant or set to a dynamical choice (Sec. 3.2.6 of [1], matching the choices in [2]):

\[ \mu = \sum_i m_i, \qquad \mu = E_\mathrm{T} = \sum_i \frac{E_i\,p_{\mathrm{T},i}}{|\vec p_i|}, \]
\[ \mu = H_\mathrm{T} = \sum_i \sqrt{m_i^2 + p_{\mathrm{T},i}^2}, \]

with DynamicalScaleType selecting \(E_\mathrm{T}\) (transverse_energy), \(H_\mathrm{T}\) (transverse_mass), \(H_\mathrm{T}/2\) (half_transverse_mass) or \(\sqrt{\hat s}\) (partonic_energy). The dynamical scale is multiplied by scale_factor, e.g. \(H_\mathrm{T}/4\) is half_transverse_mass with scale_factor = 0.5. A CustomFunction of type CustomFunction::scale replaces the dynamical choice, like user_dynamical_scale in MadGraph5.

batch is the leading batch dimension.

Arguments

  • momenta – float, shape (batch, particle_count, 4) – the event momenta.

Returns

  • ren_scale – float, shape (batch,) – renormalization scale.

  • fact_scale1 – float, shape (batch,) – factorization scale for the first beam.

  • fact_scale2 – float, shape (batch,) – factorization scale for the second beam.

References

Public Types

enum DynamicalScaleType

Dynamical scale choice; see the class description for the formulas.

Values:

enumerator transverse_energy

Total transverse energy \(E_\mathrm{T}\).

enumerator transverse_mass

Sum of transverse masses \(H_\mathrm{T}\).

enumerator half_transverse_mass

\(H_\mathrm{T}/2\).

enumerator partonic_energy

Partonic energy \(\sqrt{\hat s}\).

Public Functions

inline EnergyScale(std::size_t particle_count)

Dynamical half_transverse_mass for all three scales.

Parameters:

particle_count – Number of external particles.

inline EnergyScale(std::size_t particle_count, DynamicalScaleType type)

Dynamical scale of type type for all three scales.

Parameters:
  • particle_count – Number of external particles.

  • type – The dynamical scale choice.

inline EnergyScale(std::size_t particle_count, double fixed_scale)

A single fixed value for all three scales.

Parameters:
  • particle_count – Number of external particles.

  • fixed_scale – The constant scale value.

EnergyScale(std::size_t particle_count, DynamicalScaleType dynamical_scale_type, bool ren_scale_fixed, bool fact_scale_fixed, double ren_scale, double fact_scale1, double fact_scale2, double scale_factor = 1., const std::optional<CustomFunction> &custom_scale = std::nullopt)
Parameters:
  • particle_count – Number of external particles.

  • dynamical_scale_type – Scale choice used where a scale is not fixed.

  • ren_scale_fixed – Whether the renormalization scale is fixed.

  • fact_scale_fixed – Whether the factorization scales are fixed.

  • ren_scale – Fixed renormalization-scale value.

  • fact_scale1 – Fixed factorization scale for the first beam.

  • fact_scale2 – Fixed factorization scale for the second beam.

  • scale_factor – Factor on the dynamical scale; fixed scales are left alone.

  • custom_scale – Optional user-supplied function that replaces the dynamical scale choice.