DMsimpt: dmsimpt_v1.2.fr

File dmsimpt_v1.2.fr, 10.8 KB (added by Benjamin Fuks, 5 years ago)

DMSimpt FeynRules implementation (version 1.2)

Line 
1(* ****************************************************************** *)
2(* ***** ***** *)
3(* ***** FeynRules model file: Simplified DM models ***** *)
4(* ***** ***** *)
5(* ***** Author: Benjamin Fuks ***** *)
6(* ***** ***** *)
7(* ****************************************************************** *)
8
9(* ************************** *)
10(* ***** Information ***** *)
11(* ************************** *)
12M$ModelName = "DMsimp_t";
13
14M$Information = { Authors->{"Benjamin Fuks"}, Emails->{"fuks@lpthe.jussieu.fr"},
15 Institutions->{"LPTHE / Sorbonne U."},
16 Date->"29.10.19", Version->"1.2",
17 URLs->"http://feynrules.irmp.ucl.ac.be/wiki/DMsimpt/"};
18
19(* ************************** *)
20(* ***** Change log ***** *)
21(* ************************** *)
22
23(* 2019.05.22 v1.0 - First version *)
24(* 2019.08.27 v1.1 - Changing a few PDG codes *)
25(* 2019.10.29 v1.2 - Adding complex scalar and vector DM *)
26
27(* ************************** *)
28(* *** Interaction orders *** *)
29(* ************************** *)
30M$InteractionOrderLimit = { {DMT, 2} };
31M$InteractionOrderHierarchy = { {QCD, 1}, {DMT, 2}, {QED, 2} };
32
33(* ************************** *)
34(* ***** Fields ***** *)
35(* ************************** *)
36M$ClassesDescription = {
37 (* Dark matter *)
38 F[100] == { ClassName -> Xm, SelfConjugate -> True,
39 Mass -> {MXm, 10.}, Width -> 0, PDG -> 52},
40 F[101] == { ClassName -> Xd, SelfConjugate -> False,
41 Mass -> {MXd, 13.}, Width -> 0, PDG -> 57},
42 S[100] == { ClassName -> Xs, SelfConjugate -> True,
43 Mass -> {MXs, 11.}, Width -> 0, PDG -> 51},
44 S[101] == { ClassName -> Xc, SelfConjugate -> False,
45 Mass -> {MXc, 14.}, Width -> 0, PDG -> 56},
46 V[100] == { ClassName -> Xv, SelfConjugate -> True,
47 Mass -> {MXv, 12.}, Width -> 0, PDG -> 53},
48 V[101] == { ClassName -> Xw, SelfConjugate -> False,
49 Mass -> {MXw, 15.}, Width -> 0, PDG -> 58},
50
51 (* Mediators *)
52 S[200] == { ClassName -> YS3Q, Unphysical -> True, SelfConjugate -> False,
53 Indices -> {Index[SU2D],Index[Generation],Index[Colour]}, FlavorIndex -> SU2D,
54 QuantumNumbers -> {Y->1/6},
55 Definitions -> {YS3Q[1,ff_,cc_]->YS3Qu[ff,cc], YS3Q[2,ff_,cc_]->YS3Qd[ff,cc]}},
56 S[201] == { ClassName -> YS3Qu, SelfConjugate -> False,
57 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
58 ClassMembers -> {YS3Qu1, YS3Qu2, YS3Qu3},
59 QuantumNumbers -> {Q->2/3}, PDG -> {1000002,1000004,1000006},
60 Mass -> {MYS3Qu, {MYS3Qu1, 1000.}, {MYS3Qu2, 1001.}, {MYS3Qu3, 1002.}},
61 Width -> {WYS3Qu, {WYS3Qu1, 10. }, {WYS3Qu2, 11. }, {WYS3Qu3, 12. }}},
62 S[202] == { ClassName -> YS3Qd, SelfConjugate -> False,
63 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
64 ClassMembers -> {YS3Qd1, YS3Qd2, YS3Qd3},
65 QuantumNumbers -> {Q->-1/3}, PDG -> {1000001,1000003,1000005},
66 Mass -> {MYS3Qd, {MYS3Qd1, 1003.}, {MYS3Qd2, 1004.}, {MYS3Qd3, 1005.}},
67 Width -> {WYS3Qd, {WYS3Qd1, 13. }, {WYS3Qd2, 14. }, {WYS3Qd3, 15. }}},
68 S[203] == { ClassName -> YS3u, SelfConjugate -> False,
69 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
70 ClassMembers -> {YS3u1, YS3u2, YS3u3},
71 QuantumNumbers -> {Y->2/3, Q->2/3}, PDG -> {2000002,2000004,2000006},
72 Mass -> {MYS3u, {MYS3u1, 2000.}, {MYS3u2, 2001.}, {MYS3u3, 2002.}},
73 Width -> {WYS3u, {WYS3u1, 20. }, {WYS3u2, 21. }, {WYS3u3, 22. }}},
74 S[204] == { ClassName -> YS3d, SelfConjugate -> False,
75 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
76 ClassMembers -> {YS3d1, YS3d2, YS3d3},
77 QuantumNumbers -> {Y->-1/3, Q->-1/3}, PDG -> {2000001,2000003,2000005},
78 Mass -> {MYS3d, {MYS3d1, 2003.}, {MYS3d2, 2004.}, {MYS3d3, 2005.}},
79 Width -> {WYS3d, {WYS3d1, 23. }, {WYS3d2, 24. }, {WYS3d3, 25. }}},
80 F[200] == { ClassName -> YF3Q, Unphysical -> True, SelfConjugate -> False,
81 Indices -> {Index[SU2D],Index[Generation],Index[Colour]}, FlavorIndex -> SU2D,
82 QuantumNumbers -> {Y->1/6},
83 Definitions -> {YF3Q[sp_,1,ff_,cc_]->YF3Qu[sp,ff,cc], YF3Q[sp_,2,ff_,cc_]->YF3Qd[sp,ff,cc]}},
84 F[201] == { ClassName -> YF3Qu, SelfConjugate -> False,
85 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
86 ClassMembers -> {YF3Qu1, YF3Qu2, YF3Qu3},
87 QuantumNumbers -> {Q->2/3}, PDG -> {5910002,5910004,5910006},
88 Mass -> {MYF3Qu, {MYF3Qu1, 3000.}, {MYF3Qu2, 3001.}, {MYF3Qu3, 3002.}},
89 Width -> {WYF3Qu, {WYF3Qu1, 30. }, {WYF3Qu2, 31. }, {WYF3Qu3, 32. }}},
90 F[202] == { ClassName -> YF3Qd, SelfConjugate -> False,
91 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
92 ClassMembers -> {YF3Qd1, YF3Qd2, YF3Qd3},
93 QuantumNumbers -> {Q->-1/3}, PDG -> {5910001,5910003,5910005},
94 Mass -> {MYF3Qd, {MYF3Qd1, 3003.}, {MYF3Qd2, 3004.}, {MYF3Qd3, 3005.}},
95 Width -> {WYF3Qd, {WYF3Qd1, 33. }, {WYF3Qd2, 34. }, {WYF3Qd3, 35. }}},
96 F[203] == { ClassName -> YF3u, SelfConjugate -> False,
97 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
98 ClassMembers -> {YF3u1, YF3u2, YF3u3},
99 QuantumNumbers -> {Y->2/3, Q->2/3}, PDG -> {5920002,5920004,5920006},
100 Mass -> {MYF3u, {MYF3u1, 4000.}, {MYF3u2, 4001.}, {MYF3u3, 4002.}},
101 Width -> {WYF3u, {WYF3u1, 40. }, {WYF3u2, 41. }, {WYF3u3, 42. }}},
102 F[204] == { ClassName -> YF3d, SelfConjugate -> False,
103 Indices -> {Index[Generation],Index[Colour]}, FlavorIndex -> Generation,
104 ClassMembers -> {YF3d1, YF3d2, YF3d3},
105 QuantumNumbers -> {Y->-1/3, Q->-1/3}, PDG -> {5920001,5920003,5920005},
106 Mass -> {MYF3d, {MYF3d1, 4003.}, {MYF3d2, 4004.}, {MYF3d3, 4005.}},
107 Width -> {WYF3d, {WYF3d1, 43. }, {WYF3d2, 44. }, {WYF3d3, 45. }}}
108
109};
110
111(* ************************** *)
112(* ***** Parameters ***** *)
113(* ************************** *)
114M$Parameters = {
115
116 lamS3Q == { ParameterType -> External, ComplexParameter -> False,
117 TeX -> Subscript[\[Lambda],Q], BlockName -> DMS3Q,
118 Indices -> {Index[Generation], Index[Generation]},
119 InteractionOrder -> {DMT,1},
120 Definitions -> {lamS3Q[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
121 Value -> {lamS3Q[1,1] -> 0.10, lamS3Q[2,2] -> 0.11, lamS3Q[3,3] -> 0.12}},
122 lamS3u == { ParameterType -> External, ComplexParameter -> False,
123 TeX -> Subscript[\[Lambda],u], BlockName -> DMS3U,
124 Indices -> {Index[Generation], Index[Generation]},
125 InteractionOrder -> {DMT,1},
126 Definitions -> {lamS3u[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
127 Value -> {lamS3u[1,1] -> 0.13, lamS3u[2,2] -> 0.14, lamS3u[3,3] -> 0.15}},
128 lamS3d == { ParameterType -> External, ComplexParameter -> False,
129 TeX -> Subscript[\[Lambda],d], BlockName -> DMS3D,
130 Indices -> {Index[Generation], Index[Generation]},
131 InteractionOrder -> {DMT,1},
132 Definitions -> {lamS3d[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
133 Value -> {lamS3d[1,1] -> 0.16, lamS3d[2,2] -> 0.17, lamS3d[3,3] -> 0.18}},
134 lamF3Q == { ParameterType -> External, ComplexParameter -> False,
135 TeX -> Subscript[OverHat[\[Lambda]],Q], BlockName -> DMF3Q,
136 Indices -> {Index[Generation], Index[Generation]},
137 InteractionOrder -> {DMT,1},
138 Definitions -> {lamF3Q[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
139 Value -> {lamF3Q[1,1] -> 0.20, lamF3Q[2,2] -> 0.21, lamF3Q[3,3] -> 0.22}},
140 lamF3u == { ParameterType -> External, ComplexParameter -> False,
141 TeX -> Subscript[OverHat[\[Lambda]],u], BlockName -> DMF3U,
142 Indices -> {Index[Generation], Index[Generation]},
143 InteractionOrder -> {DMT,1},
144 Definitions -> {lamF3u[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
145 Value -> {lamF3u[1,1] -> 0.23, lamF3u[2,2] -> 0.24, lamF3u[3,3] -> 0.25}},
146 lamF3d == { ParameterType -> External, ComplexParameter -> False,
147 TeX -> Subscript[OverHat[\[Lambda]],d], BlockName -> DMF3D,
148 Indices -> {Index[Generation], Index[Generation]},
149 InteractionOrder -> {DMT,1},
150 Definitions -> {lamF3d[i_?NumericQ, j_?NumericQ] :> 0 /; (i=!=j)},
151 Value -> {lamF3d[1,1] -> 0.26, lamF3d[2,2] -> 0.27, lamF3d[3,3] -> 0.28}}
152};
153
154(* ************************** *)
155(* ***** Lagrangian ***** *)
156(* ************************** *)
157
158LDMSIMPt := Block[{LKinDM, LKinS3, LKinF3, LIntS3, LIntF3, ii,ff,ffp,cc,mu,nu,sp,sp2},
159 LKinDM := \
160 1/2 del[Xs,mu]^2 - 1/2 MXs^2 Xs^2 \
161 + del[Xc,mu] del[Xcbar,mu] - MXc^2 Xc Xcbar \
162 + I/2*Xmbar.Ga[mu].DC[Xm,mu] - 1/2 MXm Xmbar.Xm \
163 + I*Xdbar.Ga[mu].DC[Xd,mu] - MXd Xdbar.Xd \
164 - 1/4 FS[Xv,mu,nu]^2 + 1/2 MXv^2 Xv[mu]^2 \
165 - 1/2 FS[Xw,mu,nu] FS[Xwbar,mu,nu] + MXw^2 Xw[mu] Xwbar[mu];
166
167 LKinS3 := \
168 Plus @@ (DC[anti[#],mu] DC[#,mu] &/@ { YS3Q[ii,ff,cc], YS3ubar[ff,cc], YS3dbar[ff,cc]}) \
169 - MYS3Qu[ff]^2 YS3Qubar[ff,cc] YS3Qu[ff,cc] - MYS3Qd[ff]^2 YS3Qdbar[ff,cc] YS3Qd[ff,cc] \
170 - MYS3u[ff]^2 YS3ubar[ff,cc] YS3u[ff,cc] - MYS3d[ff]^2 YS3dbar[ff,cc] YS3d[ff,cc];
171
172 LKinF3 := \
173 Plus @@ (I anti[#].Ga[mu].DC[#,mu] &/@ { YF3Q, YF3u, YF3d } ) \
174 - MYF3Qu[ff] YF3Qubar[sp,ff,cc].YF3Qu[sp,ff,cc] - MYF3Qd[ff] YF3Qdbar[sp,ff,cc].YF3Qd[sp,ff,cc] \
175 - MYF3u[ff] YF3ubar[sp,ff,cc].YF3u[sp,ff,cc] \
176 - MYF3d[ff] YF3dbar[sp,ff,cc].YF3d[sp,ff,cc];
177
178 LIntS3 := \
179 lamS3Q[ff,ffp] Xmbar[sp].QL[sp,ii,ff,cc] YS3Qbar[ii,ffp,cc] \
180 + lamS3u[ff,ffp] Xmbar[sp].uR[sp,ff,cc] YS3ubar[ffp,cc] \
181 + lamS3d[ff,ffp] Xmbar[sp].dR[sp,ff,cc] YS3dbar[ffp,cc] \
182 + lamS3Q[ff,ffp] Xdbar[sp].QL[sp,ii,ff,cc] YS3Qbar[ii,ffp,cc] \
183 + lamS3u[ff,ffp] Xdbar[sp].uR[sp,ff,cc] YS3ubar[ffp,cc] \
184 + lamS3d[ff,ffp] Xdbar[sp].dR[sp,ff,cc] YS3dbar[ffp,cc];
185
186 LIntF3 := \
187 lamF3Q[ff,ffp] YF3Qbar[sp,ii,ffp,cc].QL[sp2,ii,ff,cc] (Xs IndexDelta[sp,sp2] + Xc IndexDelta[sp,sp2] + Xv[mu] Ga[mu,sp,sp2] + Xw[mu] Ga[mu,sp,sp2]) \
188 + lamF3u[ff,ffp] YF3ubar[sp,ffp,cc].uR[sp2,ff,cc] (Xs IndexDelta[sp,sp2] + Xc IndexDelta[sp,sp2] + Xv[mu] Ga[mu,sp,sp2] + Xw[mu] Ga[mu,sp,sp2]) \
189 + lamF3d[ff,ffp] YF3dbar[sp,ffp,cc].dR[sp2,ff,cc] (Xs IndexDelta[sp,sp2] + Xc IndexDelta[sp,sp2] + Xv[mu] Ga[mu,sp,sp2] + Xw[mu] Ga[mu,sp,sp2]);
190
191LKinDM + LKinS3 + LKinF3 + LIntS3 + LIntF3 + HC[LIntS3] +HC[LIntF3]];
192
193
194