a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
SUSYMassInsertionMatching.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 
9 #include "SUSYMassInsertion.h"
10 
12 
13  StandardModelMatching(SUSYMassInsertion_i),
14  SusyMI(SUSYMassInsertion_i),
15 
16  drNDRLRI(5, 5, 0.),
17  mcd2(5, NDR, NLO),
18  mcd1(10, NDR, NLO),
19  mcbd(5, NDR, NLO), mcbs(5, NDR, NLO), mck2(5, NDR, NLO) {
20 
21  Nf = 6;
22 
23  double Nc = SusyMI.getNc();
24 
25  drNDRLRI(0,0) = -(((-1. + Nc)*(-7. + log(4096.))) / Nc);
26  drNDRLRI(1,1) = (-2.*(-1. + 6.*Nc*Nc - 8.*log(2.) + Nc*(-13. + log(1024.))))/(3.*Nc);
27  drNDRLRI(1,2) = (-2.*(13. - 10.*log(2.) + Nc*(-5. + log(256.))))/(3.*Nc);
28  drNDRLRI(2,1) = (-8. + 6.*Nc*Nc + 20.*log(2.) - 8.*Nc*(1. + log(4.)))/(3.*Nc);
29  drNDRLRI(2,2) = (2.*(4. + Nc - 10.*Nc*log(2.) + log(256.)))/(3.*Nc);
30  drNDRLRI(3,3) = (2. - 4.*Nc*Nc + log(4.))/Nc;
31  drNDRLRI(3,4) = 2. - log(4.);
32  drNDRLRI(4,3) = -2.*(1. + log(2.));
33  drNDRLRI(4,4) = (2. + log(4.))/Nc;
34 
35 }
36 
37 // delta F = 1 loop functions
38 
39 double SUSYMassInsertionMatching::B1(double x) const {
40  return ((1. + 4.*x - 5.*x*x + 4.*x*log(x) + 2.*x*x*log(x))/(8.*pow(x-1.,4.)));
41 }
42 
43 double SUSYMassInsertionMatching::B2(double x) const {
44  return (x*(5. - 4.*x - x*x + 2.*log(x) + 4.*x*log(x))/(2.*pow(x-1.,4.)));
45 }
46 
47 double SUSYMassInsertionMatching::P1(double x) const {
48  return ((1. - 6.*x + 18.*x*x - 10.*x*x*x - 3.*x*x*x*x +
49  12.*x*x*x*log(x))/(18.*pow(x-1.,5.)));
50 }
51 
52 double SUSYMassInsertionMatching::P2(double x) const {
53  return ((7. - 18.*x + 9.*x*x + 2.*x*x*x +
54  3.*log(x) - 9.*x*x*log(x))/(9.*pow(x-1.,5.)));
55 }
56 
57 double SUSYMassInsertionMatching::M1(double x) const{
58  return((1. + 4. * x - 5. * x*x + 4.*x*log(x) + 2.*x*x*log(x))/(2.*pow(x-1.,4.)));
59 }
60 
61 double SUSYMassInsertionMatching::M2(double x) const{
62  return((-5. + 4.*x + x*x - 2.*log(x) - 4.*x*log(x))/(2.*pow(x-1.,4.)));
63 }
64 
65 double SUSYMassInsertionMatching::M3(double x) const{
66  return((-1. + 9.*x + 9.*x*x - 17.*x*x*x + 18.*x*x*log(x) + 6.*x*x*x*log(x))/(12.*pow(x-1.,5.)));
67 }
68 
69 double SUSYMassInsertionMatching::M4(double x) const {
70  return((-1.-9.*x + 9.*x*x + x*x*x - 6.*x*log(x) - 6.*x*x* log(x))/(6.*pow(x-1.,5.)));
71 }
72 
73 // delta F = 2 loop functions
74 
76  return(x*(17. - 9.*x - 9.*x*x + x*x*x + 18.*x*log(x) +
77  6.*log(x))/(6.*pow(x-1.,5.)));
78 }
79 
81  return((1. + 9.*x - 9.*x*x - x*x*x + 6.*x*x*log(x) +
82  6.*x*log(x))/(3.*pow(x-1.,5.)));
83 }
84 
85 //the LO terms have to be multiplyed by als^2(mumatch)/Msq^2
92  //return(16./pow(1.-x,5.)*(11./1728. + 133.*x/1728. - 13.*x*x/192. - 29.*x*x*x/1728. +
93  // x*x*x*x/864 + 13.*x*log(x)/288. + 17.*x*x*log(x)/288.));
94  double pow5 = pow(1.-x,5.);
95  return( (1./pow5) *
96  (11./108.+133./108.*x-13./12.*x*x-29./108.*x*x*x+1./54.*x*x*x*x+(13./18.*x+17./18.*x*x)*log(x)
97  ) );
98 }
99 
100 
102  return(16.*(289.*x/1728. - 17.*x*x/192. - 17.*x*x*x/192. + 17.*x*x*x*x/1728. +
103  17.*x*log(x)/288. + 17.*x*x*log(x)/96. )/pow(1.-x,5.));
104 }
105 
107  return(16.*(-17.*x/576. + x*x/64. + x*x*x/64. - x*x*x*x/576. - x*log(x)/96. -
108  x*x*log(x)/32.)/(pow(1.-x,5)));
109 }
110 
112  return(16.*(-11./864. - 11.*x/96. + 11.*x*x/96. + 11.*x*x*x/864. - 11.*x*log(x)/144. -
113  11.*x*x*log(x)/144.)/pow(1.-x,5.) );
114 }
115 
117  return(16.*(-1./144. + 101.*x/288. - 5.*x*x/32. - 61.*x*x*x/288. + 7.*x*x*x*x/288.
118  + 5.*x*log(x)/48. + 19.*x*x*log(x)/48.)/(pow(1.-x,5.)));
119 }
120 
122  return (16.*(-5./288. - 5.*x/32. + 5.*x*x/32. + 5.*x*x*x/288.
123  - 5.*x*log(x)/48. - 5.*x*x*log(x)/48.)/(pow(1.-x,5.))
124  );
125 }
126 
128  return(16.*(5./432. + 107.*x/864. - 11.*x*x/96. - 19.*x*x*x/864. + x*x*x*x/864.
129  + 11.*x*log(x)/144. + 13.*x*x*log(x)/144.)/(pow(1.-x,5.)));
130 }
131 
132 //to multiplyed by als^3(mumatch)/M_PI/Msq^2
138 double SUSYMassInsertionMatching::C0NLO(double x, double mumatch2, double Ms2){
139  double Li2 = gsl_sf_dilog(1-x);
140  double a = log(2.);
141  double pow7 = pow(1.-x,7.);
142  double pow6 = pow(1.-x,6.);
143  double pow5 = pow(1.-x,5.);
144  double pow4 = pow(1.-x,4.);
145 
146  return ( 64.*
147  ((-11./(20736.*pow7) +
148  4459./(165888.*pow6) + (209.*Nf)/(27648.*
149  pow6) - 1./(1728.*pow5) +
150  151./(41472.*pow4) - (89.*x)/(20736.*
151  pow7) + (13235.*x)/(62208.*pow6) - (83.*
152  Nf*x)/(6912.*pow6) + (3853.*x)/(15552.*
153  pow5) - (173.*x)/(27648.*pow4) + (77.*
154  x*x)/(2592.*pow7) + (33361.*
155  x*x)/(248832.*pow6) - (33.*Nf*
156  x*x)/(512.*pow6) - (9355.*
157  x*x)/(41472.*pow5) + (217.*
158  x*x)/(82944.*pow4) - (419.*
159  x*x*x)/(10368.*pow7) - (7.*
160  x*x*x)/(18.*pow6) + (481.*Nf*
161  x*x*x)/(6912.*pow6) - (503.*
162  x*x*x)/(20736.*pow5) + (233.*
163  x*x*x*x)/(20736.*pow7) + (10085.*
164  x*x*x*x)/(497664.*pow6) - (19.*Nf*
165  x*x*x*x)/(27648.*pow6) + (331.*
166  x*x*x*x)/(124416.*pow5) + (95.*
167  x*x*x*x*x)/(20736.*pow7) - (91.*
168  x*x*x*x*x)/(15552.*pow6) -
169  x*x*x*x*x*x/(3456.*pow7) +
170  x*x*x*x*x*x/(1296.*pow6) - (203.*Li2)/(13824.*
171  pow6) - (11.*Nf*Li2)/(2304.*
172  pow6) + (47.*Li2)/(4608.*
173  pow5) + (53.*x*Li2)/(864.*
174  pow6) - (Nf*x*Li2)/(192.*
175  pow6) + (367.*x*Li2)/(6912.*
176  pow5) - (85.*x*Li2)/(13824.*
177  pow4) - (127.*x*x*Li2)/(13824.*
178  pow6) + (19.*Nf*x*x*Li2)/(768.*
179  pow6) - (35.*x*x*Li2)/(13824.*
180  pow5) - (259.*x*x*x*Li2)/(6912.*
181  pow6) - (17.*Nf*x*x*x*Li2)/(1152.*
182  pow6) + (11.*a)/(3456.*
183  pow5) + (133.*x*a)/(3456.*
184  pow5) - (13.*x*x*a)/(384.*
185  pow5) - (29.*x*x*x*a)/(3456.*
186  pow5) + (x*x*x*x*a)/(1728.*
187  pow5) - (13.*x*log(x))/(3456.*
188  pow7) + (7.*x*log(x))/(256.*
189  pow6) - (Nf*x*log(x))/(1152.*
190  pow6) + (6431.*x*log(x))/(82944.*
191  pow5) - (425.*x*log(x))/(82944.*
192  pow4) + (29.*x*x*log(x))/(2592.*
193  pow7) + (10535.*x*x*log(x))/(41472.*
194  pow6) - (Nf*x*x*log(x))/(48.*
195  pow6) + (1589.*x*x*log(x))/(6912.*
196  pow5) + (55.*x*x*x*log(x))/(2592.*
197  pow7) + (3751.*x*x*x*log(x))/(10368.*
198  pow6) - (25.*Nf*x*x*x*log(x))/(576.*
199  pow6) + (1681.*x*x*x*log(x))/(82944.*
200  pow5) - (5.*x*x*x*x*log(x))/(192.*
201  pow7) - (91.*x*x*x*x*log(x))/(4608.*
202  pow6) - (29.*x*x*x*x*log(x))/(20736.*
203  pow5) - (29.*x*x*x*x*x*log(x))/(10368.*
204  pow7) + (139.*x*x*x*x*x*log(x))/(20736.*
205  pow6) + (x*x*x*x*x*x*log(x))/(5184.*
206  pow7) - (x*x*x*x*x*x*log(x))/(1296.*
207  pow6) + (13.*x*a*log(x))/(576.*
208  pow5) + (17.*x*x*a*log(x))/(576.*
209  pow5) - (73.*x*pow(log(x), 2.))/(3072.*
210  pow6) - (29.*x*pow(log(x), 2.))/(1152.*
211  pow5) - (43.*x*pow(log(x), 2.))/(9216.*
212  pow4) - (1075.*x*x*
213  pow(log(x), 2.))/(4608.*pow6) - (205.*
214  x*x*pow(log(x), 2.))/(2304.*pow5) + (13.*
215  x*x*x*pow(log(x), 2.))/(1728.*
216  pow7) - (3053.*x*x*x*
217  pow(log(x), 2.))/(27648.*pow6) + (17.*
218  x*x*x*x*pow(log(x), 2.))/(1728.*pow7) +
219  log(Ms2/mumatch2)*((11.*Nf)/(13824.*pow6) -
220  55./(6912.*pow5) - (1153.*x)/(6912.*
221  pow6) + (97.*Nf*x)/(3456.*
222  pow6) - (665.*x)/(6912.*
223  pow5) - (1819.*x*x)/(20736.*
224  pow6) + (Nf*x*x)/(192.*
225  pow6) + (65.*x*x)/(768.*
226  pow5) + (2789.*x*x*x)/(10368.*
227  pow6) - (113.*Nf*x*x*x)/(3456.*
228  pow6) + (145.*x*x*x)/(6912.*
229  pow5) - (143.*x*x*x*x)/(6912.*
230  pow6) - (19.*Nf*x*x*x*x)/(13824.*
231  pow6) - (5.*x*x*x*x)/(3456.*
232  pow5) + (145.*x*x*x*x*x)/(20736.*
233  pow6) -
234  x*x*x*x*x*x/(1296.*pow6) - (13.*x*log(x))/(256.*
235  pow6) + (13.*Nf*x*log(x))/(1152.*
236  pow6) - (65.*x*log(x))/(1152.*
237  pow5) - (953.*x*x*log(x))/(3456.*
238  pow6) + (5.*Nf*x*x*log(x))/(128.*
239  pow6) - (85.*x*x*log(x))/(1152.*
240  pow5) - (593.*x*x*x*log(x))/(6912.*
241  pow6) + (17.*Nf*x*x*x*log(x))/(1152.*
242  pow6))))
243 
244  );
245 }
246 
247 
248 double SUSYMassInsertionMatching::C1NLO(double x, double mumatch2, double Ms2){
249  double Li2 = gsl_sf_dilog(1-x);
250  double a = log(2.);
251  double pow7 = pow(1.-x,7.);
252  double pow6 = pow(1.-x,6.);
253  double pow5 = pow(1.-x,5.);
254 
255  return(64.*(((-289.*x)/(20736.*pow7) + (134447.*x)/(248832.*
256  pow6) + (323.*Nf*x)/(6912.*
257  pow6) + (43957.*x)/(82944.*
258  pow5) + (1309.*x*x)/(20736.*
259  pow7) + (35261.*x*x)/(124416.*
260  pow6) - (187.*Nf*x*x)/(768.*
261  pow6) - (30427.*x*x)/(82944.*
262  pow5) - (221.*x*x*x)/(3456.*
263  pow7) - (8107.*x*x*x)/(10368.*
264  pow6) + (51.*Nf*x*x*x)/(256.*
265  pow6) - (15493.*x*x*x)/(82944.*
266  pow5) - (85.*x*x*x*x)/(10368.*
267  pow7) - (1813.*x*x*x*x)/(124416.*
268  pow6) - (17.*Nf*x*x*x*x)/(6912.*
269  pow6) + (1963.*x*x*x*x)/(82944.*
270  pow5) + (527.*x*x*x*x*x)/(20736.*
271  pow7) - (8407.*x*x*x*x*x)/(248832.*
272  pow6) - (17.*x*x*x*x*x*x)/(6912.*
273  pow7) + (17.*x*x*x*x*x*x)/(2592.*
274  pow6) + (89.*x*Li2)/(3456.*
275  pow6) - (17.*Nf*x*Li2)/(384.*
276  pow6) + (2.*x*Li2)/(27.*
277  pow5) + (61.*x*x*Li2)/(576.*
278  pow6) + (17.*Nf*x*x*Li2)/(192.*
279  pow6) - (127.*x*x*Li2)/(864.*
280  pow5) - (455.*x*x*x*Li2)/(3456.*
281  pow6) - (17.*Nf*x*x*x*Li2)/(384.*
282  pow6) + (1411.*x*a)/(31104.*
283  pow5) - (83.*x*x*a)/(3456.*
284  pow5) - (83.*x*x*x*a)/(3456.*
285  pow5) + (83.*x*x*x*x*a)/(31104.*
286  pow5) - (17.*x*log(x))/(3456.*
287  pow7) + (377.*x*log(x))/(3456.*
288  pow6) - (17.*Nf*x*log(x))/(2304.*
289  pow6) + (6443.*x*log(x))/(41472.*
290  pow5) + (17.*x*x*log(x))/(3456.*
291  pow7) + (35.*x*x*log(x))/(81.*
292  pow6) - (17.*Nf*x*x*log(x))/(1152.*
293  pow6) + (16055.*x*x*log(x))/(41472.*
294  pow5) + (187.*x*x*x*log(x))/(2592.*
295  pow7) + (251.*x*x*x*log(x))/(288.*
296  pow6) - (289.*Nf*x*x*x*log(x))/(2304.*
297  pow6) + (35.*x*x*x*log(x))/(576.*
298  pow5) - (17.*x*x*x*x*log(x))/(288.*
299  pow7) - (31.*x*x*x*x*log(x))/(2304.*
300  pow6) - (35.*x*x*x*x*log(x))/(5184.*
301  pow5) - (17.*x*x*x*x*x*log(x))/(1152.*
302  pow7) + (701.*x*x*x*x*x*log(x))/(20736.*
303  pow6) + (17.*x*x*x*x*x*x*log(x))/(10368.*
304  pow7) - (17.*x*x*x*x*x*x*log(x))/(2592.*
305  pow6) + (83.*x*a*log(x))/(5184.*
306  pow5) + (83.*x*x*a*log(x))/(1728.*
307  pow5) - (7.*x*pow(log(x), 2.))/(1536.*
308  pow6) - (17.*x*pow(log(x), 2.))/(1728.*
309  pow5) - (2599.*x*x*
310  pow(log(x), 2.))/(6912.*pow6) - (167.*
311  x*x*pow(log(x), 2.))/(864.*pow5) + (17.*
312  x*x*x*pow(log(x), 2.))/(1728.*
313  pow7) - (4673.*x*x*x*
314  pow(log(x), 2.))/(13824.*pow6) + (17.*
315  x*x*x*x*pow(log(x), 2.))/(576.*pow7) +
316  log(Ms2/mumatch2)*((-12869.*x)/(41472.*pow6) + (85.*Nf*
317  x)/(1728.*pow6) - (697.*x)/(5184.*
318  pow5) - (7429.*x*x)/(20736.*
319  pow6) + (17.*Nf*x*x)/(384.*
320  pow6) + (41.*x*x)/(576.*
321  pow5) + (3859.*x*x*x)/(5184.*
322  pow6) - (17.*Nf*x*x*x)/(192.*
323  pow6) + (41.*x*x*x)/(576.*
324  pow5) - (2363.*x*x*x*x)/(20736.*
325  pow6) - (17.*Nf*x*x*x*x)/(3456.*
326  pow6) - (41.*x*x*x*x)/(5184.*
327  pow5) + (1853.*x*x*x*x*x)/(41472.*
328  pow6) - (17.*x*x*x*x*x*x)/(2592.*
329  pow6) - (595.*x*log(x))/(6912.*
330  pow6) + (17.*Nf*x*log(x))/(1152.*
331  pow6) - (41.*x*log(x))/(864.*
332  pow5) - (2159.*x*x*log(x))/(3456.*
333  pow6) + (17.*Nf*x*x*log(x))/(192.*
334  pow6) - (41.*x*x*log(x))/(288.*
335  pow5) - (1547.*x*x*x*log(x))/(6912.*
336  pow6) + (17.*Nf*x*x*x*log(x))/(384.*
337  pow6))))
338  );
339 }
340 
341 double SUSYMassInsertionMatching::C2NLO(double x, double mumatch2, double Ms2){
342  double Li2 = gsl_sf_dilog(1-x);
343  double a = log(2.);
344  double pow7 = pow(1.-x,7.);
345  double pow6 = pow(1.-x,6.);
346  double pow5 = pow(1.-x,5.);
347 
348  return (64.*(((17.*x)/(6912.*pow7) - (10861.*x)/(248832.*
349  pow6) - (19.*Nf*x)/(2304.*
350  pow6) - (18253.*x)/(248832.*
351  pow5) - (77.*x*x)/(6912.*
352  pow7) - (19159.*x*x)/(124416.*
353  pow6) + (11.*Nf*x*x)/(256.*
354  pow6) + (4289.*x*x)/(82944.*
355  pow5) + (13.*x*x*x)/(1152.*
356  pow7) + (659.*x*x*x)/(3456.*
357  pow6) - (9.*Nf*x*x*x)/(256.*
358  pow6) + (77.*x*x*x)/(3072.*
359  pow5) + (5.*x*x*x*x)/(3456.*
360  pow7) + (287.*x*x*x*x)/(124416.*
361  pow6) + (Nf*x*x*x*x)/(2304.*
362  pow6) - (851.*x*x*x*x)/(248832.*
363  pow5) - (31.*x*x*x*x*x)/(6912.*
364  pow7) + (1445.*x*x*x*x*x)/(248832.*
365  pow6) + x*x*x*x*x*x/(2304.*pow7) -
366  x*x*x*x*x*x/(864.*pow6) - (35.*x*Li2)/(3456.*
367  pow6) + (Nf*x*Li2)/(128.*
368  pow6) - (7.*x*Li2)/(432.*
369  pow5) - (13.*x*x*Li2)/(1728.*
370  pow6) - (Nf*x*x*Li2)/(64.*
371  pow6) - (5.*x*x*Li2)/(864.*
372  pow5) + (61.*x*x*x*Li2)/(3456.*
373  pow6) + (Nf*x*x*x*Li2)/(128.*
374  pow6) + (731.*x*a)/(31104.*
375  pow5) - (43.*x*x*a)/(3456.*
376  pow5) - (43.*x*x*x*a)/(3456.*
377  pow5) + (43.*x*x*x*x*a)/(31104.*
378  pow5) + (x*log(x))/(1152.*pow7) + (35.*
379  x*log(x))/(1152.*pow6) + (Nf*x*log(x))/(768.*
380  pow6) - (401.*x*log(x))/(41472.*
381  pow5) - (x*x*log(x))/(1152.*
382  pow7) - (53.*x*x*log(x))/(648.*
383  pow6) + (Nf*x*x*log(x))/(384.*
384  pow6) - (3605.*x*x*log(x))/(41472.*
385  pow5) - (11.*x*x*x*log(x))/(864.*
386  pow7) - (533.*x*x*x*log(x))/(2592.*
387  pow6) + (17.*Nf*x*x*x*log(x))/(768.*
388  pow6) - (11.*x*x*x*log(x))/(576.*
389  pow5) + (x*x*x*x*log(x))/(96.*
390  pow7) + (229.*x*x*x*x*log(x))/(20736.*
391  pow6) + (11.*x*x*x*x*log(x))/(5184.*
392  pow5) + (x*x*x*x*x*log(x))/(384.*
393  pow7) - (143.*x*x*x*x*x*log(x))/(20736.*
394  pow6) - (x*x*x*x*x*x*log(x))/(3456.*
395  pow7) + (x*x*x*x*x*x*log(x))/(864.*
396  pow6) + (43.*x*a*log(x))/(5184.*
397  pow5) + (43.*x*x*a*log(x))/(1728.*
398  pow5) + (7.*x*pow(log(x), 2.))/(512.*
399  pow6) + (11.*x*pow(log(x), 2.))/(1728.*
400  pow5) + (215.*x*x*
401  pow(log(x), 2.))/(2304.*pow6) + (35.*x*x*
402  pow(log(x), 2.))/(864.*pow5) - (x*x*x*
403  pow(log(x), 2.))/(576.*pow7) + (257.*x*x*x*
404  pow(log(x), 2.))/(4608.*pow6) - (x*x*x*x*
405  pow(log(x), 2.))/(192.*pow7) +
406  log(Ms2/mumatch2)*((757.*x)/(13824.*pow6) - (5.*Nf*x)/(576.*
407  pow6) + (187.*x)/(5184.*
408  pow5) + (437.*x*x)/(6912.*
409  pow6) - (Nf*x*x)/(128.*
410  pow6) - (11.*x*x)/(576.*
411  pow5) - (227.*x*x*x)/(1728.*
412  pow6) + (Nf*x*x*x)/(64.*
413  pow6) - (11.*x*x*x)/(576.*
414  pow5) + (139.*x*x*x*x)/(6912.*
415  pow6) + (Nf*x*x*x*x)/(1152.*
416  pow6) + (11.*x*x*x*x)/(5184.*
417  pow5) - (109.*x*x*x*x*x)/(13824.*
418  pow6) +
419  x*x*x*x*x*x/(864.*pow6) + (35.*x*log(x))/(2304.*
420  pow6) - (Nf*x*log(x))/(384.*
421  pow6) + (11.*x*log(x))/(864.*
422  pow5) + (127.*x*x*log(x))/(1152.*
423  pow6) - (Nf*x*x*log(x))/(64.*
424  pow6) + (11.*x*x*log(x))/(288.*
425  pow5) + (91.*x*x*x*log(x))/(2304.*
426  pow6) - (Nf*x*x*x*log(x))/(128.*
427  pow6))))
428 
429 
430  );
431 }
432 
433 double SUSYMassInsertionMatching::C3NLOA(double x, double mumatch2, double Ms2){
434  double Li2 = gsl_sf_dilog(1-x);
435  double a = log(2.);
436  double pow7 = pow(1.-x,7.);
437  double pow6 = pow(1.-x,6.);
438  double pow5 = pow(1.-x,5.);
439  double pow4 = pow(1.-x,4.);
440 
441  return (64.*(11./(10368.*pow7) -
442  8047./(248832.*pow6) - (209.*Nf)/(13824.*
443  pow6) - 15881./(248832.*pow5) -
444  3./(256.*pow4) + (55.*x)/(10368.*
445  pow7) - (16187.*x)/(62208.*
446  pow6) + (121.*Nf*x)/(3456.*
447  pow6) - (38227.*x)/(82944.*
448  pow5) + (35.*x)/(1536.*
449  pow4) - (77.*x*x)/(1728.*
450  pow7) - (6361.*x*x)/(13824.*
451  pow6) + (55.*Nf*x*x)/(768.*
452  pow6) + (43003.*x*x)/(82944.*
453  pow5) - (17.*x*x)/(1536.*
454  pow4) + (341.*x*x*x)/(5184.*
455  pow7) + (56701.*x*x*x)/(62208.*
456  pow6) - (319.*Nf*x*x*x)/(3456.*
457  pow6) + (1553.*x*x*x)/(248832.*
458  pow5) - (253.*x*x*x*x)/(10368.*
459  pow7) - (40567.*x*x*x*x)/(248832.*
460  pow6) + (11.*Nf*x*x*x*x)/(13824.*
461  pow6) - (11.*x*x*x*x*x)/(3456.*
462  pow7) + (11.*x*x*x*x*x)/(2592.*
463  pow6) - (11.*Li2)/(6912.*
464  pow6) + (11.*Nf*Li2)/(1152.*
465  pow6) - (5.*x*Li2)/(108.*
466  pow6) + (61.*x*Li2)/(1728.*
467  pow5) + (x*Li2)/(256.*
468  pow4) - (31.*x*x*Li2)/(6912.*
469  pow6) - (11.*Nf*x*x*
470  Li2)/(384.*pow6) + (125.*x*x*
471  Li2)/(864.*pow5) + (181.*x*x*x*
472  Li2)/(3456.*pow6) + (11.*Nf*
473  x*x*x*Li2)/(576.*pow6) - (17.*
474  a)/(10368.*pow5) - (17.*x*
475  a)/(1152.*pow5) + (17.*x*x*
476  a)/(1152.*pow5) + (17.*x*x*x*
477  a)/(10368.*pow5) + (11.*x*
478  log(x))/(1728.*pow7) + (83.*x*
479  log(x))/(1152.*pow6) - (47.*x*log(x))/(432.*
480  pow5) + (5.*x*log(x))/(1536.*
481  pow4) - (55.*x*x*log(x))/(2592.*
482  pow7) - (1037.*x*x*log(x))/(1728.*
483  pow6) + (11.*Nf*x*x*log(x))/(288.*
484  pow6) - (455.*x*x*log(x))/(1536.*
485  pow5) - (11.*x*x*x*log(x))/(432.*
486  pow7) - (293.*x*x*x*log(x))/(648.*
487  pow6) + (11.*Nf*x*x*x*log(x))/(192.*
488  pow6) - (5.*x*x*x*log(x))/(512.*
489  pow5) + (11.*x*x*x*x*log(x))/(288.*
490  pow7) + (637.*x*x*x*x*log(x))/(10368.*
491  pow6) + (11.*x*x*x*x*x*log(x))/(5184.*
492  pow7) - (11.*x*x*x*x*x*log(x))/(2592.*
493  pow6) - (17.*x*a*log(x))/(1728.*
494  pow5) - (17.*x*x*a*
495  log(x))/(1728.*pow5) + (19.*x*
496  pow(log(x), 2.))/(192.*pow6) + (23.*x*
497  pow(log(x), 2.))/(256.*pow5) + (19.*x*
498  pow(log(x), 2.))/(1536.*pow4) + (337.*
499  x*x*pow(log(x), 2.))/(1152.*
500  pow6) + (45.*x*x*
501  pow(log(x), 2.))/(256.*pow5) - (11.*
502  x*x*x*pow(log(x), 2.))/(864.*
503  pow7) + (589.*x*x*x*
504  pow(log(x), 2.))/(3456.*pow6) - (11.*
505  x*x*x*x*pow(log(x), 2.))/(864.*
506  pow7) +
507  log(Ms2/mumatch2)*(11./(2592.*pow6) - (11.*Nf)/(6912.*
508  pow6) +
509  65./(13824.*pow5) + (1595.*x)/(5184.*
510  pow6) - (77.*Nf*x)/(1728.*
511  pow6) + (65.*x)/(1536.*
512  pow5) - (55.*x*x)/(10368.*
513  pow6) - (65.*x*x)/(1536.*
514  pow5) - (1705.*x*x*x)/(5184.*
515  pow6) + (77.*Nf*x*x*x)/(1728.*
516  pow6) - (65.*x*x*x)/(13824.*
517  pow5) + (275.*x*x*x*x)/(10368.*
518  pow6) + (11.*Nf*x*x*x*x)/(6912.*
519  pow6) - (11.*x*x*x*x*x)/(2592.*
520  pow6) + (385.*x*log(x))/(3456.*
521  pow6) - (11.*Nf*x*log(x))/(576.*
522  pow6) + (65.*x*log(x))/(2304.*
523  pow5) + (715.*x*x*
524  log(x))/(1728.*pow6) - (11.*Nf*
525  x*x*log(x))/(192.*
526  pow6) + (65.*x*x*
527  log(x))/(2304.*pow5) + (275.*
528  x*x*x*log(x))/(3456.*
529  pow6) - (11.*Nf*x*x*x*
530  log(x))/(576.*pow6)))
531  );
532 }
533 
534 double SUSYMassInsertionMatching::C3NLOB(double x, double mumatch2, double Ms2){
535  double Li2 = gsl_sf_dilog(1-x);
536  double a = log(2.);
537  double pow7 = pow(1.-x,7.);
538  double pow6 = pow(1.-x,6.);
539  double pow5 = pow(1.-x,5.);
540  double pow4 = pow(1.-x,4.);
541 
542  return (64.*
543 
544  (((5./(3456.*pow7) -
545  1465./(82944.*pow6) - (95.*Nf)/(4608.*
546  pow6) - 4151./(82944.*pow5) -
547  5./(768.*pow4) + (25.*x)/(3456.*
548  pow7) - (11465.*x)/(20736.*
549  pow6) + (55.*Nf*x)/(1152.*
550  pow6) - (12493.*x)/(27648.*
551  pow5) + (5.*x)/(512.*pow4) - (35.*
552  pow(x, 2.))/(576.*pow7) - (535.*
553  pow(x, 2.))/(4608.*pow6) + (25.*Nf*
554  pow(x, 2.))/(256.*pow6) + (13093.*
555  pow(x, 2.))/(27648.*pow5) - (5.*
556  pow(x, 2.))/(1536.*pow4) + (155.*
557  pow(x, 3.))/(1728.*pow7) + (14695.*
558  pow(x, 3.))/(20736.*pow6) - (145.*Nf*
559  pow(x, 3.))/(1152.*pow6) + (2351.*
560  pow(x, 3.))/(82944.*pow5) - (115.*
561  pow(x, 4.))/(3456.*pow7) - (2305.*
562  pow(x, 4.))/(82944.*pow6) + (5.*Nf*
563  pow(x, 4.))/(4608.*pow6) - (5.*
564  pow(x, 5.))/(1152.*pow7) + (5.*
565  pow(x, 5.))/(864.*pow6) - (5.*
566  Li2)/(2304.*pow6) + (5.*Nf*
567  Li2)/(384.*pow6) - (5.*x*
568  Li2)/(144.*pow6) - (95.*x*
569  Li2)/(576.*pow5) + (5.*x*
570  Li2)/(256.*pow4) - (145.*pow(x, 2.)*
571  Li2)/(2304.*pow6) - (5.*Nf*
572  pow(x, 2.)*Li2)/(128.*pow6) + (5.*
573  pow(x, 2.)*Li2)/(72.*pow5) + (115.*
574  pow(x, 3.)*Li2)/(1152.*pow6) + (5.*
575  Nf*pow(x, 3.)*Li2)/(192.*pow6) -
576  a/(1152.*pow5) - (x*a)/(128.*
577  pow5) + (pow(x, 2.)*a)/(128.*
578  pow5) + (pow(x, 3.)*a)/(1152.*
579  pow5) + (5.*x*log(x))/(576.*
580  pow7) + (5.*x*log(x))/(384.*
581  pow6) - (139.*x*log(x))/(576.*
582  pow5) + (25.*x*log(x))/(1536.*
583  pow4) - (25.*pow(x, 2.)*log(x))/(864.*
584  pow7) - (95.*pow(x, 2.)*log(x))/(144.*
585  pow6) + (5.*Nf*pow(x, 2.)*log(x))/(96.*
586  pow6) - (1897.*pow(x, 2.)*log(x))/(4608.*
587  pow5) - (5.*pow(x, 3.)*log(x))/(144.*
588  pow7) - (545.*pow(x, 3.)*log(x))/(864.*
589  pow6) + (5.*Nf*pow(x, 3.)*log(x))/(64.*
590  pow6) - (35.*pow(x, 3.)*log(x))/(1536.*
591  pow5) + (5.*pow(x, 4.)*log(x))/(96.*
592  pow7) + (85.*pow(x, 4.)*log(x))/(3456.*
593  pow6) + (5.*pow(x, 5.)*log(x))/(1728.*
594  pow7) - (5.*pow(x, 5.)*log(x))/(864.*
595  pow6) - (x*a*log(x))/(192.*
596  pow5) - (pow(x, 2.)*a*log(x))/(192.*
597  pow5) + (5.*x*pow(log(x), 2.))/(64.*
598  pow6) + (15.*x*pow(log(x), 2.))/(256.*
599  pow5) + (5.*x*pow(log(x), 2.))/(512.*
600  pow4) + (175.*pow(x, 2.)*
601  pow(log(x), 2.))/(384.*pow6) + (45.*
602  pow(x, 2.)*pow(log(x), 2.))/(256.*
603  pow5) - (5.*pow(x, 3.)*
604  pow(log(x), 2.))/(288.*pow7) + (235.*
605  pow(x, 3.)*pow(log(x), 2.))/(1152.*
606  pow6) - (5.*pow(x, 4.)*
607  pow(log(x), 2.))/(288.*pow7) +
608  log(Ms2/mumatch2)*(5./(864.*pow6) - (5.*Nf)/(2304.*
609  pow6) +
610  95./(4608.*pow5) + (725.*x)/(1728.*
611  pow6) - (35.*Nf*x)/(576.*
612  pow6) + (95.*x)/(512.*
613  pow5) - (25.*pow(x, 2.))/(3456.*
614  pow6) - (95.*pow(x, 2.))/(512.*
615  pow5) - (775.*pow(x, 3.))/(1728.*
616  pow6) + (35.*Nf*pow(x, 3.))/(576.*
617  pow6) - (95.*pow(x, 3.))/(4608.*
618  pow5) + (125.*pow(x, 4.))/(3456.*
619  pow6) + (5.*Nf*pow(x, 4.))/(2304.*
620  pow6) - (5.*pow(x, 5.))/(864.*
621  pow6) + (175.*x*log(x))/(1152.*
622  pow6) - (5.*Nf*x*log(x))/(192.*
623  pow6) + (95.*x*log(x))/(768.*
624  pow5) + (325.*pow(x, 2.)*
625  log(x))/(576.*pow6) - (5.*Nf*
626  pow(x, 2.)*log(x))/(64.*pow6) + (95.*
627  pow(x, 2.)*log(x))/(768.*
628  pow5) + (125.*pow(x, 3.)*
629  log(x))/(1152.*pow6) - (5.*Nf*
630  pow(x, 3.)*log(x))/(192.*pow6)))))
631 
632  );
633 }
634 
635 double SUSYMassInsertionMatching::C4NLOA(double x, double mumatch2, double Ms2){
636  double Li2 = gsl_sf_dilog(1.-x);
637  double a = log(2.);
638  double pow7 = pow(1.-x,7.);
639  double pow6 = pow(1.-x,6.);
640  double pow5 = pow(1.-x,5.);
641  double pow4 = pow(1.-x,4.);
642 
643  return (
644  (5./(3456.*pow7) -
645  1465./(82944.*pow6) - (95.*Nf)/(4608.*
646  pow6) - 4151./(82944.*pow5) -
647  5./(768.*pow4) + (25.*x)/(3456.*
648  pow7) - (11465.*x)/(20736.*
649  pow6) + (55.*Nf*x)/(1152.*
650  pow6) - (12493.*x)/(27648.*
651  pow5) + (5.*x)/(512.*pow4) - (35.*
652  x*x)/(576.*pow7) - (535.*
653  x*x)/(4608.*pow6) + (25.*Nf*
654  x*x)/(256.*pow6) + (13093.*
655  x*x)/(27648.*pow5) - (5.*
656  x*x)/(1536.*pow4) + (155.*
657  x*x*x)/(1728.*pow7) + (14695.*
658  x*x*x)/(20736.*pow6) - (145.*Nf*
659  x*x*x)/(1152.*pow6) + (2351.*
660  x*x*x)/(82944.*pow5) - (115.*
661  x*x*x*x)/(3456.*pow7) - (2305.*
662  x*x*x*x)/(82944.*pow6) + (5.*Nf*
663  x*x*x*x)/(4608.*pow6) - (5.*
664  x*x*x*x*x)/(1152.*pow7) + (5.*
665  x*x*x*x*x)/(864.*pow6) - (5.*
666  Li2)/(2304.*pow6) + (5.*Nf*
667  Li2)/(384.*pow6) - (5.*x*
668  Li2)/(144.*pow6) - (95.*x*
669  Li2)/(576.*pow5) + (5.*x*
670  Li2)/(256.*pow4) - (145.*x*x*
671  Li2)/(2304.*pow6) - (5.*Nf*
672  x*x*Li2)/(128.*pow6) + (5.*
673  x*x*Li2)/(72.*pow5) + (115.*
674  x*x*x*Li2)/(1152.*pow6) + (5.*
675  Nf*x*x*x*Li2)/(192.*pow6) -
676  a/(1152.*pow5) - (x*a)/(128.*
677  pow5) + (x*x*a)/(128.*
678  pow5) + (x*x*x*a)/(1152.*
679  pow5) + (5.*x*log(x))/(576.*
680  pow7) + (5.*x*log(x))/(384.*
681  pow6) - (139.*x*log(x))/(576.*
682  pow5) + (25.*x*log(x))/(1536.*
683  pow4) - (25.*x*x*log(x))/(864.*
684  pow7) - (95.*x*x*log(x))/(144.*
685  pow6) + (5.*Nf*x*x*log(x))/(96.*
686  pow6) - (1897.*x*x*log(x))/(4608.*
687  pow5) - (5.*x*x*x*log(x))/(144.*
688  pow7) - (545.*x*x*x*log(x))/(864.*
689  pow6) + (5.*Nf*x*x*x*log(x))/(64.*
690  pow6) - (35.*x*x*x*log(x))/(1536.*
691  pow5) + (5.*x*x*x*x*log(x))/(96.*
692  pow7) + (85.*x*x*x*x*log(x))/(3456.*
693  pow6) + (5.*x*x*x*x*x*log(x))/(1728.*
694  pow7) - (5.*x*x*x*x*x*log(x))/(864.*
695  pow6) - (x*a*log(x))/(192.*
696  pow5) - (x*x*a*log(x))/(192.*
697  pow5) + (5.*x*pow(log(x), 2.))/(64.*
698  pow6) + (15.*x*pow(log(x), 2.))/(256.*
699  pow5) + (5.*x*pow(log(x), 2.))/(512.*
700  pow4) + (175.*x*x*
701  pow(log(x), 2.))/(384.*pow6) + (45.*
702  x*x*pow(log(x), 2.))/(256.*
703  pow5) - (5.*x*x*x*
704  pow(log(x), 2.))/(288.*pow7) + (235.*
705  x*x*x*pow(log(x), 2.))/(1152.*
706  pow6) - (5.*x*x*x*x*
707  pow(log(x), 2.))/(288.*pow7) +
708  log(Ms2/mumatch2)*(5./(864.*pow6) - (5.*Nf)/(2304.*
709  pow6) +
710  95./(4608.*pow5) + (725.*x)/(1728.*
711  pow6) - (35.*Nf*x)/(576.*
712  pow6) + (95.*x)/(512.*
713  pow5) - (25.*x*x)/(3456.*
714  pow6) - (95.*x*x)/(512.*
715  pow5) - (775.*x*x*x)/(1728.*
716  pow6) + (35.*Nf*x*x*x)/(576.*
717  pow6) - (95.*x*x*x)/(4608.*
718  pow5) + (125.*x*x*x*x)/(3456.*
719  pow6) + (5.*Nf*x*x*x*x)/(2304.*
720  pow6) - (5.*x*x*x*x*x)/(864.*
721  pow6) + (175.*x*log(x))/(1152.*
722  pow6) - (5.*Nf*x*log(x))/(192.*
723  pow6) + (95.*x*log(x))/(768.*
724  pow5) + (325.*x*x*
725  log(x))/(576.*pow6) - (5.*Nf*
726  x*x*log(x))/(64.*pow6) + (95.*
727  x*x*log(x))/(768.*
728  pow5) + (125.*x*x*x*
729  log(x))/(1152.*pow6) - (5.*Nf*
730  x*x*x*log(x))/(192.*pow6)))
731  );
732 }
733 
734 double SUSYMassInsertionMatching::C4NLOB(double x, double mumatch2, double Ms2){
735  double Li2 = gsl_sf_dilog(1.-x);
736  double a = log(2.);
737  double pow7 = pow(1.-x,7.);
738  double pow6 = pow(1.-x,6.);
739  double pow5 = pow(1.-x,5.);
740  double pow4 = pow(1.-x,4.);
741 
742  return (64.*(-5./(5184.*pow7) +
743  149./(1944.*pow6) + (95.*Nf)/(6912.*
744  pow6) - 3653./(124416.*pow5) +
745  29./(10368.*pow4) - (67.*x)/(10368.*
746  pow7) + (3971.*x)/(15552.*
747  pow6) - (91.*Nf*x)/(3456.*
748  pow6) + (42647.*x)/(82944.*
749  pow5) - (17.*x)/(3456.*
750  pow4) + (497.*x*x)/(10368.*
751  pow7) + (2059.*x*x)/(6912.*
752  pow6) - (3.*Nf*x*x)/(32.*
753  pow6) - (1397.*x*x)/(3072.*
754  pow5) + (11.*x*x)/(5184.*
755  pow4) - (349.*x*x*x)/(5184.*
756  pow7) - (41527.*x*x*x)/(62208.*
757  pow6) + (371.*Nf*x*x*x)/(3456.*
758  pow6) - (8525.*x*x*x)/(248832.*
759  pow5) + (55.*x*x*x*x)/(2592.*
760  pow7) + (2773.*x*x*x*x)/(62208.*
761  pow6) - (7.*Nf*x*x*x*x)/(6912.*
762  pow6) + (349.*x*x*x*x)/(82944.*
763  pow5) + (61.*x*x*x*x*x)/(10368.*
764  pow7) - (53.*x*x*x*x*x)/(6912.*
765  pow6) -
766  x*x*x*x*x*x/(3456.*pow7) +
767  x*x*x*x*x*x/(1296.*pow6) - (19.*Li2)/(432.*
768  pow6) - (5.*Nf*Li2)/(576.*
769  pow6) + (41.*Li2)/(1152.*
770  pow5) + (599.*x*Li2)/(3456.*
771  pow6) - (Nf*x*Li2)/(192.*
772  pow6) + (13.*x*Li2)/(576.*
773  pow5) - (7.*x*Li2)/(1728.*
774  pow4) - (179.*x*x*
775  Li2)/(1728.*pow6) + (7.*Nf*
776  x*x*Li2)/(192.*pow6) + (7.*
777  x*x*Li2)/(384.*pow5) - (89.*
778  x*x*x*Li2)/(3456.*pow6) - (13.*
779  Nf*x*x*x*Li2)/(576.*
780  pow6) - (7.*a)/(5184.*
781  pow5) + (401.*x*a)/(10368.*
782  pow5) - (17.*x*x*a)/(1152.*
783  pow5) - (265.*x*x*x*a)/(10368.*
784  pow5) + (31.*x*x*x*x*a)/(10368.*
785  pow5) - (11.*x*log(x))/(1728.*
786  pow7) + (41.*x*log(x))/(768.*
787  pow6) - (Nf*x*log(x))/(1152.*
788  pow6) + (5075.*x*log(x))/(41472.*
789  pow5) - (35.*x*log(x))/(10368.*
790  pow4) + (103.*x*x*log(x))/(5184.*
791  pow7) + (6985.*x*x*log(x))/(20736.*
792  pow6) - (7.*Nf*x*x*log(x))/(192.*
793  pow6) + (5741.*x*x*log(x))/(13824.*
794  pow5) + (41.*x*x*x*log(x))/(1296.*
795  pow7) + (4411.*x*x*x*log(x))/(6912.*
796  pow6) - (77.*Nf*x*x*x*log(x))/(1152.*
797  pow6) + (443.*x*x*x*log(x))/(20736.*
798  pow5) - (x*x*x*x*log(x))/(24.*
799  pow7) - (67.*x*x*x*x*log(x))/(2304.*
800  pow6) - (7.*x*x*x*x*log(x))/(5184.*
801  pow5) - (19.*x*x*x*x*x*log(x))/(5184.*
802  pow7) + (29.*x*x*x*x*x*log(x))/(3456.*
803  pow6) + (x*x*x*x*x*x*log(x))/(5184.*
804  pow7) - (x*x*x*x*x*x*log(x))/(1296.*
805  pow6) + (17.*x*a*log(x))/(1728.*
806  pow5) + (79.*x*x*a*
807  log(x))/(1728.*pow5) - (71.*x*
808  pow(log(x), 2.))/(1536.*pow6) - (89.*x*
809  pow(log(x), 2.))/(2304.*pow5) - (x*
810  pow(log(x), 2.))/(288.*pow4) - (1007.*
811  x*x*pow(log(x), 2.))/(2304.*
812  pow6) - (281.*x*x*
813  pow(log(x), 2.))/(2304.*pow5) + (11.*
814  x*x*x*pow(log(x), 2.))/(864.*
815  pow7) - (2551.*x*x*x*
816  pow(log(x), 2.))/(13824.*pow6) + (13.*
817  x*x*x*x*pow(log(x), 2.))/(864.*
818  pow7) +
819  log(Ms2/mumatch2)*((5.*Nf)/(3456.*pow6) -
820  95./(6912.*pow5) - (1927.*x)/(6912.*
821  pow6) + (5.*Nf*x)/(108.*
822  pow6) - (2033.*x)/(13824.*
823  pow5) - (1211.*x*x)/(10368.*
824  pow6) + (Nf*x*x)/(192.*
825  pow6) + (209.*x*x)/(1536.*
826  pow5) + (541.*x*x*x)/(1296.*
827  pow6) - (11.*Nf*x*x*x)/(216.*
828  pow6) + (361.*x*x*x)/(13824.*
829  pow5) - (103.*x*x*x*x)/(3456.*
830  pow6) - (7.*Nf*x*x*x*x)/(3456.*
831  pow6) - (19.*x*x*x*x)/(13824.*
832  pow5) + (181.*x*x*x*x*x)/(20736.*
833  pow6) -
834  x*x*x*x*x*x/(1296.*pow6) - (11.*x*
835  log(x))/(128.*pow6) + (11.*Nf*x*
836  log(x))/(576.*pow6) - (209.*x*
837  log(x))/(2304.*pow5) - (769.*
838  x*x*log(x))/(1728.*
839  pow6) + (Nf*x*x*log(x))/(16.*
840  pow6) - (247.*x*x*
841  log(x))/(2304.*pow5) - (445.*
842  x*x*x*log(x))/(3456.*
843  pow6) + (13.*Nf*x*x*x*
844  log(x))/(576.*pow6)))
845 
846  );
847 }
848 
849  std::vector<WilsonCoefficient>& SUSYMassInsertionMatching::CMd1() {
850 
851  vmcd1.clear();
852  vmcd1 = StandardModelMatching::CMd1();
853 
854  double x = pow(SusyMI.getM3() / SusyMI.getMsq(), 2.);
855  double constLO = SusyMI.Als(SusyMI.getMuM()) / SusyMI.getMsq();
856  double mcharm = SusyMI.getMuc();
857  double mgluino = SusyMI.getM3();
858 
859  DLL = SusyMI.getDu_LL()(0,1);
860  DLR = SusyMI.getDu_LR()(0,1);
861  DRL = SusyMI.getDu_RL()(0,1);
862  DRR = SusyMI.getDu_RR()(0,1);
863  /*
864  std::cout << " DLL --> " << DLL << std::endl;
865  std::cout << " DLR --> " << DLR << std::endl;
866  std::cout << " DRL --> " << DRL << std::endl;
867  std::cout << " DRR --> " << DRR << std::endl;
868  */
869 
870  switch (mcd1.getScheme()) {
871  case NDR:
872  //case HV:
873  //case LRI:
874  break;
875  default:
876  std::stringstream out;
877  out << mcd1.getScheme();
878  throw std::runtime_error("SUSYMassInsertionMatching::CMD1(): scheme " + out.str() + "not implemented");
879  }
880 
881  mcd1.setMu(SusyMI.getMuM());
882 
883  gslpp::vector<gslpp::complex> C0_B(10,0.), C0_M(10,0.), C0_M_eff(10,0.);
884 
885  C0_B.assign(2, constLO * constLO / 4. * (-1./9.*B1(x) - 5./9.*B2(x)
886  - 1./18.*P1(x) - 1./2.*P2(x))* DLL);
887  C0_B.assign(3, constLO * constLO / 4. * (-7./3.*B1(x) + 1./3.*B2(x)
888  + 1./6.*P1(x) + 3./2.*P2(x))* DLL);
889  C0_B.assign(4, constLO * constLO / 4. * (10./9.*B1(x) + 1./18.*B2(x)
890  - 1./18.*P1(x) - 1./2.*P2(x))* DLL);
891  C0_B.assign(5, constLO * constLO / 4. * (-2./3.*B1(x) + 7./6.*B2(x)
892  + 1./6.*P1(x) + 3./2.*P2(x)) * DLL);
893  C0_B.assign(6, constLO/SusyMI.getMsq() / 4. * M_PI * ((8./3.*M3(x)) * DLL
894  + mgluino/mcharm * (8./3.*M1(x)) * DLR));
895  C0_B.assign(7, constLO/SusyMI.getMsq() / 4. * M_PI * ((-1./3.*M3(x)-3.*M4(x)) * DLL
896  + mgluino/mcharm * (-1./3.*M1(x)-3.*M2(x)) * DLR));
897 
898  C0_M = RtoMisiak().transpose() * C0_B;
899  C0_M_eff = EffectiveBase() * C0_M ;
900 
901  /* for(int i= 0; i< 10; i ++){
902  std::cout << "i" << " "<< "C0_B(i)" << " " << "C0_M" << " " << "C0_M_eff" << std::endl;
903  std::cout << i << " "<< C0_B(i) << " " << C0_M(i) << " " << C0_M_eff(i) << std::endl;
904  } */
905 
906  switch (mcd1.getOrder()) {
907  case NLO:
908  for(int k = 0; k<10; k++){
909  mcd1.setCoeff(k, 0., NLO);
910  }
911  case LO:
912  for(int k = 0; k<10; k++){
913  mcd1.setCoeff(k, C0_M_eff(k), LO);
914  }
915  break;
916  default:
917  std::stringstream out;
918  out << mcd1.getOrder();
919  throw std::runtime_error("SUSYMassInsertionMatching::CMd1(): order " + out.str() + "not implemented");
920  }
921 
922  vmcd1.push_back(mcd1);
923 
924  C0_B.assign(2, constLO * constLO / 4. * (-1./9.*B1(x) - 5./9.*B2(x)
925  - 1./18.*P1(x) - 1./2.*P2(x))* DRR);
926  C0_B.assign(3, constLO * constLO / 4. * (-7./3.*B1(x) + 1./3.*B2(x)
927  + 1./6.*P1(x) + 3./2.*P2(x))* DRR);
928  C0_B.assign(4, constLO * constLO / 4. * (10./9.*B1(x) + 1./18.*B2(x)
929  - 1./18.*P1(x) - 1./2.*P2(x))* DRR);
930  C0_B.assign(5, constLO * constLO / 4. * (-2./3.*B1(x) + 7./6.*B2(x)
931  + 1./6.*P1(x) + 3./2.*P2(x)) * DRR);
932  C0_B.assign(6, constLO/SusyMI.getMsq() / 4. * M_PI * ((8./3.*M3(x)) * DRR
933  + mgluino/mcharm * (8./3.*M1(x) * DRL)));
934  C0_B.assign(7, (constLO/SusyMI.getMsq() / 4. * M_PI * ((-1./3.*M3(x)-3.*M4(x)) * DRR
935  + mgluino/mcharm * (-1./3.*M1(x)-3.*M2(x))* DRL)));
936  C0_M = RtoMisiak().transpose() * C0_B;
937  C0_M_eff = EffectiveBase() * C0_M ;
938 
939  /* for(int i= 0; i< 10; i ++){
940  std::cout << "i" << " "<< "C0_B(i)" << " " << "C0_M" << " " << "C0_M_eff" << std::endl;
941  std::cout << i << " "<< C0_B(i) << " " << C0_M(i) << " " << C0_M_eff(i) << std::endl;
942  } */
943 
944  switch (mcd1.getOrder()) {
945  case NLO:
946  for(int k = 0; k<10; k++){
947  mcd1.setCoeff(k, 0., NLO);
948  }
949  case LO:
950  for(int k=0; k<10; k++){
951  mcd1.setCoeff(k, C0_M_eff(k), LO);
952  }
953  break;
954  default:
955  std::stringstream out;
956  out << mcd1.getOrder();
957  throw std::runtime_error("SUSYMassInsertionMatching::CMd1(): order " + out.str() + "not implemented");
958  }
959 
960  vmcd1.push_back(mcd1);
961 
962  return(vmcd1);
963 }
964 
965  std::vector<WilsonCoefficient>& SUSYMassInsertionMatching::CMdd2 () {
966 
967  vmcd2.clear();
969 
970  double als = SusyMI.Als(SusyMI.getMuM())*(1.+SusyMI.Als(SusyMI.getM3())/4./M_PI);
971  double x = pow(SusyMI.getM3() / SusyMI.getMsq(), 2.);
972  double coLO = pow(als/ SusyMI.getMsq(), 2.);
973  double coNLO = coLO* als / M_PI;
975  Ms2 = SusyMI.getMsq()*SusyMI.getMsq();
976  DLL = SusyMI.getDu_LL()(0,1);
977  DLR = SusyMI.getDu_LR()(0,1);
978  DRL = SusyMI.getDu_RL()(0,1);
979  DRR = SusyMI.getDu_RR()(0,1);
980 
981  switch (mcd2.getScheme()) {
982  case NDR:
983  //case HV:
984  //case LRI:
985  break;
986  default:
987  std::stringstream out;
988  out << mcd2.getScheme();
989  throw std::runtime_error("StandardModel::CMbd2(): scheme " + out.str() + "not implemented");
990  }
991  mcd2.setMu(SusyMI.getMuM());
992  switch (mcd2.getOrder()) {
993  case NLO:
994  mcd2.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DLL * DLL, NLO);
995  mcd2.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
996  mcd2.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
997  mcd2.setCoeff(3, coNLO * (C3NLOA(x,MuM2,Ms2) * DLR * DRL +
998  C3NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
999  mcd2.setCoeff(4, coNLO * (C4NLOA(x,MuM2,Ms2) * DLR * DRL +
1000  C4NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
1001  case LO:
1002  mcd2.setCoeff(0, coLO * C0LO(x) * DLL * DLL, LO);
1003  mcd2.setCoeff(1, coLO * C1LO(x) * DRL * DRL, LO);
1004  mcd2.setCoeff(2, coLO * C2LO(x) * DRL * DRL, LO);
1005  mcd2.setCoeff(3, coLO * (C3LOA(x) * DLR * DRL + C3LOB(x) * DLL * DRR), LO);
1006  mcd2.setCoeff(4, coLO * (C4LOA(x) * DLR * DRL + C4LOB(x) * DLL * DRR), LO);
1007  break;
1008  default:
1009  std::stringstream out;
1010  out << mcd2.getOrder();
1011  throw std::runtime_error("StandardModelMatching::CMd2(): order " + out.str() + "not implemented");
1012  }
1013 
1014  LRItoNDR(1);
1015 
1016  vmcd2.push_back(mcd2);
1017 
1018  switch (mcd2.getOrder()) {
1019  case NLO:
1020  mcd2.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DRR * DRR, NLO);
1021  mcd2.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1022  mcd2.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1023  mcd2.setCoeff(3, 0., NLO);
1024  mcd2.setCoeff(4, 0., NLO);
1025  case LO:
1026  mcd2.setCoeff(0, coLO * C0LO(x) * DRR * DRR, LO);
1027  mcd2.setCoeff(1, coLO * C1LO(x) * DLR * DLR, LO);
1028  mcd2.setCoeff(2, coLO * C2LO(x) * DLR * DLR, LO);
1029  mcd2.setCoeff(3, 0., LO);
1030  mcd2.setCoeff(4, 0., LO);
1031  break;
1032  default:
1033  std::stringstream out;
1034  out << mcd2.getOrder();
1035  throw std::runtime_error("StandardModelMatching::CMd2(): order " + out.str() + "not implemented");
1036  }
1037 
1038  LRItoNDR(1);
1039 
1040  vmcd2.push_back(mcd2);
1041 
1042  return(vmcd2);
1043 }
1044 
1045  std::vector<WilsonCoefficient>& SUSYMassInsertionMatching::CMdbd2() {
1046 
1047  vmcdb.clear();
1048 
1049  vmcdb = StandardModelMatching::CMdbd2();
1050 
1051  double als = SusyMI.Als(SusyMI.getMuM())*(1.+SusyMI.Als(SusyMI.getM3())/4./M_PI);
1052  double x = pow(SusyMI.getM3() / SusyMI.getMsq(), 2.);
1053  double coLO = pow(als/ SusyMI.getMsq(), 2.);
1054  double coNLO = coLO * als / M_PI;
1055  MuM2 = SusyMI.getMuM()*SusyMI.getMuM();
1056  Ms2 = SusyMI.getMsq()*SusyMI.getMsq();
1057 
1058  DLL = SusyMI.getDd_LL()(0,2);
1059  DLR = SusyMI.getDd_LR()(0,2);
1060  DRL = SusyMI.getDd_RL()(0,2);
1061  DRR = SusyMI.getDd_RR()(0,2);
1062 
1063  switch (mcbd.getScheme()) {
1064  case NDR:
1065  //case HV:
1066  //case LRI:
1067  break;
1068  default:
1069  std::stringstream out;
1070  out << mcbd.getScheme();
1071  throw std::runtime_error("StandardModel::CMbbd(): scheme " + out.str() + "not implemented");
1072  }
1073 
1074  mcbd.setMu(SusyMI.getMuM());
1075 
1076  switch (mcbd.getOrder()) {
1077  case NLO:
1078  mcbd.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DLL * DLL, NLO);
1079  mcbd.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1080  mcbd.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1081  mcbd.setCoeff(3, coNLO * (C3NLOA(x,MuM2,Ms2) * DLR * DRL +
1082  C3NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
1083  mcbd.setCoeff(4, coNLO * (C4NLOA(x,MuM2,Ms2) * DLR * DRL +
1084  C4NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
1085  case LO:
1086  mcbd.setCoeff(0, coLO * C0LO(x) * DLL * DLL, LO);
1087  mcbd.setCoeff(1, coLO * C1LO(x) * DRL * DRL, LO);
1088  mcbd.setCoeff(2, coLO * C2LO(x) * DRL * DRL, LO);
1089  mcbd.setCoeff(3, coLO * (C3LOA(x) * DLR * DRL + C3LOB(x) * DLL * DRR), LO);
1090  mcbd.setCoeff(4, coLO * (C4LOA(x) * DLR * DRL + C4LOB(x) * DLL * DRR), LO);
1091  break;
1092  default:
1093  std::stringstream out;
1094  out << mcbd.getOrder();
1095  throw std::runtime_error("StandardModelMatching::CMbd(): order " + out.str() + "not implemented");
1096  }
1097 
1098  LRItoNDR(2);
1099 
1100  vmcdb.push_back(mcbd);
1101 
1102  switch (mcbd.getOrder()) {
1103  case NLO:
1104  mcbd.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DRR * DRR, NLO);
1105  mcbd.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1106  mcbd.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1107  mcbd.setCoeff(3, 0., NLO);
1108  mcbd.setCoeff(4, 0., NLO);
1109  case LO:
1110  mcbd.setCoeff(0, coLO * C0LO(x) * DRR * DRR, LO);
1111  mcbd.setCoeff(1, coLO * C1LO(x) * DLR * DLR, LO);
1112  mcbd.setCoeff(2, coLO * C2LO(x) * DLR * DLR, LO);
1113  mcbd.setCoeff(3, 0., LO);
1114  mcbd.setCoeff(4, 0., LO);
1115  break;
1116  default:
1117  std::stringstream out;
1118  out << mcbd.getOrder();
1119  throw std::runtime_error("StandardModelMatching::CMbd(): order " + out.str() + "not implemented");
1120  }
1121 
1122  LRItoNDR(2);
1123 
1124  vmcdb.push_back(mcbd);
1125 
1126  return(vmcdb);
1127 }
1128 
1129  std::vector<WilsonCoefficient>& SUSYMassInsertionMatching::CMdbs2() {
1130 
1131 
1132  vmcds.clear();
1133 
1135 
1136  double als = SusyMI.Als(SusyMI.getMuM())*(1.+SusyMI.Als(SusyMI.getM3())/4./M_PI);
1137  double x = pow(SusyMI.getM3() / SusyMI.getMsq(), 2.);
1138  double coLO = pow(als / SusyMI.getMsq(), 2.);
1139  double coNLO = coLO * als / M_PI;
1140  MuM2 = SusyMI.getMuM()*SusyMI.getMuM();
1141  Ms2 = SusyMI.getMsq()*SusyMI.getMsq();
1142 
1143  DLL = SusyMI.getDd_LL()(1,2);
1144  DLR = SusyMI.getDd_LR()(1,2);
1145  DRL = SusyMI.getDd_RL()(1,2);
1146  DRR = SusyMI.getDd_RR()(1,2);
1147 
1148  switch (mcbs.getScheme()) {
1149  case NDR:
1150  //case HV:
1151  //case LRI:
1152  break;
1153  default:
1154  std::stringstream out;
1155  out << mcbs.getScheme();
1156  throw std::runtime_error("StandardModel::CMbbs(): scheme " + out.str() + "not implemented");
1157  }
1158 
1159  mcbs.setMu(SusyMI.getMuM());
1160 
1161  switch (mcbs.getOrder()) {
1162  case NLO:
1163  mcbs.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DLL * DLL, NLO);
1164  mcbs.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1165  mcbs.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1166  mcbs.setCoeff(3, coNLO * (C3NLOA(x,MuM2,Ms2) * DLR * DRL
1167  + C3NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
1168  mcbs.setCoeff(4, coNLO * (C4NLOA(x,MuM2,Ms2) * DLR * DRL +
1169  C4NLOB(x,MuM2,Ms2) * DLL * DRR), NLO);
1170  case LO:
1171  mcbs.setCoeff(0, coLO * C0LO(x) * DLL * DLL, LO);
1172  mcbs.setCoeff(1, coLO * C1LO(x) * DRL * DRL, LO);
1173  mcbs.setCoeff(2, coLO * C2LO(x) * DRL * DRL, LO);
1174  mcbs.setCoeff(3, coLO * (C3LOA(x) * DLR * DRL + C3LOB(x) * DLL * DRR), LO);
1175  mcbs.setCoeff(4, coLO * (C4LOA(x) * DLR * DRL + C4LOB(x) * DLL * DRR), LO);
1176  break;
1177  default:
1178  std::stringstream out;
1179  out << mcbs.getOrder();
1180  throw std::runtime_error("StandardModelMatching::CMbs(): order " + out.str() + "not implemented");
1181  }
1182 
1183  LRItoNDR(3);
1184 
1185  vmcds.push_back(mcbs);
1186 
1187  switch (mcbs.getOrder()) {
1188  case NLO:
1189  mcbs.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DRR * DRR, NLO);
1190  mcbs.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1191  mcbs.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DLR * DRL, NLO);
1192  mcbs.setCoeff(3, 0., NLO);
1193  mcbs.setCoeff(4, 0., NLO);
1194  case LO:
1195  mcbs.setCoeff(0, coLO * C0LO(x) * DRR * DRR, LO);
1196  mcbs.setCoeff(1, coLO * C1LO(x) * DLR * DLR, LO);
1197  mcbs.setCoeff(2, coLO * C2LO(x) * DLR * DLR, LO);
1198  mcbs.setCoeff(3, 0., LO);
1199  mcbs.setCoeff(4, 0., LO);
1200  break;
1201  default:
1202  std::stringstream out;
1203  out << mcbs.getOrder();
1204  throw std::runtime_error("StandardModelMatching::CMbs(): order " + out.str() + "not implemented");
1205  }
1206 
1207  LRItoNDR(3);
1208 
1209  vmcds.push_back(mcbs);
1210 
1211  return(vmcds);
1212 }
1213 
1214  std::vector<WilsonCoefficient>& SUSYMassInsertionMatching::CMdk2() {
1215 
1216  vmck2.clear();
1217  vmck2 = StandardModelMatching::CMdk2();
1218 
1219  double als = SusyMI.Als(SusyMI.getMuM())*(1.+SusyMI.Als(SusyMI.getM3())/4./M_PI);
1220  double x = pow(SusyMI.getM3() / SusyMI.getMsq(), 2.);
1221  double coLO = pow(als/ SusyMI.getMsq(), 2.);
1222  double coNLO = coLO * als / M_PI;
1223  MuM2 = SusyMI.getMuM()*SusyMI.getMuM();
1224  Ms2 = SusyMI.getMsq()*SusyMI.getMsq();
1225 
1226  DLL = SusyMI.getDd_LL()(0,1);
1227  DLR = SusyMI.getDd_LR()(0,1);
1228  DRL = SusyMI.getDd_RL()(0,1);
1229  DRR = SusyMI.getDd_RR()(0,1);
1230 
1231  switch (mck2.getScheme()) {
1232  case NDR:
1233  //case HV:
1234  //case LRI:
1235  break;
1236  default:
1237  std::stringstream out;
1238  out << mck2.getScheme();
1239  throw std::runtime_error("StandardModel::CMbk2(): scheme " + out.str() + "not implemented");
1240  }
1241 
1242  mck2.setMu(SusyMI.getMuM());
1243 
1244  switch (mck2.getOrder()) {
1245  case NLO:
1246  mck2.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DLL * DLL, NLO);
1247  mck2.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1248  mck2.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DRL * DRL, NLO);
1249  mck2.setCoeff(3, coNLO * C3NLOA(x,MuM2,Ms2) * DLR * DRL +
1250  coNLO * C3NLOB(x,MuM2,Ms2) * DLL * DRR, NLO);
1251  mck2.setCoeff(4, coNLO * C4NLOA(x,MuM2,Ms2) * DLR * DRL +
1252  coNLO * C4NLOB(x,MuM2,Ms2) * DLL * DRR, NLO);
1253  case LO:
1254  mck2.setCoeff(0, coLO * C0LO(x) * DLL * DLL, LO);
1255  mck2.setCoeff(1, coLO * C1LO(x) * DRL * DRL, LO);
1256  mck2.setCoeff(2, coLO * C2LO(x) * DRL * DRL, LO);
1257  mck2.setCoeff(3, coLO * C3LOA(x) * DLR * DRL + coLO * coLO * C3LOB(x) * DLL * DRR, LO);
1258  mck2.setCoeff(4, coLO * C4LOA(x) * DLR * DRL + coLO * coLO * C4LOB(x) * DLL * DRR, LO);
1259  break;
1260  default:
1261  std::stringstream out;
1262  out << mck2.getOrder();
1263  throw std::runtime_error("StandardModelMatching::CMk2(): order " + out.str() + "not implemented");
1264  }
1265 
1266  LRItoNDR(4);
1267 
1268  vmck2.push_back(mck2);
1269 
1270  switch (mck2.getOrder()) {
1271  case NLO:
1272  mck2.setCoeff(0, coNLO * C0NLO(x,MuM2,Ms2) * DRR * DRR, NLO);
1273  mck2.setCoeff(1, coNLO * C1NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1274  mck2.setCoeff(2, coNLO * C2NLO(x,MuM2,Ms2) * DLR * DLR, NLO);
1275  mck2.setCoeff(3, 0., NLO);
1276  mck2.setCoeff(4, 0., NLO);
1277  case LO:
1278  mck2.setCoeff(0, coLO * C0LO(x) * DRR * DRR, LO);
1279  mck2.setCoeff(1, coLO * C1LO(x) * DLR * DLR, LO);
1280  mck2.setCoeff(2, coLO * C2LO(x) * DLR * DLR, LO);
1281  mck2.setCoeff(3, 0., LO);
1282  mck2.setCoeff(4, 0., LO);
1283  break;
1284  default:
1285  std::stringstream out;
1286  out << mck2.getOrder();
1287  throw std::runtime_error("StandardModelMatching::CMk2(): order " + out.str() + "not implemented");
1288  }
1289 
1290  LRItoNDR(4);
1291 
1292  vmck2.push_back(mck2);
1293 
1294  return(vmck2);
1295 }
1296 
1298 
1299  gslpp::matrix<double> R(10,0.);
1300 
1301  R(0,0) = 2.;
1302  R(0,1) = 1./3.;
1303  R(1,1) = 1.;
1304  R(2,2) = -1./3.;
1305  R(2,4) = 1./12.;
1306  R(3,2) = -1./9.;
1307  R(3,3) = -2./3.;
1308  R(3,4) = 1./36.;
1309  R(3,5) = 1./6.;
1310  R(4,2) = 4./3.;
1311  R(4,4) = -1./12.;
1312  R(5,2) = 4./9.;
1313  R(5,3) = 8./3.;
1314  R(5,4) = -1./36.;
1315  R(5,5) = -1./6.;
1316  R(6,6) = 1.;
1317  R(7,7) = 1.;
1318  R(8,8) = 1.;
1319  R(9,9) = 1.;
1320  return(R);
1321 
1322 }
1323 
1325 
1326  gslpp::matrix<double> y(10, 0.);
1327 
1328  y(0,0) = 1.;
1329  y(1,1) = 1.;
1330  y(2,2) = 1.;
1331  y(3,3) = 1.;
1332  y(4,4) = 1.;
1333  y(5,5) = 1.;
1334  y(6,6) = 1.;
1335  y(7,7) = 1.;
1336  y(8,8) = 1.;
1337  y(9,9) = 1.;
1338 
1339  y(6,2) = -1./3.;
1340  y(6,3) = -4./9.;
1341  y(6,4) = -20./3.;
1342  y(6,5) = -80./9.;
1343 
1344  y(7,2) = 1.;
1345  y(7,3) = -1./6.;
1346  y(7,4) = 20.;
1347  y(7,5) = -10./3.;
1348 
1349  return(y);
1350 
1351 }
1352 
1354  switch (i){
1355  case 1:
1356  mcd2.setCoeff(*mcd2.getCoeff(NLO) + SusyMI.Als(mcd2.getMu()) / 4. / M_PI *
1357  drNDRLRI.transpose() * (*mcd2.getCoeff(LO)), NLO);
1358  break;
1359  case 2:
1360  mcbd.setCoeff(*mcbd.getCoeff(NLO) + SusyMI.Als(mcbd.getMu()) / 4. / M_PI *
1361  drNDRLRI.transpose() * (*mcbd.getCoeff(LO)), NLO);
1362  break;
1363  case 3:
1364  mcbs.setCoeff(*mcbs.getCoeff(NLO) + SusyMI.Als(mcbs.getMu()) / 4. / M_PI *
1365  drNDRLRI.transpose() * (*mcbs.getCoeff(LO)), NLO);
1366  break;
1367  case 4:
1368  mck2.setCoeff(*mck2.getCoeff(NLO) + SusyMI.Als(mck2.getMu()) / 4. / M_PI *
1369  drNDRLRI.transpose() * (*mck2.getCoeff(LO)), NLO);
1370  break;
1371  default:
1372  throw std::runtime_error("SUSYMassInsertionMatching::LRItoNDR : change of scheme not implemented");
1373  }
1374 }
SUSYMassInsertionMatching::mcd1
WilsonCoefficient mcd1
Definition: SUSYMassInsertionMatching.h:280
SUSYMassInsertionMatching::DLL
gslpp::complex DLL
Definition: SUSYMassInsertionMatching.h:277
Li2
cd Li2(cd x)
Definition: hpl.h:1011
SUSYMassInsertionMatching::P2
double P2(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:52
gslpp::matrix< double >
A class for constructing and defining operations on real matrices.
Definition: gslpp_matrix_double.h:48
SUSYMassInsertionMatching::SusyMI
const SUSYMassInsertion & SusyMI
Definition: SUSYMassInsertionMatching.h:274
StandardModelMatching::CMdbd2
virtual std::vector< WilsonCoefficient > & CMdbd2()
,
Definition: StandardModelMatching.cpp:999
SUSYMassInsertion::getDu_RR
gslpp::matrix< gslpp::complex > getDu_RR() const
Definition: SUSYMassInsertion.h:157
SUSYMassInsertion::getDu_RL
gslpp::matrix< gslpp::complex > getDu_RL() const
Definition: SUSYMassInsertion.h:141
StandardModelMatching::CMdbs2
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
Definition: StandardModelMatching.cpp:1049
SUSYMassInsertionMatching::drNDRLRI
gslpp::matrix< double > drNDRLRI
Definition: SUSYMassInsertionMatching.h:278
LO
Definition: OrderScheme.h:33
SUSYMassInsertionMatching::C0NLO
double C0NLO(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:138
SUSYMassInsertionMatching::mcd2
WilsonCoefficient mcd2
Definition: SUSYMassInsertionMatching.h:280
SUSYMassInsertionMatching::M4
double M4(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:69
NDR
Definition: OrderScheme.h:21
SUSYMassInsertion::getDd_RL
gslpp::matrix< gslpp::complex > getDd_RL() const
Definition: SUSYMassInsertion.h:205
gslpp::matrix< double >::transpose
matrix< double > transpose() const
Definition: gslpp_matrix_double.cpp:166
SUSYMassInsertionMatching::C4LOB
double C4LOB(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:127
SUSYMassInsertionMatching::C4LOA
double C4LOA(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:121
WilsonTemplate::getMu
double getMu() const
Definition: WilsonTemplate.h:75
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
SUSYMassInsertionMatching::C4NLOB
double C4NLOB(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:734
SUSYMassInsertionMatching::C3NLOA
double C3NLOA(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:433
SUSYMassInsertionMatching::C4NLOA
double C4NLOA(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:635
WilsonTemplate::getScheme
schemes getScheme() const
Definition: WilsonTemplate.h:98
SUSYMassInsertionMatching::C3LOA
double C3LOA(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:111
SUSYMassInsertionMatching::C1NLO
double C1NLO(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:248
SUSYMassInsertionMatching::P1
double P1(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:47
SUSYMassInsertionMatching::DLR
gslpp::complex DLR
Definition: SUSYMassInsertionMatching.h:277
SUSYMassInsertionMatching::CMdk2
virtual std::vector< WilsonCoefficient > & CMdk2()
Definition: SUSYMassInsertionMatching.cpp:1214
SUSYMassInsertion::getDd_LR
gslpp::matrix< gslpp::complex > getDd_LR() const
Definition: SUSYMassInsertion.h:189
ModelMatching::CMd1
virtual std::vector< WilsonCoefficient > & CMd1()=0
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
SUSYMassInsertionMatching::DRL
gslpp::complex DRL
Definition: SUSYMassInsertionMatching.h:277
SUSYMassInsertionMatching::SUSYMassInsertionMatching
SUSYMassInsertionMatching(const SUSYMassInsertion &SUSYMassInsertion_i)
constructor
Definition: SUSYMassInsertionMatching.cpp:11
SUSYMassInsertionMatching::Ms2
double Ms2
Definition: SUSYMassInsertionMatching.h:275
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
SUSYMassInsertionMatching::mcbd
WilsonCoefficient mcbd
Definition: SUSYMassInsertionMatching.h:280
SUSYMassInsertionMatching::f6t
double f6t(double x)
Definition: SUSYMassInsertionMatching.cpp:80
WilsonCoefficient::setCoeff
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
Definition: WilsonCoefficient.h:34
SUSYMassInsertionMatching::C2NLO
double C2NLO(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:341
SUSYMassInsertionMatching::f6
double f6(double x)
Definition: SUSYMassInsertionMatching.cpp:75
gslpp::pow
complex pow(const complex &z1, const complex &z2)
Definition: gslpp_complex.cpp:395
SUSYMassInsertionMatching::C2LO
double C2LO(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:106
SUSYMassInsertion::getDd_RR
gslpp::matrix< gslpp::complex > getDd_RR() const
Definition: SUSYMassInsertion.h:221
SUSYMassInsertionMatching::CMdbs2
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
Definition: SUSYMassInsertionMatching.cpp:1129
QCD::getMuc
double getMuc() const
A get method to access the threshold between four- and three-flavour theory in GeV.
Definition: QCD.h:579
SUSYMassInsertionMatching::M3
double M3(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:65
SUSYMassInsertionMatching::B1
double B1(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:39
SUSYMassInsertion
Definition: SUSYMassInsertion.h:15
SUSYMassInsertionMatching.h
SUSYMassInsertion::getMuM
double getMuM() const
Definition: SUSYMassInsertion.h:236
SUSYMassInsertion::getDd_LL
gslpp::matrix< gslpp::complex > getDd_LL() const
Definition: SUSYMassInsertion.h:173
SUSYMassInsertionMatching::M1
double M1(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:57
StandardModel::Als
double Als(double mu, orders order=FULLNLO, bool qed_flag=false, bool Nf_thr=true) const
The running QCD coupling in the scheme including QED corrections.
Definition: StandardModel.cpp:602
WilsonTemplate::setMu
virtual void setMu(double mu)
Definition: WilsonTemplate.h:92
SUSYMassInsertionMatching::C3LOB
double C3LOB(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:116
SUSYMassInsertionMatching::C1LO
double C1LO(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:101
SUSYMassInsertionMatching::EffectiveBase
gslpp::matrix< double > EffectiveBase() const
the basis is defined, for example, in Chetyrkin et al hep-ph/9612313
Definition: SUSYMassInsertionMatching.cpp:1324
SUSYMassInsertionMatching::MuM2
double MuM2
Definition: SUSYMassInsertionMatching.h:275
SUSYMassInsertionMatching::LRItoNDR
void LRItoNDR(int i)
it changes renormalization scheme from LRI to NDR
Definition: SUSYMassInsertionMatching.cpp:1353
SUSYMassInsertionMatching::CMd1
virtual std::vector< WilsonCoefficient > & CMd1()
Definition: SUSYMassInsertionMatching.cpp:849
SUSYMassInsertion.h
SUSYMassInsertionMatching::C0LO
double C0LO(double x)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:91
SUSYMassInsertionMatching::Nf
unsigned int Nf
Definition: SUSYMassInsertionMatching.h:276
StandardModelMatching::CMdd2
virtual std::vector< WilsonCoefficient > & CMdd2()
,
Definition: StandardModelMatching.cpp:1205
SUSYMassInsertionMatching::RtoMisiak
gslpp::matrix< double > RtoMisiak() const
Misiak et al, hep-ph/0005183.
Definition: SUSYMassInsertionMatching.cpp:1297
SUSYMassInsertionMatching::mck2
WilsonCoefficient mck2
Definition: SUSYMassInsertionMatching.h:280
SUSYMassInsertionMatching::M2
double M2(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:61
SUSYMassInsertionMatching::DRR
gslpp::complex DRR
Definition: SUSYMassInsertionMatching.h:277
SUSYMassInsertion::getM3
double getM3() const
Definition: SUSYMassInsertion.h:77
SUSYMassInsertion::getMsq
double getMsq() const
Definition: SUSYMassInsertion.h:93
WilsonCoefficient::getCoeff
gslpp::vector< gslpp::complex > ** getCoeff() const
Definition: WilsonCoefficient.h:29
QCD::getNc
double getNc() const
A get method to access the number of colours .
Definition: QCD.h:505
NLO
Definition: OrderScheme.h:34
SUSYMassInsertion::getDu_LL
gslpp::matrix< gslpp::complex > getDu_LL() const
Definition: SUSYMassInsertion.h:109
SUSYMassInsertionMatching::C3NLOB
double C3NLOB(double x, double mumatch2, double Ms2)
loop functions RI-MOM scheme, LO term
Definition: SUSYMassInsertionMatching.cpp:534
gslpp::vector< gslpp::complex >
SUSYMassInsertionMatching::CMdd2
virtual std::vector< WilsonCoefficient > & CMdd2()
Definition: SUSYMassInsertionMatching.cpp:965
SUSYMassInsertionMatching::CMdbd2
virtual std::vector< WilsonCoefficient > & CMdbd2()
,
Definition: SUSYMassInsertionMatching.cpp:1045
SUSYMassInsertion::getDu_LR
gslpp::matrix< gslpp::complex > getDu_LR() const
Definition: SUSYMassInsertion.h:125
SUSYMassInsertionMatching::mcbs
WilsonCoefficient mcbs
Definition: SUSYMassInsertionMatching.h:280
SUSYMassInsertionMatching::B2
double B2(double x) const
loop functions, LO term
Definition: SUSYMassInsertionMatching.cpp:43