50 Particle H = scalarboson_s(
"H", *
this);
51 H->setGroupRep(
"L", 1);
52 H->setGroupRep(
"Y", {1, 2});
55 csl::Index a = generateIndex(
"L", H);
61 csl::Expr
H2 = csl::GetComplexConjugate(H(a)) * H(a);
62 csl::Expr m2 = mh * mh / 2;
63 csl::Expr lam = mh * mh / (2 *
v *
v);
67 addLagrangianTerm(m2 *
H2);
68 addLagrangianTerm(-lam * csl::pow_s(
H2, 2));
73 Particle Phi = scalarboson_s(
"Phi", *
this);
75 Phi->setGroupRep(
"X", 2);
78 m_X = constant_s(
"m_X");
79 vphi = constant_s(
"v_phi");
81 csl::Expr Phi2 = csl::GetComplexConjugate(Phi()) * Phi();
82 csl::Expr lamphi = mphi * mphi / (2 *
vphi *
vphi);
85 addLagrangianTerm(mphi * mphi * Phi2);
86 addLagrangianTerm(-lamphi * csl::pow_s(Phi2, 2));
92 addLagrangianTerm(
lambda_mix * mphi * mphi *Phi2);
124 addGaugedGroup(group::Type::SU,
"C", 3,
g_s);
125 addGaugedGroup(group::Type::SU,
"L", 2, csl::constant_s(
"g_L"));
126 addGaugedGroup(group::Type::U1,
"Y", csl::constant_s(
"g_Y"));
127 addGaugedGroup(group::Type::U1,
"X", csl::constant_s(
"g_X"));
128 addFlavorGroup(
"SM_flavor", 3);
130 renameParticle(
"A_Y",
"B");
131 renameParticle(
"A_L",
"W");
132 renameParticle(
"A_C",
"G");
133 renameParticle(
"A_X",
"B_X");
134 getParticle(
"G")->setDrawType(drawer::ParticleType::Gluon);
139 Particle Q = weylfermion_s(
"Q", *
this, Chirality::Left);
140 Q->setGroupRep(
"C", {1, 0});
141 Q->setGroupRep(
"L", 1);
142 Q->setGroupRep(
"Y", {1, 6});
143 Q->setGroupRep(
"X", {1,3});
144 Q->setFundamentalFlavorRep(
"SM_flavor");
146 Particle U = weylfermion_s(
"U_R", *
this, Chirality::Right);
147 U->setGroupRep(
"C", {1, 0});
148 U->setGroupRep(
"Y", {2, 3});
149 U->setGroupRep(
"X", {1,3});
150 U->setFundamentalFlavorRep(
"SM_flavor");
152 Particle D = weylfermion_s(
"D_R", *
this, Chirality::Right);
153 D->setGroupRep(
"C", {1, 0});
154 D->setGroupRep(
"Y", {-1, 3});
155 D->setGroupRep(
"X", {1,3});
156 D->setFundamentalFlavorRep(
"SM_flavor");
158 Particle L = weylfermion_s(
"L", *
this, Chirality::Left);
159 L->setGroupRep(
"L", 1);
160 L->setGroupRep(
"Y", {-1, 2});
161 L->setGroupRep(
"X", -1);
162 L->setFundamentalFlavorRep(
"SM_flavor");
164 Particle
E = weylfermion_s(
"E_R", *
this, Chirality::Right);
165 E->setGroupRep(
"Y", -1);
166 E->setGroupRep(
"X", -1);
167 E->setFundamentalFlavorRep(
"SM_flavor");
169 Particle N = weylfermion_s(
"nu_R", *
this, Chirality::Right);
170 N->setGroupRep(
"X", -1);
172 N->setFundamentalFlavorRep(
"SM_flavor");
174 addParticles({Q, U, D, L,
E, N});
179 auto *flavorSpace = getVectorSpace(
"SM_flavor");
180 Tensor Yu(
"Yu", {flavorSpace, flavorSpace});
181 Yu->setComplexProperty(ComplexProperty::Complex);
182 Tensor Yd(
"Yd", {flavorSpace, flavorSpace});
183 Yd->setComplexProperty(ComplexProperty::Complex);
184 Tensor Ye(
"Ye", {flavorSpace, flavorSpace});
185 Ye->setComplexProperty(ComplexProperty::Complex);
186 Tensor Ynu(
"Ynu", {flavorSpace, flavorSpace});
187 Ynu->setComplexProperty(ComplexProperty::Complex);
188 Tensor Yx(
"Yx", {flavorSpace, flavorSpace});
189 Yx->setComplexProperty(ComplexProperty::Complex);
190 Tensor eps = getVectorSpace(
"L",
"Q")->getEpsilon();
191 Index I = flavorSpace->generateIndex();
192 Index J = flavorSpace->generateIndex();
193 Index a = generateIndex(
"C",
"Q");
194 Index i = generateIndex(
"L",
"Q");
195 Index j = generateIndex(
"L",
"Q");
196 Index al = DiracIndex();
198 Particle Q = getParticle(
"Q");
199 Particle U = getParticle(
"U_R");
200 Particle D = getParticle(
"D_R");
201 Particle L = getParticle(
"L");
202 Particle
E = getParticle(
"E_R");
203 Particle N = getParticle(
"nu_R");
204 Particle H = getParticle(
"H");
205 Particle Phi = getParticle(
"Phi");
207 addLagrangianTerm(Yu({
I, J}) * GetComplexConjugate(H(i)) * eps({i, j})
208 * GetComplexConjugate(Q({
I, a, j, al}))
211 addLagrangianTerm(-Yd({
I, J}) * H(i)
212 * GetComplexConjugate(Q({
I, a, i, al}))
215 addLagrangianTerm(-Ye({
I, J}) * H(i) * GetComplexConjugate(L({
I, i, al}))
219 addLagrangianTerm(-Ynu({
I, J}) * GetComplexConjugate(H(i)) * eps({i, j}) * GetComplexConjugate(L({
I,j, al}))
227 addTensorCoupling(Ye);
228 addTensorCoupling(Yu);
229 addTensorCoupling(Yd);
240 Particle H1 = getParticle(
"H_1");
241 Particle
H2 = getParticle(
"H_2");
243 Particle h0 = scalarboson_s(
"h", *
this);
244 Particle Gp = scalarboson_s(
"Gp ; G^+", *
this);
245 Particle G0 = scalarboson_s(
"G0 ; G^0", *
this);
246 h0->setSelfConjugate(
true);
247 G0->setSelfConjugate(
true);
250 replace(
H2, (h0() + CSL_I * G0() +
v) / csl::sqrt_s(2));
252 Particle phi0 = scalarboson_s(
"phi", *
this);
253 phi0->setSelfConjugate(
true);
255 Particle Phi = getParticle(
"Phi");
256 replace(Phi, (
vphi+phi0()) / csl::sqrt_s(2));
265 BreakGaugeSymmetry(*
this,
"Y");
266 BreakGaugeSymmetry(*
this,
"L");
267 BreakGaugeSymmetry(*
this,
"X");
268 renameParticle(
"Q_1",
"U_L");
269 renameParticle(
"Q_2",
"D_L");
270 renameParticle(
"L_1",
"Nu_L");
271 renameParticle(
"L_2",
"E_L");
272 renameParticle(
"B_X",
"Z_X");
277 Particle W1 = GetParticle(*
this,
"W_1");
278 Particle W2 = GetParticle(*
this,
"W_2");
279 Particle W_SM = W1->generateSimilar(
"W");
280 W_SM->setSelfConjugate(
false);
282 Particle cW1 = getParticle(
"c_W_1");
283 Particle cW2 = getParticle(
"c_W_2");
284 Particle cWp = W_SM->getGhostBoson();
285 cWp->setName(
"c_Wp ; c_{+}");
286 Particle cWm = ghostboson_s(
"c_Wm; c_{-}", W_SM,
true);
287 W_SM->setConjugatedGhostBoson(cWm);
289 csl::Index mu = MinkowskiIndex();
290 csl::Index nu = MinkowskiIndex();
291 csl::Expr W_p = W_SM(+mu);
292 csl::Expr W_m = csl::GetComplexConjugate(W_SM(+mu));
293 csl::Expr F_W_p = W_SM({+mu, +nu});
294 csl::Expr F_W_m = csl::GetComplexConjugate(W_SM({+mu, +nu}));
296 auto W1_expr = [](csl::Expr
const &Wp, csl::Expr
const &Wm) {
297 return (Wp + Wm) / csl::sqrt_s(2);
299 auto W2_expr = [](csl::Expr
const &Wp, csl::Expr
const &Wm) {
300 return CSL_I * (Wp - Wm) / csl::sqrt_s(2);
302 replace(W1, W1_expr(W_p, W_m));
303 replace(W2, W2_expr(W_p, W_m));
304 replace(W1->getFieldStrength(), W1_expr(F_W_p, F_W_m));
305 replace(W2->getFieldStrength(), W2_expr(F_W_p, F_W_m));
306 replace(cW1, W1_expr(cWp, cWm));
307 replace(cW2, W2_expr(cWp, cWm));