a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYMatching.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "SUSYMatching.h"
9 #include "SUSY.h"
10 //#include <math.h>
11 #include <gsl/gsl_integration.h>
12 #include <stdexcept>
13 
14 SUSYMatching::SUSYMatching(const SUSY & SUSY_i) :
15 
16  StandardModelMatching(SUSY_i),
17  mySUSY(SUSY_i),
18  Polylogs(),
19  PV(true),
20 
21  mcDLij(2, NDR, LO),
22  mcDLi3j(20, NDR, LO),
23  mcmueconv(8, NDR, LO),
24  mcgminus2mu(2, NDR, LO),
25 
26  mym_su_sq(6, 0.),
27  mym_sd_sq(6, 0.),
28  mym_se_sq(6, 0.),
29  mym_sn_sq(6, 0.),
30  myRu(6, 6, 0.),
31  myRd(6, 6, 0.),
32  myRl(6, 6, 0.),
33  myRn(6, 6, 0.),
34  MChi(2, 0.),
35  myV(2, 2, 0.),
36  myU(2, 2, 0.),
37  MChi0(4, 0.),
38  MNeig(4, 0.),
39  myN(4, 4, 0.),
40  ON(4, 4, 0.),
41 
42  Lepty(4, 6, 0.),
43  Leptz(2, 3, 0.),
44  Leptfa1(4, 6, 0.),
45  Leptfa2(2, 3, 0.),
46  Leptf1(4, 6, 0.),
47  Leptf2(4, 6, 0.),
48  Leptf3(2, 3, 0.),
49  Leptf4(2, 3, 0.),
50  CRlE(2, 3, 0.),
51  CRlMU(2, 3, 0.),
52  CRlTAU(2, 3, 0.),
53  CRqUP(2, 6, 0.),
54  CRqDOWN(2, 6, 0.),
55  CLlE(2, 3, 0.),
56  CLlMU(2, 3, 0.),
57  CLlTAU(2, 3, 0.),
58  CLqUP(2, 6, 0.),
59  CLqDOWN(2, 6, 0.),
60  NRlE(4, 6, 0.),
61  NRlMU(4, 6, 0.),
62  NRlTAU(4, 6, 0.),
63  NRqUP(4, 6, 0.),
64  NRqDOWN(4, 6, 0.),
65  NLlE(4, 6, 0.),
66  NLlMU(4, 6, 0.),
67  NLlTAU(4, 6, 0.),
68  NLqUP(4, 6, 0.),
69  NLqDOWN(4, 6, 0.),
70  AmpA1LN(4, 6, 0.),
71  AmpA1RN(4, 6, 0.),
72  AmpA1LC(2, 3, 0.),
73  AmpA1RC(2, 3, 0.),
74  AmpTauA1LN(4, 6, 0.),
75  AmpTauA1RN(4, 6, 0.),
76  AmpTauA1LC(2, 3, 0.),
77  AmpTauA1RC(2, 3, 0.),
78  AmpTEA1LN(4, 6, 0.),
79  AmpTEA1RN(4, 6, 0.),
80  AmpTEA1LC(2, 3, 0.),
81  AmpTEA1RC(2, 3, 0.),
82  AmpALN(4, 6, 0.),
83  AmpARN(4, 6, 0.),
84  AmpALC(2, 3, 0.),
85  AmpARC(2, 3, 0.),
86  AmpTauALN(4, 6, 0.),
87  AmpTauARN(4, 6, 0.),
88  AmpTauALC(2, 3, 0.),
89  AmpTauARC(2, 3, 0.),
90  AmpTEALN(4, 6, 0.),
91  AmpTEARN(4, 6, 0.),
92  AmpTEALC(2, 3, 0.),
93  AmpTEARC(2, 3, 0.),
94  TUhat(3, 3, 0.),
95  TDhat(3, 3, 0.),
96  TEhat(3, 3, 0.),
97 
98  upQmassM(3,3,0.),
99  downQmassM(3,3,0.),
100  mySUSYMQ(6, 0.)
101 
102 {
103 }
104 
105 
107 {
108  myRu = mySUSY.getRu();
109  myRd = mySUSY.getRd();
110  myRl = mySUSY.getRl();
111  myRn = mySUSY.getRn();
112  mym_su_sq = mySUSY.getMsu2();
113  mym_sd_sq = mySUSY.getMsd2();
114  mym_sn_sq = mySUSY.getMsn2();
115  mym_se_sq = mySUSY.getMse2();
116  Q_S = mySUSY.getQ_SUSY();
117  mu2R = Q_S * Q_S;
118  tanb = mySUSY.getTanb();
119  sinb = mySUSY.getSinb();
120  cosb = mySUSY.getCosb();
121  Als = mySUSY.Als(Q_S);
122  Mg = mySUSY.getMGl();
123  MChi0 = mySUSY.getMneu();
124  MChi = mySUSY.getMch();
125  MHpm = mySUSY.getMHp();
126  v = mySUSY.v();
127  v1 = mySUSY.v1();
128  v2 = mySUSY.v2();
129  gW = sqrt(8. * mySUSY.getGF() / sqrt(2.)) * mySUSY.Mw_tree();
130  myN = mySUSY.getN();
131  myV = mySUSY.getV();
132  myU = mySUSY.getU();
133 
134  mW = mySUSY.Mw_tree();
135  sinthetaW = sqrt(mySUSY.StandardModel::sW2(mW));
136 
137  upQmassM.assign(0,0,mySUSY.Mq_Q(mySUSY.UP));
138  upQmassM.assign(1,1,mySUSY.Mq_Q(mySUSY.CHARM));
139  upQmassM.assign(2,2,mySUSY.Mq_Q(mySUSY.TOP));
140 
141  downQmassM.assign(0,0,mySUSY.Mq_Q(mySUSY.DOWN));
142  downQmassM.assign(1,1,mySUSY.Mq_Q(mySUSY.STRANGE));
143  downQmassM.assign(2,2,mySUSY.Mq_Q(mySUSY.BOTTOM));
144 
145 }
146 
147 /* LEPTON FLAVOUR */
148 
150 
151  gslpp::matrix<gslpp::complex> MN_tmp(4, 4, 0.);
152  gslpp::matrix<gslpp::complex> Mdiag(4, 4, 0.);
153  for (int a=0;a<4;a++) {
154  Mdiag.assign(a,a,MChi0(a));
155  }
156  MN_tmp = myN.transpose() * Mdiag * myN;
157  gslpp::matrix<gslpp::complex> cmplxONT(4, 4, 0.);
158  MN_tmp.eigensystem(cmplxONT, MNeig);
159  for (int a=0;a<4;a++) {
160  for (int b=0;b<4;b++) {
161  ON.assign(a,b,cmplxONT(b,a).real());
162  }
163  }
164 }
165 
167  //gamma penguin contributions
168 
170 
171  double MW = mySUSY.Mw_tree();
172  double pi = M_PI;
173  double piconst = 1.0/(32.0 * pi * pi);
174  double sw2 = mySUSY.StandardModel::sW2(MW);
175  double stw = sqrt(sw2);
176  double ctw = sqrt(1.0 - sw2);
177  double ttw = stw/ctw;
178  double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
179  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
180  double mTAU = mySUSY.getLeptons(StandardModel::TAU).getMass();
181  sinb = mySUSY.getSinb();
182  double cdenc = sqrt(2.0)*MW*cosb;
183  double cdenn = MW*cosb;
184  double g2 = gW;
185  double g2t = g2/sqrt(2.0);
186 
188 
189  // Neutralino-Fermion-Sfermion couplings
190  for (int a=0;a<4;a++) {
191  for (int x=0;x<6;x++) {
192  // LL + RL TYPE MI
193  NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
194  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
195  NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
196  // RL + RR TYPE MI
197  NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
198  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
199  NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
200 // Commented expressions might be useful for complex neutralino mixing matrices
201 // NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
202 // NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
203 // NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
204  }
205  }
206 
207  // Chargino-Fermion-Sfermion couplings
208  for (int a=0;a<2;a++) {
209  for (int x=0;x<3;x++) {
210  // LL-TYPE
211  CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
212  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
213  CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
214  // LR-TYPE
215  CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
216  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
217  CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
218  }
219  }
220 
221  // Definition of y and z - remember they are dimensionless quantities.
222  for (int a=0;a<4;a++) {
223  for (int x=0;x<6;x++) {
224  Lepty.assign(a, x, MNeig(a) * MNeig(a) / mym_se_sq(x) );
225  }
226  }
227 
228  for (int a=0;a<2;a++) {
229  for (int x=0;x<3;x++) {
230  Leptz.assign(a, x, MChi(a) * MChi(a) / mym_sn_sq(x) );
231  }
232  }
233 
234  for (int a=0;a<4;a++) {
235  for (int x=0;x<6;x++) {
236  if (fabs(1.0 - Lepty(a, x)) > 0.01) {
237  Leptfa1.assign(a, x, (1.0/mym_se_sq(x))*(1.0/pow((1.0 - Lepty(a, x)),4.0))*
238  (2.0 - 9.0*Lepty(a, x) + 18.0*pow(Lepty(a, x),2.0) - 11.0*pow(Lepty(a, x),3.0)
239  + 6.0*pow(Lepty(a, x),3.0)*log(Lepty(a, x))) );
240  Leptf1.assign(a, x, ((1.0 - 6.0*Lepty(a, x) + 3.0 * pow(Lepty(a, x),2.0) +
241  2.0*pow(Lepty(a, x),3.0) - 6.0*pow(Lepty(a,x),2.0)*log(Lepty(a, x))))/
242  (6.0 * pow((1.0 - Lepty(a,x)),4.0)) );
243  Leptf2.assign(a, x, (1.0 - pow(Lepty(a, x),2.0) + 2.0 * Lepty(a, x) * log(Lepty(a, x)))/
244  (pow((1.0-Lepty(a, x)),3.0)));
245  }
246  else {
247  Leptfa1.assign(a, x, (3.0/2.0)*(1.0/mym_se_sq(x)));
248  Leptf1.assign(a, x, 1.0/12.0 - (Lepty(a, x) - 1.0)/30.0);
249  Leptf2.assign(a, x, 1.0/3.0 - (Lepty(a, x) - 1.0)/6.0);
250  }
251  }
252  }
253 
254  for (int a=0;a<2;a++) {
255  for (int x=0;x<3;x++) {
256  if(fabs(1.0-Leptz(a, x)) > 0.01) {
257  Leptfa2.assign(a, x, (1.0/mym_sn_sq(x))*(1.0/pow(1.0 - Leptz(a,x),4.0))*
258  (16.0 - 45.0*Leptz(a,x) + 36.0*pow(Leptz(a,x),2.0) - 7.0*pow(Leptz(a,x),3.0)
259  + 6.0*(2.0 - 3.0*Leptz(a,x))*log(Leptz(a,x))) );
260  Leptf3.assign(a, x, ((2.0 + 3.0*Leptz(a, x) - 6.0*pow(Leptz(a, x),2.0)
261  + pow(Leptz(a, x),3.0) + 6.0*Leptz(a, x)*log(Leptz(a, x)))/
262  (6.0*pow((1.0 - Leptz(a, x)),4.0))) );
263  Leptf4.assign(a, x, ((-3.0 + 4.0*Leptz(a, x) - pow(Leptz(a, x),2.0)
264  - 2.0*log(Leptz(a, x)))/
265  pow((1.0 - Leptz(a, x)),3.0)) );
266  }
267  else {
268  Leptfa2.assign(a, x, (-9.0/2.0)*(1.0/mym_sn_sq(x)) );
269  Leptf3.assign(a, x, 1.0/12.0 - (Leptz(a, x) - 1.0)/20.0 );
270  Leptf4.assign(a, x, 2.0/3.0 - (Leptz(a, x) - 1.0)/2.0 );
271  }
272  }
273  }
274 
275  if (li_to_lj == 1) // mu -> (3)e
276  {
277  // Neutralino contributions
278  for (int a=0;a<4;a++) {
279  for (int x=0;x<6;x++) {
280  AmpA1RN.assign(a, x, (piconst/18.0)*NLlE(a,x)*NLlMU(a,x).conjugate()*Leptfa1(a,x) );
281  AmpA1LN.assign(a, x, (piconst/18.0)*NRlE(a,x)*NRlMU(a,x).conjugate()*Leptfa1(a,x) );
282  AmpARN.assign(a, x, piconst*(NRlE(a, x) * NRlMU(a, x).conjugate() * Leptf1(a, x)
283 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
284  + NLlE(a, x) * NLlMU(a, x).conjugate() * (mE/mMU) * Leptf1(a, x)
285 //...until here
286  + NRlE(a, x) * NLlMU(a, x).conjugate() * (MNeig(a)/mMU) * Leptf2(a, x)) /mym_se_sq(x) );
287  AmpALN.assign(a, x, piconst*(NLlE(a, x) * NLlMU(a, x).conjugate() * Leptf1(a, x)
288 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
289  + NRlE(a, x) * NRlMU(a, x).conjugate() * (mE/mMU) * Leptf1(a, x)
290 //...until here
291  + NLlE(a, x) * NRlMU(a, x).conjugate() * (MNeig(a)/mMU) * Leptf2(a, x)) /mym_se_sq(x) );
292  }
293  }
294  gslpp::complex A1RN = 0.0;
295  gslpp::complex A1LN = 0.0;
296  gslpp::complex ARN = 0.0;
297  gslpp::complex ALN = 0.0;
298  for (int a=0;a<4;a++) {
299  for (int x=0;x<6;x++) {
300  A1RN = A1RN + AmpA1RN(a,x);
301  A1LN = A1LN + AmpA1LN(a,x);
302  ARN = ARN + AmpARN(a,x);
303  ALN = ALN + AmpALN(a,x);
304  }
305  }
306  // Chargino contributions
307  for (int a=0;a<2;a++) {
308  for (int x=0;x<3;x++) {
309  AmpA1RC.assign(a, x, -(piconst/18.0)*CLlE(a,x)*CLlMU(a,x).conjugate()*Leptfa2(a,x) );
310  AmpA1LC.assign(a, x, -(piconst/18.0)*CRlE(a,x)*CRlMU(a,x).conjugate()*Leptfa2(a,x) );
311  AmpARC.assign(a, x, -(piconst/mym_sn_sq(x)) * (CRlE(a, x)*CRlMU(a, x).conjugate() * Leptf3(a, x)
312 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
313  + CLlE(a, x) * CLlMU(a, x).conjugate() * (mE/mMU) * Leptf3(a, x)
314 //...until here
315  + CRlE(a, x) * CLlMU(a, x).conjugate() * (MChi(a)/mMU) * Leptf4(a, x)) );
316  AmpALC.assign(a, x, -(piconst/mym_sn_sq(x)) * (CLlE(a, x) * CLlMU(a, x).conjugate() * Leptf3(a, x)
317 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
318  + CRlE(a, x) * CRlMU(a, x).conjugate() * (mE/mMU) * Leptf3(a, x)
319 //...until here
320  + CLlE(a, x) * CRlMU(a, x).conjugate() * (MChi(a)/mMU) * Leptf4(a, x)) );
321  }
322  }
323  gslpp::complex A1RC = 0.0;
324  gslpp::complex A1LC = 0.0;
325  gslpp::complex ARC = 0.0;
326  gslpp::complex ALC = 0.0;
327  for (int a=0;a<2;a++) {
328  for (int x=0;x<3;x++) {
329  A1RC = A1RC + AmpA1RC(a,x);
330  A1LC = A1LC + AmpA1LC(a,x);
331  ARC = ARC + AmpARC(a,x);
332  ALC = ALC + AmpALC(a,x);
333  }
334  }
335  // write AR and AL into a vector for mu->(3)e
336  AFunctions.assign(0, A1RN + A1RC );
337  AFunctions.assign(1, A1LN + A1LC );
338  AFunctions.assign(2, ARN + ARC );
339  AFunctions.assign(3, ALN + ALC );
340 
341  }
342 
343  if (li_to_lj == 2) // tau -> (3)mu
344  {
345  // Neutralino contributions
346  for (int a=0;a<4;a++) {
347  for (int x=0;x<6;x++) {
348  AmpTauA1RN.assign(a, x, (piconst/18.0)*NLlMU(a,x)*NLlTAU(a,x).conjugate()*Leptfa1(a,x) );
349  AmpTauA1LN.assign(a, x, (piconst/18.0)*NRlMU(a,x)*NRlTAU(a,x).conjugate()*Leptfa1(a,x) );
350  AmpTauARN.assign(a, x, piconst * (NRlMU(a, x) * NRlTAU(a, x).conjugate() * Leptf1(a, x)
351 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
352  + NLlMU(a, x) * NLlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf1(a, x)
353 //...until here
354  + NRlMU(a, x) * NLlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) /mym_se_sq(x) );
355  AmpTauALN.assign(a, x, piconst * (NLlMU(a, x) * NLlTAU(a, x).conjugate() * Leptf1(a, x)
356 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
357  + NRlMU(a, x) * NRlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf1(a, x)
358 //...until here
359  + NLlMU(a, x) * NRlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) /mym_se_sq(x) );
360  }
361  }
362  gslpp::complex TauA1RN = 0.0;
363  gslpp::complex TauA1LN = 0.0;
364  gslpp::complex TauARN = 0.0;
365  gslpp::complex TauALN = 0.0;
366  for (int a=0;a<4;a++) {
367  for (int x=0;x<6;x++) {
368  TauA1RN = TauA1RN + AmpTauA1RN(a,x);
369  TauA1LN = TauA1LN + AmpTauA1LN(a,x);
370  TauARN = TauARN + AmpTauARN(a,x);
371  TauALN = TauALN + AmpTauALN(a,x);
372  }
373  }
374  // Chargino contributions
375  for (int a=0;a<2;a++) {
376  for (int x=0;x<3;x++) {
377  AmpTauA1RC.assign(a, x, -(piconst/18.0)*CLlMU(a,x)*CLlTAU(a,x).conjugate()*Leptfa2(a,x) );
378  AmpTauA1LC.assign(a, x, -(piconst/18.0)*CRlMU(a,x)*CRlTAU(a,x).conjugate()*Leptfa2(a,x) );
379  AmpTauARC.assign(a, x, -piconst / mym_sn_sq(x) * (CRlMU(a, x) * CRlTAU(a, x).conjugate() * Leptf3(a, x)
380 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
381  + CLlMU(a, x) * CLlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf3(a, x)
382 //...until here
383  + CRlMU(a, x) * CLlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
384  AmpTauALC.assign(a, x, -piconst / mym_sn_sq(x) * (CLlMU(a, x) * CLlTAU(a, x).conjugate() * Leptf3(a, x)
385 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
386  + CRlMU(a, x) * CRlTAU(a, x).conjugate() * (mMU/mTAU) * Leptf3(a, x)
387 //...until here
388  + CLlMU(a, x) * CRlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
389  }
390  }
391  gslpp::complex TauA1RC = 0.0;
392  gslpp::complex TauA1LC = 0.0;
393  gslpp::complex TauARC = 0.0;
394  gslpp::complex TauALC = 0.0;
395  for (int a=0;a<2;a++) {
396  for (int x=0;x<3;x++) {
397  TauA1RC = TauA1RC + AmpTauA1RC(a,x);
398  TauA1LC = TauA1LC + AmpTauA1LC(a,x);
399  TauARC = TauARC + AmpTauARC(a,x);
400  TauALC = TauALC + AmpTauALC(a,x);
401  }
402  }
403  // write AR and AL into a vector for tau->(3)mu
404  AFunctions.assign(0, TauA1RC + TauA1RN );
405  AFunctions.assign(1, TauA1LC + TauA1LN );
406  AFunctions.assign(2, TauARC + TauARN );
407  AFunctions.assign(3, TauALC + TauALN );
408  }
409 
410  if (li_to_lj == 3) // tau -> (3)e
411  {
412  // Neutralino contributions
413  for (int a=0;a<4;a++) {
414  for (int x=0;x<6;x++) {
415  AmpTEA1RN.assign(a, x, (piconst/18.0)*NLlE(a,x)*NLlTAU(a,x).conjugate()*Leptfa1(a,x) );
416  AmpTEA1LN.assign(a, x, (piconst/18.0)*NRlE(a,x)*NRlTAU(a,x).conjugate()*Leptfa1(a,x) );
417  AmpTEARN.assign(a, x, piconst * (NRlE(a, x) * NRlTAU(a, x).conjugate() * Leptf1(a,x)
418 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
419  + NLlE(a, x) * NLlTAU(a, x).conjugate() * (mE/mTAU) * Leptf1(a,x)
420 //...until here
421  + NRlE(a, x) * NLlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) / mym_se_sq(x) );
422  AmpTEALN.assign(a, x, piconst * (NLlE(a, x) * NLlTAU(a, x).conjugate() * Leptf1(a, x)
423 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
424  + NRlE(a, x) * NRlTAU(a, x).conjugate() * (mE/mTAU) * Leptf1(a, x)
425 //...until here
426  + NLlE(a, x) * NRlTAU(a, x).conjugate() * (MNeig(a)/mTAU) * Leptf2(a, x)) / mym_se_sq(x) );
427  }
428  }
429  gslpp::complex TEA1RN = 0.0;
430  gslpp::complex TEA1LN = 0.0;
431  gslpp::complex TEARN = 0.0;
432  gslpp::complex TEALN = 0.0;
433  for (int a=0;a<4;a++) {
434  for (int x=0;x<6;x++) {
435  TEA1RN = TEA1RN + AmpTEA1RN(a,x);
436  TEA1LN = TEA1LN + AmpTEA1LN(a,x);
437  TEARN = TEARN + AmpTEARN(a,x);
438  TEALN = TEALN + AmpTEALN(a,x);
439  }
440  }
441  // Chargino contributions
442  for (int a=0;a<2;a++) {
443  for (int x=0;x<3;x++) {
444  AmpTEA1RC.assign(a, x, -(piconst/18.0)*CLlE(a,x)*CLlTAU(a,x).conjugate()*Leptfa2(a,x) );
445  AmpTEA1LC.assign(a, x, -(piconst/18.0)*CRlE(a,x)*CRlTAU(a,x).conjugate()*Leptfa2(a,x) );
446  AmpTEARC.assign(a, x, -piconst / mym_sn_sq(x) * (CRlE(a, x) * CRlTAU(a, x).conjugate() * Leptf3(a, x)
447 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
448  + CLlE(a, x) * CLlTAU(a, x).conjugate() * (mE/mTAU) * Leptf3(a, x)
449 //...until here
450  + CRlE(a, x) * CLlTAU(a, x).conjugate() *(MChi(a)/mTAU) * Leptf4(a, x)) );
451  AmpTEALC.assign(a, x, -piconst / mym_sn_sq(x) * (CLlE(a, x) * CLlTAU(a, x).conjugate() * Leptf3(a, x)
452 // The following contribution is absent in PRD 53.2442 (Hisano et al.), but appears in PRD 73.055003 (Arganda & Herrero)...
453  + CRlE(a, x) * CRlTAU(a, x).conjugate() * (mE/mTAU) * Leptf3(a, x)
454 //...until here
455  + CLlE(a, x) * CRlTAU(a, x).conjugate() * (MChi(a)/mTAU) * Leptf4(a, x)) );
456  }
457  }
458  gslpp::complex TEA1RC = 0.0;
459  gslpp::complex TEA1LC = 0.0;
460  gslpp::complex TEARC = 0.0;
461  gslpp::complex TEALC = 0.0;
462  for (int a=0;a<2;a++) {
463  for (int x=0;x<3;x++) {
464  TEA1RC = TEA1RC + AmpTEA1RC(a, x);
465  TEA1LC = TEA1LC + AmpTEA1LC(a,x);
466  TEARC = TEARC + AmpTEARC(a,x);
467  TEALC = TEALC + AmpTEALC(a,x);
468  }
469  }
470  // write AR and AL into a vector for tau->(3)e
471  AFunctions.assign(0, TEA1RC + TEA1RN );
472  AFunctions.assign(1, TEA1LC + TEA1LN );
473  AFunctions.assign(2, TEARC + TEARN );
474  AFunctions.assign(3, TEALC + TEALN );
475 
476  }
477 
478  return(AFunctions);
479 }
480 
482  //box diagram contributions
483 
485 
486  double MW = mySUSY.Mw_tree();
487  double pi = M_PI;
488  double sw2 = mySUSY.StandardModel::sW2(MW);
489  double stw = sqrt(sw2);
490  double ctw = sqrt(1.0 - sw2);
491  double ttw = stw/ctw;
492  double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
493  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
494  double mTAU = mySUSY.getLeptons(StandardModel::TAU).getMass();
495 
496  double cdenc = sqrt(2.0)*MW*cosb;
497  double cdenn = MW*cosb;
498  double g2 = gW;
499  double g2t = g2/sqrt(2.0);
500  double alph = mySUSY.getAle();
501 
503 
504  // Neutralino-Fermion-Sfermion couplings
505  for (int a=0;a<4;a++) {
506  for (int x=0;x<6;x++) {
507  // LL + RL TYPE MI
508  NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
509  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
510  NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
511  // RL + RR TYPE MI
512  NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
513  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
514  NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
515 // Commented expressions might be useful for complex neutralino mixing matrices
516 // NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
517 // NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
518 // NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
519  }
520  }
521 
522  // Chargino-Fermion-Sfermion couplings
523  for (int a=0;a<2;a++) {
524  for (int x=0;x<3;x++) {
525  // LL-TYPE
526  CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
527  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
528  CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
529  // LR-TYPE
530  CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
531  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
532  CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
533  }
534  }
535 
536  if (li_to_lj == 1) // mu -> 3e
537  {
538  // Neutralino contributions
539 // J4n(a,b,x,t)=/*J4n(a,b,x,t)*/
540 // *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
541 // I4n(a,b,x,t)=/*I4n(a,b,x,t)*/
542 // *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi)
543  gslpp::complex B1nRMu3E = 0.0;
544  gslpp::complex B2nRMu3E = 0.0;
545  gslpp::complex B3nRMu3E = 0.0;
546  gslpp::complex B4nRMu3E = 0.0;
547  gslpp::complex B1nLMu3E = 0.0;
548  gslpp::complex B2nLMu3E = 0.0;
549  gslpp::complex B3nLMu3E = 0.0;
550  gslpp::complex B4nLMu3E = 0.0;
551  for (int a=0;a<4;a++) {
552  for (int b=0;b<4;b++) {
553  for (int x=0;x<6;x++) {
554  for (int t=0;t<6;t++) {
555  B1nRMu3E = B1nRMu3E + (1.0/(4.0*pi*alph))*(0.5*NLlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*J4n(a,b,x,t)*/
556  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
557  +MNeig(a)*MNeig(b)*NLlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
558  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
559  B2nRMu3E = B2nRMu3E + (1.0/(4.0*pi*alph))*(0.25*(NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)
560  +NLlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
561  -NLlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x))/*J4n(a,b,x,t)*/
562  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
563  -0.5*MNeig(a)*MNeig(b)*NLlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
564  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
565  B3nRMu3E = B3nRMu3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
566  +0.5*NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x))/*I4n(a,b,x,t)*/
567  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
568  B4nRMu3E = B4nRMu3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
569  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
570  B1nLMu3E = B1nLMu3E + (1.0/(4.0*pi*alph))*(0.5*NRlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*J4n(a,b,x,t)*/
571  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
572  +MNeig(a)*MNeig(b)*NRlMU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
573  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
574  B2nLMu3E = B2nLMu3E + (1.0/(4.0*pi*alph))*(0.25*(NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)
575  +NRlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
576  -NRlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x))/*J4n(a,b,x,t)*/
577  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
578  -0.5*MNeig(a)*MNeig(b)*NRlMU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
579  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
580  B3nLMu3E = B3nLMu3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlMU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
581  +0.5*NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x))/*I4n(a,b,x,t)*/
582  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
583  B4nLMu3E = B4nLMu3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlMU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
584  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
585  }
586  }
587  }
588  }
589  // Chargino contributions
590 // J4c(a,b,x,t)=/*J4c(a,b,x,t)*/
591 // *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
592 // I4c(a,b,x,t)=/*I4c(a,b,x,t)*/
593 // *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi)
594  gslpp::complex B1cRMu3E = 0.0;
595  gslpp::complex B2cRMu3E = 0.0;
596  gslpp::complex B3cRMu3E = 0.0;
597  gslpp::complex B1cLMu3E = 0.0;
598  gslpp::complex B2cLMu3E = 0.0;
599  gslpp::complex B3cLMu3E = 0.0;
600  for (int a=0;a<2;a++) {
601  for (int b=0;b<2;b++) {
602  for (int x=0;x<3;x++) {
603  for (int t=0;t<3;t++) {
604  B1cRMu3E = B1cRMu3E + (1.0/(8.0*pi*alph))*CLlMU(a,x)*CLlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
605  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
606  B2cRMu3E = B2cRMu3E + (1.0/(4.0*pi*alph))*(0.25*CLlMU(a,x)*CLlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
607  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
608  -0.5*MChi(a)*MChi(b)*CLlMU(a,x)*CRlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
609  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
610  B3cRMu3E = B3cRMu3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlMU(a,x)*CRlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
611  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
612  B1cLMu3E = B1cLMu3E + (1.0/(8.0*pi*alph))*(CRlMU(a,x)*CRlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
613  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi));
614  B2cLMu3E = B2cLMu3E + (1.0/(4.0*pi*alph))*(0.25*CRlMU(a,x)*CRlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
615  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
616  -0.5*MChi(a)*MChi(b)*CRlMU(a,x)*CLlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
617  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
618  B3cLMu3E = B3cLMu3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlMU(a,x)*CLlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
619  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
620  }
621  }
622  }
623  }
624 
625 // write BR and BL into a vector for mu->3e
626  BFunctions.assign(0, B1nRMu3E + B1cRMu3E );
627  BFunctions.assign(1, B1nLMu3E + B1cLMu3E );
628  BFunctions.assign(2, B2nRMu3E + B2cRMu3E );
629  BFunctions.assign(3, B2nLMu3E + B2cLMu3E );
630  BFunctions.assign(4, B3nRMu3E + B3cRMu3E );
631  BFunctions.assign(5, B3nLMu3E + B3cLMu3E );
632  BFunctions.assign(6, B4nRMu3E );
633  BFunctions.assign(7, B4nLMu3E );
634  }
635  if (li_to_lj == 2) // tau -> 3mu
636  {
637  // Neutralino contributions
638  gslpp::complex B1nRTau3Mu = 0.0;
639  gslpp::complex B2nRTau3Mu = 0.0;
640  gslpp::complex B3nRTau3Mu = 0.0;
641  gslpp::complex B4nRTau3Mu = 0.0;
642  gslpp::complex B1nLTau3Mu = 0.0;
643  gslpp::complex B2nLTau3Mu = 0.0;
644  gslpp::complex B3nLTau3Mu = 0.0;
645  gslpp::complex B4nLTau3Mu = 0.0;
646  for (int a=0;a<4;a++) {
647  for (int b=0;b<4;b++) {
648  for (int x=0;x<6;x++) {
649  for (int t=0;t<6;t++) {
650  B1nRTau3Mu = B1nRTau3Mu + (1.0/(4.0*pi*alph))*(0.5*NLlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*J4n(a,b,x,t)*/
651  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
652  +MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
653  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
654  B2nRTau3Mu = B2nRTau3Mu + (1.0/(4.0*pi*alph))*(0.25*(NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)
655  +NLlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)
656  -NLlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NLlMU(b,x))/*J4n(a,b,x,t)*/
657  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
658  -0.5*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
659  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
660  B3nRTau3Mu = B3nRTau3Mu + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)
661  +0.5*NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x))/*I4n(a,b,x,t)*/
662  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
663  B4nRTau3Mu = B4nRTau3Mu + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
664  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
665  B1nLTau3Mu = B1nLTau3Mu + (1.0/(4.0*pi*alph))*(0.5*NRlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*J4n(a,b,x,t)*/
666  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
667  +MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlMU(a,t)*NRlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
668  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
669  B2nLTau3Mu = B2nLTau3Mu + (1.0/(4.0*pi*alph))*(0.25*(NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)
670  +NRlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)
671  -NRlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NRlMU(b,x))/*J4n(a,b,x,t)*/
672  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
673  -0.5*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NLlMU(a,t)*NLlMU(b,t)*NRlMU(b,x)/*I4n(a,b,x,t)*/
674  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
675  B3nLTau3Mu = B3nLTau3Mu + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlTAU(a,x)*NLlMU(a,t)*NRlMU(b,t)*NLlMU(b,x)
676  +0.5*NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x))/*I4n(a,b,x,t)*/
677  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
678  B4nLTau3Mu = B4nLTau3Mu + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlMU(a,t)*NLlMU(b,t)*NLlMU(b,x)/*I4n(a,b,x,t)*/
679  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
680  }
681  }
682  }
683  }
684  // Chargino contributions
685  gslpp::complex B1cRTau3Mu = 0.0;
686  gslpp::complex B2cRTau3Mu = 0.0;
687  gslpp::complex B3cRTau3Mu = 0.0;
688  gslpp::complex B1cLTau3Mu = 0.0;
689  gslpp::complex B2cLTau3Mu = 0.0;
690  gslpp::complex B3cLTau3Mu = 0.0;
691  for (int a=0;a<2;a++) {
692  for (int b=0;b<2;b++) {
693  for (int x=0;x<3;x++) {
694  for (int t=0;t<3;t++) {
695  B1cRTau3Mu = B1cRTau3Mu + (1.0/(8.0*pi*alph))*CLlTAU(a,x)*CLlMU(a,t)*CLlMU(b,t)*CLlMU(b,x)/*J4c(a,b,x,t)*/
696  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
697  B2cRTau3Mu = B2cRTau3Mu + (1.0/(4.0*pi*alph))*(0.25*CLlTAU(a,x)*CLlMU(a,t)*CRlMU(b,t)*CRlMU(b,x)/*J4c(a,b,x,t)*/
698  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
699  -0.5*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlMU(a,t)*CRlMU(b,t)*CLlMU(b,x)/*I4c(a,b,x,t)*/
700  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
701  B3cRTau3Mu = B3cRTau3Mu + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlMU(a,t)*CLlMU(b,t)*CRlMU(b,x)/*I4c(a,b,x,t)*/
702  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
703  B1cLTau3Mu = B1cLTau3Mu + (1.0/(8.0*pi*alph))*CRlTAU(a,x)*CRlMU(a,t)*CRlMU(b,t)*CRlMU(b,x)/*J4c(a,b,x,t)*/
704  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
705  B2cLTau3Mu = B2cLTau3Mu + (1.0/(4.0*pi*alph))*(0.25*CRlTAU(a,x)*CRlMU(a,t)*CLlMU(b,t)*CLlMU(b,x)/*J4c(a,b,x,t)*/
706  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
707  -0.5*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlMU(a,t)*CLlMU(b,t)*CRlMU(b,x)/*I4c(a,b,x,t)*/
708  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
709  B3cLTau3Mu = B3cLTau3Mu + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlMU(a,t)*CRlMU(b,t)*CLlMU(b,x)/*I4c(a,b,x,t)*/
710  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
711  }
712  }
713  }
714  }
715  // write BR and BL into a vector for tau->3mu
716  BFunctions.assign(0, B1nRTau3Mu + B1cRTau3Mu );
717  BFunctions.assign(1, B1nLTau3Mu + B1cLTau3Mu );
718  BFunctions.assign(2, B2nRTau3Mu + B2cRTau3Mu );
719  BFunctions.assign(3, B2nLTau3Mu + B2cLTau3Mu );
720  BFunctions.assign(4, B3nRTau3Mu + B3cRTau3Mu );
721  BFunctions.assign(5, B3nLTau3Mu + B3cLTau3Mu );
722  BFunctions.assign(6, B4nRTau3Mu );
723  BFunctions.assign(7, B4nLTau3Mu );
724  }
725  if (li_to_lj == 3) // tau -> 3e
726  {
727  // Neutralino contributions
728  gslpp::complex B1nRTau3E = 0.0;
729  gslpp::complex B2nRTau3E = 0.0;
730  gslpp::complex B3nRTau3E = 0.0;
731  gslpp::complex B4nRTau3E = 0.0;
732  gslpp::complex B1nLTau3E = 0.0;
733  gslpp::complex B2nLTau3E = 0.0;
734  gslpp::complex B3nLTau3E = 0.0;
735  gslpp::complex B4nLTau3E = 0.0;
736  for (int a=0;a<4;a++) {
737  for (int b=0;b<4;b++) {
738  for (int x=0;x<6;x++) {
739  for (int t=0;t<6;t++) {
740  B1nRTau3E = B1nRTau3E + (1.0/(4.0*pi*alph))*(0.5*NLlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*J4n(a,b,x,t)*/
741  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
742  +MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
743  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
744  B2nRTau3E = B2nRTau3E + (1.0/(4.0*pi*alph))*(0.25*(NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)
745  +NLlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
746  -NLlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x))/*J4n(a,b,x,t)*/
747  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
748  -0.5*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
749  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
750  B3nRTau3E = B3nRTau3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NLlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NRlE(b,x)
751  +0.5*NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x))/*I4n(a,b,x,t)*/
752  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
753  B4nRTau3E = B4nRTau3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NLlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
754  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
755  B1nLTau3E = B1nLTau3E + (1.0/(4.0*pi*alph))*(0.5*NRlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*J4n(a,b,x,t)*/
756  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
757  +MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlE(a,t)*NRlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
758  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
759  B2nLTau3E = B2nLTau3E + (1.0/(4.0*pi*alph))*(0.25*(NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)
760  +NRlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
761  -NRlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x))/*J4n(a,b,x,t)*/
762  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(4.0*pi*pi)
763  -0.5*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NLlE(a,t)*NLlE(b,t)*NRlE(b,x)/*I4n(a,b,x,t)*/
764  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi));
765  B3nLTau3E = B3nLTau3E + (1.0/(4.0*pi*alph))*MNeig(a)*MNeig(b)*(NRlTAU(a,x)*NLlE(a,t)*NRlE(b,t)*NLlE(b,x)
766  +0.5*NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x))/*I4n(a,b,x,t)*/
767  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
768  B4nLTau3E = B4nLTau3E + (1.0/(32.0*pi*alph))*MNeig(a)*MNeig(b)*NRlTAU(a,x)*NRlE(a,t)*NLlE(b,t)*NLlE(b,x)/*I4n(a,b,x,t)*/
769  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_se_sq(t))/(16.0*pi*pi);
770  }
771  }
772  }
773  }
774  // Chargino contributions
775  gslpp::complex B1cRTau3E = 0.0;
776  gslpp::complex B2cRTau3E = 0.0;
777  gslpp::complex B3cRTau3E = 0.0;
778  gslpp::complex B1cLTau3E = 0.0;
779  gslpp::complex B2cLTau3E = 0.0;
780  gslpp::complex B3cLTau3E = 0.0;
781  for (int a=0;a<2;a++) {
782  for (int b=0;b<2;b++) {
783  for (int x=0;x<3;x++) {
784  for (int t=0;t<3;t++) {
785  B1cRTau3E = B1cRTau3E + (1.0/(8.0*pi*alph))*CLlTAU(a,x)*CLlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
786  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
787  B2cRTau3E = B2cRTau3E + (1.0/(4.0*pi*alph))*(0.25*CLlTAU(a,x)*CLlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
788  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
789  -0.5*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
790  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
791  B3cRTau3E = B3cRTau3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CLlTAU(a,x)*CRlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
792  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
793  B1cLTau3E = B1cLTau3E + (1.0/(8.0*pi*alph))*CRlTAU(a,x)*CRlE(a,t)*CRlE(b,t)*CRlE(b,x)/*J4c(a,b,x,t)*/
794  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi);
795  B2cLTau3E = B2cLTau3E + (1.0/(4.0*pi*alph))*(0.25*CRlTAU(a,x)*CRlE(a,t)*CLlE(b,t)*CLlE(b,x)/*J4c(a,b,x,t)*/
796  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(4.0*pi*pi)
797  -0.5*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlE(a,t)*CLlE(b,t)*CRlE(b,x)/*I4c(a,b,x,t)*/
798  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi));
799  B3cLTau3E = B3cLTau3E + (1.0/(4.0*pi*alph))*MChi(a)*MChi(b)*CRlTAU(a,x)*CLlE(a,t)*CRlE(b,t)*CLlE(b,x)/*I4c(a,b,x,t)*/
800  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sn_sq(t))/(16.0*pi*pi);
801  }
802  }
803  }
804  }
805  // write BR and BL into a vector for tau->3e
806  BFunctions.assign(0, B1nRTau3E + B1cRTau3E );
807  BFunctions.assign(1, B1nLTau3E + B1cLTau3E );
808  BFunctions.assign(2, B2nRTau3E + B2cRTau3E );
809  BFunctions.assign(3, B2nLTau3E + B2cLTau3E );
810  BFunctions.assign(4, B3nRTau3E + B3cRTau3E );
811  BFunctions.assign(5, B3nLTau3E + B3cLTau3E );
812  BFunctions.assign(6, B4nRTau3E );
813  BFunctions.assign(7, B4nLTau3E );
814  }
815 
816  return(BFunctions);
817 }
818 
819 int SUSYMatching::delta_ab(int a, int b) {
820  if(a == b) return 1;
821  else return 0;
822 }
823 
825  //Higgs penguin contributions from PhysRevD.73.055003
826 
827 
828  // To do:
829  // Are the trilinear couplings from (A24) correct?
830  // Should we update the missing parameters in the update function (sinalpha, A_l, ...)?
831 
833 
834  double MZ = mySUSY.getMz();
835  double MW = mySUSY.Mw_tree();
836  double pi = M_PI;
837  double piconst = 1.0/(32.0 * pi * pi);
838  double sw2 = mySUSY.StandardModel::sW2(MW);
839  double stw = sqrt(sw2);
840  double ctw = sqrt(1.0 - sw2);
841  double ttw = stw/ctw;
842  double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
843  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
844  double mTAU = mySUSY.getLeptons(StandardModel::TAU).getMass();
845  double cos2b = 2.0*cosb*cosb-1.0;
846  gslpp::complex sina = mySUSY.getSaeff();
847  gslpp::complex cosa = sqrt(1.0-sina*sina);
848  gslpp::complex sinapb = sina*cosb+cosa*sinb;
849  gslpp::complex cosapb = cosa*cosb-sina*sinb;
850  gslpp::complex cosbma = cosb*cosa+sinb*sina;
851  gslpp::complex sinbma = sinb*cosa-cosb*sina;
852  double mh = mySUSY.getMHl();
853  double mH = mySUSY.getMHh();
854  double mA = mySUSY.getMHa();
855  gslpp::complex M1 = mySUSY.getM1();
856  gslpp::complex M2 = mySUSY.getM2();
857  gslpp::complex muH = mySUSY.getMuH();
858  TEhat = mySUSY.getTEhat();
859 
860  double cdenc = sqrt(2.0)*MW*cosb;
861  double cdenn = MW*cosb;
862  double g2 = gW;
863  double g2t = g2/sqrt(2.0);
864  double alph = mySUSY.getAle();
865 
867 
868 
869  // Neutralino-Fermion-Sfermion couplings
870  for (int a=0;a<4;a++) {
871  for (int x=0;x<6;x++) {
872  // LL + RL TYPE MI
873  NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
874  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
875  NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
876  // RL + RR TYPE MI
877  NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
878  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
879  NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
880 // Commented expressions might be useful for complex neutralino mixing matrices
881 // NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
882 // NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
883 // NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
884  }
885  }
886 
887  // Chargino-Fermion-Sfermion couplings
888  for (int a=0;a<2;a++) {
889  for (int x=0;x<3;x++) {
890  // LL-TYPE
891  CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
892  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
893  CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
894  // LR-TYPE
895  CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
896  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
897  CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
898  }
899  }
900 
901  gslpp::vector<gslpp::complex> sigma1(3, 0.);
902  gslpp::vector<gslpp::complex> sigma2(3, 0.);
903  gslpp::vector<gslpp::complex> sigma3(3, 0.);
904  gslpp::vector<gslpp::complex> sigma4(3, 0.);
905  gslpp::vector<gslpp::complex> sigma5(3, 0.);
906  sigma1.assign(0, sina);
907  sigma1.assign(1, -cosa);
908  sigma1.assign(2, sinb*gslpp::complex::i());
909  sigma2.assign(0, cosa);
910  sigma2.assign(1, sina);
911  sigma2.assign(2, -cosb*gslpp::complex::i());
912  sigma3.assign(0, sinapb);
913  sigma3.assign(1, -cosapb);
914  sigma3.assign(2, 0.);
915  sigma4.assign(0, -sina);
916  sigma4.assign(1, cosa);
917  sigma4.assign(2, 0.);
918  sigma5.assign(0, -cosbma);
919  sigma5.assign(1, sinbma);
920  sigma5.assign(2, cos2b*gslpp::complex::i());
921 
922  gslpp::matrix<gslpp::complex> Qpp(4, 4, 0.), Rpp(4, 4, 0.);
923  gslpp::matrix<gslpp::complex> DL0(4, 4, 0.), DR0(4, 4, 0.), DL1(4, 4, 0.), DR1(4, 4, 0.), DL2(4, 4, 0.), DR2(4, 4, 0.);
924  for (int a=0;a<4;a++) {
925  for (int b=0;b<4;b++) {
926  Qpp.assign(a, b, 0.5*(ON(a,2)*(ON(b,1)-ttw*ON(b,0))+ON(b,2)*(ON(a,1)-ttw*ON(a,0))) );
927  Rpp.assign(a, b, (M2.conjugate()*ON(a,1)*ON(b,1) +M1.conjugate()*ON(a,0)*ON(b,0) -muH.conjugate()*(ON(a,2)*ON(b,3)+ON(a,3)*ON(b,2)))/(2.0*MW) );
928  DL0.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(0) -Rpp(a,b).conjugate()*sigma2(0) +MNeig(a)/(2.0*MW)*sigma2(0)*delta_ab(a,b)) );
929  DR0.assign(b, a, DL0(b,a).conjugate() );
930  DL1.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(1) -Rpp(a,b).conjugate()*sigma2(1) +MNeig(a)/(2.0*MW)*sigma2(1)*delta_ab(a,b)) );
931  DR1.assign(b, a, DL1(b,a).conjugate() );
932  DL2.assign(b, a, -g2/sinb * (Qpp(a,b).conjugate()*sigma5(2) -Rpp(a,b).conjugate()*sigma2(2) +MNeig(a)/(2.0*MW)*sigma2(2)*delta_ab(a,b)) );
933  DR2.assign(b, a, DL2(b,a).conjugate() );
934  }
935  }
936 
937  gslpp::matrix<gslpp::complex> Qch(2, 2, 0.), Rch(2, 2, 0.);
938  gslpp::matrix<gslpp::complex> WL0(2, 2, 0.), WR0(2, 2, 0.), WL1(2, 2, 0.), WR1(2, 2, 0.), WL2(2, 2, 0.), WR2(2, 2, 0.);
939  for (int a=0;a<2;a++) {
940  for (int b=0;b<2;b++) {
941  Qch.assign(a, b, myU(a,1)*myV(b,0)/sqrt(2.0) );
942  Rch.assign(a, b, (M2.conjugate()*myU(a,0)*myV(b,0) +muH.conjugate()*myU(a,1)*myV(b,1))/(2.0*MW) );
943  WR0.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(0).conjugate() -Rch(a,b)*sigma2(0).conjugate() +MChi(a)/(2.0*MW)*sigma2(0).conjugate()*delta_ab(a,b)) );
944  WL0.assign(b, a, WR0(a,b).conjugate() );
945  WR1.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(1).conjugate() -Rch(a,b)*sigma2(1).conjugate() +MChi(a)/(2.0*MW)*sigma2(1).conjugate()*delta_ab(a,b)) );
946  WL1.assign(b, a, WR1(a,b).conjugate() );
947  WR2.assign(a, b, -g2/sinb * (Qch(a,b)*sigma5(2).conjugate() -Rch(a,b)*sigma2(2).conjugate() +MChi(a)/(2.0*MW)*sigma2(2).conjugate()*delta_ab(a,b)) );
948  WL2.assign(b, a, WR2(a,b).conjugate() );
949  }
950  }
951 
952  gslpp::vector<gslpp::complex> gLLE(3, 0.), gRRE(3, 0.), gLRE(3, 0.), gRLE(3, 0.);
953  gslpp::vector<gslpp::complex> gLLMU(3, 0.), gRRMU(3, 0.), gLRMU(3, 0.), gRLMU(3, 0.);
954  gslpp::vector<gslpp::complex> gLLTAU(3, 0.), gRRTAU(3, 0.), gLRTAU(3, 0.), gRLTAU(3, 0.);
955  gslpp::vector<gslpp::complex> gLLNU(3, 0.);
956  for (int p=0;p<3;p++) {
957  gLLE.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mE*mE/(MW*cosb)*sigma4(p));
958  gLLMU.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mMU*mMU/(MW*cosb)*sigma4(p));
959  gLLTAU.assign(p, MZ/ctw*sigma3(p)*(0.5-sw2) + mTAU*mTAU/(MW*cosb)*sigma4(p));
960  gRRE.assign(p, MZ/ctw*sigma3(p)*sw2 + mE*mE/(MW*cosb)*sigma4(p));
961  gRRMU.assign(p, MZ/ctw*sigma3(p)*sw2 + mMU*mMU/(MW*cosb)*sigma4(p));
962  gRRTAU.assign(p, MZ/ctw*sigma3(p)*sw2 + mTAU*mTAU/(MW*cosb)*sigma4(p));
963  gLRE.assign(p, (-sigma1(p)*TEhat(0,0)/mE*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mE/(2.0*MW*cosb));
964  gLRMU.assign(p, (-sigma1(p)*TEhat(1,1)/mMU*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mMU/(2.0*MW*cosb));
965  gLRTAU.assign(p, (-sigma1(p)*TEhat(2,2)/mTAU*v1/sqrt(2.0)-sigma2(p).conjugate()*muH)*mTAU/(2.0*MW*cosb));
966  gRLE.assign(p, gLRE(p).conjugate());
967  gRLMU.assign(p, gLRMU(p).conjugate());
968  gRLTAU.assign(p, gLRTAU(p).conjugate());
969  gLLNU.assign(p, -0.5*MZ/ctw*sigma3(p));
970  }
971 
972  //Note that the dependence on the Rl and Rn elements here is different than the one in PhysRevD.73.055003
973  //due to the different choice of flavour basis.
974  //The replacement rules are:
975  //AH basis (PhysRevD.73.055003) -> SLHA basis
976  // (from 1 to 6) -> (from 0 to 5)
977  // Rl(x,1) -> Rl(0,x)
978  // Rl(x,2) -> Rl(3,x)
979  // Rl(x,3) -> Rl(1,x)
980  // Rl(x,4) -> Rl(4,x)
981  // Rl(x,5) -> Rl(2,x)
982  // Rl(x,6) -> Rl(5,x)
983  //For Rn, the indices have to be swapped.
984 
985  gslpp::matrix<gslpp::complex> Gl0(6, 6, 0.), Gl1(6, 6, 0.), Gl2(6, 6, 0.);
986  for (int x=0;x<6;x++) {
987  for (int y=0;y<6;y++) {
988  Gl0.assign(x, y, -g2*( gLLE(0)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(0)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(0)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(0)*myRl(x,3).conjugate()*myRl(y,0)
989  +gLLMU(0)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(0)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(0)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(0)*myRl(x,4).conjugate()*myRl(y,1)
990  +gLLTAU(0)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(0)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(0)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(0)*myRl(x,5).conjugate()*myRl(y,2)));
991  Gl1.assign(x, y, -g2*( gLLE(1)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(1)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(1)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(1)*myRl(x,3).conjugate()*myRl(y,0)
992  +gLLMU(1)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(1)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(1)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(1)*myRl(x,4).conjugate()*myRl(y,1)
993  +gLLTAU(1)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(1)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(1)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(1)*myRl(x,5).conjugate()*myRl(y,2)));
994  Gl2.assign(x, y, -g2*( gLLE(2)*myRl(x,0).conjugate()*myRl(y,0) +gRRE(2)*myRl(x,3).conjugate()*myRl(y,3) +gLRE(2)*myRl(x,0).conjugate()*myRl(y,3) +gRLE(2)*myRl(x,3).conjugate()*myRl(y,0)
995  +gLLMU(2)*myRl(x,1).conjugate()*myRl(y,1) +gRRMU(2)*myRl(x,4).conjugate()*myRl(y,4) +gLRMU(2)*myRl(x,1).conjugate()*myRl(y,4) +gRLMU(2)*myRl(x,4).conjugate()*myRl(y,1)
996  +gLLTAU(2)*myRl(x,2).conjugate()*myRl(y,2) +gRRTAU(2)*myRl(x,5).conjugate()*myRl(y,5) +gLRTAU(2)*myRl(x,2).conjugate()*myRl(y,5) +gRLTAU(2)*myRl(x,5).conjugate()*myRl(y,2)));
997  }
998  }
999 
1000  gslpp::matrix<gslpp::complex> Gnu0(3, 3, 0.), Gnu1(3, 3, 0.), Gnu2(3, 3, 0.);
1001  for (int x=0;x<3;x++) {
1002  Gnu0.assign(x, x, -g2*gLLNU(0) );
1003  Gnu1.assign(x, x, -g2*gLLNU(1) );
1004  Gnu2.assign(x, x, -g2*gLLNU(2) );
1005  }
1006 
1007  gslpp::vector<gslpp::complex> SRE(3, 0.), SLE(3, 0.), SRMU(3, 0.), SLMU(3, 0.), SRTAU(3, 0.), SLTAU(3, 0.);
1008  for (int p=0;p<3;p++) {
1009  SRE.assign(p, g2*mE/(2.0*MW*cosb) * sigma1(p));
1010  SLE.assign(p, g2*mE/(2.0*MW*cosb) * sigma1(p).conjugate());
1011  SRMU.assign(p, g2*mMU/(2.0*MW*cosb) * sigma1(p));
1012  SLMU.assign(p, g2*mMU/(2.0*MW*cosb) * sigma1(p).conjugate());
1013  SRTAU.assign(p, g2*mTAU/(2.0*MW*cosb) * sigma1(p));
1014  SLTAU.assign(p, g2*mTAU/(2.0*MW*cosb) * sigma1(p).conjugate());
1015  }
1016 
1017  if (li_to_lj == 1) // mu -> 3e
1018  {
1019  // Neutralino contributions
1020  gslpp::complex HpengMuEEENR0 = 0.0;
1021  gslpp::complex HpengMuEEENL0 = 0.0;
1022  gslpp::complex HpengMuEEENR1 = 0.0;
1023  gslpp::complex HpengMuEEENL1 = 0.0;
1024  gslpp::complex HpengMuEEENR2 = 0.0;
1025  gslpp::complex HpengMuEEENL2 = 0.0;
1026  for (int x=0;x<6;x++) {
1027  for (int a=0;a<4;a++) {
1028  for (int b=0;b<4;b++) {
1029  // h R contribution
1030  HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*(NRlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1031  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1032  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1033  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1034  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1035  +NLlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1036  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1037  +NLlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1038  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1039  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1040  +NRlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1041  +NLlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1042  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1043  +NRlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1044  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1045  +NRlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1046  // h L contribution
1047  HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*(NLlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1048  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1049  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1050  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1051  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1052  +NRlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1053  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1054  +NRlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1055  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1056  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1057  +NLlE(a,x)*DR0(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1058  +NRlE(a,x)*DR0(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1059  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1060  +NLlE(a,x)*DL0(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1061  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1062  +NLlE(a,x)*DL0(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1063  // H R contribution
1064  HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*(NRlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1065  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1066  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1067  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1068  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1069  +NLlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1070  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1071  +NLlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1072  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1073  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1074  +NRlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1075  +NLlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1076  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1077  +NRlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1078  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1079  +NRlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1080  // H L contribution
1081  HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*(NLlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1082  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1083  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1084  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1085  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1086  +NRlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1087  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1088  +NRlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1089  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1090  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1091  +NLlE(a,x)*DR1(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1092  +NRlE(a,x)*DR1(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1093  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1094  +NLlE(a,x)*DL1(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1095  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1096  +NLlE(a,x)*DL1(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1097  // A R contribution
1098  HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*(NRlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1099  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1100  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1101  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1102  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1103  +NLlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1104  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1105  +NLlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1106  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1107  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1108  +NRlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1109  +NLlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1110  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1111  +NRlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1112  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1113  +NRlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1114  // A L contribution
1115  HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*(NLlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1116  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1117  +mMU*mMU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1118  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1119  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1120  +NRlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1121  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1122  +NRlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1123  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1124  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1125  +NLlE(a,x)*DR2(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1126  +NRlE(a,x)*DR2(a,b)*NRlMU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1127  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1128  +NLlE(a,x)*DL2(a,b)*NLlMU(b,x).conjugate()*mMU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1129  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1130  +NLlE(a,x)*DL2(a,b)*NRlMU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1131  }
1132  for (int y=0;y<6;y++) {
1133  // h R contribution
1134  HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*Gl0(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1135  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1136  -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1137  -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1138  // h L contribution
1139  HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*Gl0(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1140  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1141  -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1142  -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1143  // H R contribution
1144  HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*Gl1(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1145  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1146  -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1147  -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1148  // H L contribution
1149  HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*Gl1(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1150  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1151  -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1152  -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1153  // A R contribution
1154  HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*Gl2(x,y)*(-NLlE(a,x)*NLlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1155  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1156  -NRlE(a,x)*NRlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1157  -NRlE(a,x)*NLlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1158  // A L contribution
1159  HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*Gl2(x,y)*(-NRlE(a,x)*NRlMU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1160  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1161  -NLlE(a,x)*NLlMU(a,y).conjugate()*mMU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1162  -NLlE(a,x)*NRlMU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1163  }
1164  // h R contribution
1165  HpengMuEEENR0 = HpengMuEEENR0 - 2.0*piconst*(SRMU(0)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1166  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1167  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1168  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1169  +SRE(0)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1170  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1171  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1172  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1173  // h L contribution
1174  HpengMuEEENL0 = HpengMuEEENL0 - 2.0*piconst*(SLMU(0)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1175  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1176  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1177  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1178  +SLE(0)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1179  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1180  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1181  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1182  // H R contribution
1183  HpengMuEEENR1 = HpengMuEEENR1 - 2.0*piconst*(SRMU(1)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1184  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1185  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1186  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1187  +SRE(1)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1188  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1189  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1190  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1191  // H L contribution
1192  HpengMuEEENL1 = HpengMuEEENL1 - 2.0*piconst*(SLMU(1)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1193  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1194  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1195  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1196  +SLE(1)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1197  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1198  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1199  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1200  // A R contribution
1201  HpengMuEEENR2 = HpengMuEEENR2 - 2.0*piconst*(SRMU(2)/(mE*mE-mMU*mMU)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1202  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1203  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1204  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1205  +SRE(2)/(mMU*mMU-mE*mE)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1206  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1207  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1208  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1209  // A L contribution
1210  HpengMuEEENL2 = HpengMuEEENL2 - 2.0*piconst*(SLMU(2)/(mE*mE-mMU*mMU)*(-NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1211  +NRlE(a,x)*NLlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1212  -NRlE(a,x)*NRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1213  +NLlE(a,x)*NRlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1214  +SLE(2)/(mMU*mMU-mE*mE)*(-NRlE(a,x)*NRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1215  +NRlE(a,x)*NLlMU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1216  -NLlE(a,x)*NLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1217  +NLlE(a,x)*NRlMU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1218  }
1219  }
1220 
1221  // summing up the h (0), H (1) and A (2) parts
1222  gslpp::complex B2HiggsnR = (-0.5*HpengMuEEENR0*SLE(0)/(mh*mh)-0.5*HpengMuEEENR1*SLE(1)/(mH*mH)-0.5*HpengMuEEENR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
1223  gslpp::complex B2HiggsnL = (-0.5*HpengMuEEENL0*SRE(0)/(mh*mh)-0.5*HpengMuEEENL1*SRE(1)/(mH*mH)-0.5*HpengMuEEENL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
1224  gslpp::complex B3HiggsnR = (HpengMuEEENR0*SRE(0)/(mh*mh)+HpengMuEEENR1*SRE(1)/(mH*mH)+HpengMuEEENR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
1225  gslpp::complex B3HiggsnL = (HpengMuEEENL0*SLE(0)/(mh*mh)+HpengMuEEENL1*SLE(1)/(mH*mH)+HpengMuEEENL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
1226 
1227  // Chargino contributions
1228  gslpp::complex HpengMuEEECR0 = 0.0;
1229  gslpp::complex HpengMuEEECL0 = 0.0;
1230  gslpp::complex HpengMuEEECR1 = 0.0;
1231  gslpp::complex HpengMuEEECL1 = 0.0;
1232  gslpp::complex HpengMuEEECR2 = 0.0;
1233  gslpp::complex HpengMuEEECL2 = 0.0;
1234  for (int x=0;x<3;x++) {
1235  for (int a=0;a<2;a++) {
1236  for (int b=0;b<2;b++) {
1237  // h R contribution
1238  HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*(CRlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1239  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1240  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1241  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1242  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1243  +CLlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1244  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1245  +CLlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1246  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1247  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1248  +CRlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1249  +CLlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1250  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1251  +CRlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1252  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1253  +CRlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1254  // h L contribution
1255  HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*(CLlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1256  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1257  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1258  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1259  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1260  +CRlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1261  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1262  +CRlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1263  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1264  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1265  +CLlE(a,x)*WR0(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1266  +CRlE(a,x)*WR0(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1267  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1268  +CLlE(a,x)*WL0(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1269  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1270  +CLlE(a,x)*WL0(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1271  // H R contribution
1272  HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*(CRlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1273  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1274  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1275  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1276  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1277  +CLlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1278  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1279  +CLlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1280  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1281  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1282  +CRlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1283  +CLlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1284  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1285  +CRlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1286  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1287  +CRlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1288  // H L contribution
1289  HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*(CLlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1290  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1291  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1292  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1293  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1294  +CRlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1295  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1296  +CRlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1297  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1298  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1299  +CLlE(a,x)*WR1(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1300  +CRlE(a,x)*WR1(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1301  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1302  +CLlE(a,x)*WL1(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1303  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1304  +CLlE(a,x)*WL1(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1305  // A R contribution
1306  HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*(CRlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1307  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1308  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1309  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1310  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1311  +CLlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1312  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1313  +CLlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1314  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1315  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1316  +CRlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1317  +CLlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1318  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1319  +CRlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1320  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1321  +CRlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1322  // A L contribution
1323  HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*(CLlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1324  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1325  +mMU*mMU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1326  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1327  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1328  +CRlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mMU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1329  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1330  +CRlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1331  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1332  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1333  +CLlE(a,x)*WR2(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1334  +CRlE(a,x)*WR2(a,b)*CRlMU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1335  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1336  +CLlE(a,x)*WL2(a,b)*CLlMU(b,x).conjugate()*mMU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1337  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1338  +CLlE(a,x)*WL2(a,b)*CRlMU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1339  }
1340  for (int y=0;y<3;y++) {
1341  // h R contribution
1342  HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*Gnu0(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1343  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1344  -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1345  -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1346  // h L contribution
1347  HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*Gnu0(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1348  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1349  -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1350  -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1351  // H R contribution
1352  HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*Gnu1(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1353  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1354  -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1355  -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1356  // H L contribution
1357  HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*Gnu1(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1358  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1359  -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1360  -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1361  // A R contribution
1362  HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*Gnu2(x,y)*(-CLlE(a,x)*CLlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1363  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1364  -CRlE(a,x)*CRlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1365  -CRlE(a,x)*CLlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1366  // A L contribution
1367  HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*Gnu2(x,y)*(-CRlE(a,x)*CRlMU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1368  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1369  -CLlE(a,x)*CLlMU(a,y).conjugate()*mMU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1370  -CLlE(a,x)*CRlMU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1371  }
1372  // h R contribution
1373  HpengMuEEECR0 = HpengMuEEECR0 - 2.0*piconst*(SRMU(0)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1374  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1375  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1376  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1377  +SRE(0)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1378  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1379  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1380  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1381  // h L contribution
1382  HpengMuEEECL0 = HpengMuEEECL0 - 2.0*piconst*(SLMU(0)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1383  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1384  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1385  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1386  +SLE(0)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1387  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1388  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1389  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1390  // H R contribution
1391  HpengMuEEECR1 = HpengMuEEECR1 - 2.0*piconst*(SRMU(1)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1392  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1393  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1394  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1395  +SRE(1)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1396  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1397  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1398  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1399  // H L contribution
1400  HpengMuEEECL1 = HpengMuEEECL1 - 2.0*piconst*(SLMU(1)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1401  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1402  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1403  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1404  +SLE(1)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1405  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1406  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1407  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1408  // A R contribution
1409  HpengMuEEECR2 = HpengMuEEECR2 - 2.0*piconst*(SRMU(2)/(mE*mE-mMU*mMU)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1410  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1411  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1412  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1413  +SRE(2)/(mMU*mMU-mE*mE)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1414  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1415  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1416  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1417  // A L contribution
1418  HpengMuEEECL2 = HpengMuEEECL2 - 2.0*piconst*(SLMU(2)/(mE*mE-mMU*mMU)*(-CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1419  +CRlE(a,x)*CLlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1420  -CRlE(a,x)*CRlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1421  +CLlE(a,x)*CRlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1422  +SLE(2)/(mMU*mMU-mE*mE)*(-CRlE(a,x)*CRlMU(a,x).conjugate()*mMU*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1423  +CRlE(a,x)*CLlMU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1424  -CLlE(a,x)*CLlMU(a,x).conjugate()*mE*mMU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1425  +CLlE(a,x)*CRlMU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1426  }
1427  }
1428 
1429  // summing up the h (0), H (1) and A (2) parts
1430  gslpp::complex B2HiggscR = (-0.5*HpengMuEEECR0*SLE(0)/(mh*mh)-0.5*HpengMuEEECR1*SLE(1)/(mH*mH)-0.5*HpengMuEEECR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
1431  gslpp::complex B2HiggscL = (-0.5*HpengMuEEECL0*SRE(0)/(mh*mh)-0.5*HpengMuEEECL1*SRE(1)/(mH*mH)-0.5*HpengMuEEECL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
1432  gslpp::complex B3HiggscR = (HpengMuEEECR0*SRE(0)/(mh*mh)+HpengMuEEECR1*SRE(1)/(mH*mH)+HpengMuEEECR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
1433  gslpp::complex B3HiggscL = (HpengMuEEECL0*SLE(0)/(mh*mh)+HpengMuEEECL1*SLE(1)/(mH*mH)+HpengMuEEECL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
1434 
1435  // write B2H and B3H into a vector for mu->3e
1436  BHFunctions.assign(0, B2HiggsnR+B2HiggscR );
1437  BHFunctions.assign(1, B2HiggsnL+B2HiggscL );
1438  BHFunctions.assign(2, B3HiggsnR+B3HiggscR );
1439  BHFunctions.assign(3, B3HiggsnL+B3HiggscL );
1440  }
1441 
1442  if (li_to_lj == 2) // tau -> 3mu
1443  {
1444  // Neutralino contributions
1445  gslpp::complex HpengTauMUMUMUNR0 = 0.0;
1446  gslpp::complex HpengTauMUMUMUNL0 = 0.0;
1447  gslpp::complex HpengTauMUMUMUNR1 = 0.0;
1448  gslpp::complex HpengTauMUMUMUNL1 = 0.0;
1449  gslpp::complex HpengTauMUMUMUNR2 = 0.0;
1450  gslpp::complex HpengTauMUMUMUNL2 = 0.0;
1451  for (int x=0;x<6;x++) {
1452  for (int a=0;a<4;a++) {
1453  for (int b=0;b<4;b++) {
1454  // h R contribution
1455  HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*(NRlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1456  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1457  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1458  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1459  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1460  +NLlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1461  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1462  +NLlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1463  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1464  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1465  +NRlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1466  +NLlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1467  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1468  +NRlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1469  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1470  +NRlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1471  // h L contribution
1472  HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*(NLlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1473  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1474  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1475  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1476  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1477  +NRlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1478  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1479  +NRlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1480  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1481  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1482  +NLlMU(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1483  +NRlMU(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1484  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1485  +NLlMU(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1486  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1487  +NLlMU(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1488  // H R contribution
1489  HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*(NRlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1490  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1491  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1492  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1493  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1494  +NLlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1495  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1496  +NLlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1497  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1498  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1499  +NRlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1500  +NLlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1501  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1502  +NRlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1503  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1504  +NRlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1505  // H L contribution
1506  HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*(NLlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1507  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1508  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1509  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1510  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1511  +NRlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1512  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1513  +NRlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1514  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1515  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1516  +NLlMU(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1517  +NRlMU(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1518  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1519  +NLlMU(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1520  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1521  +NLlMU(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1522  // A R contribution
1523  HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*(NRlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1524  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1525  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1526  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1527  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1528  +NLlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1529  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1530  +NLlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1531  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1532  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1533  +NRlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1534  +NLlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1535  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1536  +NRlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1537  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1538  +NRlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1539  // A L contribution
1540  HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*(NLlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1541  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1542  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1543  +mMU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1544  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1545  +NRlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1546  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1547  +NRlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1548  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1549  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1550  +NLlMU(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1551  +NRlMU(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mMU*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1552  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1553  +NLlMU(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1554  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1555  +NLlMU(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1556  }
1557  for (int y=0;y<6;y++) {
1558  // h R contribution
1559  HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*Gl0(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1560  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1561  -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1562  -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1563  // h L contribution
1564  HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*Gl0(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1565  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1566  -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1567  -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1568  // H R contribution
1569  HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*Gl1(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1570  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1571  -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1572  -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1573  // H L contribution
1574  HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*Gl1(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1575  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1576  -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1577  -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1578  // A R contribution
1579  HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*Gl2(x,y)*(-NLlMU(a,x)*NLlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1580  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1581  -NRlMU(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1582  -NRlMU(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1583  // A L contribution
1584  HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*Gl2(x,y)*(-NRlMU(a,x)*NRlTAU(a,y).conjugate()*mMU*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1585  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1586  -NLlMU(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1587  -NLlMU(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1588  }
1589  // h R contribution
1590  HpengTauMUMUMUNR0 = HpengTauMUMUMUNR0 - 2.0*piconst*(SRTAU(0)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1591  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1592  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1593  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1594  +SRMU(0)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1595  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1596  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1597  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1598  // h L contribution
1599  HpengTauMUMUMUNL0 = HpengTauMUMUMUNL0 - 2.0*piconst*(SLTAU(0)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1600  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1601  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1602  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1603  +SLMU(0)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1604  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1605  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1606  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1607  // H R contribution
1608  HpengTauMUMUMUNR1 = HpengTauMUMUMUNR1 - 2.0*piconst*(SRTAU(1)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1609  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1610  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1611  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1612  +SRMU(1)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1613  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1614  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1615  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1616  // H L contribution
1617  HpengTauMUMUMUNL1 = HpengTauMUMUMUNL1 - 2.0*piconst*(SLTAU(1)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1618  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1619  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1620  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1621  +SLMU(1)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1622  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1623  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1624  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1625  // A R contribution
1626  HpengTauMUMUMUNR2 = HpengTauMUMUMUNR2 - 2.0*piconst*(SRTAU(2)/(mMU*mMU-mTAU*mTAU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1627  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1628  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1629  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1630  +SRMU(2)/(mTAU*mTAU-mMU*mMU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1631  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1632  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1633  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1634  // A L contribution
1635  HpengTauMUMUMUNL2 = HpengTauMUMUMUNL2 - 2.0*piconst*(SLTAU(2)/(mMU*mMU-mTAU*mTAU)*(-NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1636  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1637  -NRlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1638  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
1639  +SLMU(2)/(mTAU*mTAU-mMU*mMU)*(-NRlMU(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1640  +NRlMU(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1641  -NLlMU(a,x)*NLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
1642  +NLlMU(a,x)*NRlTAU(a,x).conjugate()*mMU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
1643  }
1644  }
1645 
1646  // summing up the h (0), H (1) and A (2) parts
1647  gslpp::complex B2HiggsnRtm = (-0.5*HpengTauMUMUMUNR0*SLMU(0)/(mh*mh)-0.5*HpengTauMUMUMUNR1*SLMU(1)/(mH*mH)-0.5*HpengTauMUMUMUNR2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
1648  gslpp::complex B2HiggsnLtm = (-0.5*HpengTauMUMUMUNL0*SRMU(0)/(mh*mh)-0.5*HpengTauMUMUMUNL1*SRMU(1)/(mH*mH)-0.5*HpengTauMUMUMUNL2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
1649  gslpp::complex B3HiggsnRtm = (HpengTauMUMUMUNR0*SRMU(0)/(mh*mh)+HpengTauMUMUMUNR1*SRMU(1)/(mH*mH)+HpengTauMUMUMUNR2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
1650  gslpp::complex B3HiggsnLtm = (HpengTauMUMUMUNL0*SLMU(0)/(mh*mh)+HpengTauMUMUMUNL1*SLMU(1)/(mH*mH)+HpengTauMUMUMUNL2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
1651 
1652  // Chargino contributions
1653  gslpp::complex HpengTauMUMUMUCR0 = 0.0;
1654  gslpp::complex HpengTauMUMUMUCL0 = 0.0;
1655  gslpp::complex HpengTauMUMUMUCR1 = 0.0;
1656  gslpp::complex HpengTauMUMUMUCL1 = 0.0;
1657  gslpp::complex HpengTauMUMUMUCR2 = 0.0;
1658  gslpp::complex HpengTauMUMUMUCL2 = 0.0;
1659  for (int x=0;x<3;x++) {
1660  for (int a=0;a<2;a++) {
1661  for (int b=0;b<2;b++) {
1662  // h R contribution
1663  HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*(CRlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1664  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1665  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1666  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1667  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1668  +CLlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1669  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1670  +CLlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1671  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1672  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1673  +CRlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1674  +CLlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1675  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1676  +CRlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1677  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1678  +CRlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1679  // h L contribution
1680  HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*(CLlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1681  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1682  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1683  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1684  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1685  +CRlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1686  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1687  +CRlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1688  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1689  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1690  +CLlMU(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1691  +CRlMU(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1692  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1693  +CLlMU(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1694  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1695  +CLlMU(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1696  // H R contribution
1697  HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*(CRlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1698  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1699  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1700  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1701  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1702  +CLlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1703  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1704  +CLlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1705  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1706  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1707  +CRlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1708  +CLlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1709  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1710  +CRlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1711  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1712  +CRlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1713  // H L contribution
1714  HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*(CLlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1715  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1716  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1717  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1718  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1719  +CRlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1720  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1721  +CRlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1722  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1723  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1724  +CLlMU(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1725  +CRlMU(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1726  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1727  +CLlMU(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1728  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1729  +CLlMU(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1730  // A R contribution
1731  HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*(CRlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1732  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1733  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1734  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1735  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1736  +CLlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1737  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1738  +CLlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1739  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1740  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1741  +CRlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1742  +CLlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1743  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1744  +CRlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1745  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1746  +CRlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1747  // A L contribution
1748  HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*(CLlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
1749  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1750  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1751  +mMU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1752  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
1753  +CRlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*mMU*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1754  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1755  +CRlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1756  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1757  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1758  +CLlMU(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1759  +CRlMU(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mMU*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1760  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1761  +CLlMU(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
1762  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
1763  +CLlMU(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
1764  }
1765  for (int y=0;y<3;y++) {
1766  // h R contribution
1767  HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*Gnu0(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1768  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1769  -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1770  -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1771  // h L contribution
1772  HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*Gnu0(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1773  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1774  -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1775  -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1776  // H R contribution
1777  HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*Gnu1(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1778  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1779  -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1780  -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1781  // H L contribution
1782  HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*Gnu1(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1783  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1784  -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1785  -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1786  // A R contribution
1787  HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*Gnu2(x,y)*(-CLlMU(a,x)*CLlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1788  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1789  -CRlMU(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1790  -CRlMU(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1791  // A L contribution
1792  HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*Gnu2(x,y)*(-CRlMU(a,x)*CRlTAU(a,y).conjugate()*mMU*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1793  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
1794  -CLlMU(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
1795  -CLlMU(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
1796  }
1797  // h R contribution
1798  HpengTauMUMUMUCR0 = HpengTauMUMUMUCR0 - 2.0*piconst*(SRTAU(0)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1799  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1800  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1801  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1802  +SRMU(0)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1803  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1804  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1805  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1806  // h L contribution
1807  HpengTauMUMUMUCL0 = HpengTauMUMUMUCL0 - 2.0*piconst*(SLTAU(0)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1808  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1809  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1810  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1811  +SLMU(0)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1812  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1813  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1814  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1815  // H R contribution
1816  HpengTauMUMUMUCR1 = HpengTauMUMUMUCR1 - 2.0*piconst*(SRTAU(1)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1817  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1818  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1819  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1820  +SRMU(1)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1821  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1822  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1823  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1824  // H L contribution
1825  HpengTauMUMUMUCL1 = HpengTauMUMUMUCL1 - 2.0*piconst*(SLTAU(1)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1826  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1827  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1828  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1829  +SLMU(1)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1830  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1831  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1832  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1833  // A R contribution
1834  HpengTauMUMUMUCR2 = HpengTauMUMUMUCR2 - 2.0*piconst*(SRTAU(2)/(mMU*mMU-mTAU*mTAU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1835  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1836  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1837  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1838  +SRMU(2)/(mTAU*mTAU-mMU*mMU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1839  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1840  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1841  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1842  // A L contribution
1843  HpengTauMUMUMUCL2 = HpengTauMUMUMUCL2 - 2.0*piconst*(SLTAU(2)/(mMU*mMU-mTAU*mTAU)*(-CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mMU*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1844  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1845  -CRlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1846  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
1847  +SLMU(2)/(mTAU*mTAU-mMU*mMU)*(-CRlMU(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1848  +CRlMU(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1849  -CLlMU(a,x)*CLlTAU(a,x).conjugate()*mMU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
1850  +CLlMU(a,x)*CRlTAU(a,x).conjugate()*mMU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
1851  }
1852  }
1853 
1854  // summing up the h (0), H (1) and A (2) parts
1855  gslpp::complex B2HiggscRtm = (-0.5*HpengTauMUMUMUCR0*SLMU(0)/(mh*mh)-0.5*HpengTauMUMUMUCR1*SLMU(1)/(mH*mH)-0.5*HpengTauMUMUMUCR2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
1856  gslpp::complex B2HiggscLtm = (-0.5*HpengTauMUMUMUCL0*SRMU(0)/(mh*mh)-0.5*HpengTauMUMUMUCL1*SRMU(1)/(mH*mH)-0.5*HpengTauMUMUMUCL2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
1857  gslpp::complex B3HiggscRtm = (HpengTauMUMUMUCR0*SRMU(0)/(mh*mh)+HpengTauMUMUMUCR1*SRMU(1)/(mH*mH)+HpengTauMUMUMUCR2*SRMU(2)/(mA*mA))/(4.0*pi*alph);
1858  gslpp::complex B3HiggscLtm = (HpengTauMUMUMUCL0*SLMU(0)/(mh*mh)+HpengTauMUMUMUCL1*SLMU(1)/(mH*mH)+HpengTauMUMUMUCL2*SLMU(2)/(mA*mA))/(4.0*pi*alph);
1859 
1860  // write B2H and B3H into a vector for tau->3mu
1861  BHFunctions.assign(0, B2HiggsnRtm+B2HiggscRtm );
1862  BHFunctions.assign(1, B2HiggsnLtm+B2HiggscLtm );
1863  BHFunctions.assign(2, B3HiggsnRtm+B3HiggscRtm );
1864  BHFunctions.assign(3, B3HiggsnLtm+B3HiggscLtm );
1865  }
1866 
1867  if (li_to_lj == 3) // tau -> 3e
1868  {
1869  // Neutralino contributions
1870  gslpp::complex HpengTauEEENR0 = 0.0;
1871  gslpp::complex HpengTauEEENL0 = 0.0;
1872  gslpp::complex HpengTauEEENR1 = 0.0;
1873  gslpp::complex HpengTauEEENL1 = 0.0;
1874  gslpp::complex HpengTauEEENR2 = 0.0;
1875  gslpp::complex HpengTauEEENL2 = 0.0;
1876  for (int x=0;x<6;x++) {
1877  for (int a=0;a<4;a++) {
1878  for (int b=0;b<4;b++) {
1879  // h R contribution
1880  HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*(NRlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1881  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1882  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1883  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1884  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1885  +NLlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1886  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1887  +NLlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1888  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1889  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1890  +NRlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1891  +NLlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1892  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1893  +NRlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1894  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1895  +NRlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1896  // h L contribution
1897  HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*(NLlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1898  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1899  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1900  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1901  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1902  +NRlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1903  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1904  +NRlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1905  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1906  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1907  +NLlE(a,x)*DR0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1908  +NRlE(a,x)*DR0(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1909  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1910  +NLlE(a,x)*DL0(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1911  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1912  +NLlE(a,x)*DL0(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1913  // H R contribution
1914  HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*(NRlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1915  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1916  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1917  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1918  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1919  +NLlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1920  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1921  +NLlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1922  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1923  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1924  +NRlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1925  +NLlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1926  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1927  +NRlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1928  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1929  +NRlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1930  // H L contribution
1931  HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*(NLlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1932  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1933  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1934  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1935  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1936  +NRlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1937  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1938  +NRlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1939  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1940  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1941  +NLlE(a,x)*DR1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1942  +NRlE(a,x)*DR1(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1943  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1944  +NLlE(a,x)*DL1(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1945  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1946  +NLlE(a,x)*DL1(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1947  // A R contribution
1948  HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*(NRlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1949  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1950  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1951  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1952  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1953  +NLlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1954  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1955  +NLlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1956  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1957  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1958  +NRlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1959  +NLlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1960  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1961  +NRlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1962  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1963  +NRlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1964  // A L contribution
1965  HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*(NLlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1966  -mym_se_sq(x)*PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1967  +mTAU*mTAU*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1968  +mE*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1969  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))))
1970  +NRlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1971  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1972  +NRlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(b)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1973  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1974  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1975  +NLlE(a,x)*DR2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(b)*PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1976  +NRlE(a,x)*DR2(a,b)*NRlTAU(b,x).conjugate()*mE*MNeig(a)*(PV.C11(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1977  -PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1978  +NLlE(a,x)*DL2(a,b)*NLlTAU(b,x).conjugate()*mTAU*MNeig(a)*(PV.C12(mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))
1979  -PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b)))
1980  +NLlE(a,x)*DL2(a,b)*NRlTAU(b,x).conjugate()*MNeig(a)*MNeig(b)*(-PV.C0(0.,mym_se_sq(x),MNeig(a)*MNeig(a),MNeig(b)*MNeig(b))));
1981  }
1982  for (int y=0;y<6;y++) {
1983  // h R contribution
1984  HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*Gl0(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1985  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1986  -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1987  -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1988  // h L contribution
1989  HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*Gl0(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1990  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1991  -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1992  -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1993  // H R contribution
1994  HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*Gl1(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1995  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
1996  -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
1997  -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
1998  // H L contribution
1999  HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*Gl1(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2000  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
2001  -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2002  -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
2003  // A R contribution
2004  HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*Gl2(x,y)*(-NLlE(a,x)*NLlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2005  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
2006  -NRlE(a,x)*NRlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2007  -NRlE(a,x)*NLlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
2008  // A L contribution
2009  HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*Gl2(x,y)*(-NRlE(a,x)*NRlTAU(a,y).conjugate()*mE*(PV.C11(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2010  -PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)))
2011  -NLlE(a,x)*NLlTAU(a,y).conjugate()*mTAU*PV.C12(MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y))
2012  -NLlE(a,x)*NRlTAU(a,y).conjugate()*MNeig(a)*PV.C0(0.,MNeig(a)*MNeig(a),mym_se_sq(x),mym_se_sq(y)));
2013  }
2014  // h R contribution
2015  HpengTauEEENR0 = HpengTauEEENR0 - 2.0*piconst*(SRTAU(0)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2016  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2017  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2018  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2019  +SRE(0)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2020  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2021  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2022  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2023  // h L contribution
2024  HpengTauEEENL0 = HpengTauEEENL0 - 2.0*piconst*(SLTAU(0)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2025  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2026  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2027  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2028  +SLE(0)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2029  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2030  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2031  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2032  // H R contribution
2033  HpengTauEEENR1 = HpengTauEEENR1 - 2.0*piconst*(SRTAU(1)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2034  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2035  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2036  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2037  +SRE(1)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2038  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2039  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2040  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2041  // H L contribution
2042  HpengTauEEENL1 = HpengTauEEENL1 - 2.0*piconst*(SLTAU(1)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2043  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2044  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2045  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2046  +SLE(1)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2047  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2048  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2049  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2050  // A R contribution
2051  HpengTauEEENR2 = HpengTauEEENR2 - 2.0*piconst*(SRTAU(2)/(mE*mE-mTAU*mTAU)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2052  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2053  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2054  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2055  +SRE(2)/(mTAU*mTAU-mE*mE)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2056  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2057  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2058  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2059  // A L contribution
2060  HpengTauEEENL2 = HpengTauEEENL2 - 2.0*piconst*(SLTAU(2)/(mE*mE-mTAU*mTAU)*(-NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2061  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2062  -NRlE(a,x)*NRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2063  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x)))
2064  +SLE(2)/(mTAU*mTAU-mE*mE)*(-NRlE(a,x)*NRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2065  +NRlE(a,x)*NLlTAU(a,x).conjugate()*mTAU*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2066  -NLlE(a,x)*NLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))
2067  +NLlE(a,x)*NRlTAU(a,x).conjugate()*mE*MNeig(a)*PV.B0(1.,0.,MNeig(a)*MNeig(a),mym_se_sq(x))));
2068  }
2069  }
2070 
2071  // summing up the h (0), H (1) and A (2) parts
2072  gslpp::complex B2HiggsnRte = (-0.5*HpengTauEEENR0*SLE(0)/(mh*mh)-0.5*HpengTauEEENR1*SLE(1)/(mH*mH)-0.5*HpengTauEEENR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
2073  gslpp::complex B2HiggsnLte = (-0.5*HpengTauEEENL0*SRE(0)/(mh*mh)-0.5*HpengTauEEENL1*SRE(1)/(mH*mH)-0.5*HpengTauEEENL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
2074  gslpp::complex B3HiggsnRte = (HpengTauEEENR0*SRE(0)/(mh*mh)+HpengTauEEENR1*SRE(1)/(mH*mH)+HpengTauEEENR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
2075  gslpp::complex B3HiggsnLte = (HpengTauEEENL0*SLE(0)/(mh*mh)+HpengTauEEENL1*SLE(1)/(mH*mH)+HpengTauEEENL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
2076 
2077  // Chargino contributions
2078  gslpp::complex HpengTauEEECR0 = 0.0;
2079  gslpp::complex HpengTauEEECL0 = 0.0;
2080  gslpp::complex HpengTauEEECR1 = 0.0;
2081  gslpp::complex HpengTauEEECL1 = 0.0;
2082  gslpp::complex HpengTauEEECR2 = 0.0;
2083  gslpp::complex HpengTauEEECL2 = 0.0;
2084  for (int x=0;x<3;x++) {
2085  for (int a=0;a<2;a++) {
2086  for (int b=0;b<2;b++) {
2087  // h R contribution
2088  HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*(CRlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2089  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2090  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2091  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2092  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2093  +CLlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2094  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2095  +CLlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2096  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2097  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2098  +CRlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2099  +CLlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2100  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2101  +CRlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2102  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2103  +CRlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2104  // h L contribution
2105  HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*(CLlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2106  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2107  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2108  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2109  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2110  +CRlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2111  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2112  +CRlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2113  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2114  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2115  +CLlE(a,x)*WR0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2116  +CRlE(a,x)*WR0(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2117  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2118  +CLlE(a,x)*WL0(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2119  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2120  +CLlE(a,x)*WL0(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2121  // H R contribution
2122  HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*(CRlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2123  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2124  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2125  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2126  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2127  +CLlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2128  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2129  +CLlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2130  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2131  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2132  +CRlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2133  +CLlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2134  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2135  +CRlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2136  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2137  +CRlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2138  // H L contribution
2139  HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*(CLlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2140  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2141  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2142  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2143  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2144  +CRlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2145  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2146  +CRlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2147  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2148  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2149  +CLlE(a,x)*WR1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2150  +CRlE(a,x)*WR1(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2151  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2152  +CLlE(a,x)*WL1(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2153  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2154  +CLlE(a,x)*WL1(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2155  // A R contribution
2156  HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*(CRlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2157  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2158  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2159  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2160  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2161  +CLlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2162  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2163  +CLlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2164  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2165  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2166  +CRlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2167  +CLlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2168  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2169  +CRlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2170  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2171  +CRlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2172  // A L contribution
2173  HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*(CLlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*(PV.B0(1.,0.,MChi(a)*MChi(a),MChi(b)*MChi(b))
2174  -mym_sn_sq(x)*PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2175  +mTAU*mTAU*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2176  +mE*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2177  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))))
2178  +CRlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*mE*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2179  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2180  +CRlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(b)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2181  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2182  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2183  +CLlE(a,x)*WR2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(b)*PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2184  +CRlE(a,x)*WR2(a,b)*CRlTAU(b,x).conjugate()*mE*MChi(a)*(PV.C11(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2185  -PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2186  +CLlE(a,x)*WL2(a,b)*CLlTAU(b,x).conjugate()*mTAU*MChi(a)*(PV.C12(mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))
2187  -PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b)))
2188  +CLlE(a,x)*WL2(a,b)*CRlTAU(b,x).conjugate()*MChi(a)*MChi(b)*(-PV.C0(0.,mym_sn_sq(x),MChi(a)*MChi(a),MChi(b)*MChi(b))));
2189  }
2190  for (int y=0;y<3;y++) {
2191  // h R contribution
2192  HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*Gnu0(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2193  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2194  -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2195  -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2196  // h L contribution
2197  HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*Gnu0(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2198  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2199  -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2200  -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2201  // H R contribution
2202  HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*Gnu1(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2203  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2204  -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2205  -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2206  // H L contribution
2207  HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*Gnu1(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2208  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2209  -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2210  -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2211  // A R contribution
2212  HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*Gnu2(x,y)*(-CLlE(a,x)*CLlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2213  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2214  -CRlE(a,x)*CRlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2215  -CRlE(a,x)*CLlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2216  // A L contribution
2217  HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*Gnu2(x,y)*(-CRlE(a,x)*CRlTAU(a,y).conjugate()*mE*(PV.C11(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2218  -PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)))
2219  -CLlE(a,x)*CLlTAU(a,y).conjugate()*mTAU*PV.C12(MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y))
2220  -CLlE(a,x)*CRlTAU(a,y).conjugate()*MChi(a)*PV.C0(0.,MChi(a)*MChi(a),mym_sn_sq(x),mym_sn_sq(y)));
2221  }
2222  // h R contribution
2223  HpengTauEEECR0 = HpengTauEEECR0 - 2.0*piconst*(SRTAU(0)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2224  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2225  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2226  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2227  +SRE(0)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2228  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2229  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2230  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2231  // h L contribution
2232  HpengTauEEECL0 = HpengTauEEECL0 - 2.0*piconst*(SLTAU(0)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2233  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2234  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2235  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2236  +SLE(0)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2237  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2238  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2239  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2240  // H R contribution
2241  HpengTauEEECR1 = HpengTauEEECR1 - 2.0*piconst*(SRTAU(1)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2242  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2243  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2244  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2245  +SRE(1)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2246  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2247  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2248  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2249  // H L contribution
2250  HpengTauEEECL1 = HpengTauEEECL1 - 2.0*piconst*(SLTAU(1)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2251  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2252  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2253  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2254  +SLE(1)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2255  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2256  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2257  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2258  // A R contribution
2259  HpengTauEEECR2 = HpengTauEEECR2 - 2.0*piconst*(SRTAU(2)/(mE*mE-mTAU*mTAU)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2260  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2261  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2262  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2263  +SRE(2)/(mTAU*mTAU-mE*mE)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2264  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2265  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2266  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2267  // A L contribution
2268  HpengTauEEECL2 = HpengTauEEECL2 - 2.0*piconst*(SLTAU(2)/(mE*mE-mTAU*mTAU)*(-CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mE*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2269  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2270  -CRlE(a,x)*CRlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2271  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x)))
2272  +SLE(2)/(mTAU*mTAU-mE*mE)*(-CRlE(a,x)*CRlTAU(a,x).conjugate()*mTAU*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2273  +CRlE(a,x)*CLlTAU(a,x).conjugate()*mTAU*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2274  -CLlE(a,x)*CLlTAU(a,x).conjugate()*mE*mTAU*PV.B1(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))
2275  +CLlE(a,x)*CRlTAU(a,x).conjugate()*mE*MChi(a)*PV.B0(1.,0.,MChi(a)*MChi(a),mym_sn_sq(x))));
2276  }
2277  }
2278 
2279  // summing up the h (0), H (1) and A (2) parts
2280  gslpp::complex B2HiggscRte = (-0.5*HpengTauEEECR0*SLE(0)/(mh*mh)-0.5*HpengTauEEECR1*SLE(1)/(mH*mH)-0.5*HpengTauEEECR2*SLE(2)/(mA*mA))/(4.0*pi*alph);
2281  gslpp::complex B2HiggscLte = (-0.5*HpengTauEEECL0*SRE(0)/(mh*mh)-0.5*HpengTauEEECL1*SRE(1)/(mH*mH)-0.5*HpengTauEEECL2*SRE(2)/(mA*mA))/(4.0*pi*alph);
2282  gslpp::complex B3HiggscRte = (HpengTauEEECR0*SRE(0)/(mh*mh)+HpengTauEEECR1*SRE(1)/(mH*mH)+HpengTauEEECR2*SRE(2)/(mA*mA))/(4.0*pi*alph);
2283  gslpp::complex B3HiggscLte = (HpengTauEEECL0*SLE(0)/(mh*mh)+HpengTauEEECL1*SLE(1)/(mH*mH)+HpengTauEEECL2*SLE(2)/(mA*mA))/(4.0*pi*alph);
2284 
2285  // write B2H and B3H into a vector for tau->3e
2286  BHFunctions.assign(0, B2HiggsnRte+B2HiggscRte );
2287  BHFunctions.assign(1, B2HiggsnLte+B2HiggscLte );
2288  BHFunctions.assign(2, B3HiggsnRte+B3HiggscRte );
2289  BHFunctions.assign(3, B3HiggsnLte+B3HiggscLte );
2290  }
2291 
2292  return(BHFunctions);
2293 }
2294 
2296  //box contributions to mu->e conversion
2297 
2299 
2300  double MW = mySUSY.Mw_tree();
2301  double pi = M_PI;
2302  double sw2 = mySUSY.StandardModel::sW2(MW);
2303  double stw = sqrt(sw2);
2304  double ctw = sqrt(1.0 - sw2);
2305  double ttw = stw/ctw;
2306  double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
2307  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
2308  double mUP = mySUSY.getQuarks(QCD::UP).getMass();
2309  double mDOWN = mySUSY.getQuarks(QCD::DOWN).getMass();
2310  double cdenc = sqrt(2.0)*MW*cosb;
2311  double cdenn = MW*cosb;
2312  double g2 = gW;
2313  double g2t = g2/sqrt(2.0);
2314  double alph = mySUSY.getAle();
2315 
2317  // Neutralino-Fermion-Sfermion couplings
2318  for (int a=0;a<4;a++) {
2319  for (int x=0;x<6;x++) {
2320  // LL + RL TYPE MI
2321  NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
2322  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
2323  NRqUP.assign(a, x, -(g2t)*((ON(a, 1)+ON(a, 0)*ttw/3.0)*myRu(x, 0)+mUP/(MW*sinb)*ON(a, 3)*myRu(x, 3)));
2324  NRqDOWN.assign(a, x, -(g2t)*((-ON(a, 1)+ON(a, 0)*ttw/3.0)*myRd(x, 0)+mDOWN/(MW*cosb)*ON(a, 2)*myRd(x, 3)));
2325  // RL + RR TYPE MI
2326  NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
2327  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
2328  NLqUP.assign(a, x, -(g2t)*(mUP/(MW*sinb)*ON(a, 3)*myRu(x, 0)-4.0*ON(a, 0)*myRu(x, 3)*ttw/3.0));
2329  NLqDOWN.assign(a, x, -(g2t)*(mDOWN/(MW*cosb)*ON(a, 2)*myRd(x, 0)+2.0*ON(a, 0)*myRd(x, 3)*ttw/3.0));
2330  }
2331  }
2332  // Chargino-Fermion-Sfermion couplings
2333  for (int a=0;a<2;a++) {
2334  for (int x=0;x<3;x++) {
2335  // LL-TYPE
2336  CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
2337  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
2338  // LR-TYPE
2339  CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
2340  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
2341  }
2342  }
2343  for (int a=0;a<2;a++) {
2344  for (int x=0;x<6;x++) {
2345  // LL-TYPE
2346  CRqUP.assign(a, x, g2*(-myU(a, 0)*myRd(x, 0) + mDOWN/cdenc*myU(a, 1)*myRd(x, 3)));
2347  CRqDOWN.assign(a, x, g2*(-myV(a, 0)*myRu(x, 0) + mUP/(sqrt(2.0)*MW*sinb)*myV(a, 1)*myRu(x, 3)));
2348  // LR-TYPE
2349  CLqUP.assign(a, x, g2*mUP/(sqrt(2.0)*MW*sinb)*myV(a, 1)*myRd(x, 0));
2350  CLqDOWN.assign(a, x, g2*mDOWN/cdenc*myU(a, 1)*myRu(x, 0));
2351  }
2352  }
2353 
2354  // Neutralino contributions
2355  gslpp::complex DunR = 0.0;
2356  gslpp::complex DunL = 0.0;
2357  gslpp::complex DdnR = 0.0;
2358  gslpp::complex DdnL = 0.0;
2359  for (int a=0;a<4;a++) {
2360  for (int b=0;b<4;b++) {
2361  for (int x=0;x<6;x++) {
2362  for (int y=0;y<6;y++) {
2363  DunR = DunR + (0.125*(NLlMU(a,x).conjugate()*NLlE(b,x)*NLqUP(a,y)*NLqUP(b,y).conjugate()
2364  -NLlMU(a,x).conjugate()*NLlE(b,x)*NRqUP(a,y).conjugate()*NRqUP(b,y))
2365  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(4.0*pi*pi)
2366  -0.25*MNeig(a)*MNeig(b)*(NLlMU(a,x).conjugate()*NLlE(b,x)*NRqUP(a,y)*NRqUP(b,y).conjugate()
2367  -NLlMU(a,x).conjugate()*NLlE(b,x)*NLqUP(a,y).conjugate()*NLqUP(b,y))
2368  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2369  DunL = DunL + (0.125*(NRlMU(a,x).conjugate()*NRlE(b,x)*NRqUP(a,y)*NRqUP(b,y).conjugate()
2370  -NRlMU(a,x).conjugate()*NRlE(b,x)*NLqUP(a,y).conjugate()*NLqUP(b,y))
2371  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(4.0*pi*pi)
2372  -0.25*MNeig(a)*MNeig(b)*(NRlMU(a,x).conjugate()*NRlE(b,x)*NLqUP(a,y)*NLqUP(b,y).conjugate()
2373  -NRlMU(a,x).conjugate()*NRlE(b,x)*NRqUP(a,y).conjugate()*NRqUP(b,y))
2374  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2375  DdnR = DdnR + (0.125*(NLlMU(a,x).conjugate()*NLlE(b,x)*NLqDOWN(a,y)*NLqDOWN(b,y).conjugate()
2376  -NLlMU(a,x).conjugate()*NLlE(b,x)*NRqDOWN(a,y).conjugate()*NRqDOWN(b,y))
2377  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
2378  -0.25*MNeig(a)*MNeig(b)*(NLlMU(a,x).conjugate()*NLlE(b,x)*NRqDOWN(a,y)*NRqDOWN(b,y).conjugate()
2379  -NLlMU(a,x).conjugate()*NLlE(b,x)*NLqDOWN(a,y).conjugate()*NLqDOWN(b,y))
2380  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2381  DdnL = DdnL + (0.125*(NRlMU(a,x).conjugate()*NRlE(b,x)*NRqDOWN(a,y)*NRqDOWN(b,y).conjugate()
2382  -NRlMU(a,x).conjugate()*NRlE(b,x)*NLqDOWN(a,y).conjugate()*NLqDOWN(b,y))
2383  *PV.D00(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
2384  -0.25*MNeig(a)*MNeig(b)*(NRlMU(a,x).conjugate()*NRlE(b,x)*NLqDOWN(a,y)*NLqDOWN(b,y).conjugate()
2385  -NRlMU(a,x).conjugate()*NRlE(b,x)*NRqDOWN(a,y).conjugate()*NRqDOWN(b,y))
2386  *PV.D0(0., 0., MNeig(a)*MNeig(a), MNeig(b)*MNeig(b), mym_se_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2387  }
2388  }
2389  }
2390  }
2391 
2392  // Chargino contributions
2393  gslpp::complex DucR = 0.0;
2394  gslpp::complex DucL = 0.0;
2395  gslpp::complex DdcR = 0.0;
2396  gslpp::complex DdcL = 0.0;
2397  for (int a=0;a<2;a++) {
2398  for (int b=0;b<2;b++) {
2399  for (int x=0;x<3;x++) {
2400  for (int y=0;y<6;y++) {
2401  DucR = DucR + (-0.125*CLlMU(a,x).conjugate()*CLlE(b,x)*CRqUP(a,y).conjugate()*CRqUP(b,y)
2402  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
2403  +0.25*MChi(a)*MChi(b)*CLlMU(a,x).conjugate()*CLlE(b,x)*CLqUP(a,y).conjugate()*CLqUP(b,y)
2404  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2405  DucL = DucL + (-0.125*CRlMU(a,x).conjugate()*CRlE(b,x)*CLqUP(a,y).conjugate()*CLqUP(b,y)
2406  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(4.0*pi*pi)
2407  +0.25*MChi(a)*MChi(b)*CRlMU(a,x).conjugate()*CRlE(b,x)*CRqUP(a,y).conjugate()*CRqUP(b,y)
2408  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_sd_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2409  DdcR = DdcR + (0.125*CLlMU(a,x).conjugate()*CLlE(b,x)*CLqDOWN(a,y)*CLqDOWN(b,y).conjugate()
2410  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(4.0*pi*pi)
2411  -0.25*MChi(a)*MChi(b)*CLlMU(a,x).conjugate()*CLlE(b,x)*CRqDOWN(a,y)*CRqDOWN(b,y).conjugate()
2412  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2413  DdcL = DdcL + (0.125*CRlMU(a,x).conjugate()*CRlE(b,x)*CRqDOWN(a,y)*CRqDOWN(b,y).conjugate()
2414  *PV.D00(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(4.0*pi*pi)
2415  -0.25*MChi(a)*MChi(b)*CRlMU(a,x).conjugate()*CRlE(b,x)*CLqDOWN(a,y)*CLqDOWN(b,y).conjugate()
2416  *PV.D0(0., 0., MChi(a)*MChi(a), MChi(b)*MChi(b), mym_sn_sq(x), mym_su_sq(y))/(16.0*pi*pi))/(4.0*pi*alph);
2417  }
2418  }
2419  }
2420  }
2421 
2422  // write DuR, DuL, DdR and DdL into a vector for mu->e conversion
2423  DFunctions.assign(0, DunR+DucR ); //DuR
2424  DFunctions.assign(1, DunL+DucL ); //DuL
2425  DFunctions.assign(2, DdnR+DdcR ); //DdR
2426  DFunctions.assign(3, DdnL+DdcL ); //DdL
2427 
2428  return(DFunctions);
2429 }
2430 
2432  //Z penguin contributions
2433 
2435 
2436  double MZ = mySUSY.getMz();
2437  double MW = mySUSY.Mw_tree();
2438  double pi = M_PI;
2439  double piconst = 1.0/(32.0 * pi * pi);
2440  double sw2 = mySUSY.StandardModel::sW2(MW);
2441  double stw = sqrt(sw2);
2442  double ctw = sqrt(1.0 - sw2);
2443  double ttw = stw/ctw;
2444  double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
2445  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
2446  double mTAU = mySUSY.getLeptons(StandardModel::TAU).getMass();
2447 
2448  double cdenc = sqrt(2.0)*MW*cosb;
2449  double cdenn = MW*cosb;
2450  double g2 = gW;
2451  double g2t = g2/sqrt(2.0);
2452 
2454 // Note: Here contributions proportional to the Yukawa couplings are set to
2455 // zero. In particular this leads to Right Chargino Contributions to be zero.
2456 
2457  // Neutralino-Fermion-Sfermion couplings
2458  for (int a=0;a<4;a++) {
2459  for (int x=0;x<6;x++) {
2460  // LL + RL TYPE MI
2461  NRlE.assign(a, x, - (g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 0) + (mE/cdenn)*ON(a, 2)*myRl(x, 3)));
2462  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
2463  NRlTAU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 2) + (mTAU/cdenn)*ON(a, 2)*myRl(x, 5)));
2464  // RL + RR TYPE MI
2465  NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2)*myRl(x, 0) + 2.0*ON(a, 0)*ttw*myRl(x, 3)));
2466  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
2467  NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2)*myRl(x, 2) + 2.0*ON(a, 0)*ttw*myRl(x, 5)));
2468 // Commented expressions might be useful for complex neutralino mixing matrices
2469 // NLlE.assign(a, x, -(g2t)*((mE/cdenn)*ON(a, 2).conjugate()*myRl(x, 0) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 3)));
2470 // NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
2471 // NLlTAU.assign(a, x, -(g2t)*((mTAU/cdenn)*ON(a, 2).conjugate()*myRl(x, 2) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 5)));
2472  }
2473  }
2474 
2475  // Chargino-Fermion-Sfermion couplings
2476  for (int a=0;a<2;a++) {
2477  for (int x=0;x<3;x++) {
2478  // LL-TYPE
2479  CRlE.assign(a, x, - (g2*myV(a, 0)*myRn(x, 0)));
2480  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
2481  CRlTAU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 2)));
2482  // LR-TYPE
2483  CLlE.assign(a, x, g2*mE/cdenc*myU(a, 1).conjugate()*myRn(x, 0));
2484  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
2485  CLlTAU.assign(a, x, g2*mTAU/cdenc*myU(a, 1).conjugate()*myRn(x, 2));
2486  }
2487  }
2488 
2489 // Neutralino contributions
2490 
2491  for (int a=0;a<4;a++) {
2492  for (int x=0;x<6;x++) {
2493  Lepty.assign(a, x, ( MNeig(a) * MNeig(a) ) / mym_se_sq(x) );
2494  }
2495  }
2496 
2497  for (int x=0;x<6;x++) {
2498  for (int a=0;a<4;a++) {
2499  for (int b=0;b<4;b++) {
2500  if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01) {
2501  Leptfzn[x][a][b] = log(Lepty(a,x)) + 1.0/(Lepty(a,x)-Lepty(b,x))*
2502  ( (Lepty(a,x)*Lepty(a,x)*log(Lepty(a,x)))/(1.0-Lepty(a,x)) - (Lepty(b,x)*Lepty(b,x)*log(Lepty(b,x)))/(1.0-Lepty(b,x)) );
2503  Leptgzn[x][a][b] = (MNeig(a)*MNeig(b)/mym_se_sq(x))/(Lepty(a,x)-Lepty(b,x))*
2504  ( (Lepty(a,x)*log(Lepty(a,x)))/(1.0-Lepty(a,x)) - (Lepty(b,x)*log(Lepty(b,x)))/(1.0-Lepty(b,x)) );
2505  }
2506  else if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) <= 0.01) {
2507  Leptfzn[x][a][b] = (-2.0*log(Lepty(a,x))*Lepty(a,x)+log(Lepty(a,x))+Lepty(a,x)-1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
2508  Leptgzn[x][a][b] = -(MNeig(a)*MNeig(b)/mym_se_sq(x))*(log(Lepty(a,x))*Lepty(a,x)-Lepty(a,x)+1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
2509  }
2510  else if (a != b && std::fabs(Lepty(a,x)-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01 && std::fabs(1.0-Lepty(a,x)) <= 0.01) {
2511  Leptfzn[x][a][b] = (-log(Lepty(b,x))*Lepty(b,x)*Lepty(b,x)+Lepty(b,x)-1.0)/(Lepty(b,x)-1.0)/(Lepty(b,x)-1.0);
2512  Leptgzn[x][a][b] = -(MNeig(a)*MNeig(b)/mym_se_sq(x))*(log(Lepty(b,x))*Lepty(b,x)-Lepty(b,x)+1.0)/(Lepty(b,x)-1.0)/(Lepty(b,x)-1.0);
2513  }
2514  else if ((a == b || std::fabs(Lepty(a,x)-Lepty(b,x)) <= 0.01) && std::fabs(1.0-Lepty(a,x)) > 0.01 && std::fabs(1.0-Lepty(b,x)) > 0.01) {
2515  Leptfzn[x][a][b] = (-Lepty(a,x)*Lepty(a,x)+Lepty(a,x)+log(Lepty(a,x)))/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
2516  Leptgzn[x][a][b] = (MNeig(b)*MNeig(b)/mym_se_sq(x))*(-Lepty(a,x)+log(Lepty(a,x))+1.0)/(Lepty(a,x)-1.0)/(Lepty(a,x)-1.0);
2517  }
2518  else {
2519  Leptfzn[x][a][b] = -3.0/2.0-(Lepty(a,x)-1.0)/3.0;
2520  Leptgzn[x][a][b] = -MNeig(a)*MNeig(b)/(2.0*mym_se_sq(x));
2521  }
2522  }
2523  }
2524  }
2525 
2526 // Chargino contributions
2527  for (int a=0;a<2;a++) {
2528  for (int x=0;x<3;x++) {
2529  Leptz.assign(a, x, MChi(a)*MChi(a)/mym_sn_sq(x) );
2530  }
2531  }
2532 
2533  for (int x=0;x<3;x++) {
2534  for (int a=0;a<2;a++) {
2535  for (int b=0;b<2;b++) {
2536  if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01) {
2537  Leptfzc[x][a][b] = log(Leptz(a,x)) + 1.0/(Leptz(a,x)-Leptz(b,x))*
2538  ( (Leptz(a,x)*Leptz(a,x)*log(Leptz(a,x)))/(1.0-Leptz(a,x)) - (Leptz(b,x)*Leptz(b,x)*log(Leptz(b,x)))/(1.0-Leptz(b,x)) );
2539  Leptgzc[x][a][b] = (MChi(a)*MChi(b)/mym_sn_sq(x))/(Leptz(a,x)-Leptz(b,x))*
2540  ( (Leptz(a,x)*log(Leptz(a,x)))/(1.0-Leptz(a,x)) - (Leptz(b,x)*log(Leptz(b,x)))/(1.0-Leptz(b,x)) );
2541  }
2542  else if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) <= 0.01) {
2543  Leptfzc[x][a][b] = (-2.0*log(Leptz(a,x))*Leptz(a,x)+Leptz(a,x)+log(Leptz(a,x))-1.0)/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
2544  Leptgzc[x][a][b] = -(MChi(a)*MChi(b)/mym_sn_sq(x))*(log(Leptz(a,x))*Leptz(a,x)-Leptz(a,x)+1.0)/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
2545  }
2546  else if (a != b && std::fabs(Leptz(a,x)-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01 && std::fabs(1.0-Leptz(a,x)) <= 0.01) {
2547  Leptfzc[x][a][b] = (-log(Leptz(b,x))*Leptz(b,x)*Leptz(b,x)+Leptz(b,x)-1.0)/(Leptz(b,x)-1.0)/(Leptz(b,x)-1.0);
2548  Leptgzc[x][a][b] = -(MChi(a)*MChi(b)/mym_sn_sq(x))*(log(Leptz(b,x))*Leptz(b,x)-Leptz(b,x)+1.0)/(Leptz(b,x)-1.0)/(Leptz(b,x)-1.0);
2549  }
2550  else if ((a == b || std::fabs(Leptz(a,x)-Leptz(b,x)) <= 0.01) && std::fabs(1.0-Leptz(a,x)) > 0.01 && std::fabs(1.0-Leptz(b,x)) > 0.01) {
2551  Leptfzc[x][a][b] = (-Leptz(a,x)*Leptz(a,x)+Leptz(a,x)+log(Leptz(a,x)))/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
2552  Leptgzc[x][a][b] = (MChi(b)*MChi(b)/mym_sn_sq(x))*((-Leptz(a,x)+log(Leptz(a,x))+1.0))/(Leptz(a,x)-1.0)/(Leptz(a,x)-1.0);
2553  }
2554  else {
2555  Leptfzc[x][a][b] = -3.0/2.0-(Leptz(a,x)-1.0)/3.0;
2556  Leptgzc[x][a][b] = -MChi(a)*MChi(b)/(2.0*mym_sn_sq(x));
2557  }
2558  }
2559  }
2560  }
2561 
2562  if (li_to_lj == 1) // mu -> 3e
2563  {
2564  // Neutralino contributions
2565  gslpp::complex ZpengMuEEENR = 0.0;
2566  gslpp::complex ZpengMuEEENL = 0.0;
2567  for (int x=0;x<6;x++) {
2568  for (int a=0;a<4;a++) {
2569  for (int b=0;b<4;b++) {
2570  ZpengMuEEENR = ZpengMuEEENR - NLlE(a,x)*NLlMU(b,x)*piconst*
2571  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2572  ZpengMuEEENL = ZpengMuEEENL + NRlE(a,x)*NRlMU(b,x)*piconst*
2573  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2574  }
2575  }
2576  }
2577  // Chargino contributions
2578  gslpp::complex ZpengMuEEEC = 0.0;
2579  for (int x=0;x<3;x++) {
2580  for (int a=0;a<2;a++) {
2581  for (int b=0;b<2;b++) {
2582  ZpengMuEEEC = ZpengMuEEEC + CRlE(a,x)*CRlMU(b,x)*piconst*
2583  (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
2584  -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
2585  }
2586  }
2587  }
2588  // write FRR, FRL, FLR and FLL into a vector for mu->3e
2589  FFunctions.assign(0, ZpengMuEEENR/(MZ*MZ*ctw*ctw) ); //FRR
2590  FFunctions.assign(1, ZpengMuEEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
2591  FFunctions.assign(2, (ZpengMuEEENL + ZpengMuEEEC)/(MZ*MZ*ctw*ctw) ); //FLR
2592  FFunctions.assign(3, (ZpengMuEEENL + ZpengMuEEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
2593  }
2594  if (li_to_lj == 2) // tau -> 3mu
2595  {
2596  // Neutralino contributions
2597  gslpp::complex ZpengTauMuMuMuNR = 0.0;
2598  gslpp::complex ZpengTauMuMuMuNL = 0.0;
2599  for (int x=0;x<6;x++) {
2600  for (int a=0;a<4;a++) {
2601  for (int b=0;b<4;b++) {
2602  ZpengTauMuMuMuNR = ZpengTauMuMuMuNR - NLlMU(a,x)*NLlTAU(b,x)*piconst*
2603  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2604  ZpengTauMuMuMuNL = ZpengTauMuMuMuNL + NRlMU(a,x)*NRlTAU(b,x)*piconst*
2605  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2606  }
2607  }
2608  }
2609  // Chargino contributions
2610  gslpp::complex ZpengTauMuMuMuC = 0.0;
2611  for (int x=0;x<3;x++) {
2612  for (int a=0;a<2;a++) {
2613  for (int b=0;b<2;b++) {
2614  ZpengTauMuMuMuC = ZpengTauMuMuMuC + CRlMU(a,x)*CRlTAU(b,x)*piconst*
2615  (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
2616  -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
2617  }
2618  }
2619  }
2620  // write FRR, FRL, FLR and FLL into a vector for tau->3mu
2621  FFunctions.assign(0, ZpengTauMuMuMuNR/(MZ*MZ*ctw*ctw) ); //FRR
2622  FFunctions.assign(1, ZpengTauMuMuMuNR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
2623  FFunctions.assign(2, (ZpengTauMuMuMuNL + ZpengTauMuMuMuC)/(MZ*MZ*ctw*ctw) ); //FLR
2624  FFunctions.assign(3, (ZpengTauMuMuMuNL + ZpengTauMuMuMuC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
2625  }
2626  if (li_to_lj == 3) // tau -> 3e
2627  {
2628  // Neutralino contributions
2629  gslpp::complex ZpengTauEEENR = 0.0;
2630  gslpp::complex ZpengTauEEENL = 0.0;
2631  for (int x=0;x<6;x++) {
2632  for (int a=0;a<4;a++) {
2633  for (int b=0;b<4;b++) {
2634  ZpengTauEEENR = ZpengTauEEENR - NLlE(a,x)*NLlTAU(b,x)*piconst*
2635  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2636  ZpengTauEEENL = ZpengTauEEENL + NRlE(a,x)*NRlTAU(b,x)*piconst*
2637  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2638  }
2639  }
2640  }
2641  // Chargino contributions
2642  gslpp::complex ZpengTauEEEC = 0.0;
2643  for (int x=0;x<3;x++) {
2644  for (int a=0;a<2;a++) {
2645  for (int b=0;b<2;b++) {
2646  ZpengTauEEEC = ZpengTauEEEC + CRlE(a,x)*CRlTAU(b,x)*piconst*
2647  (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
2648  -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
2649  }
2650  }
2651  }
2652  // write FRR, FRL, FLR and FLL into a vector for tau->3e
2653  FFunctions.assign(0, ZpengTauEEENR/(MZ*MZ*ctw*ctw) ); //FRR
2654  FFunctions.assign(1, ZpengTauEEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
2655  FFunctions.assign(2, (ZpengTauEEENL + ZpengTauEEEC)/(MZ*MZ*ctw*ctw) ); //FLR
2656  FFunctions.assign(3, (ZpengTauEEENL + ZpengTauEEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
2657  }
2658  if (li_to_lj == 4) // tau -> muee
2659  {
2660  // Neutralino contributions
2661  gslpp::complex ZpengTauMuEENR = 0.0;
2662  gslpp::complex ZpengTauMuEENL = 0.0;
2663  for (int x=0;x<6;x++) {
2664  for (int a=0;a<4;a++) {
2665  for (int b=0;b<4;b++) {
2666  ZpengTauMuEENR = ZpengTauMuEENR - NLlMU(a,x)*NLlTAU(b,x)*piconst*
2667  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2668  ZpengTauMuEENL = ZpengTauMuEENL + NRlMU(a,x)*NRlTAU(b,x)*piconst*
2669  (ON(a,2)*ON(b,2)-ON(a,3)*ON(b,3))*gslpp::complex(std::real(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]),std::imag(Leptfzn[x][a][b]+2.0*Leptgzn[x][a][b]));
2670  }
2671  }
2672  }
2673  // Chargino contributions
2674  gslpp::complex ZpengTauMuEEC = 0.0;
2675  for (int x=0;x<3;x++) {
2676  for (int a=0;a<2;a++) {
2677  for (int b=0;b<2;b++) {
2678  ZpengTauMuEEC = ZpengTauMuEEC + CRlMU(a,x)*CRlTAU(b,x)*piconst*
2679  (myU(a,1)*myU(b,1)*gslpp::complex(std::real(Leptgzc[x][a][b]),std::imag(Leptgzc[x][a][b]))
2680  -myV(a,1)*myV(b,1)*gslpp::complex(std::real(Leptfzc[x][a][b]),std::imag(Leptfzc[x][a][b]))/2.0);
2681  }
2682  }
2683  }
2684  // write FRR, FRL, FLR and FLL into a vector for tau->muee
2685  FFunctions.assign(0, ZpengTauMuEENR/(MZ*MZ*ctw*ctw) ); //FRR
2686  FFunctions.assign(1, ZpengTauMuEENR*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FRL
2687  FFunctions.assign(2, (ZpengTauMuEENL + ZpengTauMuEEC)/(MZ*MZ*ctw*ctw) ); //FLR
2688  FFunctions.assign(3, (ZpengTauMuEENL + ZpengTauMuEEC)*(-0.5+sw2)/(MZ*MZ*sw2*ctw*ctw) ); //FLL
2689  }
2690 
2691  return(FFunctions);
2692 }
2693 
2695 
2697 
2698  double MW = mySUSY.Mw_tree();
2699  double pi = M_PI;
2700  double piconst = 1.0/(32.0 * pi * pi);
2701  double sw2 = mySUSY.StandardModel::sW2(MW);
2702  double stw = sqrt(sw2);
2703  double ctw = sqrt(1.0 - sw2);
2704  double ttw = stw/ctw;
2705  double mMU = mySUSY.getLeptons(StandardModel::MU).getMass();
2706 
2707  double cdenc = sqrt(2.0)*MW*cosb;
2708  double cdenn = MW*cosb;
2709  double g2 = gW;
2710  double g2t = g2/sqrt(2.0);
2711 
2713 
2714  // Neutralino-Fermion-Sfermion couplings
2715  for (int a=0;a<4;a++) {
2716  for (int x=0;x<6;x++) {
2717  // LL + RL TYPE MI
2718  NRlMU.assign(a, x, -(g2t)*((-ON(a, 1) - ON(a, 0)*ttw)*myRl(x, 1) + (mMU/cdenn)*ON(a, 2)*myRl(x, 4)));
2719  // RL + RR TYPE MI
2720  NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2)*myRl(x, 1) + 2.0*ON(a, 0)*ttw*myRl(x, 4)));
2721 // Commented expressions might be useful for complex neutralino mixing matrices
2722 // NLlMU.assign(a, x, -(g2t)*((mMU/cdenn)*ON(a, 2).conjugate()*myRl(x, 1) + 2.0*ON(a, 0).conjugate()*ttw*myRl(x, 4)));
2723  }
2724  }
2725 
2726  // Chargino-Fermion-Sfermion couplings
2727  for (int a=0;a<2;a++) {
2728  for (int x=0;x<3;x++) {
2729  // LL-TYPE
2730  CRlMU.assign(a, x, - (g2*myV(a, 0)*myRn(x, 1)));
2731  // LR-TYPE
2732  CLlMU.assign(a, x, g2*mMU/cdenc*myU(a, 1).conjugate()*myRn(x, 1));
2733  }
2734  }
2735 
2736  for (int a=0;a<4;a++) {
2737  for (int x=0;x<6;x++) {
2738  Lepty.assign(a, x, MNeig(a) * MNeig(a) / mym_se_sq(x) );
2739  }
2740  }
2741 
2742  for (int a=0;a<2;a++) {
2743  for (int x=0;x<3;x++) {
2744  Leptz.assign(a, x, MChi(a) * MChi(a) / mym_sn_sq(x) );
2745  }
2746  }
2747 
2748  for (int a=0;a<4;a++) {
2749  for (int x=0;x<6;x++) {
2750  if (fabs(1.0 - Lepty(a, x)) > 0.01) {
2751  Leptf1.assign(a, x, ((1.0 - 6.0*Lepty(a, x) + 3.0 * pow(Lepty(a, x),2.0) +
2752  2.0*pow(Lepty(a, x),3.0) - 6.0*pow(Lepty(a,x),2.0)*log(Lepty(a, x))))/
2753  (6.0 * pow((1.0 - Lepty(a,x)),4.0)) );
2754  Leptf2.assign(a, x, (1.0 - pow(Lepty(a, x),2.0) + 2.0 * Lepty(a, x) * log(Lepty(a, x)))/
2755  (pow((1.0-Lepty(a, x)),3.0)));
2756  }
2757  else {
2758  Leptf1.assign(a, x, 1.0/12.0 - (Lepty(a, x) - 1.0)/30.0);
2759  Leptf2.assign(a, x, 1.0/3.0 - (Lepty(a, x) - 1.0)/6.0);
2760  }
2761  }
2762  }
2763 
2764  for (int a=0;a<2;a++) {
2765  for (int x=0;x<3;x++) {
2766  if(fabs(1.0-Leptz(a, x)) > 0.01) {
2767  Leptf3.assign(a, x, ((2.0 + 3.0*Leptz(a, x) - 6.0*pow(Leptz(a, x),2.0)
2768  + pow(Leptz(a, x),3.0) + 6.0*Leptz(a, x)*log(Leptz(a, x)))/
2769  (6.0*pow((1.0 - Leptz(a, x)),4.0))) );
2770  Leptf4.assign(a, x, ((-3.0 + 4.0*Leptz(a, x) - pow(Leptz(a, x),2.0)
2771  - 2.0*log(Leptz(a, x)))/
2772  pow((1.0 - Leptz(a, x)),3.0)) );
2773  }
2774  else {
2775  Leptf3.assign(a, x, 1.0/12.0 - (Leptz(a, x) - 1.0)/20.0 );
2776  Leptf4.assign(a, x, 2.0/3.0 - (Leptz(a, x) - 1.0)/2.0 );
2777  }
2778  }
2779  }
2780 
2781  // Neutralino contributions
2782  gslpp::complex g2ARN = 0.0;
2783  gslpp::complex g2ALN = 0.0;
2784  for (int a=0;a<4;a++) {
2785  for (int x=0;x<6;x++) {
2786  g2ARN = g2ARN -mMU*mMU*piconst*(4.0*NRlMU(a,x)*NRlMU(a,x).conjugate()*Leptf1(a,x)
2787  +2.0*NRlMU(a,x)*NLlMU(a,x).conjugate()*(MNeig(a)/mMU)*Leptf2(a,x))/mym_se_sq(x);
2788  g2ALN = g2ALN -mMU*mMU*piconst*(4.0*NLlMU(a,x)*NLlMU(a,x).conjugate()*Leptf1(a,x)
2789  +2.0*NLlMU(a,x)*NRlMU(a,x).conjugate()*(MNeig(a)/mMU)*Leptf2(a,x))/mym_se_sq(x);
2790  }
2791  }
2792 
2793  // Chargino contributions
2794  gslpp::complex g2ARC = 0.0;
2795  gslpp::complex g2ALC = 0.0;
2796  for (int a=0;a<2;a++) {
2797  for (int x=0;x<3;x++) {
2798  g2ARC = g2ARC +mMU*mMU*piconst*(4.0*CRlMU(a,x)*CRlMU(a,x).conjugate()*Leptf3(a,x)
2799  +2.0*CRlMU(a,x)*CLlMU(a,x).conjugate()*(MChi(a)/mMU)*Leptf4(a,x))/mym_sn_sq(x);
2800  g2ALC = g2ALC +mMU*mMU*piconst*(4.0*CLlMU(a,x)*CLlMU(a,x).conjugate()*Leptf3(a,x)
2801  +2.0*CLlMU(a,x)*CRlMU(a,x).conjugate()*(MChi(a)/mMU)*Leptf4(a,x))/mym_sn_sq(x);
2802  }
2803  }
2804 
2805  // write R and L contributions to the muon g-2 into a vector
2806  gminus2mu.assign(0, g2ARN + g2ARC ); //g-2_muR
2807  gminus2mu.assign(1, g2ALN + g2ALC ); //g-2_muL
2808 
2809 // std::cout<<"g2AN="<<g2ARN+g2ALN <<std::endl;
2810 // std::cout<<"g2AC="<<g2ARC+g2ALC <<std::endl;
2811 
2812  return(gminus2mu);
2813 }
2814 
2816  double a;
2817 };
2818 
2819 double __fPS_integ(double x, void* p){
2820  __fPS_params &params= *reinterpret_cast<__fPS_params *>(p);
2821  double r = params.a*log(x*(1.-x)/params.a) / (x*(1.-x)-params.a);
2822  return r;
2823 }
2824 
2825 double SUSYMatching::fPS(double x){
2826 
2827  __fPS_params params;
2828  params.a=x;
2829 
2830  double result;
2831  gsl_integration_glfixed_table * w
2832  = gsl_integration_glfixed_table_alloc(100);
2833  gsl_function F;
2834 
2835  F.function = &__fPS_integ;
2836  F.params = reinterpret_cast<void *>(&params);
2837 
2838  result = gsl_integration_glfixed (&F, 0, 1, w);
2839 
2840  gsl_integration_glfixed_table_free (w);
2841 
2842  return result;
2843 }
2844 
2845 double SUSYMatching::fS(double x){
2846 
2847  double r=0;
2848  r=(2.*x-1.)*fPS(x)-2.*x*(2.+log(x));
2849  return r;
2850 }
2851 
2852 double SUSYMatching::fft(double x){
2853 
2854  double r=0;
2855  r=x*(2.+log(x)-fPS(x))/2.0;
2856  return r;
2857 }
2858 
2859 double SUSYMatching::It(double a, double b, double c){
2860 
2861  double r=0;
2862  if (std::fabs(a-b) < 0.0005 && std::fabs(a-c) < 0.0005 && std::fabs(b-c) < 0.0005)
2863  {
2864  r=9./(2.*(a+b+c)*(a+b+c));
2865  }
2866  else
2867  {
2868  if (std::fabs(a-b) < 0.0005)
2869  {
2870  if (std::fabs(a-c) < 0.0005)
2871  {
2872  r=(-4.*(4.*b*b*c*c*log(b*b/(c*c))
2873  +((b+c)*(b+c))*(c*c*log((4.*c*c)/((b+c)*(b+c)))
2874  + b*b*log(((b+c)*(b+c))/(4.*b*b)))))
2875  /(pow(b-c,3)*(b+c)*(3.*b+c)*(b+3.*c));
2876  }
2877  else
2878  {
2879  if (std::fabs(b-c) < 0.0005)
2880  {
2881  r=(4.*(pow(a-2.*b+c,2)*(-3.*pow(a,8) - 46.*pow(a,7)*c - 42.*pow(a,6)*c*c + 234.*pow(a,5)*c*c*c
2882  - 234.*a*a*a*pow(c,5) + 42.*a*a*pow(c,6) + 46.*a*pow(c,7) + 3.*pow(c,8)
2883  + 8.*a*a*c*c*(11.*pow(a,4) + 28.*a*a*a*c + 50.*a*a*c*c + 28.*a*c*c*c + 11.*pow(c,4))
2884  *log(c*c/(a*a))
2885  + a*a*(7.*pow(a,6) + 62.*pow(a,5)*c + 265.*pow(a,4)*c*c
2886  + 356.*a*a*a*c*c*c + 265.*a*a*pow(c,4) + 62.*a*pow(c,5) + 7.*pow(c,6))
2887  *log((4.*a*a)/((a+c)*(a+c)))
2888  + 7.*pow(a,6)*c*c*log(((a+c)*(a+c))/(4.*c*c))
2889  + 62.*pow(a,5)*c*c*c*log(((a+c)*(a+c))/(4.*c*c))
2890  + 265.*pow(a,4)*pow(c,4)*log(((a+c)*(a+c))/(4.*c*c))
2891  + 356.*a*a*a*pow(c,5)*log(((a+c)*(a+c))/(4.*c*c))
2892  + 265.*a*a*pow(c,6)*log(((a+c)*(a+c))/(4.*c*c))
2893  + 62.*a*pow(c,7)*log(((a+c)*(a+c))/(4.*c*c))
2894  + 7.*pow(c,8)*log(((a+c)*(a+c))/(4.*c*c)))
2895  +((a-c)*(a-c))*pow(3.*a+c,2)*pow(a+3.*c,2)
2896  *(4.*a*a*c*c*log((c*c)/(a*a))
2897  +((a+c)*(a+c))*(a*a*log((4.*a*a)/((a+c)*(a+c))) + c*c*log(((a+c)*(a+c))/(4.*c*c))))))
2898  /(pow(a-c,5)*(a+c)*pow(3.*a+c,3)*pow(a+3.*c,3));
2899  }
2900  else
2901  {
2902  r=((b*b) - (c*c) - (c*c)*log((b*b)/(c*c)))/pow((b*b) - (c*c),2) +
2903  ((a - b)*(-pow(b,4) + pow(c,4) + 2*(b*b)*(c*c)*log((b*b)/(c*c))))/(b*pow((b*b) - (c*c),3));
2904  }
2905  }
2906  }
2907  else
2908  {
2909  if (std::fabs(b-c) < 0.0005)
2910  {
2911  if (std::fabs(a-c) < 0.0005)
2912  {
2913  r=(-4*(4*(a*a)*(b*b)*log((a*a)/(b*b)) + ((a+b)*(a+b))*((b*b)*log((4*(b*b))/((a+b)*(a+b))) + (a*a)*log(((a+b)*(a+b))/(4.*(a*a))))))/
2914 (pow(a - b,3)*(a + b)*(3*a + b)*(a + 3*b));
2915  }
2916  else
2917  {
2918  r=(-(a*a) + (c*c) - (a*a)*log((c*c)/(a*a)))/pow((a*a) - (c*c),2) +
2919 ((b - c)*(pow(a,4) - pow(c,4) + 2*(a*a)*(c*c)*log((c*c)/(a*a))))/(c*pow(-(a*a) + (c*c),3));
2920  }
2921  }
2922  else
2923  {
2924  if (std::fabs(a-c) < 0.0005)
2925  {
2926  r=(-(b*b) + (c*c) + (b*b)*log((b*b)/(c*c)))/pow((b*b) - (c*c),2) +
2927  ((a - c)*(pow(b,4) - pow(c,4) - 2*(b*b)*(c*c)*log((b*b)/(c*c))))/(c*pow(-(b*b) + (c*c),3));
2928  }
2929  else
2930  {
2931  r=( a*a*b*b*log(a*a/(b*b))+b*b*c*c*log(b*b/(c*c))+c*c*a*a*log(c*c/(a*a)) )
2932  /( (a*a-b*b)*(b*b-c*c)*(a*a-c*c) );
2933  }
2934  }
2935  }
2936 
2937 
2938 
2939 
2940 
2941 
2942  }
2943  return r;
2944 }
2945 
2946 double SUSYMatching::F3C(double x){
2947 
2948  double r=0;
2949  if (std::fabs(x-1.) < 0.005)
2950  {
2951  r=1. + (1059.*(x-1.))/1175.;
2952  }
2953  else
2954  {
2955  r=(1. - x) * (151. * x*x - 335. * x + 592.)
2956  + 6. * (21. * x*x*x - 108. * x*x - 93. * x + 50.) * log(x)
2957  - 54. * x * (x*x - 2. * x - 2.) * pow(log(x),2)
2958  - 108. * x * (x*x - 2. * x + 12.) * Polylogs.Li2(1.- x).real() ;
2959  r*=4./(141.*pow(1. - x,4));
2960  }
2961  return r;
2962 }
2963 
2964 double SUSYMatching::F4C(double x){
2965 
2966  double r=0;
2967  if (std::fabs(x-1.) < 0.005)
2968  {
2969  r=1. - (45.*(x-1.))/122.;
2970  }
2971  else
2972  {
2973  r=8.*(x*x-3.*x+2.)+(11.*x*x-40.*x+5.)*log(x)
2974  -2.*(x*x-2.*x-2.)*log(x)*log(x)
2975  -4.*(x*x-2.*x+9.)*Polylogs.Li2(1.-x).real();
2976  r=r*(-9.)/(122.*pow(1-x,3));
2977  }
2978  return r;
2979 }
2980 
2981 double SUSYMatching::F3N(double x){
2982 
2983  double r=0;
2984  if (std::fabs(x-1.) < 0.005)
2985  {
2986  r=1. + (76.*(x-1.))/875.;
2987  }
2988  else
2989  {
2990  r=(1-x)*(-97.*x*x-529.*x+2.)+6.*x*x*(13.*x+81.)*log(x)
2991  +108.*x*(7.*x+4.)*Polylogs.Li2(1.-x).real();
2992  r=r*4./(105.*pow(1-x,4));
2993  }
2994  return r;
2995 }
2996 
2997 double SUSYMatching::F4N(double x){
2998 
2999  double r=0;
3000  if (std::fabs(x-1.) < 0.005)
3001  {
3002  r=1. - (111.*(x-1.)*(x-1.))/800.;
3003  }
3004  else
3005  {
3006  r=(x+3.)*(x*log(x)+x-1.0)+(6.*x+2.)*Polylogs.Li2(1.-x).real();
3007  r=r*(-9.)/(4.*pow(1-x,3));
3008  }
3009  return r;
3010 }
3011 
3012 double SUSYMatching::Fa(double x, double y){
3013 
3014  double r=0;
3015  if (std::fabs(x-y) < 0.005)
3016  {
3017  if (std::fabs(y-1.) < 0.005)
3018  {
3019  r=(49. - 22.*x - 22.*y + 10.*x*y)/60.;
3020  }
3021  else
3022  {
3023  r=(2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/(4.*pow(x-1.,4)*x)
3024  +(2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/(4.*pow(y-1.,4)*y);
3025  }
3026  }
3027  else
3028  {
3029  if (std::fabs(x-1.) < 0.005)
3030  {
3031  r=((x-1.)*(-25. + 48.*y - 36.*y*y + 16.*y*y*y - 3.*y*y*y*y - 12.*log(y)))/(12.*pow(y-1.,5))
3032  + (-11. + 18.*y - 9.*y*y + 2.*y*y*y - 6.*log(y))/(6.*pow(y-1.,4));
3033  }
3034  else if (std::fabs(y-1.) < 0.005)
3035  {
3036  r=((y-1.)*(-25. + 48.*x - 36.*x*x + 16.*x*x*x - 3.*x*x*x*x - 12.*log(x)))/(12.*pow(x-1.,5))
3037  + (-11. + 18.*x - 9.*x*x + 2.*x*x*x - 6.*log(x))/(6.*pow(x-1.,4));
3038  }
3039  else
3040  {
3041  double G3x, G3y;
3042  G3x=(1./(2.*pow(x-1,3))) *( (x-1)*(x-3)+2.*log(x) );
3043  G3y=(1./(2.*pow(y-1,3))) *( (y-1)*(y-3)+2.*log(y) );
3044  r=-(G3x-G3y)/(x-y);
3045  }
3046  }
3047  return r;
3048 }
3049 
3050 double SUSYMatching::Fb(double x, double y){
3051 
3052  double r=0;
3053  if (std::fabs(x-y) < 0.005)
3054  {
3055  if (std::fabs(y-1.) < 0.005)
3056  {
3057  r=(13. - 5.*x - 5.*y + 2.*x*y)/60.;
3058  }
3059  else
3060  {
3061  r=((2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/pow(x-1.,4)
3062  + (2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/pow(y-1.,4))/12.;
3063  }
3064  }
3065  else
3066  {
3067  if (std::fabs(x-1.) < 0.005)
3068  {
3069  r=(2. + 3.*y - 6.*y*y + y*y*y + 6.*y*log(y))/(6.*pow(y-1.,4))
3070  + ((x-1.)*(3. + 10.*y - 18.*y*y + 6.*y*y*y - y*y*y*y + 12.*y*log(y)))/(12.*pow(y-1.,5));
3071  }
3072  else if (std::fabs(y-1.) < 0.005)
3073  {
3074  r=(2. + 3.*x - 6.*x*x + x*x*x + 6.*x*log(x))/(6.*pow(x-1.,4))
3075  + ((y-1.)*(3. + 10.*x - 18.*x*x + 6.*x*x*x - x*x*x*x + 12.*x*log(x)))/(12.*pow(x-1.,5));
3076  }
3077  else
3078  {
3079  double G4x, G4y;
3080  G4x=(1./(2.*pow(x-1,3))) *( (x-1)*(x+1) -2.*x*log(x) );
3081  G4y=(1./(2.*pow(y-1,3))) *( (y-1)*(y+1) -2.*y*log(y) );
3082  r=-(G4x-G4y)/(x-y);
3083  }
3084  }
3085  return r;
3086 }
3087 
3089 
3091 
3092  double pi = M_PI;
3093  double MZ = mySUSY.getMz();
3094 // double g1atMZ = sqrt(4.0*pi*mySUSY.getAle());
3095 // double g2atMZ = gW;
3096  double g1atMZ = 0.357456;
3097  double g2atMZ = 0.651721;
3098  double g3atMZ = sqrt(4.0*pi*mySUSY.getAlsMz());
3099  double mh = mySUSY.getMHl();
3100  double mhh = mySUSY.getMHh();
3101  double ma = mySUSY.getMHa();
3102  gslpp::complex sa = mySUSY.getSaeff();
3103  gslpp::complex ca = sqrt(1.0-sa*sa);
3104  gslpp::complex s2a = 2.0*ca*sa;
3105  gslpp::complex c2a = ca*ca-sa*sa;
3106  double vew = v/sqrt(2.);
3107 // double mE = mySUSY.getLeptons(StandardModel::ELECTRON).getMass();
3108  double mmu = mySUSY.getLeptons(StandardModel::MU).getMass();
3109  double mTAU = mySUSY.getLeptons(StandardModel::TAU).getMass();
3110  double mt = mySUSY.getQuarks(mySUSY.TOP).getMass();
3111  double mb = mySUSY.getQuarks(mySUSY.BOTTOM).getMass();
3112  gslpp::complex M1 = mySUSY.getM1();
3113  gslpp::complex M2 = mySUSY.getM2();
3114 
3115  gslpp::complex muH = mySUSY.getMuH();
3116  TUhat = mySUSY.getTUhat();
3117  TDhat = mySUSY.getTDhat();
3118  TEhat = mySUSY.getTEhat();
3119  gslpp::complex a3t = TUhat(2,2)*mySUSY.v2()/sqrt(2.0)/mt;
3120  gslpp::complex a3b = TDhat(2,2)*mySUSY.v1()/sqrt(2.0)/mb;
3121  gslpp::complex a3tau = TEhat(2,2)*mySUSY.v1()/sqrt(2.0)/mTAU;
3122 
3123  gslpp::matrix<gslpp::complex> MsQhat2(3,3,0);
3124  gslpp::matrix<gslpp::complex> MsUhat2(3,3,0);
3125  gslpp::matrix<gslpp::complex> MsDhat2(3,3,0);
3126  gslpp::matrix<gslpp::complex> MsLhat2(3,3,0);
3127  gslpp::matrix<gslpp::complex> MsEhat2(3,3,0);
3128  MsQhat2 = mySUSY.getMsQhat2();
3129  MsUhat2 = mySUSY.getMsUhat2();
3130  MsDhat2 = mySUSY.getMsDhat2();
3131  MsLhat2 = mySUSY.getMsLhat2();
3132  MsEhat2 = mySUSY.getMsEhat2();
3133  double msq1L = MsQhat2(0,0).real();
3134  double msq2L = MsQhat2(1,1).real();
3135  double msq3L = MsQhat2(2,2).real();
3136  double msuR = MsUhat2(0,0).real();
3137  double mscR = MsUhat2(1,1).real();
3138  double mstR = MsUhat2(2,2).real();
3139  double msdR = MsDhat2(0,0).real();
3140  double mssR = MsDhat2(1,1).real();
3141  double msbR = MsDhat2(2,2).real();
3142  double mseL = MsLhat2(0,0).real();
3143  double msmuL = MsLhat2(1,1).real();
3144  double mstauL = MsLhat2(2,2).real();
3145  double mseR = MsEhat2(0,0).real();
3146  double msmuR = MsEhat2(1,1).real();
3147  double mstauR = MsEhat2(2,2).real();
3148 
3149  int k;
3150  double b1[3];
3151  double gi[3];
3152  double g1, g2, g3;
3153  double res_g;
3154  b1[0]=41./6., b1[1]=-19./6., b1[2]=-7.;
3155  gi[0]=g1atMZ, gi[1]=g2atMZ, gi[2]=g3atMZ;
3156  for(k=0; k<3; k++){
3157  res_g=1./gi[k]/gi[k] -b1[k]/(8.*pi*pi)*log(sqrt(msmuL)/MZ);
3158  gi[k]=sqrt(1/res_g);
3159  }
3160  g1=gi[0], g2=gi[1], g3=gi[2];
3161 
3162  double alp = (g1*g1*g2*g2/(g1*g1+g2*g2))/(4.0*pi);
3163 // double s2b = 2.0*cosb*sinb;
3164  double c2b = cosb*cosb-sinb*sinb;
3165  double mzq = sqrt( 0.5*(g1*g1+g2*g2)*vew*vew );
3166  double mwq = sqrt( 0.5*(g2*g2)*vew*vew );
3167  double sw2 = g1*g1/(g1*g1+g2*g2);
3168  gslpp::complex lh1 = -sa/cosb;
3169  gslpp::complex lh2 = ca/cosb;
3170  double lA = tanb;
3171  double msneu2 = msmuL+0.5*mzq*mzq*c2b;
3172 
3173  TEhat.assign(1,1, 0.);
3174 // a3t = 0.;
3175 // a3b = 0.;
3176 // a3tau = 0.;
3177 
3178 
3179  gslpp::matrix<gslpp::complex> Rsmu(2,2,0.), Xm(2,2,0.);
3180  gslpp::vector<double> msmu2(2,0.);
3181  Rsmu.assign(0,0, msmuL+mmu*mmu+c2b*mzq*mzq*(-1.0/2.0+sw2) );
3182  Rsmu.assign(0,1, mySUSY.v1()/sqrt(2.0)*TEhat(1,1).conjugate()-muH*mmu*tanb);
3183  Rsmu.assign(1,0, mySUSY.v1()/sqrt(2.0)*TEhat(1,1)-muH.conjugate()*mmu*tanb);
3184  Rsmu.assign(1,1, msmuR+mmu*mmu-c2b*mzq*mzq*sw2);
3185  Rsmu.eigensystem(Xm,msmu2); //in the 1,2 basis now!
3186 
3187  gslpp::vector<gslpp::complex> gminus2muvector=gminus2mu();
3188 // std::cout<<"gminus2muvector"<<gminus2muvector<<std::endl;
3189 // double gm21loop = (gminus2muvector(0)+gminus2muvector(1)).abs();
3190 // std::cout<<"gm21loop="<<gm21loop<<std::endl;
3191 
3192 
3193  double gm21loop = 1.06978e-9;
3194  mh=125.;
3195  alp = 0.00729927;
3196  mt=173.34;
3197 
3198 
3199  double res,res1; //the two Barr-Zee contributions
3200  double gm2cor, res2, res3; //muon mass correction, photonic two-loop and corrected smuon-muon-chargino/neutralino couplings
3201  double res01, res02;
3202  double gminus2muNLO;
3203 
3205  //two-loop corrections to SM one-loop diagrams
3207 
3208  // Barr-Zee diagrams (photonic)
3209  // chargino-loop
3213 
3214  double tmp1;
3215  for(int i=0; i<2; i++){
3216  tmp1=sqrt(2.0)*mwq/MChi(i);
3217  lxh1.assign(i, tmp1*( myU(i,0)*myV(i,1)*ca + myU(i,1)*myV(i,0)*(-sa) ) );
3218  lxh2.assign(i, tmp1*( myU(i,0)*myV(i,1)*sa + myU(i,1)*myV(i,0)*( ca) ) );
3219  lxA.assign(i, tmp1*( myU(i,0)*myV(i,1)*(-cosb) + myU(i,1)*myV(i,0)*(-sinb) ) );
3220  }
3221 
3222  res=0;
3223  double xps, xh1, xh2;
3224  for(int i=0; i<2; i++){
3225  xps=MChi(i)*MChi(i)/(ma*ma);
3226  xh1=MChi(i)*MChi(i)/(mh*mh);
3227  xh2=MChi(i)*MChi(i)/(mhh*mhh);
3228 
3229  res += (lA*lxA(i)).real()*fPS(xps) + (lh1*lxh1(i)).real()*fS(xh1)
3230  +(lh2*lxh2(i)).real()*fS(xh2);
3231  }
3232  res *= alp*alp * mmu*mmu / (8.*pi*pi*mwq*mwq*sw2);
3233 
3234  // Barr-Zee diagrams (photonic)
3235  // sfermion-loop
3236  gslpp::matrix<gslpp::complex> stauM(2,2,0), sbottomM(2,2,0), stopM(2,2,0);
3237  gslpp::vector<double> mstau2(2,0), msbottom2(2,0), mstop2(2,0);
3238  gslpp::matrix<gslpp::complex> Ustau(2,2,0), Usbottom(2,2,0), Ustop(2,2,0);
3239 
3240  stauM.assign(0,0, mstauL+mTAU*mTAU + mzq*mzq*c2b*(0.5-(-1.)*sw2) );
3241  stauM.assign(1,1, mstauR+mTAU*mTAU + mzq*mzq*c2b*(-1.)*sw2);
3242  stauM.assign(0,1, mTAU*(a3tau-muH*tanb));
3243  stauM.assign(1,0, mTAU*(a3tau-muH*tanb));
3244 
3245  sbottomM.assign(0,0, msq3L+mb*mb + mzq*mzq*c2b*(0.5-(-1./3.)*sw2) );
3246  sbottomM.assign(1,1, msbR+mb*mb + mzq*mzq*c2b*(-1./3.)*sw2);
3247  sbottomM.assign(0,1, mb*(a3b-muH*tanb));
3248  sbottomM.assign(1,0, mb*(a3b-muH*tanb));
3249 
3250  stopM.assign(0,0, msq3L+mt*mt + mzq*mzq*c2b*(0.5-(2./3.)*sw2) );
3251  stopM.assign(1,1, mstR+mt*mt + mzq*mzq*c2b*(2./3.)*sw2);
3252  stopM.assign(0,1, mt*(a3t-muH/tanb));
3253  stopM.assign(1,0, mt*(a3t-muH/tanb));
3254 
3255  stauM.eigensystem(Ustau,mstau2);
3256  sbottomM.eigensystem(Usbottom,msbottom2);
3257  stopM.eigensystem(Ustop,mstop2);
3258 
3259  Ustau=Ustau.hconjugate();
3260  Usbottom=Usbottom.hconjugate();
3261  Ustop=Ustop.hconjugate();
3262 
3263  gslpp::vector<gslpp::complex> lstauh1(2,0);
3264  gslpp::vector<gslpp::complex> lstauh2(2,0);
3265  gslpp::vector<gslpp::complex> lsbottomh1(2,0);
3266  gslpp::vector<gslpp::complex> lsbottomh2(2,0);
3267  gslpp::vector<gslpp::complex> lstoph1(2,0);
3268  gslpp::vector<gslpp::complex> lstoph2(2,0);
3269 
3270  gslpp::complex rr;
3271  for(int i=0; i<2; i++){
3272 
3273  rr=2.*mTAU/(cosb*mstau2(i)) * Ustau(i,0).conjugate() * Ustau(i,1);
3274  lstauh1.assign(i,rr*(-muH*ca + a3tau*(-sa)) );
3275  lstauh2.assign(i,rr*(-muH*sa + a3tau*(ca)) );
3276 
3277  rr=2.*mb/(cosb*msbottom2(i)) * Usbottom(i,0).conjugate() * Usbottom(i,1);
3278  lsbottomh1.assign(i,rr*(-muH*ca + a3b*(-sa)) );
3279  lsbottomh2.assign(i,rr*(-muH*sa + a3b*(ca)) );
3280 
3281  rr=2.*mt/(cosb*mstop2(i)) * Ustop(i,0).conjugate() * Ustop(i,1);
3282  lstoph1.assign(i,rr*(-muH*sa + a3t*(ca)) );
3283  lstoph2.assign(i,rr*(-muH*(-ca) + a3t*(sa)) );
3284  }
3285 // std::cout<<"mh="<<mh<<std::endl;
3286 // std::cout<<"mhh="<<mhh<<std::endl;
3287 // std::cout<<"ma="<<ma<<std::endl;
3288 
3289  res1=0;
3290  double qe2;
3291  double xx1,xx2;
3292  for(int i=0;i<2;i++){
3293  xx1=mstau2(i)/(mh*mh);
3294  xx2=mstau2(i)/(mhh*mhh);
3295  res1 += (lh1*lstauh1(i)).real()*fft(xx1)
3296  +(lh2*lstauh2(i)).real()*fft(xx2);
3297 // std::cout<<"mstau2="<<mstau2<<std::endl;
3298 
3299  qe2=1./3.0;
3300  xx1=msbottom2(i)/(mh*mh);
3301  xx2=msbottom2(i)/(mhh*mhh);
3302  res1 += (lh1*lsbottomh1(i)).real()*qe2*fft(xx1)
3303  +(lh2*lsbottomh2(i)).real()*qe2*fft(xx2);
3304 // std::cout<<"msbottom2="<<msbottom2<<std::endl;
3305 
3306  qe2=4./3.0;
3307  xx1=mstop2(i)/(mh*mh);
3308  xx2=mstop2(i)/(mhh*mhh);
3309  res1 += (lh1*lstoph1(i)).real()*qe2*fft(xx1)
3310  +(lh2*lstoph2(i)).real()*qe2*fft(xx2);
3311 // std::cout<<"mstop2="<<mstop2<<std::endl;
3312  }
3313  res1 *= alp*alp * mmu*mmu / (8.*pi*pi*mwq*mwq*sw2);
3314 
3315  //adding up the photonic Barr-Zee contributions
3316  res02=res+res1;
3317 
3318 // std::cout<<"res="<<res<<std::endl;
3319 // std::cout<<"res1="<<res1<<std::endl;
3320 
3322  //two-loop corrections to MSSM one-loop diagrams
3324 
3325  gm2cor=0, res2=0, res3=0;
3326 
3328  //
3329  // tanb enhanced correction from SUSY one-loop correction to the muon mass
3330  // (ref. arXiv:0808.1530 )
3331  //
3333 
3334  double dmu=0;
3335 // double I=0;
3336  double x0, x1a, x2a, xL, xR;
3337  double tmp2, tmp3;
3338 
3339  x0=sqrt(std::fabs(msneu2));
3340  xL=sqrt( msmuL-mzq*mzq*(sw2-0.5) );
3341  xR=sqrt( msmuR +mzq*mzq*sw2 );
3342 
3343  tmp2=M2.abs2()+muH.abs2() +2.*mwq*mwq;
3344  tmp3= tmp2*tmp2 -4.*M2.abs2()*muH.abs2();
3345  x1a=sqrt( 0.5*( tmp2-sqrt(tmp3) ) );
3346  x2a=sqrt( 0.5*( tmp2+sqrt(tmp3) ) );
3347 
3348  dmu=-muH.real()*tanb*g2*g2*M2.real()/(16.*pi*pi)*(It(x1a,x2a,x0) + 0.5*It(x1a,x2a,xL))
3349  -muH.real()*tanb*g1*g1*M1.real()/(16.*pi*pi)*(It(muH.real(),M1.real(),xR) - 0.5*It(muH.real(),M1.real(),xL) - It(M1.real(),xL,xR));
3350 
3351  // corrected one-loop result
3352  gm2cor=gm21loop/(1+dmu);
3353 
3355  //
3356  // photonic two-loop (arXiv:1003.5820)
3357  //
3359 
3360  // leading part is simple, which is enhanced by log(mmu/msmu)
3361  res2=gm2cor*alp/(4.*pi)*16.*log(mmu/sqrt(msmuL));
3362 
3363  // non-logarithmic corrections, which are usually small
3364  double amch=0;
3365  double amne=0;
3366 
3367  // switch of the sub-leading contribution to reduce the computation time
3368  int sub_leading=1;
3369 
3370  if (sub_leading==1){
3372  // for the corrections to the chargino diagrams
3374  gslpp::vector<gslpp::complex> ckL(2,0), ckR(2,0);
3375  double ymu=mmu/(vew*cosb);
3376 
3377  ckR.assign(0, ymu*myU(0,1));
3378  ckR.assign(1, ymu*myU(1,1));
3379 
3380  // gauge couplings are defined at the smuon mass scale msmuL
3381  ckL.assign(0, -g2*myV(0,0));
3382  ckL.assign(1, -g2*myV(1,0));
3383 
3384  double xk=0;
3385  for(int i=0; i<2; i++){
3386  xk=MChi(i)*MChi(i)/msneu2;
3387  amch=amch -(47.*mmu/(12.*msneu2))*( (ckL(i).abs()*ckL(i).abs() + ckR(i).abs()*ckR(i).abs())*F3C(xk) );
3388  amch=amch -(122.*MChi(i)/(9.*msneu2))*F4C(xk)*( (ckL(i)*ckR(i)).real() );
3389  }
3390  amch=(1./(1+dmu))*amch*mmu/(16.*pi*pi)*alp/(4.*pi);
3391 
3393  // for the corrections to the neutralino diagrams
3395  gslpp::vector<gslpp::complex> nR1(4,0), nR2(4,0), nL1(4,0), nL2(4,0);
3396 
3397  for(int i=0; i<4; i++){
3398  nR1.assign(i, sqrt(2.)*g1*myN(i,0)*Xm(0,1) + ymu*myN(i,2)*Xm(0,0));
3399  nR2.assign(i, sqrt(2.)*g1*myN(i,0)*Xm(1,1) + ymu*myN(i,2)*Xm(1,0));
3400  nL1.assign(i, (1./sqrt(2.))*(g2*myN(i,1) + g1*myN(i,0))*Xm(0,0).conjugate() -ymu*myN(i,2)*Xm(0,1).conjugate());
3401  nL2.assign(i, (1./sqrt(2.))*(g2*myN(i,1) + g1*myN(i,0))*Xm(1,0).conjugate() -ymu*myN(i,2)*Xm(1,1).conjugate());
3402  }
3403 
3404  double tmp4, tmp5;
3405  double xi1, xi2;
3406  double r1, r2;
3407  for(int i=0; i<4; i++){
3408  xi1=MChi0(i)*MChi0(i)/msmu2(0);
3409  xi2=MChi0(i)*MChi0(i)/msmu2(1);
3410  tmp4=nL1(i).abs2() + nR1(i).abs2();
3411  tmp5=nL2(i).abs2() + nR2(i).abs2();
3412  r1=35.*mmu/(72.*msmu2(0))*F3N(xi1)*tmp4 - 16.*MChi0(i)/(9.*msmu2(0))*F4N(xi1)*( (nL1(i)*nR1(i)).real() );
3413  r2=35.*mmu/(72.*msmu2(1))*F3N(xi2)*tmp5 - 16.*MChi0(i)/(9.*msmu2(1))*F4N(xi2)*( (nL2(i)*nR2(i)).real() );
3414  amne=amne+r1+r2;
3415  }
3416 
3417  amne*=(1./(1.+dmu))*mmu/(16.*pi*pi)*alp/(4.*pi);
3418  }// end of the subleading term
3419 
3420  //adding leading log correction and sub-leading terms
3421  res2=res2+amch+amne;
3422 // std::cout<<"res2="<<res2<<std::endl;
3423 
3425  //
3426  // Deviation of the smuon-muon-chargino/neutralino couplings
3427  // from gauge/Yukawa couplings due to the breaking of SUSY relations
3428  // ref. arXiv:1311.1775
3429  //
3431 
3432  // approximate one-loop corrections
3433  // usually awhn and ablr are dominant contribution
3434  double x1,y1,x2,y2,x3,y3,x4,y4,x5,y5;
3435  double awhn=mmu*mmu*muH.real()*tanb/(1+dmu);
3436  double awhl=awhn;
3437  double abhl=awhn;
3438  double abhr=awhn;
3439  double ablr=awhn;
3440 
3441  //wino-Higgsino-sneutrino
3442  x1=M2.abs2()/msneu2;
3443  y1=muH.abs2()/msneu2;
3444  awhn *= g2*g2*M2.real()/(8.*pi*pi*msneu2*msneu2)*Fa(x1,y1);
3445 
3446  //wino-Higgsino-L-smuon
3447  x2=M2.abs2()/msmuL;
3448  y2=muH.abs2()/msmuL;
3449  awhl *= -g2*g2*M2.real()/(16.*pi*pi*pow(msmuL,2))*Fb(x2,y2);
3450 
3451  //bino-higgsino-L-smuon
3452  x3=M1.abs2()/msmuL;
3453  y3=muH.abs2()/msmuL;
3454  abhl *= g1*g1*M1.real()/(16.*pi*pi*pow(msmuL,2))*Fb(x3,y3);
3455 
3457  x4=M1.abs2()/msmuR;
3458  y4=muH.abs2()/msmuR;
3459  abhr *= -g1*g1*M1.real()/(8.*pi*pi*pow(msmuR,2))*Fb(x4,y4);
3460 
3461  //bino-L-smuon-R-smuon
3462  x5=msmuL/(M1.abs2());
3463  y5=msmuR/(M1.abs2());
3464  ablr *= g1*g1/(8.*pi*pi*pow(M1.real(),3))*Fb(x5,y5);
3465 
3466  double dg2, dg1, dh, dwh, dbh, dtb;
3467  double msusy=sqrt(msmuL);
3468 
3469  dg1=g1*g1/(16.*pi*pi)*(4./3.)
3470  *(4./3.*log(sqrt(msuR)/msusy) + 4./3.*log(sqrt(mscR)/msusy) + 4./3.*log(sqrt(mstR)/msusy)
3471  + 2./3.*log(sqrt(msdR)/msusy) + 2./3.*log(sqrt(mssR)/msusy) + 2./3.*log(sqrt(msbR)/msusy)
3472  + 1./3.*log(sqrt(msq1L)/msusy) + 1./3.*log(sqrt(msq2L)/msusy) + 1./3.*log(sqrt(msq3L)/msusy)
3473  + log(sqrt(mseR)/msusy) + log(sqrt(mstauR)/msusy)
3474  + 1./2.*log(sqrt(mseL)/msusy) + 1./2.*log(sqrt(mstauL)/msusy) );
3475 
3476  dg2=g2*g2/(16.*pi*pi)*(4./3.)
3477  *(3./2.*log(sqrt(msq1L)/msusy) + 3./2.*log(sqrt(msq2L)/msusy) + 3./2.*log(sqrt(msq3L)/msusy)
3478  + 1./2.*log(sqrt(mseL)/msusy) + 1./2.*log(sqrt(mstauL)/msusy) );
3479 
3480  // corrections involving Yukawa couplings
3481  double yb, ytau, yt;
3482  double as_mt, delta_mt;
3483 
3484  // a_s(msmuL)
3485  as_mt=1/(g3*g3);
3486  //running down to mt
3487  as_mt=as_mt - (-7.)*log(mt/sqrt(msmuL))/(8.*pi*pi);
3488  as_mt=(1./as_mt)/(4.*pi);
3489 
3490  delta_mt=-4./3.*(as_mt/pi)-9.1*pow( (as_mt/pi), 2)-80.*pow((as_mt/pi),3);
3491 
3492  yb=mb/(vew*cosb);
3493  yt=mt/(vew*sinb)*(1+delta_mt); //neglecting small EW correction
3494  ytau=mTAU/(vew*cosb);
3495 
3496  // to the DR bar scheme
3497  yt=yt*(1+as_mt/(8.*pi)*(-4./3.));
3498  yb=yb*(1+as_mt/(8.*pi)*(-4./3.));
3499 
3500  dh=0.5/(16.*pi*pi)*(3.*yt*yt*log(sqrt(mstR)/msusy) +3.*yb*yb*log(sqrt(msbR)/msusy)
3501  +3.*(yt*yt+yb*yb)*log(sqrt(msq3L)/msusy)
3502  +ytau*ytau*log(sqrt(mstauR)/msusy) +ytau*ytau*log(sqrt(mstauL)/msusy));
3503 
3504  dwh=yt*yt/(16.*pi*pi)*(-6.*log(sqrt(msq3L)/msusy));
3505 
3506  dbh=yt*yt/(16.*pi*pi)*( 2.*log(sqrt(msq3L)/msusy)-8.*log(sqrt(mstR)/msusy) );
3507 
3508  Q_S=msusy;
3509 
3510  dtb=1./(16.*pi*pi)*( 3.*yb*yb -3.*yt*yt +ytau*ytau)*log(Q_S/msusy);
3511 
3512  // summing sfermion/fermion contributions
3513  res3= awhn*(dg2 + dh + dwh + dtb)
3514  + awhl*(dg2 + dh + dwh + dtb)
3515  + abhl*(dg1 + dh + dbh + dtb)
3516  + abhr*(dg1 + dh + dbh + dtb)
3517  + ablr*(dg1 + dtb);
3518 // std::cout<<"awhn="<<awhn<<std::endl;
3519 // std::cout<<"awhl="<<awhl <<std::endl;
3520 // std::cout<<"abhl="<<abhl <<std::endl;
3521 // std::cout<<"abhr="<<abhr<<std::endl;
3522 // std::cout<<"ablr="<<ablr<<std::endl;
3523 
3524 // std::cout<<"res3="<<res3<<std::endl;
3525 // std::cout<<"gm2cor="<<gm2cor<<std::endl;
3526  res01=gm2cor+res2+res3-gm21loop;
3527 
3528 // std::cout<<"res01="<<res01<<std::endl;
3529 // std::cout<<"res02="<<res02<<std::endl;
3530 
3531  gminus2muNLO=res01+res02;
3532 
3533 // std::cout<<"gm2NLO="<<gminus2muNLO<<std::endl;
3534  return(gminus2muNLO);
3535 }
3536 
3538 
3540 
3541  // write C7 and C7' into a vector
3542  C7.assign(0, -0.5*AFunctions(li_to_lj)(2) );
3543  C7.assign(1, -0.5*AFunctions(li_to_lj)(3) );
3544  return(C7);
3545 }
3546 
3548 
3549  double MZ = mySUSY.getMz();
3550  double MW = mySUSY.Mw_tree();
3551  double sw2 = mySUSY.StandardModel::sW2(MW);
3552  double cw2 = 1.0 - sw2;
3553 
3555 
3556  // write C9 and C9' into a vector
3557  C9.assign(0, AFunctions(li_to_lj)(1)
3558  + (1.0-1.0/(4.0*sw2))/(cw2*MZ*MZ)*FFunctions(li_to_lj)(1)
3559  + (BFunctions(li_to_lj)(1)+BFunctions(li_to_lj)(3))/2.0 );
3560  C9.assign(1, AFunctions(li_to_lj)(0)
3561  + (1.0-1.0/(4.0*sw2))/(cw2*MZ*MZ)*FFunctions(li_to_lj)(0)
3562  + (BFunctions(li_to_lj)(0)+BFunctions(li_to_lj)(2))/2.0 );
3563 
3564  return(C9);
3565 }
3566 
3568 
3569  double MZ = mySUSY.getMz();
3570  double MW = mySUSY.Mw_tree();
3571  double sw2 = mySUSY.StandardModel::sW2(MW);
3572  double cw2 = 1.0 - sw2;
3573 
3574  gslpp::vector<gslpp::complex> C10(2, 0.);
3575 
3576  // write C10 and C10' into a vector
3577  C10.assign(0, 1.0/(4.0*sw2*cw2*MZ*MZ)*FFunctions(li_to_lj)(1)
3578  + (BFunctions(li_to_lj)(3)-BFunctions(li_to_lj)(1))/2.0 );
3579  C10.assign(1, 1.0/(4.0*sw2*cw2*MZ*MZ)*FFunctions(li_to_lj)(0)
3580  + (BFunctions(li_to_lj)(0)-BFunctions(li_to_lj)(2))/2.0 );
3581 
3582  return(C10);
3583 }
3584 
3586 
3588 
3589  // write CS and CS' into a vector
3590  CS.assign(0, BFunctions(li_to_lj)(4)/2.0 );
3591  CS.assign(1, BFunctions(li_to_lj)(5)/2.0 );
3592 
3593  return(CS);
3594 }
3595 
3597 
3599 
3600  // write CP and CP' into a vector
3601  CP.assign(0, BFunctions(li_to_lj)(4)/2.0 );
3602  CP.assign(1, -BFunctions(li_to_lj)(5)/2.0 );
3603 
3604  return(CP);
3605 }
3606 
3608 
3610 
3611  // write CT and CT5 into a vector
3612  CT.assign(0, (BFunctions(li_to_lj)(6)+BFunctions(li_to_lj)(7))/2.0 );
3613  CT.assign(1, (BFunctions(li_to_lj)(6)+BFunctions(li_to_lj)(7))/2.0 );
3614 
3615  return(CT);
3616 }
3617 
3618 std::vector<WilsonCoefficient>& SUSYMatching::CMDLij(int li_lj) {
3619 
3620  vmcDLij = StandardModelMatching::CMDLij(li_lj);
3621 
3622  gslpp::vector<gslpp::complex> C7vector=C7_Lepton(li_lj);
3623  switch (mcDLij.getOrder()) {
3624  case LO:
3625  mcDLij.setCoeff(0, C7vector(0), LO);
3626  mcDLij.setCoeff(1, C7vector(1), LO);
3627  break;
3628  case NNLO:
3629  case NLO:
3630  default:
3631  std::stringstream out;
3632  out << mcDLij.getOrder();
3633  throw std::runtime_error("SUSYMatching::CMDLij(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
3634  }
3635 
3636  vmcDLij.push_back(mcDLij);
3637  return(vmcDLij);
3638 
3639 }
3640 
3641 std::vector<WilsonCoefficient>& SUSYMatching::CMDLi3j(int li_lj) {
3642 
3643  vmcDLi3j = StandardModelMatching::CMDLi3j(li_lj);
3644 
3649  switch (mcDLi3j.getOrder()) {
3650  case LO:
3651 // mcDLi3j.setCoeff(0, C7_Lepton(li_lj)(0), LO);
3652 // mcDLi3j.setCoeff(1, C7_Lepton(li_lj)(1), LO);
3653 // mcDLi3j.setCoeff(2, C9_Lepton(li_lj)(0), LO);
3654 // mcDLi3j.setCoeff(3, C9_Lepton(li_lj)(1), LO);
3655 // mcDLi3j.setCoeff(4, C10_Lepton(li_lj)(0), LO);
3656 // mcDLi3j.setCoeff(5, C10_Lepton(li_lj)(1), LO);
3657 // mcDLi3j.setCoeff(6, CS_Lepton(li_lj)(0), LO);
3658 // mcDLi3j.setCoeff(7, CS_Lepton(li_lj)(1), LO);
3659 // mcDLi3j.setCoeff(8, CP_Lepton(li_lj)(0), LO);
3660 // mcDLi3j.setCoeff(9, CP_Lepton(li_lj)(1), LO);
3661 // mcDLi3j.setCoeff(10, CT_Lepton(li_lj)(0), LO);
3662 // mcDLi3j.setCoeff(11, CT_Lepton(li_lj)(1), LO);
3663  mcDLi3j.setCoeff(0, Avector(0), LO); //A1R
3664  mcDLi3j.setCoeff(1, Avector(1), LO); //A1L
3665  mcDLi3j.setCoeff(2, Avector(2), LO); //A2R
3666  mcDLi3j.setCoeff(3, Avector(3), LO); //A2L
3667  mcDLi3j.setCoeff(4, Bvector(0), LO); //B1R
3668  mcDLi3j.setCoeff(5, Bvector(1), LO); //B1L
3669  mcDLi3j.setCoeff(6, Bvector(2), LO); //B2R
3670  mcDLi3j.setCoeff(7, Bvector(3), LO); //B2L
3671  mcDLi3j.setCoeff(8, Bvector(4), LO); //B3R
3672  mcDLi3j.setCoeff(9, Bvector(5), LO); //B3L
3673  mcDLi3j.setCoeff(10, Bvector(6), LO); //B4R
3674  mcDLi3j.setCoeff(11, Bvector(7), LO); //B4L
3675  mcDLi3j.setCoeff(12, BHvector(0), LO); //BH2R
3676  mcDLi3j.setCoeff(13, BHvector(1), LO); //BH2L
3677  mcDLi3j.setCoeff(14, BHvector(2), LO); //BH3R
3678  mcDLi3j.setCoeff(15, BHvector(3), LO); //BH3L
3679  mcDLi3j.setCoeff(16, Fvector(0), LO); //FRR
3680  mcDLi3j.setCoeff(17, Fvector(1), LO); //FRL
3681  mcDLi3j.setCoeff(18, Fvector(2), LO); //FLR
3682  mcDLi3j.setCoeff(19, Fvector(3), LO); //FLL
3683  break;
3684  case NNLO:
3685  case NLO:
3686  default:
3687  std::stringstream out;
3688  out << mcDLi3j.getOrder();
3689  throw std::runtime_error("SUSYMatching::CMDLi3j(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
3690  }
3691 
3692  vmcDLi3j.push_back(mcDLi3j);
3693  return(vmcDLi3j);
3694 
3695 }
3696 
3697 std::vector<WilsonCoefficient>& SUSYMatching::CMmueconv() {
3698 
3699  double MW = mySUSY.Mw_tree();
3700  double sw2 = mySUSY.StandardModel::sW2(MW);
3701 
3702  vmcmueconv = StandardModelMatching::CMmueconv();
3703 
3707  switch (mcmueconv.getOrder()) {
3708  case LO:
3709  mcmueconv.setCoeff(0, Avector(0), LO); //A1R
3710  mcmueconv.setCoeff(1, Avector(1), LO); //A1L
3711  mcmueconv.setCoeff(2, Avector(2), LO); //A2R
3712  mcmueconv.setCoeff(3, Avector(3), LO); //A2L
3713  mcmueconv.setCoeff(4, Dvector(0)+(1.0/(4.0*sw2)-2.0/3.0)*Fvector(0), LO); //DbaruR
3714  mcmueconv.setCoeff(5, Dvector(1)+(1.0/(4.0*sw2)-2.0/3.0)*Fvector(2), LO); //DbaruL
3715  mcmueconv.setCoeff(6, Dvector(2)+(-1.0/(4.0*sw2)+1.0/3.0)*Fvector(0), LO); //DbardR
3716  mcmueconv.setCoeff(7, Dvector(3)+(-1.0/(4.0*sw2)+1.0/3.0)*Fvector(2), LO); //DbardL
3717  break;
3718  case NNLO:
3719  case NLO:
3720  default:
3721  std::stringstream out;
3722  out << mcmueconv.getOrder();
3723  throw std::runtime_error("SUSYMatching::CMmueconv(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
3724  }
3725 
3726  vmcmueconv.push_back(mcmueconv);
3727  return(vmcmueconv);
3728 
3729 }
3730 
3731 std::vector<WilsonCoefficient>& SUSYMatching::CMgminus2mu() {
3732 
3733  vmcgminus2mu = StandardModelMatching::CMgminus2mu();
3734 
3735  gslpp::vector<gslpp::complex> gminus2muvector=gminus2mu();
3736 // std::cout<<"gminus2muvector in the Wilson coeff"<<gminus2muvector<<std::endl;
3737  double gminus2muvectorNLO=gminus2muNLO();
3738  switch (mcgminus2mu.getOrder()) {
3739  case LO:
3740  mcgminus2mu.setCoeff(0, gminus2muvector(0), LO); //g-2_muR
3741  mcgminus2mu.setCoeff(1, gminus2muvector(1), LO); //g-2_muL
3742  break;
3743  case NLO:
3744  mcgminus2mu.setCoeff(0, gminus2muvectorNLO, NLO); //g-2_muR
3745  mcgminus2mu.setCoeff(1, 0., NLO); //g-2_muL
3746  break;
3747  case NNLO:
3748  default:
3749  std::stringstream out;
3750  out << mcgminus2mu.getOrder();
3751  throw std::runtime_error("SUSYMatching::CMgminus2mu(): order " + out.str() + " not implemented.\nFor lepton flavour violating observables only Leading Order (LO) necessary.");
3752  }
3753 
3754  vmcgminus2mu.push_back(mcgminus2mu);
3755  return(vmcgminus2mu);
3756 
3757 }
QCD::TAU
Definition: QCD.h:316
SUSYMatching::AmpTEALC
gslpp::matrix< gslpp::complex > AmpTEALC
Definition: SUSYMatching.h:234
SUSYMatching::Lepty
gslpp::matrix< double > Lepty
Functions needed to calculate various LFV observables.
Definition: SUSYMatching.h:223
PVfunctions::D0
gslpp::complex D0(const double s, const double t, const double m02, const double m12, const double m22, const double m32) const
.
Definition: PVfunctions.cpp:670
SUSYMatching::C10_Lepton
virtual gslpp::vector< gslpp::complex > C10_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3567
SUSYMatching::NLlMU
gslpp::matrix< gslpp::complex > NLlMU
Definition: SUSYMatching.h:229
SUSYMatching::fft
double fft(double x)
Definition: SUSYMatching.cpp:2852
SUSYMatching::sinthetaW
double sinthetaW
Definition: SUSYMatching.h:263
SUSYMatching::myRd
gslpp::matrix< gslpp::complex > myRd
Definition: SUSYMatching.h:199
SUSYMatching::AmpTauA1RN
gslpp::matrix< gslpp::complex > AmpTauA1RN
Definition: SUSYMatching.h:234
SUSYMatching::mcDLij
WilsonCoefficient mcDLij
Definition: SUSYMatching.h:189
SUSYMatching::TDhat
gslpp::matrix< gslpp::complex > TDhat
Sdown tri-linear coupling matrix.
Definition: SUSYMatching.h:245
PVfunctions::D00
gslpp::complex D00(const double s, const double t, const double m02, const double m12, const double m22, const double m32) const
.
Definition: PVfunctions.cpp:758
gslpp::matrix< double >::assign
void assign(const size_t &i, const size_t &j, const double &a)
Definition: gslpp_matrix_double.cpp:108
SUSYMatching::AmpTEA1LC
gslpp::matrix< gslpp::complex > AmpTEA1LC
Definition: SUSYMatching.h:234
SUSYMatching::F4N
double F4N(double x)
Definition: SUSYMatching.cpp:2997
SUSYMatching::updateSUSYParameters
void updateSUSYParameters()
Updates to new SUSY parameter sets.
Definition: SUSYMatching.cpp:106
SUSYMatching::AmpTEALN
gslpp::matrix< gslpp::complex > AmpTEALN
Definition: SUSYMatching.h:234
SUSYMatching::CLlTAU
gslpp::matrix< gslpp::complex > CLlTAU
Definition: SUSYMatching.h:229
SUSYMatching::AmpA1LC
gslpp::matrix< gslpp::complex > AmpA1LC
Definition: SUSYMatching.h:234
SUSYMatching::CLqDOWN
gslpp::matrix< gslpp::complex > CLqDOWN
Definition: SUSYMatching.h:229
SUSYMatching::myN
gslpp::matrix< gslpp::complex > myN
Neutralino mixing matrix.
Definition: SUSYMatching.h:218
SUSYMatching::CS_Lepton
virtual gslpp::vector< gslpp::complex > CS_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3585
SUSYMatching::AmpARN
gslpp::matrix< gslpp::complex > AmpARN
Definition: SUSYMatching.h:234
SUSYMatching::AmpA1LN
gslpp::matrix< gslpp::complex > AmpA1LN
Amplitudes of Chargino and Neutralino contribution to various LFV observables.
Definition: SUSYMatching.h:234
SUSYMatching::AmpALN
gslpp::matrix< gslpp::complex > AmpALN
Definition: SUSYMatching.h:234
SUSYMatching::MNeig
gslpp::vector< double > MNeig
Definition: SUSYMatching.h:214
SUSYMatching::FFunctions
virtual gslpp::vector< gslpp::complex > FFunctions(int n)
Calculates Z penguin amplitudes for the process from .
Definition: SUSYMatching.cpp:2431
SUSYMatching::v2
double v2
Definition: SUSYMatching.h:262
SUSYMatching::gminus2muNLO
virtual double gminus2muNLO()
Calculates amplitudes for at two-loop.
Definition: SUSYMatching.cpp:3088
SUSYMatching::Leptfzn
std::complex< double > Leptfzn[6][4][4]
Definition: SUSYMatching.h:224
SUSYMatching::AmpTauA1LN
gslpp::matrix< gslpp::complex > AmpTauA1LN
Definition: SUSYMatching.h:234
SUSYMatching::Leptgzn
std::complex< double > Leptgzn[6][4][4]
Definition: SUSYMatching.h:224
SUSYMatching::TUhat
gslpp::matrix< gslpp::complex > TUhat
Sup tri-linear coupling matrix.
Definition: SUSYMatching.h:240
PVfunctions::C12
double C12(const double m12, const double m22, const double m32) const
.
Definition: PVfunctions.cpp:637
LO
Definition: OrderScheme.h:33
QCD::UP
Definition: QCD.h:324
SUSYMatching::Fb
double Fb(double x, double y)
Definition: SUSYMatching.cpp:3050
Polylogarithms::Li2
gslpp::complex Li2(const double x) const
The dilogarithm with a real argument, .
Definition: Polylogarithms.cpp:22
SUSYMatching::AmpA1RN
gslpp::matrix< gslpp::complex > AmpA1RN
Definition: SUSYMatching.h:234
SUSYMatching::AmpTEARN
gslpp::matrix< gslpp::complex > AmpTEARN
Definition: SUSYMatching.h:234
SUSYMatching::Leptgzc
std::complex< double > Leptgzc[3][2][2]
Definition: SUSYMatching.h:224
NDR
Definition: OrderScheme.h:21
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
SUSYMatching::CRlMU
gslpp::matrix< gslpp::complex > CRlMU
Definition: SUSYMatching.h:229
SUSYMatching::PV
const PVfunctions PV
Definition: SUSYMatching.h:187
SUSYMatching::F3N
double F3N(double x)
Definition: SUSYMatching.cpp:2981
SUSYMatching::gminus2mu
virtual gslpp::vector< gslpp::complex > gminus2mu()
Calculates amplitudes for at one-loop from .
Definition: SUSYMatching.cpp:2694
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
gslpp::matrix< gslpp::complex >
SUSYMatching::NeutralinoRemixing
void NeutralinoRemixing()
Definition: SUSYMatching.cpp:149
QCD::ELECTRON
Definition: QCD.h:312
SUSYMatching::mym_su_sq
gslpp::vector< double > mym_su_sq
Sfermion mass-eigenvalue squared.
Definition: SUSYMatching.h:194
gslpp::complex::abs2
double abs2() const
Definition: gslpp_complex.cpp:86
PVfunctions::C11
double C11(const double m12, const double m22, const double m32) const
.
Definition: PVfunctions.cpp:603
SUSYMatching::NRlE
gslpp::matrix< gslpp::complex > NRlE
Definition: SUSYMatching.h:229
SUSYMatching::myRu
gslpp::matrix< gslpp::complex > myRu
Sfermion mixing matrices.
Definition: SUSYMatching.h:199
SUSYMatching::NLqUP
gslpp::matrix< gslpp::complex > NLqUP
Definition: SUSYMatching.h:229
SUSYMatching::mW
double mW
Definition: SUSYMatching.h:263
SUSYMatching::myV
gslpp::matrix< gslpp::complex > myV
Chargino mixing matrices.
Definition: SUSYMatching.h:208
SUSYMatching::Leptfa1
gslpp::matrix< double > Leptfa1
Definition: SUSYMatching.h:223
SUSYMatching::v1
double v1
Definition: SUSYMatching.h:261
SUSYMatching::AmpARC
gslpp::matrix< gslpp::complex > AmpARC
Definition: SUSYMatching.h:234
SUSYMatching::C7_Lepton
virtual gslpp::vector< gslpp::complex > C7_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3537
SUSYMatching::NRqUP
gslpp::matrix< gslpp::complex > NRqUP
Definition: SUSYMatching.h:229
SUSYMatching::CRlE
gslpp::matrix< gslpp::complex > CRlE
Chargino and Neutralino couplings to sfermions.
Definition: SUSYMatching.h:229
SUSYMatching::TEhat
gslpp::matrix< gslpp::complex > TEhat
Slepton tri-linear coupling matrix.
Definition: SUSYMatching.h:250
SUSYMatching::F3C
double F3C(double x)
Definition: SUSYMatching.cpp:2946
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
SUSYMatching::It
double It(double a, double b, double c)
Definition: SUSYMatching.cpp:2859
SUSYMatching::ON
gslpp::matrix< gslpp::complex > ON
Definition: SUSYMatching.h:218
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
SUSYMatching::AmpTauALC
gslpp::matrix< gslpp::complex > AmpTauALC
Definition: SUSYMatching.h:234
SUSYMatching::Leptf4
gslpp::matrix< double > Leptf4
Definition: SUSYMatching.h:223
gslpp::complex::conjugate
complex conjugate() const
Definition: gslpp_complex.cpp:288
WilsonCoefficient::setCoeff
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
Definition: WilsonCoefficient.h:34
SUSYMatching::CRlTAU
gslpp::matrix< gslpp::complex > CRlTAU
Definition: SUSYMatching.h:229
SUSYMatching::delta_ab
int delta_ab(int a, int b)
Kronecker delta.
Definition: SUSYMatching.cpp:819
SUSYMatching::Leptfa2
gslpp::matrix< double > Leptfa2
Definition: SUSYMatching.h:223
SUSYMatching::CLqUP
gslpp::matrix< gslpp::complex > CLqUP
Definition: SUSYMatching.h:229
PVfunctions::C0
gslpp::complex C0(const double p2, const double m02, const double m12, const double m22) const
.
Definition: PVfunctions.cpp:469
SUSYMatching::mu2R
double mu2R
Definition: SUSYMatching.h:253
SUSYMatching::NRlTAU
gslpp::matrix< gslpp::complex > NRlTAU
Definition: SUSYMatching.h:229
SUSYMatching::DFunctions
virtual gslpp::vector< gslpp::complex > DFunctions()
Calculates box diagram amplitudes for the process conversion in Nuclei from from .
Definition: SUSYMatching.cpp:2295
__fPS_params::a
double a
Definition: SUSYMatching.cpp:2816
SUSYMatching::AmpTauA1RC
gslpp::matrix< gslpp::complex > AmpTauA1RC
Definition: SUSYMatching.h:234
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
SUSYMatching::BHFunctions
virtual gslpp::vector< gslpp::complex > BHFunctions(int n)
Calculates Higgs penguin amplitudes for the process from .
Definition: SUSYMatching.cpp:824
gslpp::sqrt
complex sqrt(const complex &z)
Definition: gslpp_complex.cpp:385
SUSYMatching::fPS
double fPS(double x)
Definition: SUSYMatching.cpp:2825
gslpp::complex::i
static const complex & i()
Definition: gslpp_complex.cpp:154
__fPS_params
Definition: SUSYMatching.cpp:2815
SUSYMatching::NRlMU
gslpp::matrix< gslpp::complex > NRlMU
Definition: SUSYMatching.h:229
SUSYMatching::MChi0
gslpp::vector< double > MChi0
Neutralino mass-eigenvalue.
Definition: SUSYMatching.h:214
SUSYMatching::NLqDOWN
gslpp::matrix< gslpp::complex > NLqDOWN
Definition: SUSYMatching.h:229
SUSYMatching::CMgminus2mu
virtual std::vector< WilsonCoefficient > & CMgminus2mu()
Wilson coefficient for at one-loop.
Definition: SUSYMatching.cpp:3731
SUSYMatching::BFunctions
virtual gslpp::vector< gslpp::complex > BFunctions(int n)
Calculates box diagram amplitudes for the process from from .
Definition: SUSYMatching.cpp:481
SUSYMatching::Mg
double Mg
Definition: SUSYMatching.h:255
NNLO
Definition: OrderScheme.h:35
SUSYMatching::myRn
gslpp::matrix< gslpp::complex > myRn
Definition: SUSYMatching.h:199
SUSYMatching::sinb
double sinb
Definition: SUSYMatching.h:258
SUSYMatching::CMDLij
virtual std::vector< WilsonCoefficient > & CMDLij(int li_lj)
Wilson coefficient for the process .
Definition: SUSYMatching.cpp:3618
SUSYMatching::tanb
double tanb
Definition: SUSYMatching.h:257
SUSYMatching::downQmassM
gslpp::matrix< gslpp::complex > downQmassM
Definition: SUSYMatching.h:265
SUSYMatching::AmpA1RC
gslpp::matrix< gslpp::complex > AmpA1RC
Definition: SUSYMatching.h:234
SUSYMatching::Leptz
gslpp::matrix< double > Leptz
Definition: SUSYMatching.h:223
SUSYMatching::AmpTEARC
gslpp::matrix< gslpp::complex > AmpTEARC
Definition: SUSYMatching.h:234
SUSYMatching::CT_Lepton
virtual gslpp::vector< gslpp::complex > CT_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3607
SUSYMatching::CLlE
gslpp::matrix< gslpp::complex > CLlE
Definition: SUSYMatching.h:229
SUSYMatching::Polylogs
const Polylogarithms Polylogs
Definition: SUSYMatching.h:186
SUSYMatching::NRqDOWN
gslpp::matrix< gslpp::complex > NRqDOWN
Definition: SUSYMatching.h:229
gslpp::vector< double >
A class for constructing and defining operations on real vectors.
Definition: gslpp_vector_double.h:33
SUSYMatching::Leptf3
gslpp::matrix< double > Leptf3
Definition: SUSYMatching.h:223
SUSYMatching::AmpALC
gslpp::matrix< gslpp::complex > AmpALC
Definition: SUSYMatching.h:234
SUSYMatching::AmpTauARC
gslpp::matrix< gslpp::complex > AmpTauARC
Definition: SUSYMatching.h:234
SUSYMatching::F4C
double F4C(double x)
Definition: SUSYMatching.cpp:2964
SUSYMatching::AmpTEA1RN
gslpp::matrix< gslpp::complex > AmpTEA1RN
Definition: SUSYMatching.h:234
SUSYMatching::fS
double fS(double x)
Definition: SUSYMatching.cpp:2845
SUSYMatching::mySUSY
const SUSY & mySUSY
Definition: SUSYMatching.h:185
SUSYMatching::AmpTEA1RC
gslpp::matrix< gslpp::complex > AmpTEA1RC
Definition: SUSYMatching.h:234
SUSYMatching::mcDLi3j
WilsonCoefficient mcDLi3j
Definition: SUSYMatching.h:189
SUSYMatching::CLlMU
gslpp::matrix< gslpp::complex > CLlMU
Definition: SUSYMatching.h:229
SUSYMatching::AmpTauARN
gslpp::matrix< gslpp::complex > AmpTauARN
Definition: SUSYMatching.h:234
__fPS_integ
double __fPS_integ(double x, void *p)
Definition: SUSYMatching.cpp:2819
SUSYMatching.h
SUSYMatching::myU
gslpp::matrix< gslpp::complex > myU
Definition: SUSYMatching.h:209
SUSYMatching::SUSYMatching
SUSYMatching(const SUSY &SUSY_i)
Definition: SUSYMatching.cpp:14
SUSYMatching::upQmassM
gslpp::matrix< gslpp::complex > upQmassM
Definition: SUSYMatching.h:265
gslpp::complex::real
const double & real() const
Definition: gslpp_complex.cpp:53
SUSYMatching::NLlTAU
gslpp::matrix< gslpp::complex > NLlTAU
Definition: SUSYMatching.h:229
SUSYMatching::myRl
gslpp::matrix< gslpp::complex > myRl
Definition: SUSYMatching.h:199
SUSYMatching::MHpm
double MHpm
Definition: SUSYMatching.h:256
SUSYMatching::Q_S
double Q_S
Definition: SUSYMatching.h:252
SUSYMatching::AmpTauA1LC
gslpp::matrix< gslpp::complex > AmpTauA1LC
Definition: SUSYMatching.h:234
SUSYMatching::CP_Lepton
virtual gslpp::vector< gslpp::complex > CP_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3596
SUSYMatching::Fa
double Fa(double x, double y)
Definition: SUSYMatching.cpp:3012
SUSYMatching::Als
double Als
Definition: SUSYMatching.h:254
SUSYMatching::CRqDOWN
gslpp::matrix< gslpp::complex > CRqDOWN
Definition: SUSYMatching.h:229
SUSYMatching::AmpTEA1LN
gslpp::matrix< gslpp::complex > AmpTEA1LN
Definition: SUSYMatching.h:234
SUSYMatching::CMmueconv
virtual std::vector< WilsonCoefficient > & CMmueconv()
Wilson coefficient for the process conversion in Nuclei.
Definition: SUSYMatching.cpp:3697
SUSYMatching::mym_se_sq
gslpp::vector< double > mym_se_sq
Definition: SUSYMatching.h:194
SUSYMatching::Leptf1
gslpp::matrix< double > Leptf1
Definition: SUSYMatching.h:223
SUSYMatching::MChi
gslpp::vector< double > MChi
Chargino mass-eigenvalue.
Definition: SUSYMatching.h:204
NLO
Definition: OrderScheme.h:34
SUSYMatching::CRqUP
gslpp::matrix< gslpp::complex > CRqUP
Definition: SUSYMatching.h:229
SUSYMatching::mcgminus2mu
WilsonCoefficient mcgminus2mu
Definition: SUSYMatching.h:189
SUSYMatching::AFunctions
virtual gslpp::vector< gslpp::complex > AFunctions(int n)
Calculates gamma penguin amplitudes for the process from .
Definition: SUSYMatching.cpp:166
PVfunctions::B0
gslpp::complex B0(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:41
SUSY.h
PVfunctions::B1
gslpp::complex B1(const double mu2, const double p2, const double m02, const double m12) const
.
Definition: PVfunctions.cpp:120
SUSYMatching::AmpTauALN
gslpp::matrix< gslpp::complex > AmpTauALN
Definition: SUSYMatching.h:234
SUSYMatching::Leptfzc
std::complex< double > Leptfzc[3][2][2]
Definition: SUSYMatching.h:224
SUSYMatching::C9_Lepton
virtual gslpp::vector< gslpp::complex > C9_Lepton(int n)
Calculates and Wilson coefficients for the process .
Definition: SUSYMatching.cpp:3547
SUSYMatching::cosb
double cosb
Definition: SUSYMatching.h:259
SUSYMatching::mcmueconv
WilsonCoefficient mcmueconv
Definition: SUSYMatching.h:189
QCD::DOWN
Definition: QCD.h:325
SUSYMatching::CMDLi3j
virtual std::vector< WilsonCoefficient > & CMDLi3j(int li_lj)
Wilson coefficient for the process .
Definition: SUSYMatching.cpp:3641
gslpp::vector< gslpp::complex >
SUSYMatching::NLlE
gslpp::matrix< gslpp::complex > NLlE
Definition: SUSYMatching.h:229
SUSYMatching::v
double v
Definition: SUSYMatching.h:260
QCD::MU
Definition: QCD.h:314
SUSYMatching::mym_sn_sq
gslpp::vector< double > mym_sn_sq
Definition: SUSYMatching.h:194
SUSYMatching::gW
double gW
Definition: SUSYMatching.h:263
SUSYMatching::Leptf2
gslpp::matrix< double > Leptf2
Definition: SUSYMatching.h:223
SUSYMatching::mym_sd_sq
gslpp::vector< double > mym_sd_sq
Definition: SUSYMatching.h:194