dim6top: dim6top.m

File dim6top.m, 29.2 KB (added by gdurieux, 2 months ago)
Line 
1(* ::Package:: *)
2
3(*
4run
5math -initfile dim6top.m
6having set
7$Path = Join[{ToFileName[$HomeDirectory, ".../feynrules-current"]}, $Path]
8$FeynRulesPath = ToFileName[$HomeDirectory, ".../feynrules-current"]
9in ~/.Mathematica/Kernel/init.m
10*)
11
12
13Print["--- Set Feynman gauge"]
14FeynmanGauge = True;
15
16Print["--- Load FeynRules"];
17FR$Parallel = True;
18<<FeynRules`
19
20Print["--- Load models"];
21(*LoadModel[ ToFileName[$FeynRulesPath,"Models/SM/SM.fr"],"dim6top_each_coupling_order.fr"];*)
22(**)LoadModel[ ToFileName[$FeynRulesPath,"Models/SM/SM.fr"],"dim6top.fr"];(**)
23
24M$Information = {
25        Authors      -> {"G. Durieux", "C. Zhang"},
26        Version      -> DateString[],
27        Date         -> DateString[],
28        Institutions -> {},
29        Emails       -> {},
30        URLs         -> {"http://arxiv.org/abs/1802.07237", "https://feynrules.irmp.ucl.ac.be/wiki/dim6top"}
31};
32
33Print["--- Load restriction"];
34LoadRestriction[ToFileName[$FeynRulesPath,"Models/SM/DiagonalCKM.rst"]]
35Print["--- Load restriction"];
36LoadRestriction[ToFileName[$FeynRulesPath,"Models/SM/Massless.rst"]]
37(*Print["--- Load restriction"];
38LoadRestriction["dim6top.rst"];*)
39
40(*
41Print["--- Get vertices"]
42verttot =<<saved_verttot ;
43
44Print["--- Write UFO model with those"]
45WriteUFO[
46        {},Input->verttot,
47        AddDecays->False,
48        (*Output->"dim6top_LO_UFO"*)
49        Output->"dim6top_LO_UFO_each_coupling_order"
50];
51Exit[];
52*)
53
54
55Print["--- Define operators"];
56(* Sigma[mu_,nu_, sp1_,sp2_] = I/2 (Ga[mu,sp1,sp5] Ga[nu,sp5,sp2] - Ga[nu,sp1,sp5] Ga[mu,sp5,sp2]); *)
57   Sigma[mu_,nu_, sp1_,sp2_] = I   (Ga[mu,sp1,sp5] Ga[nu,sp5,sp2] - ME[mu,nu] IndexDelta[sp1,sp2] );
58
59(** 2q Hermitian **)
60Ophiq1  = Cphiq1[f1,f2]  I (Phibar[k1]DC[Phi[k1],mu]-DC[Phibar[k1],mu]Phi[k1])               (QLbar[sp1,k3,f1,c1].QL[sp2,k3,f2,c1] Ga[mu,sp1,sp2]) ;
61Ophiq3  = Cphiq3[f1,f2]  I (Phibar[k1]DC[Phi[k2],mu]-DC[Phibar[k1],mu]Phi[k2]) PS[j1,k1,k2]  (QLbar[sp1,k3,f1,c1].QL[sp2,k4,f2,c1] Ga[mu,sp1,sp2]) PS[j1,k3,k4] ;
62Ophiu   = Cphiu [f1,f2]  I (Phibar[k1]DC[Phi[k1],mu]-DC[Phibar[k1],mu]Phi[k1])               (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) ;
63Ophid   = Cphid [f1,f2]  I (Phibar[k1]DC[Phi[k1],mu]-DC[Phibar[k1],mu]Phi[k1])               (dRbar[sp1,   f1,c1].dR[sp2,   f2,c1] Ga[mu,sp1,sp2]) ;
64(** 2q non-Hermitian **)
65Ophiud = Cphiud[f1,f2] I Phi[k1] DC[Phi[k2],mu]        Eps[k1,k2]             (uRbar[sp1,   f1,c1].dR[sp2,f2,c1]) Ga[mu,sp1,sp2] ;
66Ouphi  = Cuphi [f1,f2] (Phibar[k3] Phi[k3]-vev^2/2)  Phibar[k2] Eps[k1,k2]  (QLbar[sp1,k1,f1,c1].uR[sp1,f2,c1]) ;
67OdW    = CdW   [f1,f2] FS[Wi,mu,nu,j1]    Phi[k2]              PS[j1,k1,k2] (QLbar[sp1,k1,f1,c1].dR[sp2,f2,c1]) Sigma[mu,nu,sp1,sp2] ;
68OuW    = CuW   [f1,f2] FS[Wi,mu,nu,j1]    Phibar[k2] Eps[k3,k2]PS[j1,k1,k3] (QLbar[sp1,k1,f1,c1].uR[sp2,f2,c1]) Sigma[mu,nu,sp1,sp2] ;
69OuB    = CuB   [f1,f2] FS[B ,mu,nu   ]    Phibar[k2] Eps[k1,k2]             (QLbar[sp1,k1,f1,c1].uR[sp2,f2,c1]) Sigma[mu,nu,sp1,sp2] ;
70OuG    = CuG   [f1,f2] FS[G ,mu,nu,a1]    Phibar[k2] Eps[k1,k2]             (QLbar[sp1,k1,f1,c1].uR[sp2,f2,c2]) Sigma[mu,nu,sp1,sp2] T[a1,c1,c2];
71(* 2l2t *)
72Olq1 = Clq1[f3,f4,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c1] Ga[mu,sp1,sp2]) (LLbar[sp3,k3,f3].LL[sp4,k3,f4] Ga[mu,sp3,sp4]) ;
73Olq3 = Clq3[f3,f4,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k2,f2,c1] Ga[mu,sp1,sp2]) (LLbar[sp3,k3,f3].LL[sp4,k4,f4] Ga[mu,sp3,sp4])  PS[j1,k1,k2] PS[j1,k3,k4] ;
74Olu  = Clu [f3,f4,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (LLbar[sp3,k3,f3].LL[sp4,k3,f4] Ga[mu,sp3,sp4]) ;
75Oeq  = Ceq [f3,f4,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c1] Ga[mu,sp1,sp2]) (lRbar[sp3,   f3].lR[sp4,   f4] Ga[mu,sp3,sp4]) ;
76Oeu  = Ceu [f3,f4,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (lRbar[sp3,   f3].lR[sp4,   f4] Ga[mu,sp3,sp4]) ;
77(* 2l2q scalar and tensor *)
78Olequ1 = Clequ1[f3,f4,f1,f2]  (LLbar[sp3,k3,f3].lR[sp3,f4]) (QLbar[sp1,k1,f1,c1].uR[sp1,f2,c1]) Eps[k3,k1] ;
79Olequ3 = Clequ3[f3,f4,f1,f2]  (LLbar[sp3,k3,f3].lR[sp4,f4]) (QLbar[sp1,k1,f1,c1].uR[sp2,f2,c1]) Eps[k3,k1] Sigma[mu,nu,sp1,sp2] Sigma[mu,nu,sp3,sp4] ;
80Oledq  = Cledq[f3,f4,f1,f2]   (LLbar[sp3,k2,f3].lR[sp3,f4]) (dRbar[sp1,f1,c1].QL[sp1,k2,f2,c1]) ;
81
82(* 4q *)
83Oqq83 = Cqq83[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k2,f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2] PS[j1,k1,k2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k4,f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4] PS[j1,k3,k4]);
84Oqq81 = Cqq81[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k3,f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]);
85Oqu8  = Cqu8 [f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (uRbar[sp3,   f5,c3].uR[sp4,   f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]);
86Oqd8  = Cqd8 [f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (dRbar[sp3,   f5,c3].dR[sp4,   f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]);
87Ouu8  = Cuu8 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (uRbar[sp3,   f5,c3].uR[sp4,   f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]);
88Oud8  = Cud8 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (dRbar[sp3,   f5,c3].dR[sp4,   f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]);
89(* Ouq8  = Cuq8 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c2] Ga[mu,sp1,sp2] T[a,c1,c2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k3,f6,c4] Ga[mu,sp3,sp4] T[a,c3,c4]); *)
90
91Oqq13 = Cqq13[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k2,f2,c1] Ga[mu,sp1,sp2] PS[j1,k1,k2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k4,f6,c3] Ga[mu,sp3,sp4] PS[j1,k3,k4]);
92Oqq11 = Cqq11[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c1] Ga[mu,sp1,sp2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k3,f6,c3] Ga[mu,sp3,sp4]);
93Oqu1  = Cqu1 [f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c1] Ga[mu,sp1,sp2]) (uRbar[sp3,   f5,c3].uR[sp4,   f6,c3] Ga[mu,sp3,sp4]);
94Oqd1  = Cqd1 [f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].QL[sp2,k1,f2,c1] Ga[mu,sp1,sp2]) (dRbar[sp3,   f5,c3].dR[sp4,   f6,c3] Ga[mu,sp3,sp4]);
95Ouu1  = Cuu1 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (uRbar[sp3,   f5,c3].uR[sp4,   f6,c3] Ga[mu,sp3,sp4]);
96Oud1  = Cud1 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (dRbar[sp3,   f5,c3].dR[sp4,   f6,c3] Ga[mu,sp3,sp4]);
97(* Ouq1  = Cuq1 [f5,f6,f1,f2] (uRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (QLbar[sp3,k3,f5,c3].QL[sp4,k3,f6,c3] Ga[mu,sp3,sp4]); *)
98
99Oquqd1  = Cquqd1[f5,f6,f1,f2]  (QLbar[sp1,k1,f1,c1].uR[sp1,   f2,c1]) (QLbar[sp3,k3,f5,c3].dR[sp3,   f6,c3]) Eps[k1,k3];
100Oquqd8  = Cquqd8[f5,f6,f1,f2]  (QLbar[sp1,k1,f1,c1].uR[sp1,   f2,c2]) (QLbar[sp3,k3,f5,c3].dR[sp3,   f6,c4]) Eps[k1,k3] T[a,c1,c2] T[a,c3,c4];
101Oquqd1T = Cquqd1T[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].uR[sp2,   f2,c1]) (QLbar[sp3,k3,f5,c3].dR[sp4,   f6,c3]) Eps[k1,k3] Sigma[mu,nu,sp1,sp2] Sigma[mu,nu,sp3,sp4];
102Oquqd8T = Cquqd8T[f5,f6,f1,f2] (QLbar[sp1,k1,f1,c1].uR[sp2,   f2,c2]) (QLbar[sp3,k3,f5,c3].dR[sp4,   f6,c4]) Eps[k1,k3] T[a,c1,c2] T[a,c3,c4] Sigma[mu,nu,sp1,sp2] Sigma[mu,nu,sp3,sp4];
103
104Ouqqu1 = Cuqqu1[f5,f6,f1,f2] (uRbar[sp1,   f1,c1].QL[sp1,k2,f2,c1]) (QLbar[sp3,k2,f5,c3].uR[sp3,   f6,c3]);
105Ouqqu8 = Cuqqu8[f5,f6,f1,f2] (uRbar[sp1,   f1,c1].QL[sp1,k2,f2,c2]) (QLbar[sp3,k2,f5,c3].uR[sp3,   f6,c4]) T[a,c1,c2] T[a,c3,c4];
106Odqqd1 = Cdqqd1[f5,f6,f1,f2] (dRbar[sp1,   f1,c1].QL[sp1,k2,f2,c1]) (QLbar[sp3,k2,f5,c3].dR[sp3,   f6,c3]);
107Odqqd8 = Cdqqd8[f5,f6,f1,f2] (dRbar[sp1,   f1,c1].QL[sp1,k2,f2,c2]) (QLbar[sp3,k2,f5,c3].dR[sp3,   f6,c4]) T[a,c1,c2] T[a,c3,c4];
108Oduud1 = Cduud1[f5,f6,f1,f2] (dRbar[sp1,   f1,c1].uR[sp2,   f2,c1] Ga[mu,sp1,sp2]) (uRbar[sp3,   f5,c3].dR[sp4,   f6,c3] Ga[mu,sp3,sp4]);
109Oduud8 = Cduud8[f5,f6,f1,f2] (dRbar[sp1,   f1,c1].uR[sp2,   f2,c2] Ga[mu,sp1,sp2]) (uRbar[sp3,   f5,c3].dR[sp4,   f6,c4] Ga[mu,sp3,sp4]) T[a,c1,c2] T[a,c3,c4];
110
111FierzPauli = { PS[j1_,k1_,k2_]*PS[j1_,k3_,k4_] -> 2*(IndexDelta[k1,k4]*IndexDelta[k2,k3] - 1/2*IndexDelta[k1,k2]*IndexDelta[k3,k4]) };
112DefinePS   = { PauliSigma[j1_,k1_,k2_] -> PS[j1,k1,k2] };
113Gen33      = { f1|f2 -> 3 };
114Gen31      = { f1 -> 3, f2 -> 1 };
115Gen32      = { f1 -> 3, f2 -> 2 };
116Gen13      = { f1 -> 1, f2 -> 3 };
117Gen23      = { f1 -> 2, f2 -> 3 };
118Gen3311    = { f1|f2 -> 3, f5|f6 -> 1 };
119Gen3322    = { f1|f2 -> 3, f5|f6 -> 2 };
120Gen1133    = { f1|f2 -> 1, f5|f6 -> 3 };
121Gen2233    = { f1|f2 -> 2, f5|f6 -> 3 };
122
123Gen3111    = { f1 -> 3, f2 -> 1, f5|f6 -> 1 };
124Gen3122    = { f1 -> 3, f2 -> 1, f5|f6 -> 2 };
125Gen3211    = { f1 -> 3, f2 -> 2, f5|f6 -> 1 };
126Gen3222    = { f1 -> 3, f2 -> 2, f5|f6 -> 2 };
127Gen1131    = { f1|f2 -> 1, f5 -> 3, f6 -> 1 };
128Gen2231    = { f1|f2 -> 2, f5 -> 3, f6 -> 1 };
129Gen1132    = { f1|f2 -> 1, f5 -> 3, f6 -> 2 };
130Gen2232    = { f1|f2 -> 2, f5 -> 3, f6 -> 2 };
131
132Gen3331    = { f1|f2|f5 -> 3, f6 -> 1};
133Gen3332    = { f1|f2|f5 -> 3, f6 -> 2};
134Gen3313    = { f1|f2|f6 -> 3, f5 -> 1};
135Gen3323    = { f1|f2|f6 -> 3, f5 -> 2};
136Gen3133    = { f1|f5|f6 -> 3, f2 -> 1};
137Gen3233    = { f1|f5|f6 -> 3, f2 -> 2};
138Gen1333    = { f2|f5|f6 -> 3, f1 -> 1};
139Gen2333    = { f2|f5|f6 -> 3, f1 -> 2};
140
141Gen3333    = { f1|f2|f5|f6 -> 3};
142
143Electron     = { f3|f4 -> 1 };
144Muon         = { f3|f4 -> 2 };
145Tau          = { f3|f4 -> 3 };
146RemovePart = { GP|GPbar|G0 -> 0};
147ckm        = { Conjugate[CKM[i_,j_]] -> IndexDelta[i,j], CKM[i_,j_] -> IndexDelta[i,j] };
148Print["--- !!!! Goldstones will be removed"]
149Print["--- !!!! CKM will be set to I"]
150
151
152Print["--- Expand indices"]
153(*FR$Parallel=True;*)
154
155O2fHerm    = {Ophiq1, Ophiq3, Ophiu, Ophid};
156O2fNonHerm = {Ophiud, Ouphi, OdW, OuW, OuB, OuG};
157O4fHerm    = {Olq1, Olq3, Olu, Oeq, Oeu};
158O4fNonHerm = {Olequ1, Olequ3, Oledq};
159
160(* Expand two-fermion *)
161Print["--- Expand two fermion operators"]
162L2fHerm=ParallelMap[
163        ExpandIndices[
164        ExpandIndices[
165                ((#)            /. FierzPauli ) /Lambda^2
166        ,FlavorExpand->SU2W]    /. DefinePS
167        ,FlavorExpand->SU2D]    /. RemovePart
168&, O2fHerm ] ;
169L2fNonHerm=ParallelMap[
170        ExpandIndices[
171        ExpandIndices[
172                ((#)            /. FierzPauli ) /Lambda^2
173        ,FlavorExpand->SU2W]    /. DefinePS
174        ,FlavorExpand->SU2D]    /. RemovePart
175&, O2fNonHerm ] ;
176
177
178Print["--- Expand 2f FCNC"]
179L2fFCNC = Join[
180        ParallelMap[ExpandIndices[ (# /. Gen31) + (# /. Gen32)                              , FlavorExpand->Generation] /. ckm &, L2fHerm ],
181        ParallelMap[ExpandIndices[ (# /. Gen31) + (# /. Gen32) + (# /. Gen13) + (# /. Gen23), FlavorExpand->Generation] /. ckm &, L2fNonHerm ]
182        ];
183
184
185L2fFCNC = ParallelMap[ (# + HC[#]) &, L2fFCNC ] ;
186Print["--- Expand 2f (flavour conserving)"]
187L2fHerm    = ParallelMap[ExpandIndices[  # /. Gen33, FlavorExpand->Generation] /. ckm &, L2fHerm ] ;
188L2fNonHerm = ParallelMap[ExpandIndices[  # /. Gen33, FlavorExpand->Generation] /. ckm &, L2fNonHerm ] ;
189L2f = Join[L2fHerm, ParallelMap[ (# + HC[#]) &, L2fNonHerm ]];
190
191
192(* Expand four-fermion 2q2l *)
193Print["--- Expand four-fermion operators"]
194L4fHerm=ParallelMap[
195        ExpandIndices[
196        ExpandIndices[
197                (# /Lambda^2 )  /. FierzPauli
198        ,FlavorExpand->SU2W]    /. DefinePS
199        ,FlavorExpand->SU2D]    /. RemovePart
200&, O4fHerm ] ;
201L4fNonHerm=ParallelMap[
202        ExpandIndices[
203        ExpandIndices[
204                (# /Lambda^2 )  /. FierzPauli
205        ,FlavorExpand->SU2W]    /. DefinePS
206        ,FlavorExpand->SU2D]    /. RemovePart
207&, O4fNonHerm ] ;
208
209
210Print["--- Expand 2q2l FCNC"]
211L4fFCNC = Join[
212        ParallelMap[ExpandIndices[
213                   (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen31)
214                 + (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen32)
215                 , FlavorExpand->Generation] /. ckm &, L4fHerm ],
216        ParallelMap[ExpandIndices[
217                   (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen31)
218                 + (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen32)
219                 + (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen13)
220                 + (( (# /. Electron ) + (# /. Muon ) + (# /. Tau ) ) /. Gen23)
221                 , FlavorExpand->Generation] /. ckm &, L4fNonHerm ]
222        ];
223L4fFCNC = ParallelMap[ (# + HC[#]) &, L4fFCNC ] ;
224
225
226Print["--- Expand 2q2l (flavour conserving)"]
227L4fHerm    = ParallelMap[ExpandIndices[ ((# /. Electron ) + (# /. Muon ) + (# /. Tau )  /. Gen33), FlavorExpand->Generation] /. ckm &, L4fHerm ] ;
228L4fNonHerm = ParallelMap[ExpandIndices[ ((# /. Electron ) + (# /. Muon ) + (# /. Tau )  /. Gen33), FlavorExpand->Generation] /. ckm &, L4fNonHerm ] ;
229L4f = Join[ L4fHerm, ParallelMap[ (# + HC[#]) &, L4fNonHerm ]] ;
230
231
232(* Expand 4q *)
233Print["--- Expand 4q operators"]
234O4q = {Oqq83, Oqq81, Oqu8, Oqd8, Ouu8, Oud8,
235       Oqq13, Oqq11, Oqu1, Oqd1, Ouu1, Oud1,
236       Oquqd1, Oquqd8, Oquqd1T, Oquqd8T,
237       Ouqqu1, Ouqqu8, Odqqd1, Odqqd8,
238       Oduud1, Oduud8 };
239L4q = ParallelMap[
240        ExpandIndices[
241        ExpandIndices[
242                ((#) /Lambda^2 )/. FierzPauli
243        ,FlavorExpand->SU2W]    /. DefinePS
244        ,FlavorExpand->SU2D]    /. RemovePart
245&, O4q ] ;
246Oqq83  = L4q[[ 1]];
247Oqq81  = L4q[[ 2]];
248Oqu8   = L4q[[ 3]];
249Oqd8   = L4q[[ 4]];
250Ouu8   = L4q[[ 5]];
251Oud8   = L4q[[ 6]];
252Oqq13  = L4q[[ 7]];
253Oqq11  = L4q[[ 8]];
254Oqu1   = L4q[[ 9]];
255Oqd1   = L4q[[10]];
256Ouu1   = L4q[[11]];
257Oud1   = L4q[[12]];
258Oquqd1 = L4q[[13]];
259Oquqd8 = L4q[[14]];
260Oquqd1T= L4q[[15]];
261Oquqd8T= L4q[[16]];
262Ouqqu1 = L4q[[17]];
263Ouqqu8 = L4q[[18]];
264Odqqd1 = L4q[[19]];
265Odqqd8 = L4q[[20]];
266Oduud1 = L4q[[21]];
267Oduud8 = L4q[[22]];
268
269
270
271Print["--- Expand qqtt"]
272Lqqtt = Join[ ParallelMap[ ExpandIndices[ (# /. Gen3311) + (# /. Gen3322) , FlavorExpand->Generation]   /. ckm &,
273                {Oqq83, Oqq81, Oqu8, Oqd8, Ouu8, Oud8,
274                 Oqq13, Oqq11, Oqu1, Oqd1, Ouu1, Oud1} ],
275              ParallelMap[ ExpandIndices[ (# /. Gen1133) + (# /. Gen2233) , FlavorExpand->Generation]   /. ckm &,
276                {Oqu8, Oqu1} ]
277        ] ;
278
279
280Print["--- Expand tttt"]
281Ltttt = ParallelMap[ ExpandIndices[ (# /. Gen3333)]     /. ckm &,
282        {Oqq13,  Oqq11,  Oqu1, Oqd1, Ouu1,  Oud1,
283                          Oqu8, Oqd8,        Oud8,
284         Oquqd1, Oquqd8}] ;
285Ltttt = Join[ Ltttt, Table[ HC[Ltttt[[i]]],{i,Length[Ltttt]-1,Length[Ltttt]}] ];
286
287
288Print["--- Expand qqttS"]
289LqqttS= Join[ ParallelMap[ ExpandIndices[ (# /. Gen3311) + (# /. Gen3322) ]     /. ckm &,
290                {Ouqqu1, Ouqqu8,
291                 Odqqd1, Odqqd8,
292                 Oquqd1, Oquqd8, Oquqd1T, Oquqd8T,
293                 Oduud1, Oduud8} ],
294              ParallelMap[ ExpandIndices[ (# /. Gen1133) + (# /. Gen2233) ]     /. ckm &,
295                {Oquqd1, Oquqd8, Oquqd1T, Oquqd8T} ]             (* Should there be a sign flip here from epsilon? *)
296        ] ;
297LqqttS = ParallelMap[ (# + HC[#]) &, LqqttS];
298
299
300Print["--- Expand 3h1l FCNC"]
301L3h1lFCNC = Join[ ParallelMap[ ExpandIndices[ (# /. Gen3331) + (# /. Gen3332) ] /. ckm &,
302                        {Oqq13, Oqq11, Ouu1,
303                         Oqu1, Oqu8, Oqd1, Oqd8, Oud1, Oud8,
304                         Oquqd1, Oquqd8} ],
305                  ParallelMap[ ExpandIndices[ (# /. Gen3133) + (# /. Gen3233) ] /. ckm &,
306                        {Oqu1, Oqu8, Oqd1, Oqd8, Oud1, Oud8,
307                         Oquqd1, Oquqd8} ],
308                  ParallelMap[ ExpandIndices[ (# /. Gen3313) + (# /. Gen3323) ] /. ckm &,
309                        {Oquqd1, Oquqd8} ],
310                  ParallelMap[ ExpandIndices[ (# /. Gen1333) + (# /. Gen2333) ] /. ckm &,
311                        {Oquqd1, Oquqd8} ]
312        ] ;
313L3h1lFCNC = ParallelMap[ (# + HC[#]) &, L3h1lFCNC];
314
315
316Print["--- Expand 1l3h FCNC"]
317L1h3lFCNC = Join[ ParallelMap[ ExpandIndices[
318                         (# /. Gen3111) + (# /. Gen3122)
319                        +(# /. Gen3211) + (# /. Gen3222) ]      /. ckm &,
320                        {Oqq11, Oqq13, Oqq81, Oqq83, Ouu1, Ouu8, Oud1, Oud8,  Oqd1, Oqd8,
321                         Oqu1, Oqu8} ],
322                  ParallelMap[ ExpandIndices[
323                         (# /. Gen1131) + (# /. Gen2231)
324                        +(# /. Gen1132) + (# /. Gen2232) ]      /. ckm &,
325                        {Oqu1, Oqu8} ]
326        ] ;
327L1h3lFCNC = ParallelMap[ (# + HC[#]) &, L1h3lFCNC];
328
329
330Print["--- Total Lagrangian"]
331(* Add hermitian conjugate to form Ldim6tot *)
332Ldim6tot = Join[ L2f, L4f, Lqqtt, Ltttt, LqqttS, L2fFCNC, L4fFCNC, L3h1lFCNC, L1h3lFCNC ];
333Ldim6totSum = Total[ Ldim6tot ];
334
335
336Print["--- Save Lagrangian"]
337Ldim6tot >> saved_Ldim6tot ;
338
339
340Lsm = ExpandIndices[
341ExpandIndices[
342        ExpandIndices[
343                (LSM            /. FierzPauli )
344        ,FlavorExpand->SU2W]    /. DefinePS
345        ,FlavorExpand->SU2D]    /. RemovePart /. ckm ];
346
347
348Print["--- Define total Lagrangian and rename operator coefficients"]
349Ltot = Lsm + Total[Ldim6tot] /. {
350        Cuphi[3,3]   -> ctp + I ctpI,
351        Cphiq1[3,3]  -> cpQM + cpQ3,
352        Cphiq3[3,3]  -> cpQ3,
353        Cphiu[3,3]   -> cpt,
354        Cphid[3,3]   -> cpb,
355        Cphiud[3,3]  -> cptb + I cptbI,
356        CuB[3,3]     -> (cw*ctW - ctZ)/sw + I (cw*ctWI - ctZI)/sw,
357        CuW[3,3]     -> ctW + I ctWI,
358        CdW[3,3]     -> cbW + I cbWI,
359        CuG[3,3]     -> (ctG + I ctGI)*Gstrong,
360       
361        Clq1[1,1,3,3]   -> cQlM1 + cQl31,
362        Clq1[2,2,3,3]   -> cQlM2 + cQl32,
363        Clq1[3,3,3,3]   -> cQlM3 + cQl33,
364        Clq3[1,1,3,3]   -> cQl31,
365        Clq3[2,2,3,3]   -> cQl32,
366        Clq3[3,3,3,3]   -> cQl33,
367        Ceq[1,1,3,3]    -> cQe1,
368        Ceq[2,2,3,3]    -> cQe2,
369        Ceq[3,3,3,3]    -> cQe3,
370        Clu[1,1,3,3]    -> ctl1,
371        Clu[2,2,3,3]    -> ctl2,
372        Clu[3,3,3,3]    -> ctl3,
373        Ceu[1,1,3,3]    -> cte1,
374        Ceu[2,2,3,3]    -> cte2,
375        Ceu[3,3,3,3]    -> cte3,
376        Clequ1[1,1,3,3] -> ctlS1 + I ctlSI1,
377        Clequ1[2,2,3,3] -> ctlS2 + I ctlSI2,
378        Clequ1[3,3,3,3] -> ctlS3 + I ctlSI3,
379        Clequ3[1,1,3,3] -> ctlT1 + I ctlTI1,
380        Clequ3[2,2,3,3] -> ctlT2 + I ctlTI2,
381        Clequ3[3,3,3,3] -> ctlT3 + I ctlTI3,
382        Cledq[1,1,3,3]  -> cblS1 + I cblSI1,
383        Cledq[2,2,3,3]  -> cblS2 + I cblSI2,
384        Cledq[3,3,3,3]  -> cblS3 + I cblSI3,
385
386        Cqq83[1,1,3,3] -> cQq83,
387        Cqq81[1,1,3,3] -> cQq81,
388        Cqu8 [1,1,3,3] -> cQu8,
389        Cqu8 [3,3,1,1] -> ctq8,
390        Cqd8 [1,1,3,3] -> cQd8,
391        Cuu8 [1,1,3,3] -> ctu8,
392        Cud8 [1,1,3,3] -> ctd8,
393        Cqq13[1,1,3,3] -> cQq13,
394        Cqq11[1,1,3,3] -> cQq11,
395        Cqu1 [1,1,3,3] -> cQu1,
396        Cqu1 [3,3,1,1] -> ctq1,
397        Cqd1 [1,1,3,3] -> cQd1,
398        Cuu1 [1,1,3,3] -> ctu1,
399        Cud1 [1,1,3,3] -> ctd1,
400
401        Cqq83[2,2,3,3] -> cQq83,
402        Cqq81[2,2,3,3] -> cQq81,
403        Cqu8 [2,2,3,3] -> cQu8,
404        Cqu8 [3,3,2,2] -> ctq8,
405        Cqd8 [2,2,3,3] -> cQd8,
406        Cuu8 [2,2,3,3] -> ctu8,
407        Cud8 [2,2,3,3] -> ctd8,
408        Cqq13[2,2,3,3] -> cQq13,
409        Cqq11[2,2,3,3] -> cQq11,
410        Cqu1 [2,2,3,3] -> cQu1,
411        Cqu1 [3,3,2,2] -> ctq1,
412        Cqd1 [2,2,3,3] -> cQd1,
413        Cuu1 [2,2,3,3] -> ctu1,
414        Cud1 [2,2,3,3] -> ctd1,
415
416        Cqq13[3,3,3,3] -> cQQ8/8,
417        Cqq11[3,3,3,3] -> cQQ1/2 + cQQ8/24,
418        Cqu1 [3,3,3,3] -> cQt1,
419        Cqd1 [3,3,3,3] -> cQb1,
420        Cuu1 [3,3,3,3] -> ctt1,
421        Cud1 [3,3,3,3] -> ctb1,
422        Cqu8 [3,3,3,3] -> cQt8,
423        Cqd8 [3,3,3,3] -> cQb8,
424        Cud8 [3,3,3,3] -> ctb8,
425       
426        Cquqd1[3,3,3,3] -> cQtQb1 + I cQtQb1I,
427        Cquqd8[3,3,3,3] -> cQtQb8 + I cQtQb8I,
428
429        Cuqqu1[1,1,3,3] -> ctQqu1 + I*ctQqu1I,
430        Cuqqu8[1,1,3,3] -> ctQqu8 + I*ctQqu8I,
431        Cdqqd1[1,1,3,3] -> cbQqd1 + I*cbQqd1I,
432        Cdqqd8[1,1,3,3] -> cbQqd8 + I*cbQqd8I,
433        Cquqd1[1,1,3,3] -> cQtqd1 + I*cQtqd1I,
434        Cquqd8[1,1,3,3] -> cQtqd8 + I*cQtqd8I,
435        Cquqd1[3,3,1,1] -> cQbqu1 + I*cQbqu1I,
436        Cquqd8[3,3,1,1] -> cQbqu8 + I*cQbqu8I,
437        Cquqd1T[1,1,3,3] -> cQtqd1T + I*cQtqd1TI,
438        Cquqd8T[1,1,3,3] -> cQtqd8T + I*cQtqd8TI,
439        Cquqd1T[3,3,1,1] -> cQbqu1T + I*cQbqu1TI,
440        Cquqd8T[3,3,1,1] -> cQbqu8T + I*cQbqu8TI,
441        Cduud1[1,1,3,3] -> cbtud1 + I*cbtud1I,
442        Cduud8[1,1,3,3] -> cbtud8 + I*cbtud8I,
443
444        Cuqqu1[2,2,3,3] -> ctQqu1 + I*ctQqu1I,
445        Cuqqu8[2,2,3,3] -> ctQqu8 + I*ctQqu8I,
446        Cdqqd1[2,2,3,3] -> cbQqd1 + I*cbQqd1I,
447        Cdqqd8[2,2,3,3] -> cbQqd8 + I*cbQqd8I,
448        Cquqd1[2,2,3,3] -> cQtqd1 + I*cQtqd1I,
449        Cquqd8[2,2,3,3] -> cQtqd8 + I*cQtqd8I,
450        Cquqd1[3,3,2,2] -> cQbqu1 + I*cQbqu1I,
451        Cquqd8[3,3,2,2] -> cQbqu8 + I*cQbqu8I,
452        Cquqd1T[2,2,3,3] -> cQtqd1T + I*cQtqd1TI,
453        Cquqd8T[2,2,3,3] -> cQtqd8T + I*cQtqd8TI,
454        Cquqd1T[3,3,2,2] -> cQbqu1T + I*cQbqu1TI,
455        Cquqd8T[3,3,2,2] -> cQbqu8T + I*cQbqu8TI,
456        Cduud1[2,2,3,3] -> cbtud1 + I*cbtud1I,
457        Cduud8[2,2,3,3] -> cbtud8 + I*cbtud8I,
458       
459        (* FCNC up *)
460        Cuphi [3,1]  -> ctpx31 + I ctpIx31,
461        Cphiud[3,1]  -> cptbx31 + I cptbIx31,
462        CuB   [3,1]  -> (- sw*ctZx31 + cw*ctAx31) + I*(- sw*ctZIx31 + cw*ctAIx31),
463        CuW   [3,1]  -> (+ cw*ctZx31 + sw*ctAx31) + I*(+ cw*ctZIx31 + sw*ctAIx31),
464        CdW   [3,1]  -> cbWx31 + I cbWIx31,
465        CuG   [3,1]  -> (ctGx31 + I ctGIx31)*Gstrong,
466       
467        Cuphi [1,3]  -> ctpx13 + I ctpIx13,
468        Cphiud[1,3]  -> cptbx13 + I cptbIx13,
469        CuB   [1,3]  -> (- sw*ctZx13 + cw*ctAx13) + I*(- sw*ctZIx13 + cw*ctAIx13),
470        CuW   [1,3]  -> (+ cw*ctZx13 + sw*ctAx13) + I*(+ cw*ctZIx13 + sw*ctAIx13),
471        CdW   [1,3]  -> cbWx13 + I cbWIx13,
472        CuG   [1,3]  -> (ctGx13 + I ctGIx13)*Gstrong,
473       
474        Cphiq1[3,1]  -> (cpQMx31 + cpQ3x31) + I*(cpQMIx31 + cpQ3Ix31),
475        Cphiq3[3,1]  -> cpQ3x31 + I*cpQ3Ix31,
476        Cphiu [3,1]  -> cptx31 + I*cptIx31,
477        Cphid [3,1]  -> cpbx31 + I*cpbIx31,
478       
479        Clq1[1,1,3,1]   -> (cQlMx1x31 + cQl3x1x31) + I*(cQlMIx1x31 + cQl3Ix1x31),
480        Clq1[2,2,3,1]   -> (cQlMx2x31 + cQl3x2x31) + I*(cQlMIx2x31 + cQl3Ix2x31),
481        Clq1[3,3,3,1]   -> (cQlMx3x31 + cQl3x3x31) + I*(cQlMIx3x31 + cQl3Ix3x31),
482        Clq3[1,1,3,1]   -> cQl3x1x31 + I*cQl3Ix1x31,
483        Clq3[2,2,3,1]   -> cQl3x2x31 + I*cQl3Ix2x31,
484        Clq3[3,3,3,1]   -> cQl3x3x31 + I*cQl3Ix3x31,
485        Ceq [1,1,3,1]   -> cQex1x31 + I*cQeIx1x31,
486        Ceq [2,2,3,1]   -> cQex2x31 + I*cQeIx2x31,
487        Ceq [3,3,3,1]   -> cQex3x31 + I*cQeIx3x31,
488        Clu [1,1,3,1]   -> ctlx1x31 + I*ctlIx1x31,
489        Clu [2,2,3,1]   -> ctlx2x31 + I*ctlIx2x31,
490        Clu [3,3,3,1]   -> ctlx3x31 + I*ctlIx3x31,
491        Ceu [1,1,3,1]   -> ctex1x31 + I*cteIx1x31,
492        Ceu [2,2,3,1]   -> ctex2x31 + I*cteIx2x31,
493        Ceu [3,3,3,1]   -> ctex3x31 + I*cteIx3x31,
494       
495        Clequ1[1,1,3,1] -> ctlSx1x31 + I ctlSIx1x31,
496        Clequ1[2,2,3,1] -> ctlSx2x31 + I ctlSIx2x31,
497        Clequ1[3,3,3,1] -> ctlSx3x31 + I ctlSIx3x31,
498        Clequ3[1,1,3,1] -> ctlTx1x31 + I ctlTIx1x31,
499        Clequ3[2,2,3,1] -> ctlTx2x31 + I ctlTIx2x31,
500        Clequ3[3,3,3,1] -> ctlTx3x31 + I ctlTIx3x31,
501       
502        Clequ1[1,1,1,3] -> ctlSx1x13 + I ctlSIx1x13,
503        Clequ1[2,2,1,3] -> ctlSx2x13 + I ctlSIx2x13,
504        Clequ1[3,3,1,3] -> ctlSx3x13 + I ctlSIx3x13,
505        Clequ3[1,1,1,3] -> ctlTx1x13 + I ctlTIx1x13,
506        Clequ3[2,2,1,3] -> ctlTx2x13 + I ctlTIx2x13,
507        Clequ3[3,3,1,3] -> ctlTx3x13 + I ctlTIx3x13,
508
509        Cledq[1,1,3,1] -> cblSx1x31 + I cblSIx1x31,
510        Cledq[2,2,3,1] -> cblSx2x31 + I cblSIx2x31,
511        Cledq[3,3,3,1] -> cblSx3x31 + I cblSIx3x31,
512        Cledq[1,1,1,3] -> cblSx1x13 + I cblSIx1x13,
513        Cledq[2,2,1,3] -> cblSx2x13 + I cblSIx2x13,
514        Cledq[3,3,1,3] -> cblSx3x13 + I cblSIx3x13,
515       
516        (* FCNC charm *)
517        Cuphi [3,2]  -> ctpx32 + I ctpIx32,
518        Cphiud[3,2]  -> cptbx32 + I cptbIx32,
519        CuB   [3,2]  -> (- sw*ctZx32 + cw*ctAx32) + I*(- sw*ctZIx32 + cw*ctAIx32),
520        CuW   [3,2]  -> (+ cw*ctZx32 + sw*ctAx32) + I*(+ cw*ctZIx32 + sw*ctAIx32),
521        CdW   [3,2]  -> cbWx32 + I cbWIx32,
522        CuG   [3,2]  -> (ctGx32 + I ctGIx32)*Gstrong,
523       
524        Cuphi [2,3]  -> ctpx23 + I ctpIx23,
525        Cphiud[2,3]  -> cptbx23 + I cptbIx23,
526        CuB   [2,3]  -> (- sw*ctZx23 + cw*ctAx23) + I*(- sw*ctZIx23 + cw*ctAIx23),
527        CuW   [2,3]  -> (+ cw*ctZx23 + sw*ctAx23) + I*(+ cw*ctZIx23 + sw*ctAIx23),
528        CdW   [2,3]  -> cbWx23 + I cbWIx23,
529        CuG   [2,3]  -> (ctGx23 + I ctGIx23)*Gstrong,
530       
531        Cphiq1[3,2]  -> (cpQMx32 + cpQ3x32) + I*(cpQMIx32 + cpQ3Ix32),
532        Cphiq3[3,2]  -> cpQ3x32 + I*cpQ3Ix32,
533        Cphiu [3,2]  -> cptx32 + I*cptIx32,
534        Cphid [3,2]  -> cpbx32 + I*cpbIx32,
535       
536        Clq1[1,1,3,2]   -> (cQlMx1x32 + cQl3x1x32) + I*(cQlMIx1x32 + cQl3Ix1x32),
537        Clq1[2,2,3,2]   -> (cQlMx2x32 + cQl3x2x32) + I*(cQlMIx2x32 + cQl3Ix2x32),
538        Clq1[3,3,3,2]   -> (cQlMx3x32 + cQl3x3x32) + I*(cQlMIx3x32 + cQl3Ix3x32),
539        Clq3[1,1,3,2]   -> cQl3x1x32 + I*cQl3Ix1x32,
540        Clq3[2,2,3,2]   -> cQl3x2x32 + I*cQl3Ix2x32,
541        Clq3[3,3,3,2]   -> cQl3x3x32 + I*cQl3Ix3x32,
542        Ceq [1,1,3,2]   -> cQex1x32 + I*cQeIx1x32,
543        Ceq [2,2,3,2]   -> cQex2x32 + I*cQeIx2x32,
544        Ceq [3,3,3,2]   -> cQex3x32 + I*cQeIx3x32,
545        Clu [1,1,3,2]   -> ctlx1x32 + I*ctlIx1x32,
546        Clu [2,2,3,2]   -> ctlx2x32 + I*ctlIx2x32,
547        Clu [3,3,3,2]   -> ctlx3x32 + I*ctlIx3x32,
548        Ceu [1,1,3,2]   -> ctex1x32 + I*cteIx1x32,
549        Ceu [2,2,3,2]   -> ctex2x32 + I*cteIx2x32,
550        Ceu [3,3,3,2]   -> ctex3x32 + I*cteIx3x32,
551       
552        Clequ1[1,1,3,2] -> ctlSx1x32 + I ctlSIx1x32,
553        Clequ1[2,2,3,2] -> ctlSx2x32 + I ctlSIx2x32,
554        Clequ1[3,3,3,2] -> ctlSx3x32 + I ctlSIx3x32,
555        Clequ3[1,1,3,2] -> ctlTx1x32 + I ctlTIx1x32,
556        Clequ3[2,2,3,2] -> ctlTx2x32 + I ctlTIx2x32,
557        Clequ3[3,3,3,2] -> ctlTx3x32 + I ctlTIx3x32,
558       
559        Clequ1[1,1,2,3] -> ctlSx1x23 + I ctlSIx1x23,
560        Clequ1[2,2,2,3] -> ctlSx2x23 + I ctlSIx2x23,
561        Clequ1[3,3,2,3] -> ctlSx3x23 + I ctlSIx3x23,
562        Clequ3[1,1,2,3] -> ctlTx1x23 + I ctlTIx1x23,
563        Clequ3[2,2,2,3] -> ctlTx2x23 + I ctlTIx2x23,
564        Clequ3[3,3,2,3] -> ctlTx3x23 + I ctlTIx3x23,
565
566        Cledq[1,1,3,2] -> cblSx1x32 + I cblSIx1x32,
567        Cledq[2,2,3,2] -> cblSx2x32 + I cblSIx2x32,
568        Cledq[3,3,3,2] -> cblSx3x32 + I cblSIx3x32,
569        Cledq[1,1,2,3] -> cblSx1x23 + I cblSIx1x23,
570        Cledq[2,2,2,3] -> cblSx2x23 + I cblSIx2x23,
571        Cledq[3,3,2,3] -> cblSx3x23 + I cblSIx3x23,
572       
573        (* FCNC 1l3h up *)
574(*
575for i in 1 2; do
576for lab in qq13 qq11 uu1 qu1 qu8 qu8 qd1 qd8 ud1 ud8 quqd1 quqd8; do
577        echo -e "\tC${lab}[3,${i},3,3] -> c${lab}x333${i} + I c${lab}Ix333${i},"
578done
579echo ""
580for lab in qu1 qu8 qu8 qd1 qd8 ud1 ud8 quqd1 quqd8; do
581        echo -e "\tC${lab}[3,3,3,${i}] -> c${lab}x3${i}33 + I c${lab}Ix3${i}33,"
582done
583echo ""
584for lab in quqd1 quqd8; do
585        echo -e "\tC${lab}[${i},3,3,3] -> c${lab}x33${i}3 + I c${lab}Ix33${i}3,"
586done
587echo ""
588for lab in quqd1 quqd8; do
589        echo -e "\tC${lab}[3,3,${i},3] -> c${lab}x${i}333 + I c${lab}Ix${i}333,"
590done
591echo ""
592done
593*)
594        Cqq13[3,1,3,3] -> cqq13x3331 + I cqq13Ix3331,
595        Cqq11[3,1,3,3] -> cqq11x3331 + I cqq11Ix3331,
596        Cuu1[3,1,3,3] -> cuu1x3331 + I cuu1Ix3331,
597        Cqu1[3,1,3,3] -> cqu1x3331 + I cqu1Ix3331,
598        Cqu8[3,1,3,3] -> cqu8x3331 + I cqu8Ix3331,
599        Cqu8[3,1,3,3] -> cqu8x3331 + I cqu8Ix3331,
600        Cqd1[3,1,3,3] -> cqd1x3331 + I cqd1Ix3331,
601        Cqd8[3,1,3,3] -> cqd8x3331 + I cqd8Ix3331,
602        Cud1[3,1,3,3] -> cud1x3331 + I cud1Ix3331,
603        Cud8[3,1,3,3] -> cud8x3331 + I cud8Ix3331,
604        Cquqd1[3,1,3,3] -> cquqd1x3331 + I cquqd1Ix3331,
605        Cquqd8[3,1,3,3] -> cquqd8x3331 + I cquqd8Ix3331,
606
607        Cqu1[3,3,3,1] -> cqu1x3133 + I cqu1Ix3133,
608        Cqu8[3,3,3,1] -> cqu8x3133 + I cqu8Ix3133,
609        Cqu8[3,3,3,1] -> cqu8x3133 + I cqu8Ix3133,
610        Cqd1[3,3,3,1] -> cqd1x3133 + I cqd1Ix3133,
611        Cqd8[3,3,3,1] -> cqd8x3133 + I cqd8Ix3133,
612        Cud1[3,3,3,1] -> cud1x3133 + I cud1Ix3133,
613        Cud8[3,3,3,1] -> cud8x3133 + I cud8Ix3133,
614        Cquqd1[3,3,3,1] -> cquqd1x3133 + I cquqd1Ix3133,
615        Cquqd8[3,3,3,1] -> cquqd8x3133 + I cquqd8Ix3133,
616
617        Cquqd1[1,3,3,3] -> cquqd1x3313 + I cquqd1Ix3313,
618        Cquqd8[1,3,3,3] -> cquqd8x3313 + I cquqd8Ix3313,
619
620        Cquqd1[3,3,1,3] -> cquqd1x1333 + I cquqd1Ix1333,
621        Cquqd8[3,3,1,3] -> cquqd8x1333 + I cquqd8Ix1333,
622
623        Cqq13[3,2,3,3] -> cqq13x3332 + I cqq13Ix3332,
624        Cqq11[3,2,3,3] -> cqq11x3332 + I cqq11Ix3332,
625        Cuu1[3,2,3,3] -> cuu1x3332 + I cuu1Ix3332,
626        Cqu1[3,2,3,3] -> cqu1x3332 + I cqu1Ix3332,
627        Cqu8[3,2,3,3] -> cqu8x3332 + I cqu8Ix3332,
628        Cqu8[3,2,3,3] -> cqu8x3332 + I cqu8Ix3332,
629        Cqd1[3,2,3,3] -> cqd1x3332 + I cqd1Ix3332,
630        Cqd8[3,2,3,3] -> cqd8x3332 + I cqd8Ix3332,
631        Cud1[3,2,3,3] -> cud1x3332 + I cud1Ix3332,
632        Cud8[3,2,3,3] -> cud8x3332 + I cud8Ix3332,
633        Cquqd1[3,2,3,3] -> cquqd1x3332 + I cquqd1Ix3332,
634        Cquqd8[3,2,3,3] -> cquqd8x3332 + I cquqd8Ix3332,
635
636        Cqu1[3,3,3,2] -> cqu1x3233 + I cqu1Ix3233,
637        Cqu8[3,3,3,2] -> cqu8x3233 + I cqu8Ix3233,
638        Cqu8[3,3,3,2] -> cqu8x3233 + I cqu8Ix3233,
639        Cqd1[3,3,3,2] -> cqd1x3233 + I cqd1Ix3233,
640        Cqd8[3,3,3,2] -> cqd8x3233 + I cqd8Ix3233,
641        Cud1[3,3,3,2] -> cud1x3233 + I cud1Ix3233,
642        Cud8[3,3,3,2] -> cud8x3233 + I cud8Ix3233,
643        Cquqd1[3,3,3,2] -> cquqd1x3233 + I cquqd1Ix3233,
644        Cquqd8[3,3,3,2] -> cquqd8x3233 + I cquqd8Ix3233,
645
646        Cquqd1[2,3,3,3] -> cquqd1x3323 + I cquqd1Ix3323,
647        Cquqd8[2,3,3,3] -> cquqd8x3323 + I cquqd8Ix3323,
648
649        Cquqd1[3,3,2,3] -> cquqd1x2333 + I cquqd1Ix2333,
650        Cquqd8[3,3,2,3] -> cquqd8x2333 + I cquqd8Ix2333,
651       
652(*
653for a in 1 2; do
654for i in 1 2; do
655for lab in qq11 qq13 qq81 qq83 uu1 uu8 ud1 ud8 qd1 qd8 qu1 qu8; do
656        echo -e "\tC${lab}[${i},${i},3,${a}] -> c${lab}x3${a}ii + I c${lab}Ix3${a}ii,"
657done
658echo ""
659for lab in qu1 qu8; do
660        echo -e "\tC${lab}[3,${a},${i},${i}] -> c${lab}xii3${a} + I c${lab}Ixii3${a},"
661done
662echo ""
663done
664done
665*)
666        Cqq11[1,1,3,1] -> cqq11x31ii + I cqq11Ix31ii,
667        Cqq13[1,1,3,1] -> cqq13x31ii + I cqq13Ix31ii,
668        Cqq81[1,1,3,1] -> cqq81x31ii + I cqq81Ix31ii,
669        Cqq83[1,1,3,1] -> cqq83x31ii + I cqq83Ix31ii,
670        Cuu1[1,1,3,1] -> cuu1x31ii + I cuu1Ix31ii,
671        Cuu8[1,1,3,1] -> cuu8x31ii + I cuu8Ix31ii,
672        Cud1[1,1,3,1] -> cud1x31ii + I cud1Ix31ii,
673        Cud8[1,1,3,1] -> cud8x31ii + I cud8Ix31ii,
674        Cqd1[1,1,3,1] -> cqd1x31ii + I cqd1Ix31ii,
675        Cqd8[1,1,3,1] -> cqd8x31ii + I cqd8Ix31ii,
676        Cqu1[1,1,3,1] -> cqu1x31ii + I cqu1Ix31ii,
677        Cqu8[1,1,3,1] -> cqu8x31ii + I cqu8Ix31ii,
678
679        Cqu1[3,1,1,1] -> cqu1xii31 + I cqu1Ixii31,
680        Cqu8[3,1,1,1] -> cqu8xii31 + I cqu8Ixii31,
681
682        Cqq11[2,2,3,1] -> cqq11x31ii + I cqq11Ix31ii,
683        Cqq13[2,2,3,1] -> cqq13x31ii + I cqq13Ix31ii,
684        Cqq81[2,2,3,1] -> cqq81x31ii + I cqq81Ix31ii,
685        Cqq83[2,2,3,1] -> cqq83x31ii + I cqq83Ix31ii,
686        Cuu1[2,2,3,1] -> cuu1x31ii + I cuu1Ix31ii,
687        Cuu8[2,2,3,1] -> cuu8x31ii + I cuu8Ix31ii,
688        Cud1[2,2,3,1] -> cud1x31ii + I cud1Ix31ii,
689        Cud8[2,2,3,1] -> cud8x31ii + I cud8Ix31ii,
690        Cqd1[2,2,3,1] -> cqd1x31ii + I cqd1Ix31ii,
691        Cqd8[2,2,3,1] -> cqd8x31ii + I cqd8Ix31ii,
692        Cqu1[2,2,3,1] -> cqu1x31ii + I cqu1Ix31ii,
693        Cqu8[2,2,3,1] -> cqu8x31ii + I cqu8Ix31ii,
694
695        Cqu1[3,1,2,2] -> cqu1xii31 + I cqu1Ixii31,
696        Cqu8[3,1,2,2] -> cqu8xii31 + I cqu8Ixii31,
697
698        Cqq11[1,1,3,2] -> cqq11x32ii + I cqq11Ix32ii,
699        Cqq13[1,1,3,2] -> cqq13x32ii + I cqq13Ix32ii,
700        Cqq81[1,1,3,2] -> cqq81x32ii + I cqq81Ix32ii,
701        Cqq83[1,1,3,2] -> cqq83x32ii + I cqq83Ix32ii,
702        Cuu1[1,1,3,2] -> cuu1x32ii + I cuu1Ix32ii,
703        Cuu8[1,1,3,2] -> cuu8x32ii + I cuu8Ix32ii,
704        Cud1[1,1,3,2] -> cud1x32ii + I cud1Ix32ii,
705        Cud8[1,1,3,2] -> cud8x32ii + I cud8Ix32ii,
706        Cqd1[1,1,3,2] -> cqd1x32ii + I cqd1Ix32ii,
707        Cqd8[1,1,3,2] -> cqd8x32ii + I cqd8Ix32ii,
708        Cqu1[1,1,3,2] -> cqu1x32ii + I cqu1Ix32ii,
709        Cqu8[1,1,3,2] -> cqu8x32ii + I cqu8Ix32ii,
710
711        Cqu1[3,2,1,1] -> cqu1xii32 + I cqu1Ixii32,
712        Cqu8[3,2,1,1] -> cqu8xii32 + I cqu8Ixii32,
713
714        Cqq11[2,2,3,2] -> cqq11x32ii + I cqq11Ix32ii,
715        Cqq13[2,2,3,2] -> cqq13x32ii + I cqq13Ix32ii,
716        Cqq81[2,2,3,2] -> cqq81x32ii + I cqq81Ix32ii,
717        Cqq83[2,2,3,2] -> cqq83x32ii + I cqq83Ix32ii,
718        Cuu1[2,2,3,2] -> cuu1x32ii + I cuu1Ix32ii,
719        Cuu8[2,2,3,2] -> cuu8x32ii + I cuu8Ix32ii,
720        Cud1[2,2,3,2] -> cud1x32ii + I cud1Ix32ii,
721        Cud8[2,2,3,2] -> cud8x32ii + I cud8Ix32ii,
722        Cqd1[2,2,3,2] -> cqd1x32ii + I cqd1Ix32ii,
723        Cqd8[2,2,3,2] -> cqd8x32ii + I cqd8Ix32ii,
724        Cqu1[2,2,3,2] -> cqu1x32ii + I cqu1Ix32ii,
725        Cqu8[2,2,3,2] -> cqu8x32ii + I cqu8Ix32ii,
726
727        Cqu1[3,2,2,2] -> cqu1xii32 + I cqu1Ixii32,
728        Cqu8[3,2,2,2] -> cqu8xii32 + I cqu8Ixii32
729        };
730
731
732Print["--- Save full Lagrangian"]
733Ltot >> dim6top_Ltot ;
734
735
736(*Ltot = << dim6top_Ltot_clean ;*)
737
738
739Print["--- Compute vertices"]
740verttot = FeynmanRules[
741        Ltot(*,
742        MaxParticles->4*)];
743
744
745Print["--- Simplify vertices"]
746verttot = verttot /.{cw^2->1-sw^2} // Simplify  ;
747
748
749Print["--- Save vertices"]
750verttot >> saved_verttot ;
751
752
753(*verttot = << verttot_tmp ;*)
754
755
756Print["--- Write UFO model with those"]
757WriteUFO[
758        {},Input->verttot,
759        AddDecays->False,
760        Output->"dim6top_LO_UFO"
761        (*Output->"dim6top_LO_UFO_each_coupling_order"*)
762];
763
764
765