2double CLASSNAME::get_partial_width<Higgs, Photon, Photon>(
3 const context_base& context,
4 const typename field_indices<Higgs>::type& in_idx,
5 const typename field_indices<Photon>::type& out1_idx,
6 const typename field_indices<Photon>::type& out2_idx)
8 const auto amp = calculate_amplitude<Higgs, Photon, Photon>(context, in_idx, out1_idx, out2_idx);
9 const double mH = context.physical_mass<Higgs>(in_idx);
10 static constexpr double ps {1/(8.*
Pi)};
11 static constexpr double ps_symmetry {0.5};
12 const double flux = 0.5/mH;
13 auto res = flux * ps * ps_symmetry * amp.square();
16 if (flexibledecay_settings.get(FlexibleDecay_settings::use_Thomson_alpha_in_Phigamgam_and_PhigamZ)) {
17 const double alpha_em_0 = physical_input.get(Physical_input::alpha_em_0);
18 const double alpha_em = get_alpha(context);
19 res *=
Sqr(alpha_em_0/alpha_em);
22 if (flexibledecay_settings.get(FlexibleDecay_settings::print_effc_block)) {
23 effhiggscouplings_block_input.push_back(
25 25 + 10*(in_idx.size()>0 ? in_idx.at(0) : 0), 22, 22,
26 std::sqrt(res/(flux * ps * ps_symmetry)/(0.5*
Power4(mH))),
27 field_as_string<Higgs>(in_idx) +
"-" + field_as_string<Photon>(out1_idx) +
"-" + field_as_string<Photon>(out2_idx)
constexpr std::complex< T > Sqr(const std::complex< T > &a) noexcept
constexpr Base Power4(Base b) noexcept
static constexpr double Pi