topBSM: topBSM.fr

File topBSM.fr, 14.4 KB (added by stefankrastanov, 7 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