13: myLRSM(LRSM_in), Msqneutral(5, 5, 0.)
29 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
35 double kappa = sqrt(0.5) * vev * (1.0 - 0.5 *
xi *
xi);
36 double kappasq = kappa*kappa;
38 double mWR2 = mWR*mWR;
49 Msqneutral.assign(0, 4, (2.0 * kappa * mWR * (alpha1 + 2.0 * alpha2 *
xi)) / g2);
51 Msqneutral.assign(1, 1, -((xi2 * ((2.0 * mH2psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2) + 4.0 * kappasq * (2.0 *
lambda2 -
lambda3)*(xi2 - 1.0))) / (xi2 - 1.0)));
52 Msqneutral.assign(1, 3, -((
xi * ((2.0 * mH2psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2) + 4.0 * kappasq * (2.0 *
lambda2 -
lambda3)*(xi2 - 1.0))) / (xi2 - 1.0)));
56 Msqneutral.assign(2, 4, (2.0 * kappa * mWR * (2.0 * alpha2 + ((2.0 * mH2psq) / (kappasq + (2.0 * mWR2) / g2_2) + alpha1) *
xi)) / g2);
58 Msqneutral.assign(3, 1, -((
xi * ((2.0 * mH2psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2) + 4.0 * kappasq * (2.0 *
lambda2 -
lambda3)*(xi2 - 1.0))) / (xi2 - 1.0)));
59 Msqneutral.assign(3, 3, -(((2.0 * mH2psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2) + 4.0 * kappasq * (2.0 *
lambda2 -
lambda3)*(xi2 - 1.0)) / (xi2 - 1.0)));
61 Msqneutral.assign(4, 0, (2.0 * kappa * mWR * (alpha1 + 2.0 * alpha2 *
xi)) / g2);
62 Msqneutral.assign(4, 2, (2.0 * kappa * mWR * (2.0 * alpha2 + ((2.0 * mH2psq) / (kappasq + (2.0 * mWR2) / g2_2) + alpha1) *
xi)) / g2);
63 Msqneutral.assign(4, 4, (4.0 * mWR2 * rho1) / g2_2);
65 gslpp::vector<gslpp::complex> mH0sq_i(5, 0.);
67 for (
int i = 0; i < 5; i++) {
68 mH0sq[i] = mH0sq_i(i).real();
72 for (
int i = 0; i < 5; i++)
76 for (
int i = 0; i < 4; i++) {
77 for (
int k = i + 1; k < 5; k++)
78 if (mH0sq[i] > mH0sq[k]) {
79 std::swap(mH0sq[i], mH0sq[k]);
80 std::swap(newIndex[i], newIndex[k]);
91 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
97 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
99 double mWR2 = mWR*mWR;
104 mH0sq_app[0] = kappasq * (4.0 *
lambda1 - (alpha1 * alpha1) / rho1)+(2.0 * mH2psq * mWR2 *
xi *
xi) / (g2_2 * kappasq + 2.0 * mWR2);
105 mH0sq_app[1] = (4.0 * mWR2 * rho1) / g2_2;
106 mH0sq_app[2] = (g2_2 * kappasq * (mH1psq - mH2psq) + 2.0 * mH1psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2);
107 mH0sq_app[3] = (2.0 * mH2psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2);
110 for (
int i = 0; i < 4; i++)
114 for (
int i = 0; i < 3; i++) {
115 for (
int k = i + 1; k < 4; k++)
116 if (mH0sq_app[i] > mH0sq_app[k]) {
117 std::swap(mH0sq_app[i], mH0sq_app[k]);
118 std::swap(newIndex[i], newIndex[k]);
134 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
138 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
140 double mWR2 = mWR*mWR;
152 return (mWR2 * alpha1) / g2_2 + 2.0 * kappasq*
lambda1;
164 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
169 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
171 double mWR2 = mWR*mWR;
175 return (mWR2 * alpha2) / g2_2 + kappasq *
lambda4 + (mH2psq * mWR2 *
xi) / (g2_2 * kappasq + 2.0 * mWR2);
187 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
191 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
193 double mWR2 = mWR*mWR;
197 return (2.0 * mWR2 * rho1) / g2_2 + kappasq*alpha1;
209 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
215 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
217 double mWR2 = mWR*mWR;
219 return g2_2 * (mdeltappRsq - (2.0 * kappasq * mH2psq) / (kappasq + (2.0 * mWR2) / g2_2)) / (4.0 * mWR2);
231 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
237 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
239 double mWR2 = mWR*mWR;
242 return 2.0 * rho1 + g2_2 / mWR2 * (mH1psq - (g2_2 * kappasq * mH2psq) / (g2_2 * kappasq + 2.0 * mWR2));
254 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
259 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
261 double mWR2 = mWR*mWR;
263 return (2.0 * mH2psq) / ((2.0 * mWR2) / g2_2 + kappasq);
275 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
281 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
283 double mWR2 = mWR*mWR;
285 return sqrt((g2_2 * kappasq * (mH1psq - mH2psq) + 2.0 * mH1psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2));
297 double g2 = sqrt(4.0 * M_PI * Ale / (1 - cW2));
303 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
305 double mWR2 = mWR*mWR;
307 return sqrt((g2_2 * kappasq * (mH1psq - mH2psq) + 2.0 * mH1psq * mWR2) / (g2_2 * kappasq + 2.0 * mWR2));
319 double kappasq = 0.5 * vev * vev * (1.0 -
xi *
xi);
324 return sqrt(kappasq * (4.0 *
lambda1 - (alpha1 * alpha1) / rho1));
347 throw std::runtime_error(
"MH0_LRSM::computeThValue(): undefined index");
369 throw std::runtime_error(
"MH0_app::computeThValue(): undefined index");
~LRSMquantities()
LRSMquantities constructor.
bool CalcNeutralMasses(gslpp::matrix< gslpp::complex > &U_i, double mH0sq[5])
Computes the exact neutral spectrum at tree level.
bool CalcNeutralMasses_app(double mH0sq_app[4])
Computes the approximate neutral spectrum at tree level.
LRSMquantities(const LeftRightSymmetricModel &LRSM_in)
const LeftRightSymmetricModel & myLRSM
gslpp::matrix< double > Msqneutral
Stores the tree-level neutral mass square matrix.
A base class for generic Left Right Symmetric Models.
double getxi_LRSM() const
double getalpha1_LRSM() const
double getmdeltappR_2() const
double getalpha2_LRSM() const
double getmH0sq1() const
Gets the first scalar mass square.
double getlambda3_LRSM() const
double getlambda1_LRSM() const
double getlambda4_LRSM() const
double getmH0sq3() const
Gets the third scalar mass square.
double getmH0sq4() const
Gets the fourth scalar mass square.
double getmH0sq5() const
Gets the fifth scalar mass square.
double getlambda2_LRSM() const
double getmH0sq2() const
Gets the second scalar mass square.
double getrho1_LRSM() const
double getmH0sq3_app() const
Gets the approximate third scalar mass square.
double getmH0sq1_app() const
Gets the approximate first scalar mass square.
double getmH0sq2_app() const
Gets the approximate second scalar mass square.
double getmH0sq4_app() const
Gets the approximate fourth scalar mass square.
MH01_app1(const StandardModel &SM_i)
MH01_app1 constructor.
const LeftRightSymmetricModel * myLRSM
MH05_LRSM(const StandardModel &SM_i)
MH05_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
const LeftRightSymmetricModel * myLRSM
MH06_LRSM(const StandardModel &SM_i)
MH06_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
MH0_LRSM(const StandardModel &SM_i, const int ind)
MH0_app(const StandardModel &SM_i, const int ind)
const LeftRightSymmetricModel * myLRSM
A model class for the Standard Model.
const double c02() const
The square of the cosine of the weak mixing angle defined without weak radiative corrections.
const double v() const
The Higgs vacuum expectation value.
const double getAle() const
A get method to retrieve the fine-structure constant .
A class for a model prediction of an observable.
const LeftRightSymmetricModel * myLRSM
alpha3_LRSM(const StandardModel &SM_i)
alpha3_LRSM constructor.
parameter of the Higgs potential
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
mu1_2_LRSM(const StandardModel &SM_i)
mu1_2_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
const LeftRightSymmetricModel * myLRSM
mu2_2_LRSM(const StandardModel &SM_i)
mu2_2_LRSM constructor.
mu3_2_LRSM(const StandardModel &SM_i)
mu3_2_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
rho2_LRSM(const StandardModel &SM_i)
rho2_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
rho3_LRSM(const StandardModel &SM_i)
rho3_LRSM constructor.
const LeftRightSymmetricModel * myLRSM
A class for , relevant for mesons mixing in the Standard Model.