DMsimpt: dmsimpt_v1.2.fr

File dmsimpt_v1.2.fr, 10.8 KB (added by BenjF, 6 weeks 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