int main(int argc, char** argv) { try { StandardModel* myModel; myModel = new StandardModel(); myModel->InitializeModel(); setSMparameters(*myModel); ZFitterWrapper ZF(*myModel); if (argc>1) { if (strcmp(argv[1], "-t")==0) { /* test with Subroutine ZFTEST */ test_ZFTEST(ZF); } else { cout << "use the option -t for ZFTEST()" << endl; } } else { /* compute EW precision observables */ test_ZFitterClass(ZF); } cout << "Test finished" << endl; return EXIT_SUCCESS; } catch (const runtime_error& e) { cerr << e.what() << endl; return EXIT_FAILURE; } }
StandardModel<Two_scale>::StandardModel(const StandardModel<Two_scale>& s) : yu(s.yu), yd(s.yd), ye(s.ye), g(s.g) { setPars(numStandardModelPars); setMu(s.displayMu()); setLoops(s.displayLoops()); setThresholds(s.displayThresholds()); }
const StandardModel<Two_scale>& StandardModel<Two_scale>::operator=(const StandardModel<Two_scale>& s) { if (this == &s) return *this; yu = s.yu; yd = s.yd; ye = s.ye; g = s.g; setMu(s.displayMu()); setLoops(s.displayLoops()); setThresholds(s.displayThresholds()); return *this; }
EvolDF1nlep::EvolDF1nlep(unsigned int dim_i, schemes scheme, orders order, orders_ew order_ew, const StandardModel& model) : RGEvolutor(dim_i, scheme, order, order_ew), model(model), V(dim_i,0.), Vi(dim_i,0.), gs(dim_i,0.), Js(dim_i,0.), ge0(dim_i,0.), K0(dim_i,0.), ge11(dim_i,0.), K11(dim_i,0.), JsK0V(dim_i,0.), ViK0Js(dim_i,0.), Gamma_s0T(dim_i,0.), Gamma_s1T(dim_i,0.), Gamma_eT(dim_i,0.), Gamma_seT(dim_i,0.), JsV(dim_i,0.), ViJs(dim_i,0.), K0V(dim_i,0.), ViK0(dim_i,0.), K11V(dim_i,0.), ViK11(dim_i,0.), ge11sing(dim_i,0.), K11sing(dim_i,0.), K11singV(dim_i,0.), e(dim_i,0.), dim(dim_i) { int nu = 0, nd = 0; double b0 = 0., b1 = 0.; /* L=3 --> u,d,s,c (nf=3) L=2 --> u,d,s,c (nf=4) L=1 --> u,d,s,c,b (nf=5) L=0 --> u,d,s,c,b,t (nf=6)*/ for(int L=3; L>-1; L--){ b0 = model.Beta0(6-L); b1 = model.Beta1(6-L); if(L == 3){nd = 2; nu = 1;} if(L == 2){nd = 2; nu = 2;} if(L == 1){nd = 3; nu = 2;} if(L == 0){nd = 3; nu = 3;} Gamma_s0T = AnomalousDimension_nlep_S(LO,nu,nd).transpose(); Gamma_s1T = AnomalousDimension_nlep_S(NLO,nu,nd).transpose(); Gamma_eT = AnomalousDimension_nlep_EM(LO,nu,nd).transpose(); Gamma_seT = AnomalousDimension_nlep_EM(NLO,nu,nd).transpose(); AnomalousDimension_nlep_S(LO,nu,nd).transpose().eigensystem(V,e); Vi = V.inverse(); /* magic numbers of U0 */ for(unsigned int i = 0; i < dim; i++){ a[L][i] = e(i).real()/2./b0; for (unsigned int j = 0; j < dim; j++){ for (unsigned int k = 0; k < dim; k++){ b[L][i][j][k] = V(i, k).real() * Vi(k, j).real(); } } } gs = (b1/2./b0/b0) * Vi * Gamma_s0T * V - (1./2./b0) * Vi * Gamma_s1T * V; for(unsigned int i = 0; i<dim ; i++){ for(unsigned int j = 0; j<dim ; j++){ gs.assign( i , j, gs(i,j)/(1. + a[L][i] - a[L][j])); } } Js = V * gs * Vi; /*magic numbers related to Js*/ JsV = Js*V; ViJs = Vi * Js; for(unsigned int i = 0; i<dim; i++){ for(unsigned int j = 0; j<dim; j++){ for(unsigned int k = 0; k<dim; k++){ c[L][i][j][k] = JsV(i, k).real() * Vi(k, j).real(); d[L][i][j][k] = -V(i, k).real() * ViJs(k, j).real(); } } } ge0 = (1./2./b0) * Vi * Gamma_eT * V; for(unsigned int i = 0; i<dim ; i++){ for(unsigned int j = 0; j<dim ; j++){ ge0.assign( i , j, ge0(i,j)/(1. - a[L][i] + a[L][j])); } } K0 = V * ge0 * Vi; /*magic numbers related to K0*/ K0V = K0*V; ViK0 = Vi * K0; for(unsigned int i = 0; i<dim; i++){ for(unsigned int j = 0; j<dim; j++){ for(unsigned int k = 0; k<dim; k++){ m[L][i][j][k] = K0V(i, k).real() * Vi(k, j).real(); n[L][i][j][k] = -V(i, k).real() * ViK0(k, j).real(); } } } ge11 = Gamma_seT - (b1/b0) * Gamma_eT + Gamma_eT * Js - Js * Gamma_eT; ge11 = Vi * ge11; ge11 = ge11 * V; for(unsigned int i = 0; i<dim ; i++){ for(unsigned int j = 0; j<dim ; j++){ if(fabs(a[L][j]-a[L][i])> 0.00000000001){ ge11.assign( i , j, ge11(i,j)/( 2. * b0 * (a[L][j] - a[L][i]))); } else{ ge11sing.assign( i, j, ge11(i,j)/2./b0); ge11.assign( i , j, 0.); } } } K11 = V * ge11 * Vi; K11sing = V * ge11sing * Vi; /*magic numbers related to K11*/ K11V = K11 * V; ViK11 = Vi * K11; K11singV = K11sing * V; if(L==1){ } for(unsigned int i = 0; i<dim ; i++){ for(unsigned int j = 0; j<dim ; j++){ for(unsigned int k = 0; k<dim ; k++){ o[L][i][j][k] = K11V(i, k).real() * Vi(k, j).real(); p[L][i][j][k] = -V(i, k).real() * ViK11(k, j).real(); u[L][i][j][k] = K11singV(i, k).real() * Vi(k, j).real(); } } } /*magic numbers related to K12 and K13*/ JsK0V = Js * K0 * V; ViK0Js = Vi * K0 * Js; for(unsigned int i = 0; i<dim ; i++){ for(unsigned int j = 0; j<dim ; j++){ for(unsigned int k=0; k<dim; k++){ q[L][i][j][k] = JsK0V(i, k).real() * Vi(k, j).real(); r[L][i][j][k] = V(i, k).real() * ViK0Js(k, j).real(); s[L][i][j][k] = -JsV(i, k).real() * ViK0(k, j).real(); t[L][i][j][k] = -K0V(i, k).real() * ViJs(k, j).real(); } } } } }
ParamObs::ParamObs(const StandardModel& SM_i, std::string name) : ThObservable(SM_i), param(SM_i.getModelParam(name)) { }
/* Parameters for StandardModel class */ void LEP2TFtestclass::setModelParameters(StandardModel& Model_i) { std::map<std::string, double> Parameters; // 17+5 parameters defined in StandardModel //Parameters["GF"] = 1.16637E-5; Parameters["mneutrino_1"] = 0.0; Parameters["mneutrino_2"] = 0.0; Parameters["mneutrino_3"] = 0.0; //Parameters["melectron"] = 0.54857990943e-3; //Parameters["mmu"] = 0.1134289256; //Parameters["mtau"] = 1.77682; Parameters["lambda"] = 0.2253; Parameters["A"] = 0.808; Parameters["rhob"] = 0.132; Parameters["etab"] = 0.341; //Parameters["ale"] = 1.0/137.035999679; //Parameters["dAle5Mz"] = 0.02758; //Parameters["mHl"] = 130.0; Parameters["muw"] = 80.0; //Parameters["mub"] = 4.2; //Parameters["muc"] = 1.4; // Parameters["phiEpsK"] = 0.0; Parameters["DeltaMK"] = 0.0; Parameters["KbarEpsK"] = 0.0; Parameters["Dmk"] = 0.0; Parameters["SM_M12D" ] = 0.0; // 26+16+1 parameters defined in QCD //Parameters["AlsMz"] = 0.1184; //Parameters["Mz"] = 91.1876; //Parameters["mup"] = 0.003; //Parameters["mdown"] = 0.007; //Parameters["mcharm"] = 1.5; //Parameters["mstrange"] = 0.1; //Parameters["mtop"] = 174.0; //Parameters["mbottom"] = 4.28; Parameters["mut"] = 175.0; Parameters["mub"] = 4.2; Parameters["muc"] = 1.4; Parameters["MBd"] = 0.0; Parameters["MBs"] = 0.0; Parameters["MBp"] = 0.0; Parameters["MK0"] = 0.0; Parameters["MKp"] = 0.0; Parameters["FBs"] = 0.0; Parameters["FBsoFBd"] = 0.0; Parameters["BBsoBBd"] = 0.0; Parameters["BBs1"] = 0.0; Parameters["BBs2"] = 0.0; Parameters["BBs3"] = 0.0; Parameters["BBs4"] = 0.0; Parameters["BBs5"] = 0.0; Parameters["BBsscale"] = 0.0; Parameters["BBsscheme"] = 0.0; // Parameters["MD"] = 0.0; Parameters["FD"] = 0.0; Parameters["BD1"] = 0.0; Parameters["BD2"] = 0.0; Parameters["BD3"] = 0.0; Parameters["BD4"] = 0.0; Parameters["BD5"] = 0.0; Parameters["BDscale"] = 0.0; Parameters["BDscheme"] = 0.0; Parameters["BK1"] = 0.0; Parameters["BK2"] = 0.0; Parameters["BK3"] = 0.0; Parameters["BK4"] = 0.0; Parameters["BK5"] = 0.0; Parameters["BKscale"] = 0.0; Parameters["BKscheme"] = 0.0; Parameters["FK"] = 0.0; /** To make comparisons with ZFITTER codes **/ Parameters["GF"] = 1.16637E-5; // for GFER=2 Parameters["melectron"] = 0.51099907e-3; Parameters["mmu"] = 0.105658389; Parameters["mtau"] = 1.77705; Parameters["mup"] = 0.062; Parameters["mdown"] = 0.083; //Parameters["mcharm"] = 1.50; // In ZFitter, 1.5 is the pole mass, but we input it to loop functions by hand for comparisons. Parameters["mstrange"] = 0.215; //Parameters["mbottom"] = 4.70; // In ZFitter, 4.7 is the pole mass, but we input it to loop functions by hand for comparisons. Parameters["ale"] = 1.0/137.0359895; Parameters["Mz"] = 91.1875; Parameters["AlsMz"] = 0.118; Parameters["dAle5Mz"] = 0.02758; Parameters["mHl"] = 125.7; Parameters["mtop"] = 173.18; /* mb(Mz)= 0.56381685 and mc(Mz)= 2.8194352 in ZFitter */ /* In case where bDebug in EWSMcache class is set to true, the RG running * effects of the quark masses are neglected. */ Parameters["mcharm"] = 0.56381685; Parameters["mbottom"] = 2.8194352; Model_i.Init(Parameters); }
void setSMparameters(StandardModel& SM_i) { map<string, double> Parameters; // 15+5 parameters defined in StandardModel Parameters["GF"] = 1.16637E-5; Parameters["mneutrino_1"] = 0.0; Parameters["mneutrino_2"] = 0.0; Parameters["mneutrino_3"] = 0.0; Parameters["melectron"] = 0.54857990943e-3; Parameters["mmu"] = 0.1134289256; Parameters["mtau"] = 1.77682; Parameters["lambda"] = 0.2253; Parameters["A"] = 0.808; Parameters["rhob"] = 0.132; Parameters["etab"] = 0.341; Parameters["ale"] = 1.0/137.035999679; Parameters["dAle5Mz"] = 0.02758; // not used when ALEM=3 Parameters["mHl"] = 130.0; Parameters["muw"] = 0.0; // Parameters["phiEpsK"] = 0.0; Parameters["DeltaMK"] = 0.0; Parameters["KbarEpsK"] = 0.0; Parameters["Dmk"] = 0.0; Parameters["SM_M12D" ] = 0.0; // 26+16 parameters defined in QCD Parameters["AlsMz"] = 0.1184; Parameters["Mz"] = 91.1876; Parameters["mup"] = 0.003; Parameters["mdown"] = 0.007; Parameters["mcharm"] = 1.5; Parameters["mstrange"] = 0.1; Parameters["mtop"] = 174.0; Parameters["mbottom"] = 4.28; // Parameters["mut"] = 175.0; Parameters["mub"] = 5.0; Parameters["muc"] = 1.5; Parameters["tBd"] = 0.0; Parameters["tKp"] = 0.0; Parameters["tBp"] = 0.0; Parameters["tBs"] = 0.0; Parameters["tKstar"] = 0.0; Parameters["tphi"] = 0.0; Parameters["MBd"]=5.279; Parameters["tBd"]=1.519; Parameters["MBs"]=5.366; Parameters["tBs"]=1.512; Parameters["DGs_Gs"]=0.130; Parameters["MBp"]=5.279; Parameters["tBp"]=1.638; Parameters["MK0"]=0.4976; Parameters["MKp"]=0.4937; Parameters["MKstar"]=0.89166; Parameters["tKstar"]=1.; Parameters["Mphi"]=1.019461; Parameters["tphi"]=1.; Parameters["FK"]= 0.1561; Parameters["FBs"]=0.2277; Parameters["FKstar"]=0.225; Parameters["FKstarp"]= 0.185; Parameters["Fphi"]=0.254; Parameters["Fphip"]= 0.215; Parameters["FBsoFBd"]= 1.202; Parameters["csi"]= 1.06; Parameters["FBsSqrtBBs1"]=0.875; Parameters["FBsSqrtBBs2"]=0.73; Parameters["FBsSqrtBBs3"]=0.89; Parameters["FBsSqrtBBs4"]=0.93; Parameters["FBsSqrtBBs5"]=1.57; Parameters["BBsscale"]=4.29; Parameters["BBsscheme"]= 0.; // Parameters["lambda"]=0.2255; //HEPFit default // Parameters["A"]=0.82; //HEPFit default // Parameters["rhob"]=0.132; //HEPFit default // Parameters["etab"]=0.351; //HEPFit default Parameters["lambda"] = 0.2253; //ZFitter Parameters["A"] = 0.808; //ZFitter Parameters["rhob"] = 0.132; //ZFitter Parameters["etab"] = 0.341; //ZFitter Parameters["muw"]=80.385; Parameters["phiEpsK"]= 43.51; Parameters["KbarEpsK"]=.97; Parameters["DeltaMK"]= 3.483e-15; Parameters["Dmk"]=1.7415e-15; Parameters["SM_M12D"]= 0.; Parameters["MD"]= 1.865; Parameters["FD"]= 0.212; Parameters["BD1"]=0.75; Parameters["BD2"]=0.97; Parameters["BD3"]=1.51; Parameters["BD4"]=1.22; Parameters["BD5"]=1.62; Parameters["BDscale"]= 2.; Parameters["BDscheme"]=2.; Parameters["BK1"]=0.51; Parameters["BK2"]=0.73; Parameters["BK3"]=1.29; Parameters["BK4"]=1.04; Parameters["BK5"]=0.76; Parameters["BKscale"]= 2.; Parameters["BKscheme"]=2.; Parameters["EpsK"]=0.; Parameters["BK(1/2)1"]=0.; Parameters["BK(1/2)2"]=0.; Parameters["BK(1/2)3"]=0.; Parameters["BK(1/2)4"]=0.; Parameters["BK(1/2)5"]=0.; Parameters["BK(1/2)6"]=0.; Parameters["BK(1/2)7"]=0.; Parameters["BK(1/2)8"]=0.; Parameters["BK(1/2)9"]=0.; Parameters["BK(1/2)10"]= 0.; Parameters["BKd_scale"]= 0.; Parameters["BKd_scheme"]=0.; Parameters["BK(3/2)1"]=0.; Parameters["BK(3/2)2"]=0.; Parameters["BK(3/2)3"]=0.; Parameters["BK(3/2)4"]=0.; Parameters["BK(3/2)5"]=0.; Parameters["BK(3/2)6"]=0.; Parameters["BK(3/2)7"]=0.; Parameters["BK(3/2)8"]=0.; Parameters["BK(3/2)9"]=0.; Parameters["BK(3/2)10"]= 0.; Parameters["ReA0_Kd"]= 0.; Parameters["ReA2_Kd"]= 0.; Parameters["Omega_eta_etap"]=0.; Parameters["Br_Kp_P0enu"]= 0.0; Parameters["Br_Kp_munu"]=0.; Parameters["Br_B_Xcenu"]=0.1061; Parameters["DeltaP_cu"]= 0.04; Parameters["IB_Kl"]= 0.; Parameters["IB_Kp"]= 0.; Parameters["tKl"]=5.116e4; Parameters["tKp"]=1.2830e4; Parameters["absh_0"]=0.000; Parameters["absh_p"]=0.000; Parameters["absh_m"]=0.000; Parameters["argh_0"]=0.000; Parameters["argh_p"]=0.000; Parameters["argh_m"]=0.000; Parameters["absh_0_1"]= 0.000; Parameters["absh_p_1"]= 0.000; Parameters["absh_m_1"]= 0.000; Parameters["argh_0_1"]= 0.000; Parameters["argh_p_1"]= 0.000; Parameters["argh_m_1"]= 0.000; Parameters["absh_0_2"]= 0.000; Parameters["absh_p_2"]= 0.000; Parameters["absh_m_2"]= 0.000; Parameters["argh_0_2"]= 0.000; Parameters["argh_p_2"]= 0.000; Parameters["argh_m_2"]= 0.000; Parameters["absh_0_MP"]=0.0005; Parameters["argh_0_MP"]=0.0005; Parameters["absh_0_1_MP"]=0.; Parameters["argh_0_1_MP"]=0.; Parameters["a_0V"]=0.365642; Parameters["a_1V"]=-1.08352; Parameters["a_2V"]=2.46546; Parameters["MRV"]=5.415; Parameters["a_0A0"]= 0.390635; Parameters["a_1A0"]= -1.15441; Parameters["a_2A0"]= 2.08102; Parameters["MRA0"]=5.366; Parameters["a_0A1"]= 0.289097; Parameters["a_1A1"]= 0.30781; Parameters["a_2A1"]= 0.722586; Parameters["MRA1"]=5.829; Parameters["a_0A12"]=0.280786; Parameters["a_1A12"]=0.571374; Parameters["a_2A12"]=0.138278; Parameters["MRA12"]= 5.829; Parameters["a_0T1"]= 0.30833; Parameters["a_1T1"]= -0.961551; Parameters["a_2T1"]= 2.00707; Parameters["MRT1"]=5.415; Parameters["a_0T2"]= 0.30833; Parameters["a_1T2"]= 0.423666; Parameters["a_2T2"]= 2.02091; Parameters["MRT2"]=5.829; Parameters["a_0T23"]=0.793279; Parameters["a_1T23"]=1.26374; Parameters["a_2T23"]=1.96215; Parameters["MRT23"]= 5.829; Parameters["a_0Vphi"]=0.0326803; Parameters["a_1Vphi"]=0.299559; Parameters["a_2Vphi"]=1.53848; Parameters["MRVphi"]=5.415; Parameters["a_0A0phi"]= 0.0350432; Parameters["a_1A0phi"]= 0.304956; Parameters["a_2A0phi"]= 1.52243; Parameters["MRA0phi"]=5.366; Parameters["a_0A1phi"]= 0.0271721; Parameters["a_1A1phi"]= 0.218872; Parameters["a_2A1phi"]= 0.834282; Parameters["MRA1phi"]=5.829; Parameters["a_0A12phi"]=0.0222117; Parameters["a_1A12phi"]=0.175381; Parameters["a_2A12phi"]=0.999736; Parameters["MRA12phi"]= 5.829; Parameters["a_0T1phi"]= 0.0300715; Parameters["a_1T1phi"]= 0.2296; Parameters["a_2T1phi"]= 1.3049; Parameters["MRT1phi"]=5.415; Parameters["a_0T2phi"]= 0.0300715; Parameters["a_1T2phi"]= 0.2139; Parameters["a_2T2phi"]= 1.13133; Parameters["MRT2phi"]=5.829; Parameters["a_0T23phi"]=0.0614055; Parameters["a_1T23phi"]=0.473111; Parameters["a_2T23phi"]=2.5058; Parameters["MRT23phi"]= 5.829; Parameters["r_1_fplus"]=0.162; Parameters["r_2_fplus"]=0.173; Parameters["m_fit2_fplus"]= 29.2681; Parameters["r_1_fT"]=0.161; Parameters["r_2_fT"]=0.198; Parameters["m_fit2_fT"]=29.2681; Parameters["r_2_f0"]=0.330; Parameters["m_fit2_f0"]=37.46; Parameters["bsgamma_E0"]= 1.6; Parameters["BLNPcorr"]= 0.; Parameters["Gambino_mukin"]=1.; Parameters["Gambino_BRsem"]=10.67; Parameters["Gambino_Mbkin"]=4.564; Parameters["Gambino_Mcatmuc"]=1.087; Parameters["Gambino_mupi2"]=0.470; Parameters["Gambino_rhoD3"]=0.171; Parameters["Gambino_muG2"]= 0.309; Parameters["Gambino_rhoLS3"]=-0.135; Parameters["lambdaB"]=0.350; Parameters["alpha1kst"]=0.2; Parameters["alpha2kst"]=0.05; Parameters["alpha2phi"]=0.; Parameters["alpha1kp"]=0.2; Parameters["alpha2kp"]=0.05; Parameters["delMw"]=0.; Parameters["delSin2th_l"]=0.; Parameters["delGammaZ"]=0.; Parameters["delR0b"]=0.; // /* TEST for ZFITTER */ // Parameters["Mz"] = 91.1876; // Parameters["mtop"] = 178.0; // Parameters["mHl"] = 100.0; // Parameters["AlsMz"] = 0.117; // Parameters["dAle5Mz"] = 0.027572; /** To make comparisons with ZFITTER codes **/ Parameters["GF"] = 1.16637E-5; // for GFER=2 Parameters["melectron"] = 0.51099907e-3; Parameters["mmu"] = 0.105658389; Parameters["mtau"] = 1.77705; Parameters["mup"] = 0.062; Parameters["mdown"] = 0.083; Parameters["mcharm"] = 1.50; // In ZFitter, 1.5 is the pole mass. Parameters["mstrange"] = 0.215; Parameters["mbottom"] = 4.70; // In ZFitter, 4.7 is the pole mass. Parameters["ale"] = 1.0/137.0359895; /* TEST for Table 6.1 in hep-ph/0507146*/ /* flags: AMT4=6, ALEM=2 */ Parameters["Mz"] = 91.1875; Parameters["mtop"] = 175.0; Parameters["mHl"] = 150.0; Parameters["AlsMz"] = 0.118; Parameters["dAle5Mz"] = 0.02758; /* to make mb(Mz) and mc(Mz) similar to ZFitter ones */ /* mcMz = 0.56381685, mbMz = 2.8194352 */ /* muMz = 0.062, mdMz = 0.083, msMz = 0.215 */ Parameters["mbottom"] = 4.122; Parameters["mub"] = 4.122; Parameters["mcharm"] = 1.171; Parameters["muc"] = 1.171; SM_i.Init(Parameters); }
EvolDC1Buras::EvolDC1Buras(unsigned int dim_i, schemes scheme, orders order, const StandardModel& model) : RGEvolutor(dim_i, scheme, order), model(model), v(dim_i,0.), vi(dim_i,0.), js(dim_i,0.), h(dim_i,0.), gg(dim_i,0.), s_s(dim_i,0.), jssv(dim_i,0.), jss(dim_i,0.), jv(dim_i,0.), vij(dim_i,0.), e(dim_i,0.), dim(dim_i) { /*magic numbers a & b */ for(int L=2; L>-1; L--){ /* L=2 --> u,d,s,c (nf=4) L=1 --> u,d,s,c,b (nf=5) L=0 --> u,d,s,c,b,t (nf=6)*/ nu = L; nd = L; if(L == 1){nd = 3; nu = 2;} if(L == 0){nd = 3; nu = 3;} AnomalousDimension_DC1_Buras(LO,nu,nd).transpose().eigensystem(v,e); vi = v.inverse(); for(unsigned int i = 0; i < dim; i++){ a[L][i] = e(i).real(); for (unsigned int j = 0; j < dim; j++) { for (unsigned int k = 0; k < dim; k++) { b[L][i][j][k] = v(i, k).real() * vi(k, j).real(); } } } // LO evolutor in the standard basis gg = vi * AnomalousDimension_DC1_Buras(NLO,nu,nd).transpose() * v; double b0 = model.Beta0(6-L); double b1 = model.Beta1(6-L); for (unsigned int i = 0; i < dim; i++){ for (unsigned int j = 0; j < dim; j++){ s_s.assign( i, j, (b1 / b0) * (i==j) * e(i).real() - gg(i,j)); if(fabs(e(i).real() - e(j).real() + 2. * b0)>0.00000000001){ h.assign( i, j, s_s(i,j) / (2. * b0 + e(i) - e(j))); } } } js = v * h * vi; jv = js * v; vij = vi * js; jss = v * s_s * vi; jssv = jss * v; for (unsigned int i = 0; i < dim; i++){ for (unsigned int j = 0; j < dim; j++){ if(fabs(e(i).real() - e(j).real() + 2. * b0) > 0.00000000001){ for(unsigned int k = 0; k < dim; k++){ c[L][i][j][k] = jv(i, k).real() * vi(k, j).real(); d[L][i][j][k] = -v(i, k).real() * vij(k, j).real(); } } else{ for(unsigned int k = 0; k < dim; k++){ c[L][i][j][k] = (1./(2. * b0)) * jssv(i, k).real() * vi(k, j).real(); d[L][i][j][k] = 0.; } } } } } }