33 double M_H_pow_2 =
pow(M_H,2.);
34 double M_W_pow_2 =
pow(M_W,2.);
35 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
43 double m_u[4],m_u_pow_2[4];
45 for (
int i = 0; i<3; ++i) {
46 for (
int j = 0; j<3; j++) {
57 for(
int i =0;i<3;++i) {
58 m_u_pow_2[i]=
pow(m_u[i],2.);
67 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
68 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
69 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
70 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
72 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
74 C1_chargedhiggs +=
pow(g_2,4.)*CKM_product*m_u_pow_2[i]*m_u_pow_2[j]*(2.*
pow(M_W,2.)*D0h*
pow(tbeta,-2.) - D2h_c*
pow(tbeta,-4.) - 2*D2h*
pow(tbeta,-2.))/(128.*
pow(
PI,2.)*
pow(M_W,4.));
109 double M_H_pow_2 =
pow(M_H,2.);
110 double M_W_pow_2 =
pow(M_W,2.);
111 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
119 double m_u[4],m_u_pow_2[4];
121 for (
int i = 0; i<3; ++i) {
122 for (
int j = 0; j<3; j++) {
133 for(
int i =0;i<3;++i) {
134 m_u_pow_2[i]=
pow(m_u[i],2.);
141 double D0h,D0h_c,D2h,D2h_c;
145 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
146 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
147 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
149 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
151 Cp1_chargedhiggs += -
pow(g_2,4.)*
pow(m_b,2.)*
pow(m_q,2.)*CKM_product*(D2h_c*
pow(tbeta,4.)+2.*D2h*
pow(tbeta,2.))/(128.*
pow(
PI,2.)*
pow(M_W,4.));
187 double M_H_pow_2 =
pow(M_H,2.);
188 double M_W_pow_2 =
pow(M_W,2.);
189 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
197 double m_u[4],m_u_pow_2[4];
199 for (
int i = 0; i<3; ++i) {
200 for (
int j = 0; j<3; j++) {
211 for(
int i =0;i<3;++i) {
212 m_u_pow_2[i]=
pow(m_u[i],2.);
222 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
223 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
224 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
226 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
228 C2_chargedhiggs += -
pow(g_2,4.)*
pow(m_q,2.)*CKM_product*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c - 2*D0h)/(128.*
pow(
PI,2.)*
pow(M_W,4.));
263 double M_H_pow_2 =
pow(M_H,2.);
264 double M_W_pow_2 =
pow(M_W,2.);
265 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
273 double m_u[4],m_u_pow_2[4];
275 for (
int i = 0; i<3; ++i) {
276 for (
int j = 0; j<3; j++) {
287 for(
int i =0;i<3;++i) {
288 m_u_pow_2[i]=
pow(m_u[i],2.);
297 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
298 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
299 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
301 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
303 Cp2_chargedhiggs += -
pow(g_2,4.)*
pow(m_b,2.)*CKM_product*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c-2.*D0h)/(128.*
pow(
PI,2.)*
pow(M_W,4.));
345 double M_H_pow_2 =
pow(M_H,2.);
346 double M_W_pow_2 =
pow(M_W,2.);
347 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
355 double m_u[4],m_u_pow_2[4];
357 for (
int i = 0; i<3; ++i) {
358 for (
int j = 0; j<3; j++) {
369 for(
int i =0;i<3;++i) {
370 m_u_pow_2[i]=
pow(m_u[i],2.);
377 double D0h,D0h_c,D2h;
381 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
382 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
383 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
384 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
386 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
388 C4_chargedhiggs +=
pow(g_2,4.)*CKM_product*(m_b*m_q*D2h*
pow(tbeta,2.)/
pow(M_W,2.) - m_b*m_q*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c + D0h*(
pow(tbeta,2.) +
pow(tbeta,-2.)))/(4*
pow(M_W,4.)))/(16.*
pow(
PI,2.));
424 double M_H_pow_2 =
pow(M_H,2.);
425 double M_W_pow_2 =
pow(M_W,2.);
426 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
434 double m_u[4],m_u_pow_2[4];
436 for (
int i = 0; i<3; ++i) {
437 for (
int j = 0; j<3; j++) {
448 for(
int i =0;i<3;++i) {
449 m_u_pow_2[i]=
pow(m_u[i],2.);
457 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
458 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
459 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
461 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][0])*conj(V_CKM[j][0]);
463 C5_chargedhiggs +=
pow(g_2,4.)*m_b*m_q*CKM_product*
pow(m_u[i],2.)*(D2h_c-2.*D2h)/(32.*
pow(
PI,2.)*
pow(M_W,4.));
498 double M_H_pow_2 =
pow(M_H,2.);
499 double M_W_pow_2 =
pow(M_W,2.);
500 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
508 double m_u[4],m_u_pow_2[4];
510 for (
int i = 0; i<3; ++i) {
511 for (
int j = 0; j<3; j++) {
523 for(
int i =0;i<3;++i) {
524 m_u_pow_2[i]=
pow(m_u[i],2.);
529 double D0h,D0h_c,D2h,D2h_c;
533 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
534 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
535 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
536 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
537 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
539 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
541 C1_chargedhiggs +=
pow(g_2,4.)*CKM_product*m_u_pow_2[i]*m_u_pow_2[j]*(2.*
pow(M_W,2.)*D0h*
pow(tbeta,-2.) - D2h_c*
pow(tbeta,-4.) - 2*D2h*
pow(tbeta,-2.))/(128.*
pow(
PI,2.)*
pow(M_W,4.));
576 double M_H_pow_2 =
pow(M_H,2.);
577 double M_W_pow_2 =
pow(M_W,2.);
578 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
587 double m_u[4],m_u_pow_2[4];
589 for (
int i = 0; i<3; ++i) {
590 for (
int j = 0; j<3; j++) {
601 for(
int i =0;i<3;++i) {
602 m_u_pow_2[i]=
pow(m_u[i],2.);
613 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
614 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
615 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
617 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
619 Cp1_chargedhiggs += -
pow(g_2,4.)*
pow(m_b,2.)*
pow(m_q,2.)*CKM_product*(D2h_c*
pow(tbeta,4.)+2.*D2h*
pow(tbeta,2.))/(128.*
pow(
PI,2.)*
pow(M_W,4.));
655 double M_H_pow_2 =
pow(M_H,2.);
656 double M_W_pow_2 =
pow(M_W,2.);
657 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
665 double m_u[4],m_u_pow_2[4];
667 for (
int i = 0; i<3; ++i) {
668 for (
int j = 0; j<3; j++) {
679 for(
int i =0;i<3;++i) {
680 m_u_pow_2[i]=
pow(m_u[i],2.);
685 double D0h,D0h_c,D2h,D2h_c;
689 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
690 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
691 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
692 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
693 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
695 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
697 C2_chargedhiggs += -
pow(g_2,4.)*
pow(m_q,2.)*CKM_product*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c - 2*D0h)/(128.*
pow(
PI,2.)*
pow(M_W,4.));
734 double M_H_pow_2 =
pow(M_H,2.);
735 double M_W_pow_2 =
pow(M_W,2.);
736 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
744 double m_u[4],m_u_pow_2[4];
746 for (
int i = 0; i<3; ++i) {
747 for (
int j = 0; j<3; j++) {
758 for(
int i =0;i<3;++i) {
759 m_u_pow_2[i]=
pow(m_u[i],2.);
769 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
770 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
771 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
773 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
775 Cp2_chargedhiggs += -
pow(g_2,4.)*
pow(m_b,2.)*CKM_product*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c-2.*D0h)/(128.*
pow(
PI,2.)*
pow(M_W,4.));
820 double M_H_pow_2 =
pow(M_H,2.);
821 double M_W_pow_2 =
pow(M_W,2.);
822 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
830 double m_u[4],m_u_pow_2[4];
832 for (
int i = 0; i<3; ++i) {
833 for (
int j = 0; j<3; j++) {
844 for(
int i =0;i<3;++i) {
845 m_u_pow_2[i]=
pow(m_u[i],2.);
851 double D0h,D0h_c,D2h,D2h_c;
855 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
856 D0h =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
857 D0h_c =
D0(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
858 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
860 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
862 C4_chargedhiggs +=
pow(g_2,4.)*CKM_product*(m_b*m_q*D2h*
pow(tbeta,2.)/
pow(M_W,2.) - m_b*m_q*
pow(m_u[i],2)*
pow(m_u[j],2)*(D0h_c + D0h*(
pow(tbeta,2.) +
pow(tbeta,-2.)))/(4*
pow(M_W,4.)))/(16.*
pow(
PI,2.));
898 double M_H_pow_2 =
pow(M_H,2.);
899 double M_W_pow_2 =
pow(M_W,2.);
900 std::array<std::array<scalar_t, 3>, 3> V_CKM {};
908 double m_u[4],m_u_pow_2[4];
910 for (
int i = 0; i<3; ++i) {
911 for (
int j = 0; j<3; j++) {
922 for(
int i =0;i<3;++i) {
923 m_u_pow_2[i]=
pow(m_u[i],2.);
932 for(
int i = 0; i<3; i++)
for(
int j=1; j<3; j++) {
933 D2h =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_W_pow_2);
934 D2h_c =
D2p(m_u_pow_2[i],m_u_pow_2[j],M_H_pow_2,M_H_pow_2);
936 CKM_product = V_CKM[i][3]*V_CKM[j][3]*conj(V_CKM[i][1])*conj(V_CKM[j][1]);
938 C5_chargedhiggs +=
pow(g_2,4.)*m_b*m_q*CKM_product*
pow(m_u[i],2.)*(D2h_c-2.*D2h)/(32.*
pow(
PI,2.)*
pow(M_W,4.));
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
static double compute_LO(const ParamSrc &src)
Mapper for WGroup <-> WGroupId <-> optional external string.
Lightweight view over a set of source parameters keyed by ParamId.
scalar_t get_val(const ParamId &id) const
Retrieves the current value of a parameter.
Abstract base class representing a Wilson coefficient and its matching information.
LhaID get_lhaid_from_name(QCDOrder order)
Computes the LhaID directly from the coefficient base name and mapping conventions.
std::map< QCDOrder, MatchingInfo > matching_info
Matching metadata indexed by QCD order.
scalar_t pow(const scalar_t &base, const scalar_t &exp)
double D2p(double w, double x, double y, double z)
Wilson special function D2p depending on 4 parameters.
double D0(double w, double x, double y, double z)
Wilson special function D0 depending on 4 parameters.
Represents an identifier of a LHA element, possibly containing several sub-ids.