flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
decay_H_to_AZ.inc
Go to the documentation of this file.
1template <>
2double CLASSNAME::get_partial_width<Higgs, Photon, ZBoson>(
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<ZBoson>::type& out2_idx)
7{
8 const auto amp = calculate_amplitude<Higgs, Photon, ZBoson>(context, in_idx, out1_idx, out2_idx);
9 const double mH = context.physical_mass<Higgs>(in_idx);
10 const double mZ = qedqcd.displayPoleMZ();
11 const double ps = 1./(8.*Pi) * std::sqrt(KallenLambda(1., 0., Sqr(mZ/mH)));
12 const double flux = 0.5/mH;
13 auto res = flux * ps * amp.square();
14
15 // use alpha_em in the Thomson limit
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 *= alpha_em_0/alpha_em;
20 }
21
22 const std::string tag = field_as_string<Higgs>(in_idx) + "-" + field_as_string<Photon>(out1_idx) + "-" + field_as_string<ZBoson>(out2_idx);
23
24 if (flexibledecay_settings.get(FlexibleDecay_settings::print_effc_block)) {
25 effhiggscouplings_block_input.push_back(
26 {
27 fieldPDG<Higgs>(in_idx), 22, 23,
28 std::sqrt(res/(flux * ps)/(0.5*Sqr(Sqr(mH)-Sqr(mZ)))),
29 tag
30 }
31 );
32 }
33
34 if (flexibledecay_settings.get(FlexibleDecay_settings::call_higgstools) != 0 ||
35 flexibledecay_settings.get(FlexibleDecay_settings::call_lilith) != 0 ||
36 flexibledecay_settings.get(FlexibleDecay_settings::calculate_normalized_effc) != 0
37 ) {
38 neutral_higgs_effc.add_coupling(
39 field_as_string<Higgs>(in_idx),
40 {22, 23},
41 std::pair<std::string, double> {tag, std::sqrt(res)},
42 res
43 );
44 }
45
46 return res;
47}
const double mZ
Definition consts.hpp:34
constexpr std::complex< T > Sqr(const std::complex< T > &a) noexcept
Definition wrappers.hpp:633
T KallenLambda(T x, T y, T z) noexcept
Definition wrappers.hpp:837