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 byscale_factor, e.g. \(H_\mathrm{T}/4\) ishalf_transverse_masswithscale_factor = 0.5. A CustomFunction of type CustomFunction::scale replaces the dynamical choice, likeuser_dynamical_scalein MadGraph5.batchis 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
[1] T. Heimel, O. Mattelaer, R. Winterhalder, “MadSpace”, https://arxiv.org/abs/2602.06895 (Sec. 3.2.6)
[2] V. Hirschi, O. Mattelaer, “Automated event generation for loop-induced
processes”,
https://arxiv.org/abs/1507.00020
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}\).
-
enumerator transverse_energy¶
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
typefor 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.