topBSM: topBSM.fr

File topBSM.fr, 14.4 KB (added by stefankrastanov, 11 years ago)
Line 
1(***************************************************************************************************************)
2(****** TopBSM feynman-rules model ******)
3(****** ******)
4(****** Authors: S Krastanov ******)
5(****** ******)
6(****** Based on topBSM for MagGraph4. ******)
7(****** Requires the SM.fr module. ******)
8(****** It does not support the Feynman Gauge. ******)
9(***************************************************************************************************************)
10
11(* ************************** *)
12(* ***** Information ***** *)
13(* ************************** *)
14M$ModelName = "topBSM";
15
16M$Information = {
17 Authors -> {"Stefan Krastanov"},
18 Version -> "0.1",
19 Date -> "August 1, 2013",
20 Institutions -> {"ENS Lyon", "UCL Belgium"}.
21 Emails -> {"stefan.krastanov@ens-lyon.fr"},
22 URLs -> "http://feynrules.irmp.ucl.ac.be/"
23};
24
25FeynmanGauge = False;
26
27sertLight[t_] := 3/2 t (1 + (1 - t) ArcSin[1/Sqrt[t]]^2); (* 1 + 7/30 x + 2/21 x^2 + 26/525 x^3; *)
28serpLight[t_] := t ArcSin[1/Sqrt[t]]^2; (* 1 + 1/3 x + 8/45 x^2 + 4/35 x^3; *)
29sertHeavy[t_] := 3/2 t (1 + 1/4 (t - 1) (Log[(Sqrt[1 - t] + 1)/(1 - Sqrt[1 - t])] - I Pi)^2);
30serpHeavy[t_] := -1/4 t (Log[(Sqrt[1 - t] + 1)/(1 - Sqrt[1 - t])] - I Pi)^2;
31bjzeros = Table[N[BesselJZero[1, x]], {x, 1, 10}]
32
33(* ************************** *)
34(* ***** Change log ***** *)
35(* ************************** *)
36
37(* v0.1: Initial version *)
38
39
40(* ************************** *)
41(* *** Interaction orders *** *)
42(* *** (as used by mg5) *** *)
43(* ************************** *)
44M$InteractionOrderHierarchy = {
45 {QS0, 8},
46 {QO0, 8},
47 {QS1, 8},
48 {QO1, 8}
49};
50
51
52(* ************************** *)
53(* **** Particle classes **** *)
54(* ************************** *)
55M$ClassesDescription = {
56 S[21] == {
57 ClassName -> S0,
58 SelfConjugate -> True,
59 Mass -> {MS0, 400},
60 Width -> {WS0, Internal},
61 PropagatorLabel -> "S0",
62 PropagatorType -> D,
63 PropagatorArrow -> None,
64 PDG -> 6000045,
65 ParticleName -> "S0",
66 FullName -> "S0"
67 },
68 S[22] == {
69 ClassName -> O0,
70 SelfConjugate -> True,
71 Indices -> {Index[Gluon]},
72 Mass -> {MO0, 400},
73 Width -> {WO0, Internal},
74 PropagatorLabel -> "O0",
75 PropagatorType -> D,
76 PropagatorArrow -> None,
77 PDG -> 6000046,
78 ParticleName -> "O0",
79 FullName -> "O0"
80 },
81 V[7] == {
82 ClassName -> S1,
83 SelfConjugate -> True,
84 Mass -> {MS1, 2000},
85 Width -> {WS1, Internal},
86 PropagatorLabel -> "S1",
87 PropagatorType -> Sine,
88 PropagatorArrow -> None,
89 PDG -> 6000047,
90 ParticleName -> "S1",
91 FullName -> "S1"
92 },
93 V[8] == {
94 ClassName -> O1,
95 SelfConjugate -> True,
96 Indices -> {Index[Gluon]},
97 Mass -> {MO1, 2000},
98 Width -> {WO1, Internal},
99 PropagatorLabel -> "O1",
100 PropagatorType -> Sine,
101 PropagatorArrow -> None,
102 PDG -> 6000048,
103 ParticleName -> "O1",
104 FullName -> "O1"
105 },
106 T[1] == {
107 ClassName -> S2,
108 SelfConjugate -> True,
109 Symmetric -> True,
110 Mass -> {MS2, 500},
111 Width -> {WS2, 2},
112 PropagatorLabel -> "S2",
113 PDG -> 6000049,
114 ParticleName -> "S2",
115 FullName -> "S2"
116 }
117}
118
119(* ************************** *)
120(* ***** Gauge ***** *)
121(* ***** Parameters ***** *)
122(* ***** (FeynArts) ***** *)
123(* ************************** *)
124
125
126(* ************************** *)
127(* ***** Parameters ***** *)
128(* ************************** *)
129M$Parameters = {
130 (* ***** S0 ***** *)
131 s0scalar == {
132 ParameterType -> External,
133 ParameterName -> s0scalar,
134 BlockName -> S0PARAMS,
135 InteractionOrder -> {QS0, 1},
136 Value -> 1,
137 TeX -> Subscript[s0, scalar],
138 Description -> "S0 scalar coupling"
139 },
140 s0axial == {
141 ParameterType -> External,
142 ParameterName -> s0axial,
143 BlockName -> S0PARAMS,
144 InteractionOrder -> {QS0, 1},
145 Value -> 1,
146 TeX -> Subscript[s0, axial],
147 Description -> "S0 scalar coupling"
148 },
149 s0fusionScalar == {
150 ParameterType -> Internal,
151 InteractionOrder -> {QS0, 1},
152 Definitions -> {s0fusionScalar :> If[NumericalValue[MS0] > 2 NumericalValue[MT],
153 -s0scalar gs^2/(12 Pi^2 vev) sertHeavy[(2 MT/MS0)^2],
154 -s0scalar gs^2/(12 Pi^2 vev) sertLight[(2 MT/MS0)^2]]},
155 TeX -> Subscript[s0, fusionScalar],
156 Description -> "S0 effective coupling due to gluon fusion, scalar"
157 },
158 s0fusionAxial == {
159 ParameterType -> Internal,
160 Definitions -> {s0fusionAxial :> If[NumericalValue[MS0] > 2 NumericalValue[MT],
161 -s0axial gs^2/(8 Pi^2 vev) serpHeavy[(2 MT/MS0)^2],
162 -s0axial gs^2/(8 Pi^2 vev) serpLight[(2 MT/MS0)^2]]},
163 InteractionOrder -> {QS0, 1},
164 TeX -> Subscript[s0, fusionAxial],
165 Description -> "S0 effective coupling due to gluon fusion, axial"
166 },
167 WS0 == {
168 ParameterType -> Internal,
169 Definitions -> {WS0 :> If[NumericalValue[MS0] > 2 NumericalValue[MT],
170 (3 MT^2 Sqrt[MS0^4 - 4 MS0^2 MT^2] (-4 MT^2 s0scalar^2 + MS0^2 (s0axial^2 + s0scalar^2)))/(8 Pi vev^2 MS0^3)
171 +(MS0^3 Abs[s0fusionScalar]^2 ) / (8 Pi),
172 (MS0^3 Abs[s0fusionScalar]^2 ) / (8 Pi)]},
173 Description -> "S0 width"
174 },
175
176
177 (* ***** O0 ***** *)
178 o0scalar == {
179 ParameterType -> External,
180 ParameterName -> o0scalar,
181 BlockName -> O0PARAMS,
182 InteractionOrder -> {QO0, 1},
183 Value -> 1,
184 TeX -> Subscript[o0, scalar],
185 Description -> "O0 scalar coupling"
186 },
187 o0axial == {
188 ParameterType -> External,
189 ParameterName -> o0axial,
190 BlockName -> O0PARAMS,
191 InteractionOrder -> {QO0, 1},
192 Value -> 1,
193 TeX -> Subscript[o0, axial],
194 Description -> "O0 axial coupling"
195 },
196 o0fusionScalar == {
197 ParameterType -> Internal,
198 Definitions -> {o0fusionScalar :> If[NumericalValue[MO0] > 2 NumericalValue[MT],
199 -o0scalar gs^2/(12 Pi^2 vev) sertHeavy[(2 MT/MO0)^2],
200 -o0scalar gs^2/(12 Pi^2 vev) sertLight[(2 MT/MO0)^2]]},
201 InteractionOrder -> {QO0, 1},
202 TeX -> Subscript[o0, fusionScalar],
203 Description -> "O0 effective coupling due to gluon fusion, scalar"
204 },
205 o0fusionAxial == {
206 ParameterType -> Internal,
207 InteractionOrder -> {QO0, 1},
208 Definitions -> {o0fusionAxial :> If[NumericalValue[MO0] > 2 NumericalValue[MT],
209 -o0axial gs^2/(8 Pi^2 vev) serpHeavy[(2 MT/MO0)^2],
210 -o0axial gs^2/(8 Pi^2 vev) serpLight[(2 MT/MO0)^2]]},
211 TeX -> Subscript[o0, fusionAxial],
212 Description -> "O0 effective coupling due to gluon fusion, axial"
213 },
214 WO0 == {
215 ParameterType -> Internal,
216 Definitions -> {WO0 :> If[NumericalValue[MO0] > 2 NumericalValue[MT],
217 1/6 (3 MT^2 Sqrt[MO0^4 - 4 MO0^2 MT^2] (-4 MT^2 o0scalar^2 + MO0^2 (o0axial^2 + o0scalar^2)))/(8 Pi vev^2 MO0^3)
218 + 1/64 (MO0^3 Abs[o0fusionScalar]^2 ) / (8 Pi),
219 1/64 (MO0^3 Abs[o0fusionScalar]^2 ) / (8 Pi)]},
220 Description -> "O0 width"
221 },
222
223
224 (* ***** S1 ***** *)
225 s1uright == {
226 ParameterType -> External,
227 ParameterName -> s1uright,
228 BlockName -> S1PARAMS,
229 InteractionOrder -> {QS1, 1},
230 Value -> 1,
231 TeX -> Subscript[s1, ur],
232 Description -> "S1 right up quark coupling"
233 },
234 s1uleft == {
235 ParameterType -> External,
236 ParameterName -> s1uleft,
237 BlockName -> S1PARAMS,
238 InteractionOrder -> {QS1, 1},
239 Value -> 1,
240 TeX -> Subscript[s1, ul],
241 Description -> "S1 left up quark coupling"
242 },
243 s1dright == {
244 ParameterType -> External,
245 ParameterName -> s1dright,
246 BlockName -> S1PARAMS,
247 InteractionOrder -> {QS1, 1},
248 Value -> 1,
249 TeX -> Subscript[s1, dr],
250 Description -> "S1 right down quark coupling"
251 },
252 s1dleft == {
253 ParameterType -> External,
254 ParameterName -> s1dleft,
255 BlockName -> S1PARAMS,
256 InteractionOrder -> {QS1, 1},
257 Value -> 1,
258 TeX -> Subscript[s1, dl],
259 Description -> "S1 left down quark coupling"
260 },
261 s1eright == {
262 ParameterType -> External,
263 ParameterName -> s1eright,
264 BlockName -> S1PARAMS,
265 InteractionOrder -> {QS1, 1},
266 Value -> 1,
267 TeX -> Subscript[s1, er],
268 Description -> "S1 right electron coupling"
269 },
270 s1eleft == {
271 ParameterType -> External,
272 ParameterName -> s1eleft,
273 BlockName -> S1PARAMS,
274 InteractionOrder -> {QS1, 1},
275 Value -> 1,
276 TeX -> Subscript[s1, el],
277 Description -> "S1 left electron coupling"
278 },
279 s1nu == {
280 ParameterType -> External,
281 ParameterName -> s1nu,
282 BlockName -> S1PARAMS,
283 InteractionOrder -> {QS1, 1},
284 Value -> 1,
285 TeX -> Subscript[s1, v],
286 Description -> "S1 neutrino coupling"
287 },
288 WS1 == {
289 ParameterType -> Internal,
290 Definitions -> {WS1 ->1/(288*cw^2*Pi*sw^2*MS1^3)*ee^2*(
291 +9*MS1^4*s1nu^2
292 +2*MS1^4*(16*s1uright^2*sw^4 + s1uleft^2*(3 - 4*sw^2)^2)
293 +6*MS1^4*(4*s1eright^2*sw^4 + s1eleft^2*(1 - 2*sw^2)^2)
294 +2*MS1^4*(4*s1dright^2*sw^4 + s1dleft^2*(3 - 2*sw^2)^2)
295 +Sqrt[MS1^4 - 4*MS1^2*MT^2]*(
296 +MT^2*(
297 -9*s1uleft^2
298 +24*s1uleft*(s1uleft - 3*s1uright)*sw^2
299 -16*(s1uleft^2 - 6*s1uleft*s1uright + s1uright^2)*sw^4)
300 +MS1^2*(16*s1uright^2*sw^4 + s1uleft^2*(3 - 4*sw^2)^2))
301 +3*Sqrt[MS1^4 - 4*MS1^2*MTA^2]*(
302 -MTA^2*(
303 +s1eleft^2
304 -4*s1eleft*(s1eleft - 3*s1eright)*sw^2
305 +4*(s1eleft^2 - 6*s1eleft*s1eright + s1eright^2)*sw^4)
306 +MS1^2*(4*s1eright^2*sw^4 + s1eleft^2*(1 - 2*sw^2)^2))
307 +Sqrt[-4*MB^2*MS1^2 + MS1^4]*(
308 +MB^2*(
309 -9*s1dleft^2
310 +12*s1dleft*(s1dleft - 3*s1dright)*sw^2
311 -4*(s1dleft^2 - 6*s1dleft*s1dright + s1dright^2)*sw^4)
312 +MS1^2*(4*s1dright^2*sw^4 + s1dleft^2*(3 - 2*sw^2)^2)))},
313 Description -> "S1 width"
314 },
315
316
317 (* ***** O1 ***** *)
318 o1uright == {
319 ParameterType -> External,
320 ParameterName -> o1uright,
321 BlockName -> O1PARAMS,
322 InteractionOrder -> {QO1, 1},
323 Value -> 1,
324 TeX -> Subscript[o1, ur],
325 Description -> "O1 right up quark coupling"
326 },
327 o1uleft == {
328 ParameterType -> External,
329 ParameterName -> o1uleft,
330 BlockName -> O1PARAMS,
331 InteractionOrder -> {QO1, 1},
332 Value -> 1,
333 TeX -> Subscript[o1, ul],
334 Description -> "O1 left up quark coupling"
335 },
336 o1dright == {
337 ParameterType -> External,
338 ParameterName -> o1dright,
339 BlockName -> O1PARAMS,
340 InteractionOrder -> {QO1, 1},
341 Value -> 1,
342 TeX -> Subscript[o1, dr],
343 Description -> "O1 right down quark coupling"
344 },
345 o1dleft == {
346 ParameterType -> External,
347 ParameterName -> o1dleft,
348 BlockName -> O1PARAMS,
349 InteractionOrder -> {QO1, 1},
350 Value -> 1,
351 TeX -> Subscript[o1, dl],
352 Description -> "O1 left down quark coupling"
353 },
354 WO1 == {
355 ParameterType -> Internal,
356 Definitions -> {WO1 -> (gs^2/(48*Pi*MO1^3))*(
357 +2*MO1^4*(o1dleft^2 + o1dright^2)
358 +Sqrt[-4*MB^2*MO1^2 + MO1^4]*(MO1^2*(o1dleft^2 + o1dright^2)
359 -MB^2*(o1dleft^2 - 6*o1dleft*o1dright + o1dright^2))
360 +2*MO1^4*(o1uleft^2 + o1uright^2)
361 +Sqrt[MO1^4 - 4*MO1^2*MT^2]*(MO1^2*(o1uleft^2 + o1uright^2)
362 -MT^2*(o1uleft^2 - 6*o1uleft*o1uright + o1uright^2)))},
363 Description -> "O1 width"}
364
365
366
367
368};
369
370(* ************************** *)
371(* ***** Lagrangian ***** *)
372(* ************************** *)
373
374LS0top = s0scalar MT/vev S0 tbar.t + I s0axial MT/vev S0 tbar.Ga[5].t
375LS0ggfusionScalar = -1/4 s0fusionScalar S0 FS[G,mu,nu,aa] FS[G,mu,nu,aa]
376LS0ggfusionAxial = -1/4 s0fusionAxial S0 FS[G,mu,nu,aa] Dual[FS][G,mu,nu,aa]
377LS0ggfusion = LS0ggfusionScalar + LS0ggfusionAxial
378LS0 = LS0top + LS0ggfusion
379
380
381LO0top = o0scalar MT/vev tbar.T[a].t O0[a] + I o0axial MT/vev tbar.Ga[5].T[a].t O0[a]
382LO0ggfusionScalar = -1/4 o0fusionScalar dSUN[aa,bb,cc] O0[aa] FS[G,mu,nu,bb] FS[G,mu,nu,cc]
383LO0ggfusionAxial = -1/4 o0fusionAxial dSUN[aa,bb,cc] O0[aa] FS[G,mu,nu,bb] Dual[FS][G,mu,nu,cc]
384LO0ggfusion = LO0ggfusionScalar + LO0ggfusionAxial
385LO0 = LO0top + LO0ggfusion
386
387
388ez = ee/(sw cw)
389ey = ee sw/cw
390
391LS1ul = - s1uleft S1[mu] QLbar[sp1,1,ff,cc] Ga[mu,sp1,sp2] QL[sp2,1,ff,cc] * ez (-1/2 + sw^2 2/3)
392LS1dl = - s1dleft S1[mu] QLbar[sp1,2,ff,cc] Ga[mu,sp1,sp2] QL[sp2,2,ff,cc] * ez (1/2 - sw^2/3)
393LS1ur = - s1uright S1[mu] uRbar.Ga[mu].uR * ey*2/3
394LS1dr = - s1dright S1[mu] dRbar.Ga[mu].dR * (-ey)/3
395LS1el = - s1eleft S1[mu] LLbar[sp1,2,ff] Ga[mu,sp1,sp2] LL[sp2,2,ff] * ez (1/2 - sw^2)
396LS1nu = - s1nu S1[mu] LLbar[sp1,1,ff] Ga[mu,sp1,sp2] LL[sp2,1,ff] * (-ez)/2
397LS1er = - s1eright S1[mu] lRbar.Ga[mu].lR * (-ey)
398LS1 = LS1ul + LS1dl + LS1ur + LS1dr + LS1el + LS1er + LS1nu
399
400
401LO1ul = o1uleft gs O1[mu, a] QLbar[sp1,1,ff,cc1] Ga[mu,sp1,sp2] T[a,cc1,cc2] QL[sp2,1,ff,cc2]
402LO1dl = o1dleft gs O1[mu, a] QLbar[sp1,2,ff,cc1] Ga[mu,sp1,sp2] T[a,cc1,cc2] QL[sp2,2,ff,cc2]
403LO1ur = o1uright gs O1[mu, a] uRbar.Ga[mu].T[a].uR
404LO1dr = o1dright gs O1[mu, a] dRbar.Ga[mu].T[a].dR
405LO1 = LO1ul + LO1dl + LO1ur + LO1dr