17 U(2,2,0.), V(2,2,0.), N(4,4,0.),
18 Msup2(6,0.), Msdown2(6,0.), Msneutrino2(6,0.), Mselectron2(6,0.),
19 mch(2,0.), mneu(4,0.), m_su2(6,0.), m_sd2(6,0.), m_sn2(6,0.), m_se2(6,0.),
20 Ru(6,6,0.), Rd(6,6,0.), Rn(6,6,0.), Rl(6,6,0.)
36 double temp =
mh[2] *
mh[2] + Mz * Mz;
37 double temp1 = 2.0 *
mh[2] * Mz * cos2b;
38 double temp2 =
sqrt(temp * temp - temp1 * temp1);
41 mh[0] =
sqrt((temp - temp2)/2.0);
44 mh[1] =
sqrt((temp + temp2)/2.0);
47 saeff_i =
sin(atan((
mh[2]*
mh[2]+Mz*Mz)*
sqrt(1-cos2b*cos2b)/((
mh[2]*
mh[2]-Mz*Mz)*cos2b))/2.0);
67 Mchargino.singularvalue(Utmp, Vtmp, mch_i);
72 U_i = Utmp.transpose();
73 V_i = Vtmp.hconjugate();
82 double cW2 =
Mw*
Mw/Mz/Mz;
83 double cW =
sqrt(cW2);
84 double sW =
sqrt(1.0 - cW2);
119 Mdiag_tmp = Nright.hconjugate().transpose() *
Mneutralino * Nright.hconjugate();
122 for(
int i = 0; i < 4; i++)
135 double sW2 = 1.0 -
Mw*
Mw/Mz2;
147 + cos2b * Mz2 * (1.0/2.0 - 2.0/3.0 * sW2) * Id3 );
151 for(
int i = 0; i < 3; i++)
152 for(
int j = 0; j < 3; j++) {
153 Msup2.assign(i, j, uLL(i,j));
154 Msup2.assign(i, j+3, uLR(i,j));
155 Msup2.assign(i+3, j, uLR(j,i).conjugate());
156 Msup2.assign(i+3, j+3, uRR(i,j));
164 Msup2.eigensystem(RuTmp, m_su2_i);
166 Ru_i = RuTmp.hconjugate();
176 double sW2 = 1.0 -
Mw*
Mw/Mz2;
187 + cos2b * Mz2 * (- 1.0/2.0 + 1.0/3.0 * sW2) * Id3 );
191 for(
int i = 0; i < 3; i++)
192 for(
int j = 0; j < 3; j++) {
193 Msdown2.assign(i, j, dLL(i,j));
194 Msdown2.assign(i, j+3, dLR(i,j));
195 Msdown2.assign(i+3, j, dLR(j,i).conjugate());
196 Msdown2.assign(i+3, j+3, dRR(i,j));
204 Msdown2.eigensystem(RdTmp, m_sd2_i);
206 Rd_i = RdTmp.hconjugate();
221 for(
int i = 0; i < 3; i++) {
222 for(
int j = 0; j < 3; j++) {
236 m_sn2_i(0)=std::numeric_limits<double>::max();
237 m_sn2_i(1)=std::numeric_limits<double>::max();
238 m_sn2_i(2)=std::numeric_limits<double>::max();
239 Rn_i = RnTmp.hconjugate();
249 double sW2 = 1.0 -
Mw*
Mw/Mz2;
259 + cos2b * Mz2 * (- 1.0/2.0 + sW2) * Id3 );
264 for(
int i = 0; i < 3; i++)
266 for(
int j = 0; j < 3; j++)
282 Rl_i = RlTmp.hconjugate();
291 for (
int i = 0; i < 6; i++)
295 for (
int i = 0; i < 5; i++)
296 for (
int k = i + 1; k < 6; k++)
297 if (m_sf2(i) > m_sf2(k)) {
298 std::swap(m_sf2(i), m_sf2(k));
299 std::swap(newIndex[i], newIndex[k]);
305 for (
int i = 0; i < 6; i++)
306 for (
int k = 0; k < 6; k++)
307 myRf.assign(k, i, Rf(newIndex[k], i));