/// Return GiNac exmap with MSSM (Yukawa Model) parameters GiNaC::exmap drBarPars_exmap(const MssmSoftsusy & mssy_) { exmap mass_n_coupls; softsusy::drBarPars drb_params(mssy_.displayDrBarPars()); mass_n_coupls[MSSM::mt] = drb_params.mt; mass_n_coupls[MSSM::mb] = drb_params.mb; mass_n_coupls[MSSM::MZ] = drb_params.mz; mass_n_coupls[MSSM::MW] = drb_params.mw; // -------------- physical higgses masses ------------ // mass_n_coupls[MSSM::mh0] = drb_params.mh0(1); mass_n_coupls[MSSM::mA0] = drb_params.mA0(1); mass_n_coupls[MSSM::mH0] = drb_params.mh0(2); mass_n_coupls[MSSM::mHp] = drb_params.mHpm; // -------------- higgses mixing --------------------- // { ex tb_num(mssy_.displayTanb()); ex cb_num = pow(pow(tb_num, 2) +1, numeric(-1,2)).evalf(); ex sb_num = (tb_num*cb_num).evalf(); ex alhpa_num(drb_params.thetaH); ex ca_num = cos(alhpa_num).evalf(); ex sa_num = sin(alhpa_num).evalf(); mass_n_coupls[MSSM::TB] = tb_num; mass_n_coupls[MSSM::SB] = sb_num; mass_n_coupls[MSSM::CB] = cb_num; mass_n_coupls[MSSM::CA] = ca_num; mass_n_coupls[MSSM::SA] = sa_num; // ------------------- gluino mass ------------------- // if ((close(drb_params.mGluino, drb_params.md(1,2),0.003)) || (close(drb_params.mGluino, drb_params.md(2,2),0.003))) { mass_n_coupls[MSSM::mgl] = drb_params.mGluino*0.995; cerr << "gluino mass has been changed by 0.5 % to avoid instability" << endl; } else mass_n_coupls[MSSM::mgl] = drb_params.mGluino; // -------------- sfermion mixings --------------------- // mass_n_coupls[MSSM::csb] = cos(numeric(drb_params.thetab).evalf()); mass_n_coupls[MSSM::snb] = sin(numeric(drb_params.thetab).evalf()); mass_n_coupls[MSSM::cst] = cos(numeric(drb_params.thetat).evalf()); mass_n_coupls[MSSM::snt] = sin(numeric(drb_params.thetat).evalf()); mass_n_coupls[MSSM::csl] = cos(numeric(drb_params.thetatau).evalf()); mass_n_coupls[MSSM::snl] = sin(numeric(drb_params.thetatau).evalf()); // -------------- sfermion masses --------------------- // mass_n_coupls[MSSM::mst1] = numeric(drb_params.mu(1, 3)); mass_n_coupls[MSSM::mst2] = numeric(drb_params.mu(2, 3)); mass_n_coupls[MSSM::msb1] = numeric(drb_params.md(1,3)); mass_n_coupls[MSSM::msb2] = numeric(drb_params.md(2,3)); mass_n_coupls[MSSM::mstau1] = numeric(drb_params.me(1,3)); mass_n_coupls[MSSM::mstau2] = numeric(drb_params.me(2,3)); mass_n_coupls[MSSM::msd1] = numeric(drb_params.md(1,2)); // second generation squarks mass_n_coupls[MSSM::msd2] = numeric(drb_params.md(2,2)); // squarks of generations 1,2 do not mix // -------------- coupling constants ---------------- // mass_n_coupls[MSSM::GS] = mssy_.displayGaugeCoupling(3); mass_n_coupls[MSSM::YT] = drb_params.ht; mass_n_coupls[MSSM::YB] = drb_params.hb; mass_n_coupls[MSSM::YL] = drb_params.htau; // -------------- soft couplings ------------------- // mass_n_coupls[MSSM::MUE] = mssy_.displaySusyMu(); mass_n_coupls[MSSM::At] = mssy_.displaySoftA(UA,3,3); mass_n_coupls[MSSM::Ab] = mssy_.displaySoftA(DA,3,3); mass_n_coupls[MSSM::Al] = mssy_.displaySoftA(EA,3,3); mass_n_coupls[MSSM::ab] = mssy_.displaySoftA(UA,3,3) - mssy_.displaySusyMu()*tb_num; mass_n_coupls[MSSM::at] = mssy_.displaySoftA(DA,3,3) - mssy_.displaySusyMu()/tb_num; ; // --------------- (Scale MZ) --------------// mass_n_coupls[MSSM::scale] = mssy_.displayMu(); //drb_params.mz; // -------------- msusy common scale --------------- // mass_n_coupls[MSSM::msusy] = drb_params.mu(1,1); //sqrt(drb_params.mu(1,3)*drb_params.mu(2,3)); // -------------- tau sneutrino mass --------------- // // mass_n_coupls[MSSM::msntau] = drb_params.msnu(3); // FIXME: need to do msq == mgl return mass_n_coupls; } }
void printLineOut(double m0, double m12, double a0, double tanb, MssmSoftsusy twoLoop, MssmSoftsusy twoLoopAs, MssmSoftsusy & twoLoopMt, MssmSoftsusy & twoLoopMb, MssmSoftsusy & threeLoop, double omega2, double omegaAs, double omegaMt, double omegaMb, double omega3, double msqAv2, double msqAvAs, double msqAvMt, double msqAvMb, double msqAv3, double cs, double csAs, double csMt, double csMb, double cs3, double dA, double dAAs, double dAMt, double dAMb, double dA3, double dY, double dYAs, double dYMt, double dYMb, double dY3, double dYp, double dYpAs, double dYpMt, double dYpMb, double dYp3) { /// Any problems and get gnuplot to ignore the point unless it's only musq /// wrong sign... if (twoLoop.displayProblem().test() || threeLoop.displayProblem().test()) if (!testMuSqWrongSignOnlyProblem(twoLoop.displayProblem()) || !testMuSqWrongSignOnlyProblem(threeLoop.displayProblem())) cout << "# "; cout << m0 ///< 1 << " " << m12 ///< 2 << " " << a0 ///< 3 << " " << tanb ///< 4 << " " << twoLoop.displayPhys().mh0(1) ///< 5 << " " << twoLoopAs.displayPhys().mh0(1) ///< 6 << " " << twoLoopMt.displayPhys().mh0(1) ///< 7 << " " << twoLoopMb.displayPhys().mh0(1) ///< 8 << " " << threeLoop.displayPhys().mh0(1) ///< 9 << " " << twoLoop.displayPhys().mA0(1) ///< 10 << " " << twoLoopAs.displayPhys().mA0(1) ///< 11 << " " << twoLoopMt.displayPhys().mA0(1) ///< 12 << " " << twoLoopMb.displayPhys().mA0(1) ///< 13 << " " << threeLoop.displayPhys().mA0(1) ///< 14 << " " << twoLoop.displayPhys().mh0(2) ///< 15 << " " << twoLoopAs.displayPhys().mh0(2) ///< 16 << " " << twoLoopMt.displayPhys().mh0(2) ///< 17 << " " << twoLoopMb.displayPhys().mh0(2) ///< 18 << " " << threeLoop.displayPhys().mh0(2) ///< 19 << " " << twoLoop.displayPhys().mHpm ///< 20 << " " << twoLoopAs.displayPhys().mHpm ///< 21 << " " << twoLoopMt.displayPhys().mHpm ///< 22 << " " << twoLoopMb.displayPhys().mHpm ///< 23 << " " << threeLoop.displayPhys().mHpm ///< 24 << " " << twoLoop.displayPhys().mGluino ///< 25 << " " << twoLoopAs.displayPhys().mGluino ///< 26 << " " << twoLoopMt.displayPhys().mGluino ///< 27 << " " << twoLoopMb.displayPhys().mGluino ///< 28 << " " << threeLoop.displayPhys().mGluino ///< 29 << " " << msqAv2 ///< 30 << " " << msqAvAs ///< 31 << " " << msqAvMt ///< 32 << " " << msqAvMb ///< 33 << " " << msqAv3 ///< 34 << " " << twoLoop.displayPhys().me(1, 1) ///< 35 << " " << twoLoopAs.displayPhys().me(1, 1) ///< 36 << " " << twoLoopMt.displayPhys().me(1, 1) ///< 37 << " " << twoLoopMb.displayPhys().me(1, 1) ///< 38 << " " << threeLoop.displayPhys().me(1, 1) ///< 39 << " " << twoLoop.displayPhys().me(2, 1) ///< 40 << " " << twoLoopAs.displayPhys().me(2, 1) ///< 41 << " " << twoLoopMt.displayPhys().me(2, 1) ///< 42 << " " << twoLoopMb.displayPhys().me(2, 1) ///< 43 << " " << threeLoop.displayPhys().me(2, 1) ///< 44 << " " << fabs(twoLoop.displayPhys().mneut(1)) ///< 45 << " " << fabs(twoLoopAs.displayPhys().mneut(1)) ///< 46 << " " << fabs(twoLoopMt.displayPhys().mneut(1)) ///< 47 << " " << fabs(twoLoopMb.displayPhys().mneut(1)) ///< 48 << " " << fabs(threeLoop.displayPhys().mneut(1)) ///< 49 << " " << fabs(twoLoop.displayPhys().mneut(2)) ///< 50 << " " << fabs(twoLoopAs.displayPhys().mneut(2)) ///< 51 << " " << fabs(twoLoopMt.displayPhys().mneut(2)) ///< 52 << " " << fabs(twoLoopMb.displayPhys().mneut(2)) ///< 53 << " " << fabs(threeLoop.displayPhys().mneut(2)) ///< 54 << " " << fabs(twoLoop.displayPhys().mneut(3)) ///< 55 << " " << fabs(twoLoopAs.displayPhys().mneut(3)) ///< 56 << " " << fabs(twoLoopMt.displayPhys().mneut(3)) ///< 57 << " " << fabs(twoLoopMb.displayPhys().mneut(3)) ///< 58 << " " << fabs(threeLoop.displayPhys().mneut(3)) ///< 59 << " " << fabs(twoLoop.displayPhys().mneut(4)) ///< 60 << " " << fabs(twoLoopAs.displayPhys().mneut(4)) ///< 61 << " " << fabs(twoLoopMt.displayPhys().mneut(4)) ///< 62 << " " << fabs(twoLoopMb.displayPhys().mneut(4)) ///< 63 << " " << fabs(threeLoop.displayPhys().mneut(4)) ///< 64 << " " << twoLoop.displayPhys().mu(1, 3) ///< 65 << " " << twoLoopAs.displayPhys().mu(1, 3) ///< 66 << " " << twoLoopMt.displayPhys().mu(1, 3) ///< 67 << " " << twoLoopMb.displayPhys().mu(1, 3) ///< 68 << " " << threeLoop.displayPhys().mu(1, 3) ///< 69 << " " << twoLoop.displayPhys().mu(2, 3) ///< 70 << " " << twoLoopAs.displayPhys().mu(2, 3) ///< 71 << " " << twoLoopMt.displayPhys().mu(2, 3) ///< 72 << " " << twoLoopMb.displayPhys().mu(2, 3) ///< 73 << " " << threeLoop.displayPhys().mu(2, 3) ///< 74 << " " << twoLoop.displayPhys().md(1, 3) ///< 75 << " " << twoLoopAs.displayPhys().md(1, 3) ///< 76 << " " << twoLoopMt.displayPhys().md(1, 3) ///< 77 << " " << twoLoopMb.displayPhys().md(1, 3) ///< 78 << " " << threeLoop.displayPhys().md(1, 3) ///< 79 << " " << twoLoop.displayPhys().md(2, 3) ///< 80 << " " << twoLoopAs.displayPhys().md(2, 3) ///< 81 << " " << twoLoopMt.displayPhys().md(2, 3) ///< 82 << " " << twoLoopMb.displayPhys().md(2, 3) ///< 83 << " " << threeLoop.displayPhys().md(2, 3) ///< 84 << " " << twoLoop.displayPhys().me(1, 3) ///< 85 << " " << twoLoopAs.displayPhys().me(1, 3) ///< 86 << " " << twoLoopMt.displayPhys().me(1, 3) ///< 87 << " " << twoLoopMb.displayPhys().me(1, 3) ///< 88 << " " << threeLoop.displayPhys().me(1, 3) ///< 89 << " " << twoLoop.displayPhys().me(2, 3) ///< 90 << " " << twoLoopAs.displayPhys().me(2, 3) ///< 91 << " " << twoLoopMt.displayPhys().me(2, 3) ///< 92 << " " << twoLoopMb.displayPhys().me(2, 3) ///< 93 << " " << threeLoop.displayPhys().me(2, 3) ///< 94 << " " << twoLoop.displayYukawaElement(YU, 3, 3) ///< 95 << " " << twoLoopAs.displayYukawaElement(YU, 3, 3) ///< 96 << " " << twoLoopMt.displayYukawaElement(YU, 3, 3) ///< 97 << " " << twoLoopMb.displayYukawaElement(YU, 3, 3) ///< 98 << " " << threeLoop.displayYukawaElement(YU, 3, 3) ///< 99 << " " << twoLoop.displayYukawaElement(YD, 3, 3) ///< 100 << " " << twoLoopAs.displayYukawaElement(YD, 3, 3) ///< 101 << " " << twoLoopMt.displayYukawaElement(YD, 3, 3) ///< 102 << " " << twoLoopMb.displayYukawaElement(YD, 3, 3) ///< 103 << " " << threeLoop.displayYukawaElement(YD, 3, 3) ///< 104 << " " << twoLoop.displayYukawaElement(YE, 3, 3) ///< 105 << " " << twoLoopAs.displayYukawaElement(YE, 3, 3) ///< 106 << " " << twoLoopMt.displayYukawaElement(YE, 3, 3) ///< 107 << " " << twoLoopMb.displayYukawaElement(YE, 3, 3) ///< 108 << " " << threeLoop.displayYukawaElement(YE, 3, 3); ///< 109 int facMusq3= 1., facMusq2 = 1., facMusq2As = 1., facMusq2Mt = 1., facMusq2Mb = 1.; if (twoLoop.displayProblem().muSqWrongSign) facMusq2 = -1. ; if (twoLoopAs.displayProblem().muSqWrongSign) facMusq2As = -1. ; if (twoLoopMt.displayProblem().muSqWrongSign) facMusq2Mt = -1. ; if (twoLoopMb.displayProblem().muSqWrongSign) facMusq2Mb = -1. ; if (threeLoop.displayProblem().muSqWrongSign) facMusq3 = -1. ; cout << " " << twoLoop.displaySusyMu() * facMusq2 ///< 110 << " " << twoLoopAs.displaySusyMu() * facMusq2As ///< 111 << " " << twoLoopMt.displaySusyMu() * facMusq2Mt ///< 112 << " " << twoLoopMb.displaySusyMu() * facMusq2Mb ///< 113 << " " << threeLoop.displaySusyMu() * facMusq3 ///< 114 << " " << fabs(twoLoop.displayPhys().mch(1)) ///< 115 << " " << fabs(twoLoopAs.displayPhys().mch(1)) ///< 116 << " " << fabs(twoLoopMt.displayPhys().mch(1)) ///< 117 << " " << fabs(twoLoopMb.displayPhys().mch(1)) ///< 118 << " " << fabs(threeLoop.displayPhys().mch(1)) ///< 119 << " " << fabs(twoLoop.displayPhys().mch(2)) ///< 120 << " " << fabs(twoLoopAs.displayPhys().mch(2)) ///< 121 << " " << fabs(twoLoopMt.displayPhys().mch(2)) ///< 122 << " " << fabs(twoLoopMb.displayPhys().mch(2)) ///< 123 << " " << fabs(threeLoop.displayPhys().mch(2)) ///< 124 << " " << omega2 ///< 125 << " " << omegaAs ///< 126 << " " << omegaMt ///< 127 << " " << omegaMb ///< 128 << " " << omega3 ///< 129 << " " << twoLoop.displayGaugeCoupling(3) ///< 130 << " " << twoLoopAs.displayGaugeCoupling(3) ///< 131 << " " << twoLoopMt.displayGaugeCoupling(3) ///< 132 << " " << twoLoopMb.displayGaugeCoupling(3) ///< 133 << " " << threeLoop.displayGaugeCoupling(3) ///< 134 << " " << cs ///< 135 << " " << csAs ///< 136 << " " << csMt ///< 137 << " " << csMb ///< 138 << " " << cs3 ///< 139 << " " << QEWSB ///< 140 << " " << dA ///< 141 << " " << dAAs ///< 142 << " " << dAMt ///< 143 << " " << dAMb ///< 144 << " " << dA3 ///< 145 << " " << dY ///< 146 << " " << dYAs ///< 147 << " " << dYMt ///< 148 << " " << dYMb ///< 149 << " " << dY3 ///< 150 << " " << dYp ///< 151 << " " << dYpAs ///< 152 << " " << dYpMt ///< 153 << " " << dYpMb ///< 154 << " " << dYp3; ///< 155 if (twoLoop.displayProblem().test()) cout << "# 2-loop problem: " << twoLoop.displayProblem(); if (threeLoop.displayProblem().test()) cout << "# 3-loop problem " << threeLoop.displayProblem(); cout << endl; }