Merge lp:~maddevelopers/mg5amcnlo/3.3.2 into lp:mg5amcnlo

Proposed by Olivier Mattelaer
Status: Merged
Merged at revision: 971
Proposed branch: lp:~maddevelopers/mg5amcnlo/3.3.2
Merge into: lp:mg5amcnlo
Diff against target: 12435 lines (+10358/-561)
60 files modified
MadSpin/decay.py (+5/-1)
MadSpin/interface_madspin.py (+5/-3)
MadSpin/src/driver.f (+1/-2)
Template/LO/Cards/run_card.dat (+2/-2)
Template/LO/Source/dsample.f (+3/-1)
Template/LO/SubProcesses/genps.f (+0/-415)
Template/LO/SubProcesses/refine.sh (+4/-2)
Template/LO/bin/internal/merge.pl (+28/-17)
Template/NLO/MCatNLO/srcPythia8/Pythia82_enhanceUH.cc (+2/-2)
Template/NLO/MCatNLO/srcPythia8/Pythia83.cc (+2/-2)
Template/NLO/SubProcesses/cuts.f (+18/-1)
Template/NLO/SubProcesses/makefile_fks_dir (+10/-4)
UpdateNotes.txt (+29/-0)
VERSION (+2/-2)
madgraph/fks/fks_base.py (+7/-3)
madgraph/interface/amcatnlo_interface.py (+11/-2)
madgraph/interface/madgraph_interface.py (+7/-4)
madgraph/interface/master_interface.py (+6/-1)
madgraph/iolibs/export_fks.py (+13/-7)
madgraph/iolibs/export_v4.py (+11/-3)
madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc (+1/-0)
madgraph/iolibs/template_files/matrix_madevent_group_v4.inc (+2/-0)
madgraph/iolibs/template_files/matrix_madevent_group_v4_hel.inc (+2/-0)
madgraph/loop/loop_base_objects.py (+2/-1)
madgraph/madevent/hel_recycle.py (+7/-11)
madgraph/various/banner.py (+15/-7)
madgraph/various/diagram_symmetry.py (+11/-1)
madgraph/various/lhe_parser.py (+17/-12)
madgraph/various/misc.py (+3/-2)
mg5decay/decay_objects.py (+7/-7)
models/usermod.py (+2/-1)
tests/acceptance_tests/test_cmd.py (+15/-9)
tests/acceptance_tests/test_cmd_amcatnlo.py (+2/-2)
tests/acceptance_tests/test_cmd_madevent.py (+5/-5)
tests/acceptance_tests/test_cmd_reweight.py (+1/-1)
tests/acceptance_tests/test_madspin.py (+65/-1)
tests/input_files/231_Model_UFO/CT_couplings.py (+11/-0)
tests/input_files/231_Model_UFO/__init__.py (+50/-0)
tests/input_files/231_Model_UFO/coupling_orders.py (+16/-0)
tests/input_files/231_Model_UFO/couplings.py (+2783/-0)
tests/input_files/231_Model_UFO/function_library.py (+71/-0)
tests/input_files/231_Model_UFO/lorentz.py (+102/-0)
tests/input_files/231_Model_UFO/object_library.py (+373/-0)
tests/input_files/231_Model_UFO/parameters.py (+1161/-0)
tests/input_files/231_Model_UFO/particles.py (+444/-0)
tests/input_files/231_Model_UFO/propagators.py (+35/-0)
tests/input_files/231_Model_UFO/vertices.py (+4589/-0)
tests/input_files/231_Model_UFO/write_param_card.py (+182/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/configs.inc (+4/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_group/matrix1.f (+2/-0)
tests/input_files/IOTestsComparison/IOExportV4IOTest/export_matrix_element_v4_madevent_nogroup/configs.inc (+4/-0)
tests/parallel_tests/test_cmd_amcatnlo.py (+2/-1)
tests/test_manager.py (+8/-5)
tests/unit_tests/core/test_helas_objects.py (+1/-1)
tests/unit_tests/iolibs/test_export_v4.py (+140/-6)
tests/unit_tests/various/test_banner.py (+2/-2)
tests/unit_tests/various/test_cmd.py (+26/-11)
tests/unit_tests/various/test_import_ufo.py (+16/-0)
tests/unit_tests/various/test_lhe_parser.py (+1/-1)
tests/unit_tests/various/test_misc.py (+12/-0)
To merge this branch: bzr merge lp:~maddevelopers/mg5amcnlo/3.3.2
Reviewer Review Type Date Requested Status
Olivier Mattelaer Approve
Review via email: mp+416581@code.launchpad.net

Commit message

bug fixing

To post a comment you must log in.
Revision history for this message
marco zaro (marco-zaro) wrote :
Download full text (533.2 KiB)

Hi Olivier, all,

I would say we should include this branch
https://code.launchpad.net/~maddevelopers/mg5amcnlo/3.3.2-photonsokinqcd

in 3.3.2…
can we review it?

Cheers,

Marco
> On 9 Mar 2022, at 09:16, Olivier Mattelaer <email address hidden> wrote:
>
> Olivier Mattelaer has proposed merging lp:~maddevelopers/mg5amcnlo/3.3.2 into lp:mg5amcnlo.
>
> Commit message:
> bug fixing
>
> Requested reviews:
> MadTeam (madteam)
>
> For more details, see:
> https://code.launchpad.net/~maddevelopers/mg5amcnlo/3.3.2/+merge/416581
> --
> The attached diff has been truncated due to its size.
> Your team MadTeam is requested to review the proposed merge of lp:~maddevelopers/mg5amcnlo/3.3.2 into lp:mg5amcnlo.
> === modified file 'MadSpin/decay.py'
> --- MadSpin/decay.py 2021-12-03 15:40:10 +0000
> +++ MadSpin/decay.py 2022-03-09 08:16:13 +0000
> @@ -2469,7 +2469,11 @@
> #no decays for this production mode, run in passthrough mode, only adding the helicities to the events
> nb_mc_masses=0
> p, p_str=self.curr_event.give_momenta(event_map)
> - stdin_text=' %s %s %s %s \n' % ('2', self.options['BW_cut'], self.Ecollider, 1.0, self.options['frame_id'])
> + try:
> + frameid = self.options['frame_id']
> + except KeyError:
> + frameid = 6
> + stdin_text=' %s %s %s %s %s\n' % ('2', self.options['BW_cut'], self.Ecollider, 1.0, frameid)
> stdin_text+=p_str
> # here I also need to specify the Monte Carlo Masses
> stdin_text+=" %s \n" % nb_mc_masses
>
> === modified file 'MadSpin/interface_madspin.py'
> --- MadSpin/interface_madspin.py 2021-12-03 15:40:10 +0000
> +++ MadSpin/interface_madspin.py 2022-03-09 08:16:13 +0000
> @@ -633,8 +633,9 @@
> if pid in self.final_state:
> break
> else:
> - logger.info("Nothing to decay ...")
> - return
> + if not self.options['onlyhelicity']:
> + logger.info("Nothing to decay ...")
> + return
>
>
> model_line = self.banner.get('proc_card', 'full_model_line')
> @@ -715,7 +716,8 @@
> generate_all.all_decay = eval(generate_all.all_decay)
> for me in generate_all.all_ME:
> for d in generate_all.all_ME[me]['decays']:
> - d['decay_struct'] = eval(d['decay_struct'])
> + if isinstance(d['decay_struct'], str):
> + d['decay_struct'] = eval(d['decay_struct'])
>
>
> # Re-create information which are not save in the pickle.
>
> === modified file 'MadSpin/src/driver.f'
> --- MadSpin/src/driver.f 2020-01-15 18:23:15 +0000
> +++ MadSpin/src/driver.f 2022-03-09 08:16:13 +0000
> @@ -1533,8 +1533,7 @@
> m(ibranch-1)=m2_tchan(ibranch)
> else
> ivar=ivar+1
> - m(ibranch-1)=dsqrt((smax-smin)*
> - & x(ivar))
> + m(ibranch-1)=dsqrt((smax-smin)*x(ivar) + smin)
> m2_tchan(ibranch)=m(ibranch-1)
> xjac0 = xjac0*(smax-smin)
> endif
>
> === modified file 'Template/LO/Cards/run_card.dat'
> --- Template/LO/Cards/run_card.dat 2021-10-30 16:15:39 +0000
> +...

lp:~maddevelopers/mg5amcnlo/3.3.2 updated
987. By olivier-mattelaer

fix an issue with the conversion from NLO syntax to loop-induced

988. By olivier-mattelaer

more security aroung max_n_loop

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

@frederix: Is the heft bug is fixed?
I still have two acceptance test crashing related to that:

test_nlo_output2 and test_loop_improved_reweighting
(where I would need to regenerate the lhe file to make the test to pass since the input lhe file is correctly using the v2.x syntax for the weight information)

But since this issue is quite old now, I would release 3.3.2 independtly of that.

review: Approve
lp:~maddevelopers/mg5amcnlo/3.3.2 updated
989. By olivier-mattelaer

merge with /3.3.2-photonsokinqcd

990. By olivier-mattelaer

making lhe parser to be able to run without banner --for madspin-- + allow --debug for the test manager

Revision history for this message
Rikkert Frederix (frederix) wrote :

Hi Olivier,

I do not know if the heft bug is fixed. I haven't look into it at all.

Best,
Rikkert

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'MadSpin/decay.py'
2--- MadSpin/decay.py 2021-12-03 15:40:10 +0000
3+++ MadSpin/decay.py 2022-03-18 09:02:48 +0000
4@@ -2469,7 +2469,11 @@
5 #no decays for this production mode, run in passthrough mode, only adding the helicities to the events
6 nb_mc_masses=0
7 p, p_str=self.curr_event.give_momenta(event_map)
8- stdin_text=' %s %s %s %s \n' % ('2', self.options['BW_cut'], self.Ecollider, 1.0, self.options['frame_id'])
9+ try:
10+ frameid = self.options['frame_id']
11+ except KeyError:
12+ frameid = 6
13+ stdin_text=' %s %s %s %s %s\n' % ('2', self.options['BW_cut'], self.Ecollider, 1.0, frameid)
14 stdin_text+=p_str
15 # here I also need to specify the Monte Carlo Masses
16 stdin_text+=" %s \n" % nb_mc_masses
17
18=== modified file 'MadSpin/interface_madspin.py'
19--- MadSpin/interface_madspin.py 2021-12-03 15:40:10 +0000
20+++ MadSpin/interface_madspin.py 2022-03-18 09:02:48 +0000
21@@ -633,8 +633,9 @@
22 if pid in self.final_state:
23 break
24 else:
25- logger.info("Nothing to decay ...")
26- return
27+ if not self.options['onlyhelicity']:
28+ logger.info("Nothing to decay ...")
29+ return
30
31
32 model_line = self.banner.get('proc_card', 'full_model_line')
33@@ -715,7 +716,8 @@
34 generate_all.all_decay = eval(generate_all.all_decay)
35 for me in generate_all.all_ME:
36 for d in generate_all.all_ME[me]['decays']:
37- d['decay_struct'] = eval(d['decay_struct'])
38+ if isinstance(d['decay_struct'], str):
39+ d['decay_struct'] = eval(d['decay_struct'])
40
41
42 # Re-create information which are not save in the pickle.
43
44=== modified file 'MadSpin/src/driver.f'
45--- MadSpin/src/driver.f 2020-01-15 18:23:15 +0000
46+++ MadSpin/src/driver.f 2022-03-18 09:02:48 +0000
47@@ -1533,8 +1533,7 @@
48 m(ibranch-1)=m2_tchan(ibranch)
49 else
50 ivar=ivar+1
51- m(ibranch-1)=dsqrt((smax-smin)*
52- & x(ivar))
53+ m(ibranch-1)=dsqrt((smax-smin)*x(ivar) + smin)
54 m2_tchan(ibranch)=m(ibranch-1)
55 xjac0 = xjac0*(smax-smin)
56 endif
57
58=== modified file 'Template/LO/Cards/run_card.dat'
59--- Template/LO/Cards/run_card.dat 2021-10-30 16:15:39 +0000
60+++ Template/LO/Cards/run_card.dat 2022-03-18 09:02:48 +0000
61@@ -12,7 +12,7 @@
62 # mind the format: value = variable ! comment *
63 # *
64 # To display more options, you can type the command: *
65-# update full_run_card *
66+# update to_full *
67 #*********************************************************************
68 #
69 #*********************************************************************
70@@ -73,7 +73,7 @@
71 #*********************************************************************
72 %(nhel)s = nhel ! using helicities importance sampling or not.
73 ! 0: sum over helicity, 1: importance sampling
74- %(sde_strategy)s = sde_strategy ! default integration strategy (hep-ph/2021.xxxxx)
75+ %(sde_strategy)s = sde_strategy ! default integration strategy (hep-ph/2021.00773)
76 ! 1 is old strategy (using amp square)
77 ! 2 is new strategy (using only the denominator)
78 $psoptim
79
80=== modified file 'Template/LO/Source/dsample.f'
81--- Template/LO/Source/dsample.f 2021-07-29 21:30:33 +0000
82+++ Template/LO/Source/dsample.f 2022-03-18 09:02:48 +0000
83@@ -1478,7 +1478,9 @@
84 endif
85
86 if(pdlabel.eq.'dressed'.and.ee_picked.ne.-1) then
87- call DS_add_entry('ee_mc',EE_PICKED,(wgt/ee_jacobian))
88+ if(ee_jacobian.ne.0d0) then
89+ call DS_add_entry('ee_mc',EE_PICKED,(wgt/ee_jacobian))
90+ endif
91 endif
92
93 end subroutine add_entry_to_discrete_dimensions
94
95=== modified file 'Template/LO/SubProcesses/genps.f'
96--- Template/LO/SubProcesses/genps.f 2021-07-29 21:30:33 +0000
97+++ Template/LO/SubProcesses/genps.f 2022-03-18 09:02:48 +0000
98@@ -1939,10 +1939,6 @@
99 implicit none
100 double precision x1, x2, omx(2), tau, ycm
101 double precision ylim
102- double precision tau_Born_lower_bound,tau_lower_bound_resonance
103- $ ,tau_lower_bound
104- common/ctau_lower_bound/tau_Born_lower_bound
105- $ ,tau_lower_bound_resonance,tau_lower_bound
106 double precision tolerance
107 parameter (tolerance=1e-3)
108 double precision y_settozero
109@@ -2021,414 +2017,3 @@
110 end
111
112
113- subroutine generate_ee_tau_y(rnd1_in, rnd2_in, one_body, dummy, nt_channel,
114- $ qmass, qwidth, cBW, cBW_mass, cBW_width,
115- $ tau_born, ycm_born, ycmhat, xjac0)
116- implicit none
117- double precision rnd1_in, rnd2_in
118- double precision rnd1, rnd2, dummy, qmass, qwidth
119-c dummy is supposed to be equel to stot
120- double precision cBW_mass(-1:1), cBW_width(-1:1)
121- integer nt_channel, cBW
122- logical one_body
123- double precision tau_born, ycm_born, ycmhat, xjac0
124-
125- logical bw_exists, generate_with_bw
126- common /to_ee_generatebw/ generate_with_bw
127- double precision frac_bw
128- parameter (frac_bw=0.5d0)
129- integer idim_dum
130-C dressed lepton stuff
131- double precision x1_ee, x2_ee, jac_ee
132-
133- double precision omx1_ee, omx2_ee
134- common /to_ee_omx1/ omx1_ee, omx2_ee
135- double precision omx(2)
136-
137- double precision SMIN
138- common/to_smin/ smin
139-
140- double precision stot,m1,m2
141- common/to_stot/stot,m1,m2
142-
143-c double precision tau_Born_lower_bound,tau_lower_bound_resonance
144-c $ ,tau_lower_bound
145-c common/ctau_lower_bound/tau_Born_lower_bound
146-c $ ,tau_lower_bound_resonance,tau_lower_bound
147-
148- double precision get_ee_expo
149- double precision tau_m, tau_w
150-
151- ! these common blocks are never used
152- ! we leave them here for the moment
153- ! as e.g. one may want to plot random numbers, etc.
154-c double precision r1, r2, x1bk, x2bk
155-c common /to_random_numbers/r1,r2, x1bk, x2bk
156-
157-
158- ! copy the random numbers, as they may be rescaled
159- ! (avoids side effects)
160- rnd1=rnd1_in
161- rnd2=rnd2_in
162-
163-c ! these lines store the random numbers in the common
164-c ! block (may be removed)
165-c r1=rnd1
166-c r2=rnd2
167-
168- ! define the analogous of tau for mass and width
169- tau_m = qmass**2/stot
170- tau_w = qwidth**2/stot
171-
172- bw_exists = nt_channel.eq.0.and.qwidth.ne.0.d0.and.cBW.ne.2
173- $ .and.tau_m.lt.1d0
174- generate_with_bw=.false.
175- ! if there are BWs, decide whether to generate flat or
176- ! to use the BW-specific generation (half and half, or
177- ! as determined by frac_bw)
178- if (bw_exists) then
179- generate_with_bw = rnd1.lt.frac_bw
180- if (generate_with_bw) then
181- rnd1 = rnd1 / frac_bw
182- xjac0 = xjac0 / frac_bw
183- else
184- rnd1 = (rnd1 - frac_bw) / (1d0 - frac_bw)
185- xjac0 = xjac0 / (1d0 - frac_bw)
186- endif
187- endif
188-
189- if (one_body) then
190- write(*,*) 'one body with ee collisions not implemented'
191- stop 1
192- endif
193-
194- if(generate_with_bw) then
195- ! here we treat the case of resonances
196-c call sample_get_x(sjac,x(ndim-1),ndim-1,mincfig,0d0,1d0)
197-c-----
198-c tjs 5/24/2010 for 2->1 process
199-c-------
200-c xtau = x(ndim-1)
201-c if(nexternal .eq. 3) then
202-c x(ndim-1) = pmass(3)*pmass(3)/stot
203-c sjac=1 / stot !for delta function in d_tau
204-c endif
205-
206-c call sample_get_x(sjac,x(ndim),ndim,mincfig,0d0,1d0)
207-c CALL GENCMS(STOT,Xbk(1),Xbk(2),X(ndim-1), SMIN,SJAC)
208-c x(ndim-1) = xtau !Fix for 2->1 process
209-c Set CM rapidity for use in the rap() function
210-c cm_rap=.5d0*dlog(xbk(1)*ebeam(1)/(xbk(2)*ebeam(2)))
211-c set_cm_rap=.true.
212-c Set shat
213-c s(-nbranch) = xbk(1)*xbk(2)*stot
214- ! first generate tau with the dedicated function
215- idim_dum = 1000 ! this is never used in practice
216- call generate_tau_BW(stot,idim_dum,rnd1,qmass,qwidth,cBW,cBW_mass,
217- $ cBW_width,tau_born,xjac0)
218- ! multiply the jacobian by a multichannel factor
219- xjac0 = xjac0 * (1d0/((tau_born-tau_m)**2 + tau_m*tau_w)) /
220- $ ( 1d0/((tau_born-tau_m)**2 + tau_m*tau_w) + (1d0-tau_born)**(1d0-2*get_ee_expo()))
221-
222- ! then pick either x1 or x2 and generate it the usual way;
223- ! Note that:
224- ! - setting xmin=sqrt(tau_born) ensures that the largest
225- ! bjorken x is being generated.
226- ! - there is a jacobian for x1 x2 -> tau x1(2)
227- ! - we must include the factor 1/(1-x)^get_ee_expo,
228- ! (x is the bjorken x which is not generated)
229- ! because the compute_eepdf function assumes that
230- ! this is the case in general
231- if (rnd2.lt.0.5d0) then
232- call generate_x_ee(rnd2*2d0, dsqrt(tau_born), x1_ee, omx1_ee, jac_ee)
233- x2_ee = tau_born / x1_ee
234- omx2_ee = 1d0 - x2_ee
235- xjac0 = xjac0 / x1_ee * 2d0 * jac_ee / (1d0-x2_ee)**get_ee_expo()
236- else
237- call generate_x_ee(1d0-2d0*(rnd2-0.5d0), dsqrt(tau_born), x2_ee, omx2_ee, jac_ee)
238- x1_ee = tau_born / x2_ee
239- omx1_ee = 1d0 - x1_ee
240- xjac0 = xjac0 / x2_ee * 2d0 * jac_ee / (1d0-x1_ee)**get_ee_expo()
241- endif
242- else
243- ! standard (without resonances) generation:
244- ! for dressed ee collisions the generation is different
245- ! wrt the pp case. In the pp case, tau and y_cm are generated,
246- ! while in the ee case x1 and x2 are generated first.
247-
248- call generate_x_ee(rnd1, smin/stot,
249- $ x1_ee, omx1_ee, jac_ee)
250- xjac0 = xjac0 * jac_ee
251- call generate_x_ee(rnd2, smin/(stot*x1_ee),
252- $ x2_ee, omx2_ee, jac_ee)
253- xjac0 = xjac0 * jac_ee
254-
255- tau_born = x1_ee * x2_ee
256- ! multiply the jacobian by a multichannel factor if the
257- ! generation with resonances is also possible
258- if (bw_exists) xjac0 = xjac0 * (1d0-tau_born)**(1d0-2*get_ee_expo()) /
259- $ ( 1d0/((tau_born-tau_m)**2 + tau_m*tau_w) + (1d0-tau_born)**(1d0-2*get_ee_expo()))
260- endif
261-
262- ! Check here if the bjorken x's are physical (may not be so
263- ! because of instabilities
264- if (x1_ee.gt.1d0.or.x2_ee.gt.1d0) then
265- write(*,*) 'generate_ee_tau_y: Warning, unphysical x:',
266- $ x1_ee, x2_ee, generate_with_bw
267- xjac0 = -1000d0
268- return
269- endif
270-
271- omx(1) = omx1_ee
272- omx(2) = omx2_ee
273- ! now we are done. We must call the following function
274- ! in order to (re-)generate tau and ycm
275- ! from x1 and x2. It also (re-)checks that tau_born
276- ! is pysical, and otherwise sets xjac0=-1000
277- call get_y_from_x12(x1_ee, x2_ee, omx, ycm_born)
278-
279-c x1bk=x1_ee
280-c x2bk=x2_ee
281-
282- return
283- end
284-
285- subroutine generate_tau_BW(stot,idim,x,mass,width,cBW,BWmass
286- $ ,BWwidth,tau,jac)
287- implicit none
288- integer cBW,idim
289- double precision stot,x,tau,jac,mass,width,BWmass(-1:1),BWwidth(
290- $ -1:1),s_mass,s
291- double precision smax,smin
292- double precision tau_Born_lower_bound,tau_lower_bound_resonance
293- & ,tau_lower_bound
294- common/ctau_lower_bound/tau_Born_lower_bound
295- & ,tau_lower_bound_resonance,tau_lower_bound
296- if (cBW.eq.1 .and. width.gt.0d0 .and. BWwidth(1).gt.0d0) then
297- smin=tau_Born_lower_bound*stot
298- smax=stot
299- s_mass=smin
300- call trans_x(5,idim,x,smin,smax,s_mass,mass,width,BWmass(
301- $ -1),BWwidth(-1),jac,s)
302- tau=s/stot
303- jac=jac/stot
304- else
305- smin=tau_Born_lower_bound*stot
306- smax=stot
307- s_mass=smin
308- call trans_x(3,idim,x,smin,smax,s_mass,mass,width,BWmass(
309- $ -1),BWwidth(-1),jac,s)
310- tau=s/stot
311- jac=jac/stot
312- endif
313- return
314- end
315-
316-
317-
318- subroutine trans_x(itype,idim,x,smin,smax,s_mass,qmass,qwidth
319- $ ,cBW_mass,cBW_width,jac,s)
320-c Given the input random number 'x', returns the corresponding value of
321-c the invariant mass squared 's'.
322-c
323-c itype=1: flat transformation
324-c itype=2: flat between 0 and s_mass/stot, 1/x above
325-c itype=3: Breit-Wigner
326-c itype=4: Conflicting BW, with alternative mass smaller
327-c itype=5: Conflicting BW, with alternative mass larger
328-c itype=6: Conflicting BW on both sides
329-c
330- implicit none
331- integer itype,idim
332- double precision x,smin,smax,s_mass,qmass,qwidth,cBW_mass(-1:1)
333- $ ,cBW_width(-1:1),jac,s
334- double precision fract,A,B,C,D,E,F,G,bs(-1:1),maxi,mini
335- integer j
336-c
337- if (itype.eq.1) then
338-c flat transformation:
339- A=smax-smin
340- B=smin
341- s=A*x+B
342- jac=jac*A
343- elseif (itype.eq.2) then
344- fract=0.25d0
345- if (s_mass.eq.0d0) then
346- write (*,*) 's_mass is zero',itype,idim
347- endif
348- if (x.lt.fract) then
349-c flat transformation:
350- if (s_mass.lt.smin) then
351- jac=-421d0
352- return
353- endif
354- maxi=min(s_mass,smax)
355- A=(maxi-smin)/fract
356- B=smin
357- s=A*x+B
358- jac=jac*A
359- else
360-c S=A/(B-x) transformation:
361- if (s_mass.ge.smax) then
362- jac=-422d0
363- return
364- endif
365- mini=max(s_mass,smin)
366- A=mini*smax*(1d0-fract)/(smax-mini)
367- B=(smax-fract*mini)/(smax-mini)
368- s=A/(B-x)
369- jac=jac*s**2/A
370- endif
371- elseif(itype.eq.3) then
372-c Normal Breit-Wigner, i.e.
373-c \int_smin^smax ds g(s)/((s-qmass^2)^2-qmass^2*qwidth^2) =
374-c \int_0^1 dx g(s(x))
375- A=atan((qmass-smin/qmass)/qwidth)
376- B=atan((qmass-smax/qmass)/qwidth)
377- s=qmass*(qmass-qwidth*tan(A-(A-B)*x))
378- jac=jac*qmass*qwidth*(A-B)/(cos(A-(A-B)*x))**2
379- elseif(itype.eq.4) then
380-c Conflicting BW, with alternative mass smaller than current
381-c mass. That is, we need to throw also many events at smaller masses
382-c than the peak of the current BW. Split 'x' at 'bs(-1)', using a
383-c flat distribution below the split, and a BW above the split.
384- fract=0.3d0
385- bs(-1)=(cBW_mass(-1)-qmass)/
386- & (qwidth+cBW_width(-1)) ! bs(-1) is negative here
387- bs(-1)=qmass+bs(-1)*qwidth
388- bs(-1)=bs(-1)**2
389- if (x.lt.fract) then
390- if(smin.gt.bs(-1)) then
391- jac=-441d0
392- return
393- endif
394- maxi=min(bs(-1),smax)
395- A=(maxi-smin)/fract
396- B=smin
397- s=A*x+B
398- jac=jac*A
399- else
400- if(smax.lt.bs(-1)) then
401- jac=-442d0
402- return
403- endif
404- mini=max(bs(-1),smin)
405- A=atan((qmass-mini/qmass)/qwidth)
406- B=atan((qmass-smax/qmass)/qwidth)
407- C=((1d0-x)*A+(x-fract)*B)/(1d0-fract)
408- s=qmass*(qmass-qwidth*tan(C))
409- jac=jac*qmass*qwidth*(A-B)/((cos(C))**2*(1d0-fract))
410- endif
411- elseif(itype.eq.5) then
412-c Conflicting BW, with alternative mass larger than current
413-c mass. That is, we need to throw also many events at larger masses
414-c than the peak of the current BW. Split 'x' at 'bs(1)' and the
415-c alternative mass. Use a BW below bs(1), a flat distribution
416-c between bs(1) and the alternative mass, and a 1/x above the
417-c alternative mass.
418- fract=0.35d0
419- bs(1)=(cBW_mass(1)-qmass)/
420- & (qwidth+cBW_width(1))
421- bs(1)=qmass+bs(1)*qwidth
422- bs(1)=bs(1)**2
423- if (x.lt.fract) then
424- if(smin.gt.bs(1)) then
425- jac=-451d0
426- return
427- endif
428- maxi=min(bs(1),smax)
429- A=atan((qmass-smin/qmass)/qwidth)
430- B=atan((qmass-maxi/qmass)/qwidth)
431- C=((B-A)*x+fract*A)/fract
432- s=qmass*(qmass-qwidth*tan(C))
433- jac=jac*qmass*qwidth*(A-B)/((cos(C))**2*fract)
434- elseif (x.lt.1d0-fract) then
435- if(smin.gt.cBW_mass(1)**2 .or. smax.lt.bs(1)) then
436- jac=-452d0
437- return
438- endif
439- maxi=min(cBW_mass(1)**2,smax)
440- mini=max(bs(1),smin)
441- A=(maxi-mini)/(1d0-2d0*fract)
442- B=((1d0-fract)*mini-fract*maxi)/(1d0-2d0*fract)
443- s=A*x+B
444- jac=jac*A
445- else
446- if(smax.le.cBW_mass(1)**2) then
447- jac=-453d0
448- return
449- endif
450- mini=max(cBW_mass(1)**2,smin)
451- A=mini*smax*fract/(smax-mini)
452- B=(smax-(1d0-fract)*mini)/(smax-mini)
453- s=A/(B-x)
454- jac=jac*s**2/A
455- endif
456- elseif(itype.eq.6) then
457- fract=0.3d0
458-c Conflicting BW on both sides. Use flat below bs(-1); BW between
459-c bs(-1) and bs(1); flat between bs(1) and alternative mass; and 1/x
460-c above alternative mass.
461- do j=-1,1,2
462- bs(j)=(cBW_mass(j)-qmass)/
463- & (qwidth+cBW_width(j))
464- bs(j)=qmass+bs(j)*qwidth
465- bs(j)=bs(j)**2
466- enddo
467- if (x.lt.fract) then
468- if(smin.gt.bs(-1)) then
469- jac=-461d0
470- return
471- endif
472- maxi=min(bs(-1),smax)
473- A=(maxi-smin)/fract
474- B=smin
475- s=A*x+B
476- jac=jac*A
477- elseif(x.lt.1d0-fract) then
478- if(smin.gt.bs(1) .or. smax.lt.bs(-1)) then
479- jac=-462d0
480- return
481- endif
482- maxi=min(bs(1),smax)
483- mini=max(bs(-1),smin)
484- A=atan((qmass-mini/qmass)/qwidth)
485- B=atan((qmass-maxi/qmass)/qwidth)
486- C=((1d0-fract-x)*A+(x-fract)*B)/(1d0-2d0*fract)
487- s=qmass*(qmass-qwidth*tan(C))
488- jac=-jac*qmass*qwidth*(B-A)/((cos(C))**2*(1d0-2d0*fract))
489- elseif(x.lt.1d0-fract/2d0) then
490- if(smin.gt.cBW_mass(1)**2 .or. smax.lt.bs(1)) then
491- jac=-463d0
492- return
493- endif
494- maxi=min(cBW_mass(1)**2,smax)
495- mini=max(bs(1),smin)
496- A=2d0*(maxi-mini)/fract
497- B=2d0*maxi-mini-2d0*(maxi-mini)/fract
498- s=A*x+B
499- jac=jac*A
500- else
501- if(smax.le.cBW_mass(1)**2) then
502- jac=-464d0
503- return
504- endif
505- mini=max(cBW_mass(1)**2,smin)
506- A=mini*smax*fract/(2d0*(smax-mini))
507- B=(smax-(1d0-fract/2d0)*mini)/(smax-mini)
508- s=A/(B-x)
509- jac=jac*s**2/A
510- endif
511- elseif (itype.eq.7) then
512-c S=A/(B-x) transformation:
513- if (smin.le.0d0) then
514- jac=-471d0
515- return
516- endif
517- A=smin*smax/(smax-smin)
518- B=smax/(smax-smin)
519- s=A/(B-x)
520- jac=jac*s**2/A
521- endif
522- return
523- end
524
525=== modified file 'Template/LO/SubProcesses/refine.sh'
526--- Template/LO/SubProcesses/refine.sh 2017-09-24 21:24:55 +0000
527+++ Template/LO/SubProcesses/refine.sh 2022-03-18 09:02:48 +0000
528@@ -63,7 +63,8 @@
529 then
530 break
531 else
532- echo $try > fail.log
533+ echo $try > fail.log
534+ sleep 5
535 fi
536 else
537 %(Ppath)s/madevent 2>&1 >> log.txt <input_sg.txt | tee -a log.txt;
538@@ -73,7 +74,8 @@
539 rm log.txt
540 break
541 else
542- echo $try > fail.log
543+ echo $try > fail.log
544+ sleep 5
545 fi
546 fi
547 done
548
549=== modified file 'Template/LO/bin/internal/merge.pl'
550--- Template/LO/bin/internal/merge.pl 2020-06-15 07:53:48 +0000
551+++ Template/LO/bin/internal/merge.pl 2022-03-18 09:02:48 +0000
552@@ -105,25 +105,33 @@
553 }
554
555 # Store information for later
556- push(@infiles, [ $infile, $noevents, $xsec, [ @gzinit ], $lhe_version ]);
557+ push(@infiles, [ $infile, $noevents, $gzinit[1][2], [ @gzinit ], $lhe_version , $xsec]);
558 }
559
560
561 ###########################################################################
562 # Check/compute cross-sections, totals and unit weight
563 ###########################################################################
564-$oldxsec = $infiles[0][2];
565+$oldabsxsec = $infiles[0][2]; # absolute x-section !
566+$oldxsec = $infiles[0][5]; # actual cross-section
567 @oldinit = @{$infiles[0][3]};
568 $oldlhe_version = $infiles[0][4];
569-$totevents = 0; $totxsec = 0.0;
570+$totevents = 0; $totxsec = 0.0; $totabsxsec = 0.0;
571+$nb_files = 0;
572 foreach $infile (@infiles) {
573 print "Input file: $infile->[0]\n";
574- print " No. Events = $infile->[1], Cross-section = $infile->[2], LHE version = $infile->[4]\n";
575-
576- # Check that cross sections do not differ too much
577- $newxsec = $infile->[2];
578+ print " No. Events = $infile->[1], Abs Cross-section = $infile->[2], cross-section = $infile->[5], LHE version = $infile->[4]\n";
579+ $nb_files +=1;
580+ # Check that cross sections do not differ too much
581+ $newabsxsec = $infile->[2];
582+ if (abs(($newabsxsec - $oldabsxsec) / $newabsxsec) > 0.05 ) {
583+ die(" WARNING ABSCross sections do not agree with a 5\% precision!\n: $newabsxsec $oldabsxsec");
584+ }
585+ $oldabsxsec = $newabsxsec;
586+ # Check that cross sections do not differ too much
587+ $newxsec = $infile->[5];
588 if (abs(($newxsec - $oldxsec) / $newxsec) > 0.05 ) {
589- print " WARNING Cross sections do not agree with a 5\% precision!\n";
590+ die(" WARNING Cross sections do not agree with a 5\% precision! $newxsec >< $oldxsec\n ");
591 }
592 $oldxsec = $newxsec;
593
594@@ -157,34 +165,33 @@
595 print " xsecup = $currinit[$i][0], xerrup = $currinit[$i][1]\n";
596 print " xmaxup = $currinit[$i][2], lprup = $currinit[$i][3]\n";
597
598+
599 # XSECUP = sum(xsecup * no.events) / tot.events
600 # XERRUP = sqrt( sum(sigma^2 * no.events^2) ) / tot.events
601
602 # Here we temporarily store:
603 # sum(xsecup * no.events)
604 # sum(sigma^2 * no.events^2)
605- if (\$oldinit == \$currinit) {
606+ if ($nb_files == 1) {
607 $oldinit[$i][0] *= $infile->[1];
608 $oldinit[$i][1] *= $oldinit[$i][1] * $infile->[1]**2;
609-
610 } else {
611 $oldinit[$i][0] += ($currinit[$i][0] * $infile->[1]);
612 $oldinit[$i][1] += $currinit[$i][1]**2 * $infile->[1]**2;
613-
614 }
615-
616 # XMAXUP = max(xmaxup)
617- $oldinit[$i][2] = max($oldinit[$i][2], $currinit[$i][2]);
618+ #$oldinit[$i][2] = max($oldinit[$i][2], $currinit[$i][2]);
619 }
620
621 # Total number of events and total cross-section
622 $totevents += $infile->[1];
623- $totxsec += ($infile->[1] * $infile->[2]);
624+ $totxsec += ($infile->[1] * $infile->[5]);
625+ $totabsxsec += ($infile->[1] * $infile->[2]);
626+
627
628 print "\n";
629 }
630 print "\n";
631-
632 # Finish calculation of XSECUP and XERRUP
633 for ($i = 1; $i <= $#oldinit; $i++) {
634 if ($oldinit[$i] =~ /^<generator/) { next; }
635@@ -194,13 +201,17 @@
636 $oldinit[$i][1] = sqrt($oldinit[$i][1]);
637 $oldinit[$i][1] /= $totevents;
638 $oldinit[$i][1] = sprintf('%0.5E', $oldinit[$i][1]);
639+
640 }
641
642 # Finish calculation of total xsec and new unit weight
643 $totxsec /= $totevents;
644+$totabsxsec /= $totevents;
645 $dispxsec = sprintf('%0.5E', $totxsec);
646-$uwgt = sprintf('%0.5E', $totxsec / $totevents);
647-
648+$uwgt = sprintf('%0.5E', $totabsxsec);
649+for ($i = 1; $i <= $#oldinit; $i++) {
650+ $oldinit[$i][2] = abs($uwgt)
651+}
652 # Display new information
653 print "Banner file: $bannerfile\n";
654 print "Output file: $outfile\n";
655
656=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia82_enhanceUH.cc'
657--- Template/NLO/MCatNLO/srcPythia8/Pythia82_enhanceUH.cc 2018-05-01 13:46:54 +0000
658+++ Template/NLO/MCatNLO/srcPythia8/Pythia82_enhanceUH.cc 2022-03-18 09:02:48 +0000
659@@ -51,7 +51,7 @@
660 #define cevwgt cevwgt_
661
662 extern "C" {
663- void pyabeg_(int&,char(*)[50]);
664+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
665 void pyaend_(double&);
666 void pyanal_(int&,double(*));
667 }
668@@ -64,7 +64,7 @@
669 //
670
671 int cwgtinfo_nn;
672- char cwgtinfo_weights_info[1024][50];
673+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
674 double cwgt_ww[1024];
675
676
677
678=== modified file 'Template/NLO/MCatNLO/srcPythia8/Pythia83.cc'
679--- Template/NLO/MCatNLO/srcPythia8/Pythia83.cc 2021-09-03 10:00:10 +0000
680+++ Template/NLO/MCatNLO/srcPythia8/Pythia83.cc 2022-03-18 09:02:48 +0000
681@@ -22,7 +22,7 @@
682 #define cevwgt cevwgt_
683
684 extern "C" {
685- void pyabeg_(int&,char(*)[50]);
686+ void pyabeg_(int&,char(*)[wgts_info_len_used]);
687 void pyaend_(double&);
688 void pyanal_(int&,double(*));
689 }
690@@ -31,7 +31,7 @@
691 Pythia pythia;
692
693 int cwgtinfo_nn;
694- char cwgtinfo_weights_info[1024][50];
695+ char cwgtinfo_weights_info[1024][wgts_info_len_used];
696 double cwgt_ww[1024];
697
698 string inputname="Pythia8.cmd",outputname="Pythia8.hep";
699
700=== modified file 'Template/NLO/SubProcesses/cuts.f'
701--- Template/NLO/SubProcesses/cuts.f 2021-11-02 14:23:18 +0000
702+++ Template/NLO/SubProcesses/cuts.f 2022-03-18 09:02:48 +0000
703@@ -216,6 +216,12 @@
704
705 REAL*8 pt,eta
706 external pt,eta
707+
708+ include "orders.inc"
709+ logical split_type_used(nsplitorders)
710+ common/to_split_type_used/split_type_used
711+
712+ integer n_needed_photons
713
714 passcuts_photons = .true.
715
716@@ -353,7 +359,18 @@
717 enddo
718 c End of loop over photons
719
720- if(nphiso.lt.get_n_tagged_photons())then
721+C now check that there are enough photons
722+ if (split_type_used(QED_pos)) then
723+ ! if the process has QED splittings, use the
724+ ! get_n_tagged_photons function
725+ n_needed_photons = get_n_tagged_photons()
726+ else
727+ ! otherwise, just use the number of photons
728+ ! that has been counted
729+ n_needed_photons = nph
730+ endif
731+
732+ if(nphiso.lt.n_needed_photons)then
733 passcuts_photons=.false.
734 return
735 endif
736
737=== modified file 'Template/NLO/SubProcesses/makefile_fks_dir'
738--- Template/NLO/SubProcesses/makefile_fks_dir 2021-11-02 08:58:23 +0000
739+++ Template/NLO/SubProcesses/makefile_fks_dir 2022-03-18 09:02:48 +0000
740@@ -93,12 +93,12 @@
741 rm fks_singular.o
742 strip gensym
743
744-test_soft_col_limits: $(TEST)
745+test_soft_col_limits: $(TEST) mint_module.o
746 $(FC) $(LDFLAGS) -o test_soft_col_limits $(TEST) $(APPLLIBS) $(LINKLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) $(FJLIBS)
747 rm test_soft_col_limits.o
748 strip test_soft_col_limits
749
750-check_poles: $(POLES) $(libmadloop)
751+check_poles: $(POLES) $(libmadloop)
752 $(FC) -o check_poles $(POLES) $(NLOLIBS) $(APPLLIBS) $(LINKLIBS) $(FJLIBS) $(FO_EXTRAPATHS) $(FO_EXTRALIBS) $(LDFLAGS)
753 strip check_poles
754
755@@ -120,15 +120,21 @@
756 libMadLoop.a:
757 for dir in `ls -d V*`; do cd $$dir; make; cd ../; done
758
759+mint_module.o : FKSParams.o
760+BinothLHA_OLP.o: FKSParams.o
761+BinothLHA.o: FKSParams.o
762 reweight_xsec_events.o: weight_lines.o
763 fks_singular.o: weight_lines.o mint_module.o
764 driver_mintMC.o: weight_lines.o mint_module.o
765-driver_mintFO.o: weight_lines.o mint_module.o
766+driver_mintFO.o: weight_lines.o mint_module.o FKSParams.o
767 chooser_functions.o: weight_lines.o
768+cluster.o: weight_lines.o
769 setcuts.o: mint_module.o
770-genps_fks.o: mint_module.o
771+genps_fks.o: mint_module.o FKSParams.o
772 symmetry_fks_v3.o: mint_module.o
773 test_soft_col_limits.o: mint_module.o
774+madfks_plot.o: mint_module.o
775+
776
777 clean:
778 @rm -f *.o write_ajob_basic reweight_xsec_events madevent_* check_poles\
779
780=== modified file 'UpdateNotes.txt'
781--- UpdateNotes.txt 2021-12-04 09:25:27 +0000
782+++ UpdateNotes.txt 2022-03-18 09:02:48 +0000
783@@ -1,6 +1,15 @@
784 Update notes for MadGraph5_aMC@NLO (in reverse time order)
785
786
787+3.3.2(25/02/22)
788+ OM: (re)allow --loop_filter=True/... syntax for MC@NLO
789+ RF: Fixed a bug in the phase-space generation of MadSpin,
790+ relevant for processes with more than 1 t-channel.
791+ MZ: Restored functionalities for processes with external photons and
792+ only QCD corrections
793+ all: include all bug fix from the LTS version (2.9.9)
794+ including important bug on MLM generation
795+
796 3.3.1 (04/12/21)
797 RF: Fix for bug #1928364 related to the new FxFx clustering routines.
798 OM: Fix for bug #1952050 systematics/reweighting run at NLO that was broken
799@@ -73,6 +82,26 @@
800
801 ** Long Term Stable Update **
802
803+
804+2.9.8 ()
805+=======
806+2.9.9 (25/02/2022)
807+ OM: Fix a bug introduced in 2.9.0 for MLM generation in presence of mix EW/QCD process.
808+ The bug typically leads to a crash within the systematics.py due to wrong power of alpha_s
809+ The bug might sometimes not lead to a crash but the impact is "limited" to a change in the (various)
810+ scale choice associated to the events. Therefore this is likely to be within scale uncertainty. It can
811+ impact the matching with the parton-shower (but this should be visible within the DJR validation plot).
812+ OM: Fix some wrong zero-result that occur in presence of conflincting breit-wigner.
813+ OM: Fix an issue when using "$ X" when X~ can be onshell, the phase-space symmetry factor was wrongly set.
814+
815+2.9.8 (21/02/2022)
816+>>>>>>> MERGE-SOURCE
817+ OM: Fix in madspin where onlyhelicity mode was not working anymore
818+ also allows to not specify any decay in that mode.
819+ OM: Fix in multi_run mode where some meta-data where incorrectly set within the merged lhef file.
820+ This occurs ONLY in presence of non positive definite cross-section.
821+ Only normalization of the cross-section/weight/statistical error could be wrong. Shape are not impacted.
822+
823 2.9.7 (29/11/21)
824 OM: Fix the behavior of python seed for madevent/madwidth/mcatnlo/madspin
825 Now the first of those to setup a python seed will forbid any future reset of the seed
826
827=== modified file 'VERSION'
828--- VERSION 2021-12-04 09:25:27 +0000
829+++ VERSION 2022-03-18 09:02:48 +0000
830@@ -1,5 +1,5 @@
831-version = 3.3.1
832-date = 2021-12-04
833+version = 3.3.2
834+date = 2022-02-25
835
836
837
838
839=== modified file 'madgraph/fks/fks_base.py'
840--- madgraph/fks/fks_base.py 2021-11-10 09:25:45 +0000
841+++ madgraph/fks/fks_base.py 2022-03-18 09:02:48 +0000
842@@ -59,12 +59,15 @@
843 if not 'OLP' in list(self.keys()):
844 self['OLP'] = 'MadLoop'
845 self['ncores_for_proc_gen'] = 0
846+
847+ self['loop_filter'] = None
848
849 def get_sorted_keys(self):
850 """Return particle property names as a nicely sorted list."""
851 keys = super(FKSMultiProcess, self).get_sorted_keys()
852 keys += ['born_processes', 'real_amplitudes', 'real_pdgs', 'has_isr',
853- 'has_fsr', 'spltting_types', 'OLP', 'ncores_for_proc_gen']
854+ 'has_fsr', 'spltting_types', 'OLP', 'ncores_for_proc_gen',
855+ 'loop_filter']
856 return keys
857
858 def filter(self, name, value):
859@@ -320,7 +323,7 @@
860 def generate_virtuals(self):
861 """For each process among the born_processes, creates the corresponding
862 virtual amplitude"""
863-
864+
865 # If not using MadLoop, then the LH order file generation and processing
866 # will be entirely done during the output, so nothing must be done at
867 # this stage yet.
868@@ -361,7 +364,8 @@
869 'Process', ''),
870 i + 1, len(self['born_processes'])))
871 try:
872- myamp = loop_diagram_generation.LoopAmplitude(myproc)
873+ myamp = loop_diagram_generation.LoopAmplitude(myproc,
874+ loop_filter=self['loop_filter'])
875 born.virt_amp = myamp
876 except InvalidCmd:
877 logger.debug('invalid command for loop')
878
879=== modified file 'madgraph/interface/amcatnlo_interface.py'
880--- madgraph/interface/amcatnlo_interface.py 2021-12-03 15:50:41 +0000
881+++ madgraph/interface/amcatnlo_interface.py 2022-03-18 09:02:48 +0000
882@@ -452,8 +452,15 @@
883 elif args[0] != 'process':
884 raise self.InvalidCmd("The add command can only be used with process or model")
885 else:
886+ if any ([a.startswith("--loop_filter=") for a in args]):
887+ for a in args:
888+ if a.startswith("--loop_filter="):
889+ self._fks_multi_proc['loop_filter'] = a.split('=',1)[1]
890+ args.remove(a)
891+ break
892+
893 line = ' '.join(args[1:])
894-
895+
896 proc_type=self.extract_process_type(line)
897 if proc_type[1] not in ['real', 'LOonly']:
898 run_interface.check_compiler(self.options, block=False)
899@@ -654,13 +661,15 @@
900 'ignore_six_quark_processes': self.options['ignore_six_quark_processes'],
901 'init_lep_split': self.options['include_lepton_initiated_processes'],
902 'ncores_for_proc_gen': self.ncores_for_proc_gen,
903- 'nlo_mixed_expansion': self.options['nlo_mixed_expansion']}
904+ 'nlo_mixed_expansion': self.options['nlo_mixed_expansion'],
905+ 'loop_filter':self._fks_multi_proc['loop_filter'] if hasattr(self, '_fks_multi_proc') else None}
906
907 fksproc =fks_base.FKSMultiProcess(myprocdef,fks_options)
908 try:
909 self._fks_multi_proc.add(fksproc)
910 except AttributeError:
911 self._fks_multi_proc = fksproc
912+ self._fks_multi_proc['loop_filter'] = fks_options['loop_filter']
913
914 if not aMCatNLOInterface.display_expansion and self.options['nlo_mixed_expansion']:
915 base = {}
916
917=== modified file 'madgraph/interface/madgraph_interface.py'
918--- madgraph/interface/madgraph_interface.py 2021-12-03 15:40:10 +0000
919+++ madgraph/interface/madgraph_interface.py 2022-03-18 09:02:48 +0000
920@@ -5831,6 +5831,8 @@
921 try:
922 for part in self._multiparticles[key]:
923 self._curr_model.get('particle_dict')[part]
924+ if self._curr_model.get_particle(key):
925+ raise Exception
926 except Exception:
927 del self._multiparticles[key]
928 defined_multiparticles.remove(key)
929@@ -5849,6 +5851,7 @@
930 if multipart_name not in self._multiparticles:
931 #self.do_define(line)
932 self.exec_cmd('define %s' % line, printcmd=False, precmd=True)
933+
934 except self.InvalidCmd as why:
935 logger.warning('impossible to set default multiparticles %s because %s' %
936 (line.split()[0],why))
937@@ -7068,14 +7071,14 @@
938 fail = 0
939 for i in range(data['version_nb'], web_version):
940 try:
941- filetext = six.moves.urllib.request.urlopen('http://madgraph.physics.illinois.edu/patch/build%s.patch' %(i+1))
942+ filetext = six.moves.urllib.request.urlopen('http://madgraph.phys.ucl.ac.be/patch/build%s.patch' %(i+1))
943 except Exception:
944 print('fail to load patch to build #%s' % (i+1))
945 fail = i
946 break
947 need_binary = apply_patch(filetext)
948 if need_binary:
949- path = "http://madgraph.physics.illinois.edu/binary/binary_file%s.tgz" %(i+1)
950+ path = "http://madgraph.phys.ucl.ac.be/binary/binary_file%s.tgz" %(i+1)
951 name = "extra_file%i" % (i+1)
952 misc.wget(path, '%s.tgz' % name, cwd=MG5DIR)
953 # Untar the file
954@@ -8182,10 +8185,10 @@
955 # for MadEvent with MadLoop decide if we keep the box as channel of
956 #integration or not. Forbid them for matching and for h+j
957 if self.options['max_npoint_for_channel']:
958- base_objects.Vertex.max_n_loop_for_multichanneling = self.options['max_npoint_for_channel']
959+ base_objects.Vertex.max_n_loop_for_multichanneling = int(self.options['max_npoint_for_channel'])
960 else:
961 base_objects.Vertex.max_n_loop_for_multichanneling = 3
962- base_objects.Vertex.max_tpropa = self.options['max_t_for_channel']
963+ base_objects.Vertex.max_tpropa = int(self.options['max_t_for_channel'])
964
965 # Perform export and finalize right away
966 self.export(nojpeg, main_file_name, group_processes, args)
967
968=== modified file 'madgraph/interface/master_interface.py'
969--- madgraph/interface/master_interface.py 2021-03-09 15:04:20 +0000
970+++ madgraph/interface/master_interface.py 2022-03-18 09:02:48 +0000
971@@ -464,7 +464,12 @@
972 return self.cmd.do_define(self, *args, **opts)
973
974 def do_display(self, *args, **opts):
975- return self.cmd.do_display(self, *args, **opts)
976+ try:
977+ return self.cmd.do_display(self, *args, **opts)
978+ except AttributeError as error:
979+ if "_fks_multi_proc" in str(error):
980+ self.do_switch('MadGraph')
981+ return self.cmd.do_display(self, *args, **opts)
982
983 def do_exit(self, *args, **opts):
984 return self.cmd.do_exit(self, *args, **opts)
985
986=== modified file 'madgraph/iolibs/export_fks.py'
987--- madgraph/iolibs/export_fks.py 2021-12-03 15:50:41 +0000
988+++ madgraph/iolibs/export_fks.py 2022-03-18 09:02:48 +0000
989@@ -528,11 +528,14 @@
990
991 filename = 'fks_info.inc'
992 # write_fks_info_list returns a set of the splitting types
993+ split_types = self.write_fks_info_file(writers.FortranWriter(filename),
994+ matrix_element,
995+ fortran_model)
996+
997+ # update the splitting types
998 self.proc_characteristic['splitting_types'] = list(\
999 set(self.proc_characteristic['splitting_types']).union(\
1000- self.write_fks_info_file(writers.FortranWriter(filename),
1001- matrix_element,
1002- fortran_model)))
1003+ split_types))
1004
1005 filename = 'leshouche_info.dat'
1006 nfksconfs,maxproc,maxflow,nexternal=\
1007@@ -617,7 +620,7 @@
1008 filename = 'rescale_alpha_tagged.f'
1009 self.write_rescale_a0gmu_file(
1010 writers.FortranWriter(filename),
1011- startfroma0, matrix_element)
1012+ startfroma0, matrix_element, split_types)
1013
1014 filename = 'orders.h'
1015 self.write_orders_c_header_file(
1016@@ -1120,9 +1123,11 @@
1017 writer.writelines(text)
1018
1019
1020- def write_rescale_a0gmu_file(self, writer, startfroma0, matrix_element):
1021+ def write_rescale_a0gmu_file(self, writer, startfroma0, matrix_element, split_types):
1022 """writes the function that computes the rescaling factor needed in
1023- the case of external photons
1024+ the case of external photons.
1025+ If split types does not contain [QED] or if there are not tagged photons,
1026+ dummy informations are filled
1027 """
1028
1029 # get the model parameters
1030@@ -1131,7 +1136,8 @@
1031
1032 bornproc = matrix_element.born_me['processes'][0]
1033 # this is to ensure compatibility with standard processes
1034- if not any([l['is_tagged'] and l['id'] == 22 for l in bornproc['legs']]):
1035+ if not any([l['is_tagged'] and l['id'] == 22 for l in bornproc['legs']])\
1036+ or 'QED' not in split_types:
1037 to_check = []
1038 expr = '1d0'
1039 conv_pol = '0d0'
1040
1041=== modified file 'madgraph/iolibs/export_v4.py'
1042--- madgraph/iolibs/export_v4.py 2021-12-03 15:40:10 +0000
1043+++ madgraph/iolibs/export_v4.py 2022-03-18 09:02:48 +0000
1044@@ -1943,7 +1943,7 @@
1045 ",".join([str(d) for d in pdgs])))
1046 lines.append("data tprid(%d,%d)/0/" % \
1047 (last_leg.get('number'), nconfigs))
1048- elif verts in tchannels[:-1]:
1049+ elif verts in tchannels:
1050 lines.append("data tprid(%d,%d)/%d/" % \
1051 (last_leg.get('number'), nconfigs,
1052 abs(last_leg.get('id'))))
1053@@ -3772,7 +3772,7 @@
1054 # ",".join([str(d) for d in pdgs])))
1055 # lines.append("data tprid(%d,%d)/0/" % \
1056 # (last_leg.get('number'), nconfigs))
1057- elif verts in tchannels[:-1]:
1058+ elif verts in tchannels:
1059 lines.append(line+" T "+str(last_leg.get('id')))
1060 # lines.append("data tprid(%d,%d)/%d/" % \
1061 # (last_leg.get('number'), nconfigs,
1062@@ -3810,6 +3810,13 @@
1063 }
1064 jamp_optim = True
1065
1066+
1067+ def __new__(cls, *args, **opts):
1068+ """wrapper needed for some plugin"""
1069+
1070+ return super(ProcessExporterFortranME, cls).__new__(cls)
1071+
1072+
1073 def __init__(self, dir_path = "", opt=None):
1074
1075 super(ProcessExporterFortranME, self).__init__(dir_path, opt)
1076@@ -5031,7 +5038,7 @@
1077 ",".join([str(d) for d in pdgs])))
1078 lines.append("data tprid(%d,%d)/0/" % \
1079 (last_leg.get('number'), nconfigs))
1080- elif verts in tchannels[:-1]:
1081+ elif verts in tchannels:
1082 lines.append("data tprid(%d,%d)/%d/" % \
1083 (last_leg.get('number'), nconfigs,
1084 abs(last_leg.get('id'))))
1085@@ -5682,6 +5689,7 @@
1086 """Class to take care of exporting a set of matrix elements to
1087 MadEvent subprocess group format."""
1088
1089+
1090 matrix_file = "matrix_madevent_group_v4.inc"
1091 grouped_mode = 'madevent'
1092 default_opt = {'clean': False, 'complex_mass':False,
1093
1094=== modified file 'madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc'
1095--- madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc 2021-02-11 11:39:46 +0000
1096+++ madgraph/iolibs/template_files/born_cnt_splitorders_fks.inc 2022-03-18 09:02:48 +0000
1097@@ -261,6 +261,7 @@
1098 data ic /nmo*1/
1099 REAL*8 CF(NCOLOR,NCOLOR)
1100 COMPLEX*16 ZTEMP, AMP(NGRAPHS), JAMP(NCOLOR,NAMPSO), W(%(wavefunctionsize)d,NWAVEFUNCS), jamph(2, ncolor,nampso)
1101+ COMPLEX*16 TMP_JAMP(%(nb_temp_jamp)i)
1102 C
1103 C GLOBAL VARIABLES
1104 C
1105
1106=== modified file 'madgraph/iolibs/template_files/matrix_madevent_group_v4.inc'
1107--- madgraph/iolibs/template_files/matrix_madevent_group_v4.inc 2021-07-29 07:25:05 +0000
1108+++ madgraph/iolibs/template_files/matrix_madevent_group_v4.inc 2022-03-18 09:02:48 +0000
1109@@ -339,6 +339,8 @@
1110
1111
1112 %(helas_calls)s
1113+
1114+JAMP(:,:) = (0d0,0d0)
1115 %(jamp_lines)s
1116
1117 if(init_mode)then
1118
1119=== modified file 'madgraph/iolibs/template_files/matrix_madevent_group_v4_hel.inc'
1120--- madgraph/iolibs/template_files/matrix_madevent_group_v4_hel.inc 2021-01-02 03:00:59 +0000
1121+++ madgraph/iolibs/template_files/matrix_madevent_group_v4_hel.inc 2022-03-18 09:02:48 +0000
1122@@ -240,6 +240,8 @@
1123 endif
1124 AMP(:,:) = (0d0,0d0)
1125 ${helas_calls}
1126+
1127+ JAMP(:,:) = (0d0,0d0)
1128 DO K = 1, NCOMB
1129 ${jamp_lines}
1130 TS(K) = 0.D0
1131
1132=== modified file 'madgraph/loop/loop_base_objects.py'
1133--- madgraph/loop/loop_base_objects.py 2020-03-27 19:40:16 +0000
1134+++ madgraph/loop/loop_base_objects.py 2022-03-18 09:02:48 +0000
1135@@ -1504,7 +1504,8 @@
1136 else:
1137 super(DGLoopLeg,self).__init__()
1138 for key in argument.get_sorted_keys():
1139- self.set(key,argument[key])
1140+ if key in self.get_sorted_keys():
1141+ self.set(key,argument[key])
1142
1143 def default_setup(self):
1144 super(DGLoopLeg,self).default_setup()
1145
1146=== modified file 'madgraph/madevent/hel_recycle.py'
1147--- madgraph/madevent/hel_recycle.py 2021-03-22 21:50:02 +0000
1148+++ madgraph/madevent/hel_recycle.py 2022-03-18 09:02:48 +0000
1149@@ -2,6 +2,7 @@
1150
1151 import argparse
1152 import atexit
1153+import os
1154 import re
1155 import collections
1156 from string import Template
1157@@ -719,17 +720,12 @@
1158 out_file.close()
1159
1160 def write_zero_matrix_element(self):
1161- out_file = open(self.output_file, 'w+')
1162- self.template_dict['ncomb'] = '0'
1163- self.template_dict['nwavefuncs'] = '0'
1164- self.template_dict['helas_calls'] = ''
1165- with open(self.template_file, 'r') as file:
1166- for line in file:
1167- s = Template(line)
1168- line = s.safe_substitute(self.template_dict)
1169- line = '\n'.join([do_multiline(sub_lines) for sub_lines in line.split('\n')])
1170- out_file.write(line)
1171- out_file.close()
1172+ try:
1173+ os.remove(self.output_file)
1174+ except Exception:
1175+ pass
1176+ input_file = self.output_file.replace("_optim.f", "_orig.f")
1177+ os.symlink(input_file, self.output_file)
1178
1179
1180 def generate_output_file(self):
1181
1182=== modified file 'madgraph/various/banner.py'
1183--- madgraph/various/banner.py 2021-11-08 08:25:41 +0000
1184+++ madgraph/various/banner.py 2022-03-18 09:02:48 +0000
1185@@ -1373,12 +1373,15 @@
1186 raise InvalidCmd("Wrong input type for %s found %s and expecting %s for value %s" %\
1187 (name, type(value), targettype, value))
1188 else:
1189+ if targettype != UnknownType:
1190+ value = value.strip()
1191+ if value.startswith("="):
1192+ value = value[1:].strip()
1193 # We have a string we have to format the attribute from the string
1194 if targettype == UnknownType:
1195 # No formatting
1196 pass
1197 elif targettype == bool:
1198- value = value.strip()
1199 if value.lower() in ['0', '.false.', 'f', 'false', 'off']:
1200 value = False
1201 elif value.lower() in ['1', '.true.', 't', 'true', 'on']:
1202@@ -1386,7 +1389,6 @@
1203 else:
1204 raise InvalidCmd("%s can not be mapped to True/False for %s" % (repr(value),name))
1205 elif targettype == str:
1206- value = value.strip()
1207 if value.startswith('\'') and value.endswith('\''):
1208 value = value[1:-1]
1209 elif value.startswith('"') and value.endswith('"'):
1210@@ -3326,11 +3328,11 @@
1211 self.add_param('mass_ion2', -1.0, hidden=True, fortran_name="mass_ion(2)",
1212 allowed=[-1,0, 0.938, 207.9766521*0.938, 0.000511, 0.105, '*'],
1213 comment='For heavy ion physics mass in GeV of the ion (of beam 2)')
1214-
1215- self.add_param("pdlabel", "nn23lo1", hidden=True, allowed=['lhapdf', 'cteq6_m','cteq6_l', 'cteq6l1','nn23lo', 'nn23lo1', 'nn23nlo','iww','eva','none','mixed']+\
1216- sum(self.allowed_lep_densities.values(),[]))
1217- self.add_param("pdlabel1", "nn23lo1", hidden=True, allowed=['lhapdf', 'cteq6_m','cteq6_l', 'cteq6l1','nn23lo', 'nn23lo1', 'nn23nlo','iww','eva','none'],fortran_name="pdsublabel(1)")
1218- self.add_param("pdlabel2", "nn23lo1", hidden=True, allowed=['lhapdf', 'cteq6_m','cteq6_l', 'cteq6l1','nn23lo', 'nn23lo1', 'nn23nlo','iww','eva','none'],fortran_name="pdsublabel(2)")
1219+ valid_pdf = ['lhapdf', 'cteq6_m','cteq6_l', 'cteq6l1','nn23lo', 'nn23lo1', 'nn23nlo','iww','eva','none','mixed']+\
1220+ sum(self.allowed_lep_densities.values(),[])
1221+ self.add_param("pdlabel", "nn23lo1", hidden=True, allowed=valid_pdf)
1222+ self.add_param("pdlabel1", "nn23lo1", hidden=True, allowed=valid_pdf, fortran_name="pdsublabel(1)")
1223+ self.add_param("pdlabel2", "nn23lo1", hidden=True, allowed=valid_pdf, fortran_name="pdsublabel(2)")
1224 self.add_param("lhaid", 230000, hidden=True)
1225 self.add_param("fixed_ren_scale", False)
1226 self.add_param("fixed_fac_scale", False, hidden=True, include=False, comment="define if the factorization scale is fixed or not. You can define instead fixed_fac_scale1 and fixed_fac_scale2 if you want to make that choice per beam")
1227@@ -4902,6 +4904,7 @@
1228 e+ e- beam -> lpp:0 ebeam:500
1229 p p beam -> set maxjetflavor automatically
1230 process with tagged photons -> gamma_is_j = false
1231+ process without QED splittings -> gamma_is_j = false, recombination = false
1232 """
1233
1234 for block in self.blocks:
1235@@ -4946,6 +4949,11 @@
1236 if 22 in tagged_particles:
1237 self['gamma_is_j'] = False
1238
1239+ if 'QED' not in proc_characteristic['splitting_types']:
1240+ self['gamma_is_j'] = False
1241+ self['lepphreco'] = False
1242+ self['quarkphreco'] = False
1243+
1244 matching = False
1245 if min_particle != max_particle:
1246 #take one of the process with min_particle
1247
1248=== modified file 'madgraph/various/diagram_symmetry.py'
1249--- madgraph/various/diagram_symmetry.py 2019-07-05 08:34:51 +0000
1250+++ madgraph/various/diagram_symmetry.py 2022-03-18 09:02:48 +0000
1251@@ -361,8 +361,18 @@
1252 except Exception:
1253 QCD = 0
1254
1255+ onshell = vertex.get('legs')[-1].get('onshell')
1256+ if onshell is True:
1257+ onshell = 1
1258+ elif onshell is False:
1259+ onshell = 0
1260+ else:
1261+ onshell = -1
1262+
1263+
1264+
1265 return ((part.get('color'),
1266- part.get('mass'), part.get('width'), QCD),)
1267+ part.get('mass'), part.get('width'), QCD, onshell),)
1268
1269 def find_symmetry_subproc_group(subproc_group):
1270 """Find symmetric configs by directly comparing the configurations
1271
1272=== modified file 'madgraph/various/lhe_parser.py'
1273--- madgraph/various/lhe_parser.py 2021-12-03 15:40:10 +0000
1274+++ madgraph/various/lhe_parser.py 2022-03-18 09:02:48 +0000
1275@@ -497,8 +497,12 @@
1276 except:
1277 import madgraph.various.banner as banner_module
1278 else:
1279- import internal.banner as banner_module
1280- if not isinstance(self.banner, banner_module.Banner):
1281+ try:
1282+ import internal.banner as banner_module
1283+ except:
1284+ logger.debug("no banner module found")
1285+ banner_module = None
1286+ if banner_module and not isinstance(self.banner, banner_module.Banner):
1287 banner = self.get_banner()
1288 # 1. modify the cross-section
1289 banner.modify_init_cross(cross)
1290@@ -506,16 +510,17 @@
1291 banner["unweight"] = "unweighted by %s" % unwgt_name
1292 else:
1293 banner = self.banner
1294- # modify the lha strategy
1295- curr_strategy = banner.get_lha_strategy()
1296- if normalization in ['unit', 'sum']:
1297- strategy = 3
1298- else:
1299- strategy = 4
1300- if curr_strategy >0:
1301- banner.set_lha_strategy(abs(strategy))
1302- else:
1303- banner.set_lha_strategy(-1*abs(strategy))
1304+ if banner_module:
1305+ # modify the lha strategy
1306+ curr_strategy = banner.get_lha_strategy()
1307+ if normalization in ['unit', 'sum']:
1308+ strategy = 3
1309+ else:
1310+ strategy = 4
1311+ if curr_strategy >0:
1312+ banner.set_lha_strategy(abs(strategy))
1313+ else:
1314+ banner.set_lha_strategy(-1*abs(strategy))
1315
1316 # Do the reweighting (up to 20 times if we have target_event)
1317 nb_try = 20
1318
1319=== modified file 'madgraph/various/misc.py'
1320--- madgraph/various/misc.py 2021-12-03 15:40:10 +0000
1321+++ madgraph/various/misc.py 2022-03-18 09:02:48 +0000
1322@@ -2230,8 +2230,9 @@
1323 return super().pop(*args)
1324 else:
1325 key = next(iter(self))
1326- return super().pop(key, None)
1327-
1328+ del self[key]
1329+ return key
1330+
1331 def __le__(self, other):
1332 return all(e in other for e in self)
1333
1334
1335=== modified file 'mg5decay/decay_objects.py'
1336--- mg5decay/decay_objects.py 2021-07-09 08:30:40 +0000
1337+++ mg5decay/decay_objects.py 2022-03-18 09:02:48 +0000
1338@@ -1780,7 +1780,7 @@
1339 # create a process:
1340 process = base_objects.ProcessDefinition()
1341 process['model'] = self
1342- process['orders'] = interaction['orders']
1343+ process['orders'] = dict(interaction['orders'])
1344 for order in self.get('coupling_orders'):
1345 if order not in interaction['orders']:
1346 process['orders'][order] = 0
1347@@ -3397,16 +3397,16 @@
1348 return [self]
1349 elif len(self['vertices']) == 1:
1350 return [self]
1351- elif len(self['final_legs']) == len(set(l['id'] for l in self['final_legs'])):
1352+ elif len(self.get_final_legs()) == len(set(l['id'] for l in self.get_final_legs())):
1353 return [self]
1354
1355 # check if all symetry are already handle:
1356- if len(set(l['id'] for l in self['final_legs'] if l['id'] not in ignore)) ==\
1357- len([ l['id'] for l in self['final_legs'] if l['id'] not in ignore]):
1358+ if len(set(l['id'] for l in self.get_final_legs() if l['id'] not in ignore)) ==\
1359+ len([ l['id'] for l in self.get_final_legs() if l['id'] not in ignore]):
1360 return [self]
1361
1362 nb_id = collections.defaultdict(int)
1363- for l in self['final_legs']:
1364+ for l in self.get_final_legs():
1365 nb_id[l['id']] += 1
1366
1367 id_to_handle = [id for id in nb_id if nb_id[id] > 1 and id not in ignore]
1368@@ -3420,11 +3420,11 @@
1369 for new_numbers in itertools.permutations(numbers):
1370
1371 mapping_id = dict([(o,n) for o,n in zip(numbers, new_numbers) if o!=n])
1372-
1373 if not mapping_id:
1374 out.append(self)
1375 continue
1376 channel = copy.copy(self)
1377+ channel['final_legs'] = base_objects.LegList()
1378 channel['vertices'] = base_objects.VertexList()
1379 # (real) DiagramTag
1380 channel['tag'] = []
1381@@ -3434,7 +3434,6 @@
1382 channel['helas_number'] = None
1383 # diagram written by IdentifyHelasTag
1384 channel['std_diagram'] = None
1385-
1386 for l,vertex in enumerate(self['vertices']):
1387 new_vertex = copy.copy(vertex)
1388 new_vertex['legs'] = base_objects.LegList()
1389@@ -3454,6 +3453,7 @@
1390 mapping_id[vertex['legs'][-1]['number']] = min_id
1391
1392 channel['vertices'].append(new_vertex)
1393+
1394 out.append(channel)
1395
1396 # do the recursion
1397
1398=== modified file 'models/usermod.py'
1399--- models/usermod.py 2021-07-27 09:18:15 +0000
1400+++ models/usermod.py 2022-03-18 09:02:48 +0000
1401@@ -757,6 +757,7 @@
1402 same_name = next((p for p in self.couplings if p.name==name), None)
1403 if same_name:
1404 coupling.name = '%s%s' % (coupling.name, self.addon)
1405+ return self.add_coupling(coupling)
1406
1407 if self.old_new:
1408 pattern = re.compile(r'\b(%s)\b' % '|'.join(list(self.old_new.keys())))
1409@@ -966,7 +967,7 @@
1410 # + define identify_pid which keep tracks of the pdg_code identified
1411 identify_pid = {}
1412 if identify_particles:
1413- for new, old in identify_particles.items():
1414+ for new, old in dict(identify_particles).items():
1415 new_part = next((p for p in model.all_particles if p.name==new), None)
1416 old_part = next((p for p in self.particles if p.name==old), None)
1417 # secure agqinst lower/upper case problem
1418
1419=== modified file 'tests/acceptance_tests/test_cmd.py'
1420--- tests/acceptance_tests/test_cmd.py 2021-11-12 09:03:20 +0000
1421+++ tests/acceptance_tests/test_cmd.py 2022-03-18 09:02:48 +0000
1422@@ -506,11 +506,15 @@
1423 # Check that the output of check is correct
1424 logfile = os.path.join(self.out_dir,'SubProcesses', 'P0_gg_ttx',
1425 'check.log')
1426- subprocess.call('./check',
1427- stdout=open(logfile, 'w'), stderr=devnull,
1428+ p = subprocess.Popen('./check',
1429+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
1430 cwd=os.path.join(self.out_dir, 'SubProcesses',
1431 'P0_gg_ttx'), shell=True)
1432- log_output = open(logfile, 'r').read()
1433+ (log_output, err) = p.communicate()
1434+ log_output = log_output.decode()
1435+
1436+ #log_output = open(logfile, 'r').read()
1437+ #misc.sprint(log_output)
1438 me_re = re.compile('Matrix element\s*=\s*(?P<value>[\d\.eE\+-]+)\s*GeV',
1439 re.IGNORECASE)
1440 me_groups = me_re.search(log_output)
1441@@ -569,11 +573,12 @@
1442 # Check that the output of check is correct
1443 logfile = os.path.join(self.out_dir,'SubProcesses', 'P0_epem_epem',
1444 'check.log')
1445- subprocess.call('./check',
1446- stdout=open(logfile, 'w'), stderr=devnull,
1447+ p = subprocess.Popen('./check',
1448+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
1449 cwd=os.path.join(self.out_dir, 'SubProcesses',
1450 'P0_epem_epem'), shell=True)
1451- log_output = open(logfile, 'r').read()
1452+ (log_output, err) = p.communicate()
1453+ log_output = log_output.decode()
1454 me_re = re.compile('Matrix element\s*=\s*(?P<value>[\d\.eE\+-]+)\s*GeV',
1455 re.IGNORECASE)
1456 me_groups = me_re.search(log_output)
1457@@ -690,11 +695,12 @@
1458 # Check that the output of check is correct
1459 logfile = os.path.join(self.out_dir,'SubProcesses', 'P0_gg_hgg',
1460 'check.log')
1461- subprocess.call('./check',
1462- stdout=open(logfile, 'w'), stderr=subprocess.STDOUT,
1463+ p = subprocess.Popen('./check',
1464+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
1465 cwd=os.path.join(self.out_dir, 'SubProcesses',
1466 'P0_gg_hgg'), shell=True)
1467- log_output = open(logfile, 'r').read()
1468+ (log_output, err) = p.communicate()
1469+ log_output =log_output.decode()
1470 me_re = re.compile('Matrix element\s*=\s*(?P<value>[\d\.eE\+-]+)\s*GeV',
1471 re.IGNORECASE)
1472 me_groups = me_re.search(log_output)
1473
1474=== modified file 'tests/acceptance_tests/test_cmd_amcatnlo.py'
1475--- tests/acceptance_tests/test_cmd_amcatnlo.py 2021-12-03 15:40:10 +0000
1476+++ tests/acceptance_tests/test_cmd_amcatnlo.py 2022-03-18 09:02:48 +0000
1477@@ -57,10 +57,10 @@
1478 """this treats all the command not related to MG_ME"""
1479
1480 loadtime = time.time()
1481- debugging = False
1482
1483 def setUp(self):
1484-
1485+ self.debugging = unittest.debug
1486+
1487 if not self.debugging:
1488 self.tmpdir = tempfile.mkdtemp(prefix='amc')
1489 #if os.path.exists(self.tmpdir):
1490
1491=== modified file 'tests/acceptance_tests/test_cmd_madevent.py'
1492--- tests/acceptance_tests/test_cmd_madevent.py 2021-12-03 15:40:10 +0000
1493+++ tests/acceptance_tests/test_cmd_madevent.py 2022-03-18 09:02:48 +0000
1494@@ -73,7 +73,7 @@
1495
1496 def setUp(self):
1497
1498- self.debugging = False
1499+ self.debugging = unittest.debug
1500 if self.debugging:
1501 self.path = pjoin(MG5DIR, "tmp_test")
1502 if os.path.exists(self.path):
1503@@ -120,9 +120,9 @@
1504 out = p.communicate('install MadAnalysis4'.encode())
1505 misc.compile(cwd=pjoin(MG5DIR,'MadAnalysis'))
1506
1507- if not misc.which('root'):
1508- raise Exception('root is require for this test')
1509- interface.exec_cmd('set pythia-pgs_path %s --no_save' % pjoin(MG5DIR, 'pythia-pgs'))
1510+ #if not misc.which('root'):
1511+ # raise Exception('root is require for this test')
1512+ #interface.exec_cmd('set pythia-pgs_path %s --no_save' % pjoin(MG5DIR, 'pythia-pgs'))
1513 interface.exec_cmd('set madanalysis_path %s --no_save' % pjoin(MG5DIR, 'MadAnalysis'))
1514 interface.onecmd('output madevent %s -f' % self.run_dir)
1515
1516@@ -134,7 +134,7 @@
1517
1518 self.cmd_line = MECmd.MadEventCmdShell(me_dir=self.run_dir)
1519 self.cmd_line.no_notification()
1520- self.cmd_line.options['syscalc_path'] = pjoin(MG5DIR, 'SysCalc')
1521+ #self.cmd_line.options['syscalc_path'] = pjoin(MG5DIR, 'SysCalc')
1522
1523
1524 @staticmethod
1525
1526=== modified file 'tests/acceptance_tests/test_cmd_reweight.py'
1527--- tests/acceptance_tests/test_cmd_reweight.py 2021-02-08 22:58:11 +0000
1528+++ tests/acceptance_tests/test_cmd_reweight.py 2022-03-18 09:02:48 +0000
1529@@ -62,7 +62,7 @@
1530
1531 def setUp(self):
1532
1533- self.debugging = False
1534+ self.debugging = unittest.debug
1535 if self.debugging:
1536 self.path = pjoin(MG5DIR, "tmp_test")
1537 if os.path.exists(self.path):
1538
1539=== modified file 'tests/acceptance_tests/test_madspin.py'
1540--- tests/acceptance_tests/test_madspin.py 2021-07-08 13:41:06 +0000
1541+++ tests/acceptance_tests/test_madspin.py 2022-03-18 09:02:48 +0000
1542@@ -41,7 +41,7 @@
1543
1544 def setUp(self):
1545
1546- self.debuging = False
1547+ self.debuging = False
1548 if self.debuging:
1549 self.path = pjoin(MG5DIR, 'MS_TEST')
1550 if os.path.exists(self.path):
1551@@ -165,3 +165,67 @@
1552 self.assertEqual(muon_in, 1)
1553 self.assertEqual(nb_dec, 189)
1554 self.assertEqual(nb_muon, 100)
1555+
1556+ def test_madspin_spin_only(self):
1557+ """ """
1558+
1559+ cwd = os.getcwd()
1560+
1561+ files.cp(pjoin(MG5DIR, 'tests', 'input_files', 'test_spinmode_none.lhe.gz'), self.path)
1562+
1563+
1564+ fsock = open(pjoin(self.path, 'test_hepmc'),'w')
1565+ text = """
1566+ import ./test_spinmode_none.lhe.gz
1567+ set onlyhelicity True
1568+ launch
1569+ """
1570+
1571+ fsock.write(text)
1572+ fsock.close()
1573+
1574+ import subprocess
1575+ if logging.getLogger('madgraph').level <= 20:
1576+ stdout=None
1577+ stderr=None
1578+ else:
1579+ devnull =open(os.devnull,'w')
1580+ stdout=devnull
1581+ stderr=devnull
1582+
1583+ subprocess.call([pjoin(MG5DIR, 'MadSpin', 'madspin'),
1584+ pjoin(self.path, 'test_hepmc')],
1585+ cwd=pjoin(self.path),
1586+ stdout=stdout,stderr=stderr)
1587+
1588+ self.assertTrue(os.path.exists(pjoin(self.path, 'test_spinmode_none_decayed.lhe.gz')))
1589+ lhe = lhe_parser.EventFile(pjoin(self.path, 'test_spinmode_none_decayed.lhe.gz'))
1590+ self.assertEqual(100, len(lhe))
1591+
1592+ nb_dec = 0
1593+ nb_notdec = 0
1594+ nb_muon = 0
1595+ pol = {0:0, -1:0,1:0}
1596+ for event in lhe:
1597+ muon_in = 0
1598+ self.assertEqual(event.nexternal, len(event))
1599+ for particle in event:
1600+ if particle.pdg == 23:
1601+ if particle.status == 1:
1602+ nb_notdec += 1
1603+ else:
1604+ nb_dec += 1
1605+ if particle.pdg == 13:
1606+ nb_muon += 1
1607+ muon_in +=1
1608+ self.assertIn(int(particle.helicity), pol)
1609+ pol[int(particle.helicity)] +=1
1610+ self.assertEqual(muon_in, 0)
1611+
1612+ self.assertEqual(nb_notdec, 100)
1613+ self.assertEqual(nb_dec, 89)
1614+ self.assertEqual(nb_muon, 0)
1615+ import math
1616+ self.assertTrue(abs(pol[1]-pol[-1]) < 2 * math.sqrt(pol[1]))
1617+ self.assertTrue(pol[0] < pol[-1])
1618+
1619\ No newline at end of file
1620
1621=== added directory 'tests/input_files/231_Model_UFO'
1622=== added file 'tests/input_files/231_Model_UFO/CT_couplings.py'
1623--- tests/input_files/231_Model_UFO/CT_couplings.py 1970-01-01 00:00:00 +0000
1624+++ tests/input_files/231_Model_UFO/CT_couplings.py 2022-03-18 09:02:48 +0000
1625@@ -0,0 +1,11 @@
1626+# This file was automatically created by FeynRules 2.3.41
1627+# Mathematica version: 10.4.1 for Linux x86 (64-bit) (April 11, 2016)
1628+# Date: Fri 21 May 2021 11:43:38
1629+
1630+
1631+from object_library import all_couplings, Coupling
1632+
1633+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
1634+
1635+
1636+
1637
1638=== added file 'tests/input_files/231_Model_UFO/__init__.py'
1639--- tests/input_files/231_Model_UFO/__init__.py 1970-01-01 00:00:00 +0000
1640+++ tests/input_files/231_Model_UFO/__init__.py 2022-03-18 09:02:48 +0000
1641@@ -0,0 +1,50 @@
1642+
1643+import particles
1644+import couplings
1645+import lorentz
1646+import parameters
1647+import vertices
1648+import coupling_orders
1649+#import write_param_card
1650+import propagators
1651+import object_library
1652+import function_library
1653+
1654+
1655+all_particles = particles.all_particles
1656+all_vertices = vertices.all_vertices
1657+all_couplings = couplings.all_couplings
1658+all_lorentz = lorentz.all_lorentz
1659+all_parameters = parameters.all_parameters
1660+all_orders = coupling_orders.all_orders
1661+all_functions = function_library.all_functions
1662+all_propagators = propagators.all_propagators
1663+
1664+try:
1665+ import decays
1666+except ImportError:
1667+ pass
1668+else:
1669+ all_decays = decays.all_decays
1670+
1671+try:
1672+ import form_factors
1673+except ImportError:
1674+ pass
1675+else:
1676+ all_form_factors = form_factors.all_form_factors
1677+
1678+try:
1679+ import CT_vertices
1680+except ImportError:
1681+ pass
1682+else:
1683+ all_CTvertices = CT_vertices.all_CTvertices
1684+
1685+
1686+gauge = [0, 1]
1687+
1688+
1689+__author__ = "GHOURMIN Es-said, Larbi RAHILI"
1690+__date__ = "08-01-21"
1691+__version__= "1,0,0"
1692
1693=== added file 'tests/input_files/231_Model_UFO/coupling_orders.py'
1694--- tests/input_files/231_Model_UFO/coupling_orders.py 1970-01-01 00:00:00 +0000
1695+++ tests/input_files/231_Model_UFO/coupling_orders.py 2022-03-18 09:02:48 +0000
1696@@ -0,0 +1,16 @@
1697+# This file was automatically created by FeynRules 2.3.41
1698+# Mathematica version: 10.4.1 for Linux x86 (64-bit) (April 11, 2016)
1699+# Date: Fri 21 May 2021 11:43:23
1700+
1701+
1702+from object_library import all_orders, CouplingOrder
1703+
1704+
1705+QCD = CouplingOrder(name = 'QCD',
1706+ expansion_order = 99,
1707+ hierarchy = 1)
1708+
1709+QED = CouplingOrder(name = 'QED',
1710+ expansion_order = 99,
1711+ hierarchy = 2)
1712+
1713
1714=== added file 'tests/input_files/231_Model_UFO/couplings.py'
1715--- tests/input_files/231_Model_UFO/couplings.py 1970-01-01 00:00:00 +0000
1716+++ tests/input_files/231_Model_UFO/couplings.py 2022-03-18 09:02:48 +0000
1717@@ -0,0 +1,2783 @@
1718+# This file was automatically created by FeynRules 2.3.41
1719+# Mathematica version: 10.4.1 for Linux x86 (64-bit) (April 11, 2016)
1720+# Date: Fri 21 May 2021 11:43:21
1721+
1722+
1723+from object_library import all_couplings, Coupling
1724+
1725+from function_library import complexconjugate, re, im, csc, sec, acsc, asec, cot
1726+
1727+
1728+
1729+GC_1 = Coupling(name = 'GC_1',
1730+ value = '-(ee*complex(0,1))/3.',
1731+ order = {'QED':1})
1732+
1733+GC_2 = Coupling(name = 'GC_2',
1734+ value = '(2*ee*complex(0,1))/3.',
1735+ order = {'QED':1})
1736+
1737+GC_3 = Coupling(name = 'GC_3',
1738+ value = '-(ee*complex(0,1))',
1739+ order = {'QED':1})
1740+
1741+GC_4 = Coupling(name = 'GC_4',
1742+ value = 'ee*complex(0,1)',
1743+ order = {'QED':1})
1744+
1745+GC_5 = Coupling(name = 'GC_5',
1746+ value = '2*ee*complex(0,1)',
1747+ order = {'QED':1})
1748+
1749+GC_6 = Coupling(name = 'GC_6',
1750+ value = 'ee**2*complex(0,1)',
1751+ order = {'QED':2})
1752+
1753+GC_7 = Coupling(name = 'GC_7',
1754+ value = '8*ee**2*complex(0,1)',
1755+ order = {'QED':2})
1756+
1757+GC_8 = Coupling(name = 'GC_8',
1758+ value = '-G',
1759+ order = {'QCD':1})
1760+
1761+GC_9 = Coupling(name = 'GC_9',
1762+ value = 'complex(0,1)*G',
1763+ order = {'QCD':1})
1764+
1765+GC_10 = Coupling(name = 'GC_10',
1766+ value = 'complex(0,1)*G**2',
1767+ order = {'QCD':2})
1768+
1769+GC_11 = Coupling(name = 'GC_11',
1770+ value = '-(complex(0,1)*I10a1*I11a1*I7ax) - complex(0,1)*I12a1*I13a1*I7ax',
1771+ order = {'QED':1})
1772+
1773+GC_12 = Coupling(name = 'GC_12',
1774+ value = '-(complex(0,1)*I10a2*I11a1*I7ax)/2. - (complex(0,1)*I10a1*I11a2*I7ax)/2. - (complex(0,1)*I12a2*I13a1*I7ax)/2. - (complex(0,1)*I12a1*I13a2*I7ax)/2.',
1775+ order = {'QED':1})
1776+
1777+GC_13 = Coupling(name = 'GC_13',
1778+ value = '-(complex(0,1)*I10a2*I11a2*I7ax) - complex(0,1)*I12a2*I13a2*I7ax',
1779+ order = {'QED':1})
1780+
1781+GC_14 = Coupling(name = 'GC_14',
1782+ value = '-(complex(0,1)*I10a3*I11a1*I7ax)/2. - (complex(0,1)*I10a1*I11a3*I7ax)/2. - (complex(0,1)*I12a3*I13a1*I7ax)/2. - (complex(0,1)*I12a1*I13a3*I7ax)/2.',
1783+ order = {'QED':1})
1784+
1785+GC_15 = Coupling(name = 'GC_15',
1786+ value = '-(complex(0,1)*I10a3*I11a2*I7ax)/2. - (complex(0,1)*I10a2*I11a3*I7ax)/2. - (complex(0,1)*I12a3*I13a2*I7ax)/2. - (complex(0,1)*I12a2*I13a3*I7ax)/2.',
1787+ order = {'QED':1})
1788+
1789+GC_16 = Coupling(name = 'GC_16',
1790+ value = '-(complex(0,1)*I10a3*I11a3*I7ax) - complex(0,1)*I12a3*I13a3*I7ax',
1791+ order = {'QED':1})
1792+
1793+GC_17 = Coupling(name = 'GC_17',
1794+ value = '-(complex(0,1)*I5a1*I6a1*I7ax) - complex(0,1)*I7ax*I8a1*I9a1',
1795+ order = {'QED':1})
1796+
1797+GC_18 = Coupling(name = 'GC_18',
1798+ value = '-(complex(0,1)*I5a2*I6a1*I7ax)/2. - (complex(0,1)*I5a1*I6a2*I7ax)/2. - (complex(0,1)*I7ax*I8a2*I9a1)/2. - (complex(0,1)*I7ax*I8a1*I9a2)/2.',
1799+ order = {'QED':1})
1800+
1801+GC_19 = Coupling(name = 'GC_19',
1802+ value = '-(complex(0,1)*I5a2*I6a2*I7ax) - complex(0,1)*I7ax*I8a2*I9a2',
1803+ order = {'QED':1})
1804+
1805+GC_20 = Coupling(name = 'GC_20',
1806+ value = '-(complex(0,1)*I5a3*I6a1*I7ax)/2. - (complex(0,1)*I5a1*I6a3*I7ax)/2. - (complex(0,1)*I7ax*I8a3*I9a1)/2. - (complex(0,1)*I7ax*I8a1*I9a3)/2.',
1807+ order = {'QED':1})
1808+
1809+GC_21 = Coupling(name = 'GC_21',
1810+ value = '-(complex(0,1)*I5a3*I6a2*I7ax)/2. - (complex(0,1)*I5a2*I6a3*I7ax)/2. - (complex(0,1)*I7ax*I8a3*I9a2)/2. - (complex(0,1)*I7ax*I8a2*I9a3)/2.',
1811+ order = {'QED':1})
1812+
1813+GC_22 = Coupling(name = 'GC_22',
1814+ value = '-(complex(0,1)*I5a3*I6a3*I7ax) - complex(0,1)*I7ax*I8a3*I9a3',
1815+ order = {'QED':1})
1816+
1817+GC_23 = Coupling(name = 'GC_23',
1818+ value = '-4*complex(0,1)*l2 - 4*complex(0,1)*l4',
1819+ order = {'QED':2})
1820+
1821+GC_24 = Coupling(name = 'GC_24',
1822+ value = '-((ee**2*complex(0,1))/sw**2)',
1823+ order = {'QED':2})
1824+
1825+GC_25 = Coupling(name = 'GC_25',
1826+ value = '(ee**2*complex(0,1))/sw**2',
1827+ order = {'QED':2})
1828+
1829+GC_26 = Coupling(name = 'GC_26',
1830+ value = '(cw**2*ee**2*complex(0,1))/sw**2',
1831+ order = {'QED':2})
1832+
1833+GC_27 = Coupling(name = 'GC_27',
1834+ value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))',
1835+ order = {'QED':1})
1836+
1837+GC_28 = Coupling(name = 'GC_28',
1838+ value = '(CKM1x1*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1839+ order = {'QED':1})
1840+
1841+GC_29 = Coupling(name = 'GC_29',
1842+ value = '(CKM1x2*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1843+ order = {'QED':1})
1844+
1845+GC_30 = Coupling(name = 'GC_30',
1846+ value = '(CKM1x3*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1847+ order = {'QED':1})
1848+
1849+GC_31 = Coupling(name = 'GC_31',
1850+ value = '(CKM2x1*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1851+ order = {'QED':1})
1852+
1853+GC_32 = Coupling(name = 'GC_32',
1854+ value = '(CKM2x2*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1855+ order = {'QED':1})
1856+
1857+GC_33 = Coupling(name = 'GC_33',
1858+ value = '(CKM2x3*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1859+ order = {'QED':1})
1860+
1861+GC_34 = Coupling(name = 'GC_34',
1862+ value = '(CKM3x1*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1863+ order = {'QED':1})
1864+
1865+GC_35 = Coupling(name = 'GC_35',
1866+ value = '(CKM3x2*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1867+ order = {'QED':1})
1868+
1869+GC_36 = Coupling(name = 'GC_36',
1870+ value = '(CKM3x3*ee*complex(0,1))/(sw*cmath.sqrt(2))',
1871+ order = {'QED':1})
1872+
1873+GC_37 = Coupling(name = 'GC_37',
1874+ value = '-(cw*ee*complex(0,1))/(2.*sw)',
1875+ order = {'QED':1})
1876+
1877+GC_38 = Coupling(name = 'GC_38',
1878+ value = '(cw*ee*complex(0,1))/(2.*sw)',
1879+ order = {'QED':1})
1880+
1881+GC_39 = Coupling(name = 'GC_39',
1882+ value = '-((cw*ee*complex(0,1))/sw)',
1883+ order = {'QED':1})
1884+
1885+GC_40 = Coupling(name = 'GC_40',
1886+ value = '(cw*ee*complex(0,1))/sw',
1887+ order = {'QED':1})
1888+
1889+GC_41 = Coupling(name = 'GC_41',
1890+ value = '(-2*cw*ee**2*complex(0,1))/sw',
1891+ order = {'QED':2})
1892+
1893+GC_42 = Coupling(name = 'GC_42',
1894+ value = '-(ee*complex(0,1)*sw)/(6.*cw)',
1895+ order = {'QED':1})
1896+
1897+GC_43 = Coupling(name = 'GC_43',
1898+ value = '(ee*complex(0,1)*sw)/(2.*cw)',
1899+ order = {'QED':1})
1900+
1901+GC_44 = Coupling(name = 'GC_44',
1902+ value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)',
1903+ order = {'QED':1})
1904+
1905+GC_45 = Coupling(name = 'GC_45',
1906+ value = '(cw*ee*complex(0,1))/sw - (ee*complex(0,1)*sw)/cw',
1907+ order = {'QED':1})
1908+
1909+GC_46 = Coupling(name = 'GC_46',
1910+ value = '(4*cw*ee**2*complex(0,1))/sw - (4*ee**2*complex(0,1)*sw)/cw',
1911+ order = {'QED':2})
1912+
1913+GC_47 = Coupling(name = 'GC_47',
1914+ value = '-4*ee**2*complex(0,1) + (2*cw**2*ee**2*complex(0,1))/sw**2 + (2*ee**2*complex(0,1)*sw**2)/cw**2',
1915+ order = {'QED':2})
1916+
1917+GC_48 = Coupling(name = 'GC_48',
1918+ value = '(ee**2*complex(0,1)*TH2x1**2)/2.',
1919+ order = {'QED':2})
1920+
1921+GC_49 = Coupling(name = 'GC_49',
1922+ value = '-(cw*ee**2*complex(0,1)*TH2x1**2)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x1**2)/cw',
1923+ order = {'QED':2})
1924+
1925+GC_50 = Coupling(name = 'GC_50',
1926+ value = '(ee**2*complex(0,1)*TH2x1*TH2x2)/2.',
1927+ order = {'QED':2})
1928+
1929+GC_51 = Coupling(name = 'GC_51',
1930+ value = '(ee**2*complex(0,1)*TH2x2**2)/2.',
1931+ order = {'QED':2})
1932+
1933+GC_52 = Coupling(name = 'GC_52',
1934+ value = '-(cw*ee**2*complex(0,1)*TH2x1*TH2x2)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x1*TH2x2)/cw',
1935+ order = {'QED':2})
1936+
1937+GC_53 = Coupling(name = 'GC_53',
1938+ value = '-(cw*ee**2*complex(0,1)*TH2x2**2)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x2**2)/cw',
1939+ order = {'QED':2})
1940+
1941+GC_54 = Coupling(name = 'GC_54',
1942+ value = '(ee**2*complex(0,1)*TH2x1*TH2x3)/2.',
1943+ order = {'QED':2})
1944+
1945+GC_55 = Coupling(name = 'GC_55',
1946+ value = '(ee**2*complex(0,1)*TH2x2*TH2x3)/2.',
1947+ order = {'QED':2})
1948+
1949+GC_56 = Coupling(name = 'GC_56',
1950+ value = '(ee**2*complex(0,1)*TH2x3**2)/2.',
1951+ order = {'QED':2})
1952+
1953+GC_57 = Coupling(name = 'GC_57',
1954+ value = '-(cw*ee**2*complex(0,1)*TH2x1*TH2x3)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x1*TH2x3)/cw',
1955+ order = {'QED':2})
1956+
1957+GC_58 = Coupling(name = 'GC_58',
1958+ value = '-(cw*ee**2*complex(0,1)*TH2x2*TH2x3)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x2*TH2x3)/cw',
1959+ order = {'QED':2})
1960+
1961+GC_59 = Coupling(name = 'GC_59',
1962+ value = '-(cw*ee**2*complex(0,1)*TH2x3**2)/(2.*sw) - (ee**2*complex(0,1)*sw*TH2x3**2)/cw',
1963+ order = {'QED':2})
1964+
1965+GC_60 = Coupling(name = 'GC_60',
1966+ value = '-((ee**2*TH3x1*cmath.sqrt(2))/sw**2)',
1967+ order = {'QED':2})
1968+
1969+GC_61 = Coupling(name = 'GC_61',
1970+ value = '(ee**2*TH3x1*cmath.sqrt(2))/sw**2',
1971+ order = {'QED':2})
1972+
1973+GC_62 = Coupling(name = 'GC_62',
1974+ value = '(I10a1*I11a1*I7ax*TH3x1)/cmath.sqrt(2) + (I12a1*I13a1*I7ax*TH3x1)/cmath.sqrt(2)',
1975+ order = {'QED':1})
1976+
1977+GC_63 = Coupling(name = 'GC_63',
1978+ value = '(I10a2*I11a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I10a1*I11a2*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a2*I13a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a1*I13a2*I7ax*TH3x1)/(2.*cmath.sqrt(2))',
1979+ order = {'QED':1})
1980+
1981+GC_64 = Coupling(name = 'GC_64',
1982+ value = '(I10a2*I11a2*I7ax*TH3x1)/cmath.sqrt(2) + (I12a2*I13a2*I7ax*TH3x1)/cmath.sqrt(2)',
1983+ order = {'QED':1})
1984+
1985+GC_65 = Coupling(name = 'GC_65',
1986+ value = '(I10a3*I11a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I10a1*I11a3*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a3*I13a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a1*I13a3*I7ax*TH3x1)/(2.*cmath.sqrt(2))',
1987+ order = {'QED':1})
1988+
1989+GC_66 = Coupling(name = 'GC_66',
1990+ value = '(I10a3*I11a2*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I10a2*I11a3*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a3*I13a2*I7ax*TH3x1)/(2.*cmath.sqrt(2)) + (I12a2*I13a3*I7ax*TH3x1)/(2.*cmath.sqrt(2))',
1991+ order = {'QED':1})
1992+
1993+GC_67 = Coupling(name = 'GC_67',
1994+ value = '(I10a3*I11a3*I7ax*TH3x1)/cmath.sqrt(2) + (I12a3*I13a3*I7ax*TH3x1)/cmath.sqrt(2)',
1995+ order = {'QED':1})
1996+
1997+GC_68 = Coupling(name = 'GC_68',
1998+ value = '-((I5a1*I6a1*I7ax*TH3x1)/cmath.sqrt(2)) - (I7ax*I8a1*I9a1*TH3x1)/cmath.sqrt(2)',
1999+ order = {'QED':1})
2000+
2001+GC_69 = Coupling(name = 'GC_69',
2002+ value = '-(I5a2*I6a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I5a1*I6a2*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a1*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a2*TH3x1)/(2.*cmath.sqrt(2))',
2003+ order = {'QED':1})
2004+
2005+GC_70 = Coupling(name = 'GC_70',
2006+ value = '-((I5a2*I6a2*I7ax*TH3x1)/cmath.sqrt(2)) - (I7ax*I8a2*I9a2*TH3x1)/cmath.sqrt(2)',
2007+ order = {'QED':1})
2008+
2009+GC_71 = Coupling(name = 'GC_71',
2010+ value = '-(I5a3*I6a1*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I5a1*I6a3*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a1*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a3*TH3x1)/(2.*cmath.sqrt(2))',
2011+ order = {'QED':1})
2012+
2013+GC_72 = Coupling(name = 'GC_72',
2014+ value = '-(I5a3*I6a2*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I5a2*I6a3*I7ax*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a2*TH3x1)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a3*TH3x1)/(2.*cmath.sqrt(2))',
2015+ order = {'QED':1})
2016+
2017+GC_73 = Coupling(name = 'GC_73',
2018+ value = '-((I5a3*I6a3*I7ax*TH3x1)/cmath.sqrt(2)) - (I7ax*I8a3*I9a3*TH3x1)/cmath.sqrt(2)',
2019+ order = {'QED':1})
2020+
2021+GC_74 = Coupling(name = 'GC_74',
2022+ value = '-(b3*complex(0,1)*TH1x1**2) - complex(0,1)*l3*TH2x1**2 - 2*complex(0,1)*l2*TH3x1**2',
2023+ order = {'QED':2})
2024+
2025+GC_75 = Coupling(name = 'GC_75',
2026+ value = '(ee**2*complex(0,1)*TH2x1**2)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x1**2)/sw**2',
2027+ order = {'QED':2})
2028+
2029+GC_76 = Coupling(name = 'GC_76',
2030+ value = '2*ee**2*complex(0,1)*TH2x1**2 + (cw**2*ee**2*complex(0,1)*TH2x1**2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x1**2)/cw**2 + 4*ee**2*complex(0,1)*TH3x1**2 + (2*cw**2*ee**2*complex(0,1)*TH3x1**2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x1**2)/cw**2',
2031+ order = {'QED':2})
2032+
2033+GC_77 = Coupling(name = 'GC_77',
2034+ value = '-6*b1*complex(0,1)*TH1x1**4 - 6*b2*complex(0,1)*TH1x1**2*TH2x1**2 - 6*complex(0,1)*l1*TH2x1**4 + 12*complex(0,1)*kappa*TH1x1*TH2x1**2*TH3x1 - 6*b3*complex(0,1)*TH1x1**2*TH3x1**2 - 6*complex(0,1)*l3*TH2x1**2*TH3x1**2 - 6*complex(0,1)*l5*TH2x1**2*TH3x1**2 - 6*complex(0,1)*l2*TH3x1**4 - 6*complex(0,1)*l4*TH3x1**4',
2035+ order = {'QED':2})
2036+
2037+GC_78 = Coupling(name = 'GC_78',
2038+ value = '-((ee**2*TH3x2*cmath.sqrt(2))/sw**2)',
2039+ order = {'QED':2})
2040+
2041+GC_79 = Coupling(name = 'GC_79',
2042+ value = '(ee**2*TH3x2*cmath.sqrt(2))/sw**2',
2043+ order = {'QED':2})
2044+
2045+GC_80 = Coupling(name = 'GC_80',
2046+ value = '(I10a1*I11a1*I7ax*TH3x2)/cmath.sqrt(2) + (I12a1*I13a1*I7ax*TH3x2)/cmath.sqrt(2)',
2047+ order = {'QED':1})
2048+
2049+GC_81 = Coupling(name = 'GC_81',
2050+ value = '(I10a2*I11a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I10a1*I11a2*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a2*I13a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a1*I13a2*I7ax*TH3x2)/(2.*cmath.sqrt(2))',
2051+ order = {'QED':1})
2052+
2053+GC_82 = Coupling(name = 'GC_82',
2054+ value = '(I10a2*I11a2*I7ax*TH3x2)/cmath.sqrt(2) + (I12a2*I13a2*I7ax*TH3x2)/cmath.sqrt(2)',
2055+ order = {'QED':1})
2056+
2057+GC_83 = Coupling(name = 'GC_83',
2058+ value = '(I10a3*I11a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I10a1*I11a3*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a3*I13a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a1*I13a3*I7ax*TH3x2)/(2.*cmath.sqrt(2))',
2059+ order = {'QED':1})
2060+
2061+GC_84 = Coupling(name = 'GC_84',
2062+ value = '(I10a3*I11a2*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I10a2*I11a3*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a3*I13a2*I7ax*TH3x2)/(2.*cmath.sqrt(2)) + (I12a2*I13a3*I7ax*TH3x2)/(2.*cmath.sqrt(2))',
2063+ order = {'QED':1})
2064+
2065+GC_85 = Coupling(name = 'GC_85',
2066+ value = '(I10a3*I11a3*I7ax*TH3x2)/cmath.sqrt(2) + (I12a3*I13a3*I7ax*TH3x2)/cmath.sqrt(2)',
2067+ order = {'QED':1})
2068+
2069+GC_86 = Coupling(name = 'GC_86',
2070+ value = '-((I5a1*I6a1*I7ax*TH3x2)/cmath.sqrt(2)) - (I7ax*I8a1*I9a1*TH3x2)/cmath.sqrt(2)',
2071+ order = {'QED':1})
2072+
2073+GC_87 = Coupling(name = 'GC_87',
2074+ value = '-(I5a2*I6a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I5a1*I6a2*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a1*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a2*TH3x2)/(2.*cmath.sqrt(2))',
2075+ order = {'QED':1})
2076+
2077+GC_88 = Coupling(name = 'GC_88',
2078+ value = '-((I5a2*I6a2*I7ax*TH3x2)/cmath.sqrt(2)) - (I7ax*I8a2*I9a2*TH3x2)/cmath.sqrt(2)',
2079+ order = {'QED':1})
2080+
2081+GC_89 = Coupling(name = 'GC_89',
2082+ value = '-(I5a3*I6a1*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I5a1*I6a3*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a1*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a3*TH3x2)/(2.*cmath.sqrt(2))',
2083+ order = {'QED':1})
2084+
2085+GC_90 = Coupling(name = 'GC_90',
2086+ value = '-(I5a3*I6a2*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I5a2*I6a3*I7ax*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a2*TH3x2)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a3*TH3x2)/(2.*cmath.sqrt(2))',
2087+ order = {'QED':1})
2088+
2089+GC_91 = Coupling(name = 'GC_91',
2090+ value = '-((I5a3*I6a3*I7ax*TH3x2)/cmath.sqrt(2)) - (I7ax*I8a3*I9a3*TH3x2)/cmath.sqrt(2)',
2091+ order = {'QED':1})
2092+
2093+GC_92 = Coupling(name = 'GC_92',
2094+ value = '-(b3*complex(0,1)*TH1x1*TH1x2) - complex(0,1)*l3*TH2x1*TH2x2 - 2*complex(0,1)*l2*TH3x1*TH3x2',
2095+ order = {'QED':2})
2096+
2097+GC_93 = Coupling(name = 'GC_93',
2098+ value = '(ee**2*complex(0,1)*TH2x1*TH2x2)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x1*TH3x2)/sw**2',
2099+ order = {'QED':2})
2100+
2101+GC_94 = Coupling(name = 'GC_94',
2102+ value = '2*ee**2*complex(0,1)*TH2x1*TH2x2 + (cw**2*ee**2*complex(0,1)*TH2x1*TH2x2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x1*TH2x2)/cw**2 + 4*ee**2*complex(0,1)*TH3x1*TH3x2 + (2*cw**2*ee**2*complex(0,1)*TH3x1*TH3x2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x1*TH3x2)/cw**2',
2103+ order = {'QED':2})
2104+
2105+GC_95 = Coupling(name = 'GC_95',
2106+ value = '-6*b1*complex(0,1)*TH1x1**3*TH1x2 - 3*b2*complex(0,1)*TH1x1*TH1x2*TH2x1**2 - 3*b2*complex(0,1)*TH1x1**2*TH2x1*TH2x2 - 6*complex(0,1)*l1*TH2x1**3*TH2x2 + 3*complex(0,1)*kappa*TH1x2*TH2x1**2*TH3x1 + 6*complex(0,1)*kappa*TH1x1*TH2x1*TH2x2*TH3x1 - 3*b3*complex(0,1)*TH1x1*TH1x2*TH3x1**2 - 3*complex(0,1)*l3*TH2x1*TH2x2*TH3x1**2 - 3*complex(0,1)*l5*TH2x1*TH2x2*TH3x1**2 + 3*complex(0,1)*kappa*TH1x1*TH2x1**2*TH3x2 - 3*b3*complex(0,1)*TH1x1**2*TH3x1*TH3x2 - 3*complex(0,1)*l3*TH2x1**2*TH3x1*TH3x2 - 3*complex(0,1)*l5*TH2x1**2*TH3x1*TH3x2 - 6*complex(0,1)*l2*TH3x1**3*TH3x2 - 6*complex(0,1)*l4*TH3x1**3*TH3x2',
2107+ order = {'QED':2})
2108+
2109+GC_96 = Coupling(name = 'GC_96',
2110+ value = '-(b3*complex(0,1)*TH1x2**2) - complex(0,1)*l3*TH2x2**2 - 2*complex(0,1)*l2*TH3x2**2',
2111+ order = {'QED':2})
2112+
2113+GC_97 = Coupling(name = 'GC_97',
2114+ value = '(ee**2*complex(0,1)*TH2x2**2)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x2**2)/sw**2',
2115+ order = {'QED':2})
2116+
2117+GC_98 = Coupling(name = 'GC_98',
2118+ value = '2*ee**2*complex(0,1)*TH2x2**2 + (cw**2*ee**2*complex(0,1)*TH2x2**2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x2**2)/cw**2 + 4*ee**2*complex(0,1)*TH3x2**2 + (2*cw**2*ee**2*complex(0,1)*TH3x2**2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x2**2)/cw**2',
2119+ order = {'QED':2})
2120+
2121+GC_99 = Coupling(name = 'GC_99',
2122+ value = '-6*b1*complex(0,1)*TH1x1**2*TH1x2**2 - b2*complex(0,1)*TH1x2**2*TH2x1**2 - 4*b2*complex(0,1)*TH1x1*TH1x2*TH2x1*TH2x2 - b2*complex(0,1)*TH1x1**2*TH2x2**2 - 6*complex(0,1)*l1*TH2x1**2*TH2x2**2 + 4*complex(0,1)*kappa*TH1x2*TH2x1*TH2x2*TH3x1 + 2*complex(0,1)*kappa*TH1x1*TH2x2**2*TH3x1 - b3*complex(0,1)*TH1x2**2*TH3x1**2 - complex(0,1)*l3*TH2x2**2*TH3x1**2 - complex(0,1)*l5*TH2x2**2*TH3x1**2 + 2*complex(0,1)*kappa*TH1x2*TH2x1**2*TH3x2 + 4*complex(0,1)*kappa*TH1x1*TH2x1*TH2x2*TH3x2 - 4*b3*complex(0,1)*TH1x1*TH1x2*TH3x1*TH3x2 - 4*complex(0,1)*l3*TH2x1*TH2x2*TH3x1*TH3x2 - 4*complex(0,1)*l5*TH2x1*TH2x2*TH3x1*TH3x2 - b3*complex(0,1)*TH1x1**2*TH3x2**2 - complex(0,1)*l3*TH2x1**2*TH3x2**2 - complex(0,1)*l5*TH2x1**2*TH3x2**2 - 6*complex(0,1)*l2*TH3x1**2*TH3x2**2 - 6*complex(0,1)*l4*TH3x1**2*TH3x2**2',
2123+ order = {'QED':2})
2124+
2125+GC_100 = Coupling(name = 'GC_100',
2126+ value = '-6*b1*complex(0,1)*TH1x1*TH1x2**3 - 3*b2*complex(0,1)*TH1x2**2*TH2x1*TH2x2 - 3*b2*complex(0,1)*TH1x1*TH1x2*TH2x2**2 - 6*complex(0,1)*l1*TH2x1*TH2x2**3 + 3*complex(0,1)*kappa*TH1x2*TH2x2**2*TH3x1 + 6*complex(0,1)*kappa*TH1x2*TH2x1*TH2x2*TH3x2 + 3*complex(0,1)*kappa*TH1x1*TH2x2**2*TH3x2 - 3*b3*complex(0,1)*TH1x2**2*TH3x1*TH3x2 - 3*complex(0,1)*l3*TH2x2**2*TH3x1*TH3x2 - 3*complex(0,1)*l5*TH2x2**2*TH3x1*TH3x2 - 3*b3*complex(0,1)*TH1x1*TH1x2*TH3x2**2 - 3*complex(0,1)*l3*TH2x1*TH2x2*TH3x2**2 - 3*complex(0,1)*l5*TH2x1*TH2x2*TH3x2**2 - 6*complex(0,1)*l2*TH3x1*TH3x2**3 - 6*complex(0,1)*l4*TH3x1*TH3x2**3',
2127+ order = {'QED':2})
2128+
2129+GC_101 = Coupling(name = 'GC_101',
2130+ value = '-6*b1*complex(0,1)*TH1x2**4 - 6*b2*complex(0,1)*TH1x2**2*TH2x2**2 - 6*complex(0,1)*l1*TH2x2**4 + 12*complex(0,1)*kappa*TH1x2*TH2x2**2*TH3x2 - 6*b3*complex(0,1)*TH1x2**2*TH3x2**2 - 6*complex(0,1)*l3*TH2x2**2*TH3x2**2 - 6*complex(0,1)*l5*TH2x2**2*TH3x2**2 - 6*complex(0,1)*l2*TH3x2**4 - 6*complex(0,1)*l4*TH3x2**4',
2131+ order = {'QED':2})
2132+
2133+GC_102 = Coupling(name = 'GC_102',
2134+ value = '-((ee**2*TH3x3*cmath.sqrt(2))/sw**2)',
2135+ order = {'QED':2})
2136+
2137+GC_103 = Coupling(name = 'GC_103',
2138+ value = '(ee**2*TH3x3*cmath.sqrt(2))/sw**2',
2139+ order = {'QED':2})
2140+
2141+GC_104 = Coupling(name = 'GC_104',
2142+ value = '(I10a1*I11a1*I7ax*TH3x3)/cmath.sqrt(2) + (I12a1*I13a1*I7ax*TH3x3)/cmath.sqrt(2)',
2143+ order = {'QED':1})
2144+
2145+GC_105 = Coupling(name = 'GC_105',
2146+ value = '(I10a2*I11a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I10a1*I11a2*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a2*I13a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a1*I13a2*I7ax*TH3x3)/(2.*cmath.sqrt(2))',
2147+ order = {'QED':1})
2148+
2149+GC_106 = Coupling(name = 'GC_106',
2150+ value = '(I10a2*I11a2*I7ax*TH3x3)/cmath.sqrt(2) + (I12a2*I13a2*I7ax*TH3x3)/cmath.sqrt(2)',
2151+ order = {'QED':1})
2152+
2153+GC_107 = Coupling(name = 'GC_107',
2154+ value = '(I10a3*I11a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I10a1*I11a3*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a3*I13a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a1*I13a3*I7ax*TH3x3)/(2.*cmath.sqrt(2))',
2155+ order = {'QED':1})
2156+
2157+GC_108 = Coupling(name = 'GC_108',
2158+ value = '(I10a3*I11a2*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I10a2*I11a3*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a3*I13a2*I7ax*TH3x3)/(2.*cmath.sqrt(2)) + (I12a2*I13a3*I7ax*TH3x3)/(2.*cmath.sqrt(2))',
2159+ order = {'QED':1})
2160+
2161+GC_109 = Coupling(name = 'GC_109',
2162+ value = '(I10a3*I11a3*I7ax*TH3x3)/cmath.sqrt(2) + (I12a3*I13a3*I7ax*TH3x3)/cmath.sqrt(2)',
2163+ order = {'QED':1})
2164+
2165+GC_110 = Coupling(name = 'GC_110',
2166+ value = '-((I5a1*I6a1*I7ax*TH3x3)/cmath.sqrt(2)) - (I7ax*I8a1*I9a1*TH3x3)/cmath.sqrt(2)',
2167+ order = {'QED':1})
2168+
2169+GC_111 = Coupling(name = 'GC_111',
2170+ value = '-(I5a2*I6a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I5a1*I6a2*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a1*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a2*TH3x3)/(2.*cmath.sqrt(2))',
2171+ order = {'QED':1})
2172+
2173+GC_112 = Coupling(name = 'GC_112',
2174+ value = '-((I5a2*I6a2*I7ax*TH3x3)/cmath.sqrt(2)) - (I7ax*I8a2*I9a2*TH3x3)/cmath.sqrt(2)',
2175+ order = {'QED':1})
2176+
2177+GC_113 = Coupling(name = 'GC_113',
2178+ value = '-(I5a3*I6a1*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I5a1*I6a3*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a1*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a1*I9a3*TH3x3)/(2.*cmath.sqrt(2))',
2179+ order = {'QED':1})
2180+
2181+GC_114 = Coupling(name = 'GC_114',
2182+ value = '-(I5a3*I6a2*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I5a2*I6a3*I7ax*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a3*I9a2*TH3x3)/(2.*cmath.sqrt(2)) - (I7ax*I8a2*I9a3*TH3x3)/(2.*cmath.sqrt(2))',
2183+ order = {'QED':1})
2184+
2185+GC_115 = Coupling(name = 'GC_115',
2186+ value = '-((I5a3*I6a3*I7ax*TH3x3)/cmath.sqrt(2)) - (I7ax*I8a3*I9a3*TH3x3)/cmath.sqrt(2)',
2187+ order = {'QED':1})
2188+
2189+GC_116 = Coupling(name = 'GC_116',
2190+ value = '-(b3*complex(0,1)*TH1x1*TH1x3) - complex(0,1)*l3*TH2x1*TH2x3 - 2*complex(0,1)*l2*TH3x1*TH3x3',
2191+ order = {'QED':2})
2192+
2193+GC_117 = Coupling(name = 'GC_117',
2194+ value = '(ee**2*complex(0,1)*TH2x1*TH2x3)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x1*TH3x3)/sw**2',
2195+ order = {'QED':2})
2196+
2197+GC_118 = Coupling(name = 'GC_118',
2198+ value = '2*ee**2*complex(0,1)*TH2x1*TH2x3 + (cw**2*ee**2*complex(0,1)*TH2x1*TH2x3)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x1*TH2x3)/cw**2 + 4*ee**2*complex(0,1)*TH3x1*TH3x3 + (2*cw**2*ee**2*complex(0,1)*TH3x1*TH3x3)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x1*TH3x3)/cw**2',
2199+ order = {'QED':2})
2200+
2201+GC_119 = Coupling(name = 'GC_119',
2202+ value = '-6*b1*complex(0,1)*TH1x1**3*TH1x3 - 3*b2*complex(0,1)*TH1x1*TH1x3*TH2x1**2 - 3*b2*complex(0,1)*TH1x1**2*TH2x1*TH2x3 - 6*complex(0,1)*l1*TH2x1**3*TH2x3 + 3*complex(0,1)*kappa*TH1x3*TH2x1**2*TH3x1 + 6*complex(0,1)*kappa*TH1x1*TH2x1*TH2x3*TH3x1 - 3*b3*complex(0,1)*TH1x1*TH1x3*TH3x1**2 - 3*complex(0,1)*l3*TH2x1*TH2x3*TH3x1**2 - 3*complex(0,1)*l5*TH2x1*TH2x3*TH3x1**2 + 3*complex(0,1)*kappa*TH1x1*TH2x1**2*TH3x3 - 3*b3*complex(0,1)*TH1x1**2*TH3x1*TH3x3 - 3*complex(0,1)*l3*TH2x1**2*TH3x1*TH3x3 - 3*complex(0,1)*l5*TH2x1**2*TH3x1*TH3x3 - 6*complex(0,1)*l2*TH3x1**3*TH3x3 - 6*complex(0,1)*l4*TH3x1**3*TH3x3',
2203+ order = {'QED':2})
2204+
2205+GC_120 = Coupling(name = 'GC_120',
2206+ value = '-(b3*complex(0,1)*TH1x2*TH1x3) - complex(0,1)*l3*TH2x2*TH2x3 - 2*complex(0,1)*l2*TH3x2*TH3x3',
2207+ order = {'QED':2})
2208+
2209+GC_121 = Coupling(name = 'GC_121',
2210+ value = '(ee**2*complex(0,1)*TH2x2*TH2x3)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x2*TH3x3)/sw**2',
2211+ order = {'QED':2})
2212+
2213+GC_122 = Coupling(name = 'GC_122',
2214+ value = '2*ee**2*complex(0,1)*TH2x2*TH2x3 + (cw**2*ee**2*complex(0,1)*TH2x2*TH2x3)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x2*TH2x3)/cw**2 + 4*ee**2*complex(0,1)*TH3x2*TH3x3 + (2*cw**2*ee**2*complex(0,1)*TH3x2*TH3x3)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x2*TH3x3)/cw**2',
2215+ order = {'QED':2})
2216+
2217+GC_123 = Coupling(name = 'GC_123',
2218+ value = '-6*b1*complex(0,1)*TH1x1**2*TH1x2*TH1x3 - b2*complex(0,1)*TH1x2*TH1x3*TH2x1**2 - 2*b2*complex(0,1)*TH1x1*TH1x3*TH2x1*TH2x2 - 2*b2*complex(0,1)*TH1x1*TH1x2*TH2x1*TH2x3 - b2*complex(0,1)*TH1x1**2*TH2x2*TH2x3 - 6*complex(0,1)*l1*TH2x1**2*TH2x2*TH2x3 + 2*complex(0,1)*kappa*TH1x3*TH2x1*TH2x2*TH3x1 + 2*complex(0,1)*kappa*TH1x2*TH2x1*TH2x3*TH3x1 + 2*complex(0,1)*kappa*TH1x1*TH2x2*TH2x3*TH3x1 - b3*complex(0,1)*TH1x2*TH1x3*TH3x1**2 - complex(0,1)*l3*TH2x2*TH2x3*TH3x1**2 - complex(0,1)*l5*TH2x2*TH2x3*TH3x1**2 + complex(0,1)*kappa*TH1x3*TH2x1**2*TH3x2 + 2*complex(0,1)*kappa*TH1x1*TH2x1*TH2x3*TH3x2 - 2*b3*complex(0,1)*TH1x1*TH1x3*TH3x1*TH3x2 - 2*complex(0,1)*l3*TH2x1*TH2x3*TH3x1*TH3x2 - 2*complex(0,1)*l5*TH2x1*TH2x3*TH3x1*TH3x2 + complex(0,1)*kappa*TH1x2*TH2x1**2*TH3x3 + 2*complex(0,1)*kappa*TH1x1*TH2x1*TH2x2*TH3x3 - 2*b3*complex(0,1)*TH1x1*TH1x2*TH3x1*TH3x3 - 2*complex(0,1)*l3*TH2x1*TH2x2*TH3x1*TH3x3 - 2*complex(0,1)*l5*TH2x1*TH2x2*TH3x1*TH3x3 - b3*complex(0,1)*TH1x1**2*TH3x2*TH3x3 - complex(0,1)*l3*TH2x1**2*TH3x2*TH3x3 - complex(0,1)*l5*TH2x1**2*TH3x2*TH3x3 - 6*complex(0,1)*l2*TH3x1**2*TH3x2*TH3x3 - 6*complex(0,1)*l4*TH3x1**2*TH3x2*TH3x3',
2219+ order = {'QED':2})
2220+
2221+GC_124 = Coupling(name = 'GC_124',
2222+ value = '-6*b1*complex(0,1)*TH1x1*TH1x2**2*TH1x3 - 2*b2*complex(0,1)*TH1x2*TH1x3*TH2x1*TH2x2 - b2*complex(0,1)*TH1x1*TH1x3*TH2x2**2 - b2*complex(0,1)*TH1x2**2*TH2x1*TH2x3 - 2*b2*complex(0,1)*TH1x1*TH1x2*TH2x2*TH2x3 - 6*complex(0,1)*l1*TH2x1*TH2x2**2*TH2x3 + complex(0,1)*kappa*TH1x3*TH2x2**2*TH3x1 + 2*complex(0,1)*kappa*TH1x2*TH2x2*TH2x3*TH3x1 + 2*complex(0,1)*kappa*TH1x3*TH2x1*TH2x2*TH3x2 + 2*complex(0,1)*kappa*TH1x2*TH2x1*TH2x3*TH3x2 + 2*complex(0,1)*kappa*TH1x1*TH2x2*TH2x3*TH3x2 - 2*b3*complex(0,1)*TH1x2*TH1x3*TH3x1*TH3x2 - 2*complex(0,1)*l3*TH2x2*TH2x3*TH3x1*TH3x2 - 2*complex(0,1)*l5*TH2x2*TH2x3*TH3x1*TH3x2 - b3*complex(0,1)*TH1x1*TH1x3*TH3x2**2 - complex(0,1)*l3*TH2x1*TH2x3*TH3x2**2 - complex(0,1)*l5*TH2x1*TH2x3*TH3x2**2 + 2*complex(0,1)*kappa*TH1x2*TH2x1*TH2x2*TH3x3 + complex(0,1)*kappa*TH1x1*TH2x2**2*TH3x3 - b3*complex(0,1)*TH1x2**2*TH3x1*TH3x3 - complex(0,1)*l3*TH2x2**2*TH3x1*TH3x3 - complex(0,1)*l5*TH2x2**2*TH3x1*TH3x3 - 2*b3*complex(0,1)*TH1x1*TH1x2*TH3x2*TH3x3 - 2*complex(0,1)*l3*TH2x1*TH2x2*TH3x2*TH3x3 - 2*complex(0,1)*l5*TH2x1*TH2x2*TH3x2*TH3x3 - 6*complex(0,1)*l2*TH3x1*TH3x2**2*TH3x3 - 6*complex(0,1)*l4*TH3x1*TH3x2**2*TH3x3',
2223+ order = {'QED':2})
2224+
2225+GC_125 = Coupling(name = 'GC_125',
2226+ value = '-6*b1*complex(0,1)*TH1x2**3*TH1x3 - 3*b2*complex(0,1)*TH1x2*TH1x3*TH2x2**2 - 3*b2*complex(0,1)*TH1x2**2*TH2x2*TH2x3 - 6*complex(0,1)*l1*TH2x2**3*TH2x3 + 3*complex(0,1)*kappa*TH1x3*TH2x2**2*TH3x2 + 6*complex(0,1)*kappa*TH1x2*TH2x2*TH2x3*TH3x2 - 3*b3*complex(0,1)*TH1x2*TH1x3*TH3x2**2 - 3*complex(0,1)*l3*TH2x2*TH2x3*TH3x2**2 - 3*complex(0,1)*l5*TH2x2*TH2x3*TH3x2**2 + 3*complex(0,1)*kappa*TH1x2*TH2x2**2*TH3x3 - 3*b3*complex(0,1)*TH1x2**2*TH3x2*TH3x3 - 3*complex(0,1)*l3*TH2x2**2*TH3x2*TH3x3 - 3*complex(0,1)*l5*TH2x2**2*TH3x2*TH3x3 - 6*complex(0,1)*l2*TH3x2**3*TH3x3 - 6*complex(0,1)*l4*TH3x2**3*TH3x3',
2227+ order = {'QED':2})
2228+
2229+GC_126 = Coupling(name = 'GC_126',
2230+ value = '-(b3*complex(0,1)*TH1x3**2) - complex(0,1)*l3*TH2x3**2 - 2*complex(0,1)*l2*TH3x3**2',
2231+ order = {'QED':2})
2232+
2233+GC_127 = Coupling(name = 'GC_127',
2234+ value = '(ee**2*complex(0,1)*TH2x3**2)/(2.*sw**2) + (ee**2*complex(0,1)*TH3x3**2)/sw**2',
2235+ order = {'QED':2})
2236+
2237+GC_128 = Coupling(name = 'GC_128',
2238+ value = '2*ee**2*complex(0,1)*TH2x3**2 + (cw**2*ee**2*complex(0,1)*TH2x3**2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*TH2x3**2)/cw**2 + 4*ee**2*complex(0,1)*TH3x3**2 + (2*cw**2*ee**2*complex(0,1)*TH3x3**2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*TH3x3**2)/cw**2',
2239+ order = {'QED':2})
2240+
2241+GC_129 = Coupling(name = 'GC_129',
2242+ value = '-6*b1*complex(0,1)*TH1x1**2*TH1x3**2 - b2*complex(0,1)*TH1x3**2*TH2x1**2 - 4*b2*complex(0,1)*TH1x1*TH1x3*TH2x1*TH2x3 - b2*complex(0,1)*TH1x1**2*TH2x3**2 - 6*complex(0,1)*l1*TH2x1**2*TH2x3**2 + 4*complex(0,1)*kappa*TH1x3*TH2x1*TH2x3*TH3x1 + 2*complex(0,1)*kappa*TH1x1*TH2x3**2*TH3x1 - b3*complex(0,1)*TH1x3**2*TH3x1**2 - complex(0,1)*l3*TH2x3**2*TH3x1**2 - complex(0,1)*l5*TH2x3**2*TH3x1**2 + 2*complex(0,1)*kappa*TH1x3*TH2x1**2*TH3x3 + 4*complex(0,1)*kappa*TH1x1*TH2x1*TH2x3*TH3x3 - 4*b3*complex(0,1)*TH1x1*TH1x3*TH3x1*TH3x3 - 4*complex(0,1)*l3*TH2x1*TH2x3*TH3x1*TH3x3 - 4*complex(0,1)*l5*TH2x1*TH2x3*TH3x1*TH3x3 - b3*complex(0,1)*TH1x1**2*TH3x3**2 - complex(0,1)*l3*TH2x1**2*TH3x3**2 - complex(0,1)*l5*TH2x1**2*TH3x3**2 - 6*complex(0,1)*l2*TH3x1**2*TH3x3**2 - 6*complex(0,1)*l4*TH3x1**2*TH3x3**2',
2243+ order = {'QED':2})
2244+
2245+GC_130 = Coupling(name = 'GC_130',
2246+ value = '-6*b1*complex(0,1)*TH1x1*TH1x2*TH1x3**2 - b2*complex(0,1)*TH1x3**2*TH2x1*TH2x2 - 2*b2*complex(0,1)*TH1x2*TH1x3*TH2x1*TH2x3 - 2*b2*complex(0,1)*TH1x1*TH1x3*TH2x2*TH2x3 - b2*complex(0,1)*TH1x1*TH1x2*TH2x3**2 - 6*complex(0,1)*l1*TH2x1*TH2x2*TH2x3**2 + 2*complex(0,1)*kappa*TH1x3*TH2x2*TH2x3*TH3x1 + complex(0,1)*kappa*TH1x2*TH2x3**2*TH3x1 + 2*complex(0,1)*kappa*TH1x3*TH2x1*TH2x3*TH3x2 + complex(0,1)*kappa*TH1x1*TH2x3**2*TH3x2 - b3*complex(0,1)*TH1x3**2*TH3x1*TH3x2 - complex(0,1)*l3*TH2x3**2*TH3x1*TH3x2 - complex(0,1)*l5*TH2x3**2*TH3x1*TH3x2 + 2*complex(0,1)*kappa*TH1x3*TH2x1*TH2x2*TH3x3 + 2*complex(0,1)*kappa*TH1x2*TH2x1*TH2x3*TH3x3 + 2*complex(0,1)*kappa*TH1x1*TH2x2*TH2x3*TH3x3 - 2*b3*complex(0,1)*TH1x2*TH1x3*TH3x1*TH3x3 - 2*complex(0,1)*l3*TH2x2*TH2x3*TH3x1*TH3x3 - 2*complex(0,1)*l5*TH2x2*TH2x3*TH3x1*TH3x3 - 2*b3*complex(0,1)*TH1x1*TH1x3*TH3x2*TH3x3 - 2*complex(0,1)*l3*TH2x1*TH2x3*TH3x2*TH3x3 - 2*complex(0,1)*l5*TH2x1*TH2x3*TH3x2*TH3x3 - b3*complex(0,1)*TH1x1*TH1x2*TH3x3**2 - complex(0,1)*l3*TH2x1*TH2x2*TH3x3**2 - complex(0,1)*l5*TH2x1*TH2x2*TH3x3**2 - 6*complex(0,1)*l2*TH3x1*TH3x2*TH3x3**2 - 6*complex(0,1)*l4*TH3x1*TH3x2*TH3x3**2',
2247+ order = {'QED':2})
2248+
2249+GC_131 = Coupling(name = 'GC_131',
2250+ value = '-6*b1*complex(0,1)*TH1x2**2*TH1x3**2 - b2*complex(0,1)*TH1x3**2*TH2x2**2 - 4*b2*complex(0,1)*TH1x2*TH1x3*TH2x2*TH2x3 - b2*complex(0,1)*TH1x2**2*TH2x3**2 - 6*complex(0,1)*l1*TH2x2**2*TH2x3**2 + 4*complex(0,1)*kappa*TH1x3*TH2x2*TH2x3*TH3x2 + 2*complex(0,1)*kappa*TH1x2*TH2x3**2*TH3x2 - b3*complex(0,1)*TH1x3**2*TH3x2**2 - complex(0,1)*l3*TH2x3**2*TH3x2**2 - complex(0,1)*l5*TH2x3**2*TH3x2**2 + 2*complex(0,1)*kappa*TH1x3*TH2x2**2*TH3x3 + 4*complex(0,1)*kappa*TH1x2*TH2x2*TH2x3*TH3x3 - 4*b3*complex(0,1)*TH1x2*TH1x3*TH3x2*TH3x3 - 4*complex(0,1)*l3*TH2x2*TH2x3*TH3x2*TH3x3 - 4*complex(0,1)*l5*TH2x2*TH2x3*TH3x2*TH3x3 - b3*complex(0,1)*TH1x2**2*TH3x3**2 - complex(0,1)*l3*TH2x2**2*TH3x3**2 - complex(0,1)*l5*TH2x2**2*TH3x3**2 - 6*complex(0,1)*l2*TH3x2**2*TH3x3**2 - 6*complex(0,1)*l4*TH3x2**2*TH3x3**2',
2251+ order = {'QED':2})
2252+
2253+GC_132 = Coupling(name = 'GC_132',
2254+ value = '-6*b1*complex(0,1)*TH1x1*TH1x3**3 - 3*b2*complex(0,1)*TH1x3**2*TH2x1*TH2x3 - 3*b2*complex(0,1)*TH1x1*TH1x3*TH2x3**2 - 6*complex(0,1)*l1*TH2x1*TH2x3**3 + 3*complex(0,1)*kappa*TH1x3*TH2x3**2*TH3x1 + 6*complex(0,1)*kappa*TH1x3*TH2x1*TH2x3*TH3x3 + 3*complex(0,1)*kappa*TH1x1*TH2x3**2*TH3x3 - 3*b3*complex(0,1)*TH1x3**2*TH3x1*TH3x3 - 3*complex(0,1)*l3*TH2x3**2*TH3x1*TH3x3 - 3*complex(0,1)*l5*TH2x3**2*TH3x1*TH3x3 - 3*b3*complex(0,1)*TH1x1*TH1x3*TH3x3**2 - 3*complex(0,1)*l3*TH2x1*TH2x3*TH3x3**2 - 3*complex(0,1)*l5*TH2x1*TH2x3*TH3x3**2 - 6*complex(0,1)*l2*TH3x1*TH3x3**3 - 6*complex(0,1)*l4*TH3x1*TH3x3**3',
2255+ order = {'QED':2})
2256+
2257+GC_133 = Coupling(name = 'GC_133',
2258+ value = '-6*b1*complex(0,1)*TH1x2*TH1x3**3 - 3*b2*complex(0,1)*TH1x3**2*TH2x2*TH2x3 - 3*b2*complex(0,1)*TH1x2*TH1x3*TH2x3**2 - 6*complex(0,1)*l1*TH2x2*TH2x3**3 + 3*complex(0,1)*kappa*TH1x3*TH2x3**2*TH3x2 + 6*complex(0,1)*kappa*TH1x3*TH2x2*TH2x3*TH3x3 + 3*complex(0,1)*kappa*TH1x2*TH2x3**2*TH3x3 - 3*b3*complex(0,1)*TH1x3**2*TH3x2*TH3x3 - 3*complex(0,1)*l3*TH2x3**2*TH3x2*TH3x3 - 3*complex(0,1)*l5*TH2x3**2*TH3x2*TH3x3 - 3*b3*complex(0,1)*TH1x2*TH1x3*TH3x3**2 - 3*complex(0,1)*l3*TH2x2*TH2x3*TH3x3**2 - 3*complex(0,1)*l5*TH2x2*TH2x3*TH3x3**2 - 6*complex(0,1)*l2*TH3x2*TH3x3**3 - 6*complex(0,1)*l4*TH3x2*TH3x3**3',
2259+ order = {'QED':2})
2260+
2261+GC_134 = Coupling(name = 'GC_134',
2262+ value = '-6*b1*complex(0,1)*TH1x3**4 - 6*b2*complex(0,1)*TH1x3**2*TH2x3**2 - 6*complex(0,1)*l1*TH2x3**4 + 12*complex(0,1)*kappa*TH1x3*TH2x3**2*TH3x3 - 6*b3*complex(0,1)*TH1x3**2*TH3x3**2 - 6*complex(0,1)*l3*TH2x3**2*TH3x3**2 - 6*complex(0,1)*l5*TH2x3**2*TH3x3**2 - 6*complex(0,1)*l2*TH3x3**4 - 6*complex(0,1)*l4*TH3x3**4',
2263+ order = {'QED':2})
2264+
2265+GC_135 = Coupling(name = 'GC_135',
2266+ value = '-(ee*TH2x1*UH2x1)/2.',
2267+ order = {'QED':1})
2268+
2269+GC_136 = Coupling(name = 'GC_136',
2270+ value = '(ee*TH2x2*UH2x1)/2.',
2271+ order = {'QED':1})
2272+
2273+GC_137 = Coupling(name = 'GC_137',
2274+ value = '(ee*TH2x3*UH2x1)/2.',
2275+ order = {'QED':1})
2276+
2277+GC_138 = Coupling(name = 'GC_138',
2278+ value = '(ee**2*complex(0,1)*UH2x1**2)/2.',
2279+ order = {'QED':2})
2280+
2281+GC_139 = Coupling(name = 'GC_139',
2282+ value = '-(cw*ee**2*complex(0,1)*UH2x1**2)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x1**2)/cw',
2283+ order = {'QED':2})
2284+
2285+GC_140 = Coupling(name = 'GC_140',
2286+ value = '-(ee*TH2x1*UH2x2)/2.',
2287+ order = {'QED':1})
2288+
2289+GC_141 = Coupling(name = 'GC_141',
2290+ value = '(ee*TH2x2*UH2x2)/2.',
2291+ order = {'QED':1})
2292+
2293+GC_142 = Coupling(name = 'GC_142',
2294+ value = '(ee*TH2x3*UH2x2)/2.',
2295+ order = {'QED':1})
2296+
2297+GC_143 = Coupling(name = 'GC_143',
2298+ value = '(ee**2*complex(0,1)*UH2x1*UH2x2)/2.',
2299+ order = {'QED':2})
2300+
2301+GC_144 = Coupling(name = 'GC_144',
2302+ value = '(ee**2*complex(0,1)*UH2x2**2)/2.',
2303+ order = {'QED':2})
2304+
2305+GC_145 = Coupling(name = 'GC_145',
2306+ value = '-(cw*ee**2*complex(0,1)*UH2x1*UH2x2)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x1*UH2x2)/cw',
2307+ order = {'QED':2})
2308+
2309+GC_146 = Coupling(name = 'GC_146',
2310+ value = '-(cw*ee**2*complex(0,1)*UH2x2**2)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x2**2)/cw',
2311+ order = {'QED':2})
2312+
2313+GC_147 = Coupling(name = 'GC_147',
2314+ value = '-(ee*TH2x1*UH2x3)/2.',
2315+ order = {'QED':1})
2316+
2317+GC_148 = Coupling(name = 'GC_148',
2318+ value = '(ee*TH2x2*UH2x3)/2.',
2319+ order = {'QED':1})
2320+
2321+GC_149 = Coupling(name = 'GC_149',
2322+ value = '-(ee*TH2x3*UH2x3)/2.',
2323+ order = {'QED':1})
2324+
2325+GC_150 = Coupling(name = 'GC_150',
2326+ value = '(ee**2*complex(0,1)*UH2x1*UH2x3)/2.',
2327+ order = {'QED':2})
2328+
2329+GC_151 = Coupling(name = 'GC_151',
2330+ value = '(ee**2*complex(0,1)*UH2x2*UH2x3)/2.',
2331+ order = {'QED':2})
2332+
2333+GC_152 = Coupling(name = 'GC_152',
2334+ value = '(ee**2*complex(0,1)*UH2x3**2)/2.',
2335+ order = {'QED':2})
2336+
2337+GC_153 = Coupling(name = 'GC_153',
2338+ value = '-(cw*ee**2*complex(0,1)*UH2x1*UH2x3)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x1*UH2x3)/cw',
2339+ order = {'QED':2})
2340+
2341+GC_154 = Coupling(name = 'GC_154',
2342+ value = '-(cw*ee**2*complex(0,1)*UH2x2*UH2x3)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x2*UH2x3)/cw',
2343+ order = {'QED':2})
2344+
2345+GC_155 = Coupling(name = 'GC_155',
2346+ value = '-(cw*ee**2*complex(0,1)*UH2x3**2)/(2.*sw) - (ee**2*complex(0,1)*sw*UH2x3**2)/cw',
2347+ order = {'QED':2})
2348+
2349+GC_156 = Coupling(name = 'GC_156',
2350+ value = '(ee**2*complex(0,1)*UH3x1*cmath.sqrt(2))/sw**2',
2351+ order = {'QED':2})
2352+
2353+GC_157 = Coupling(name = 'GC_157',
2354+ value = '-((complex(0,1)*I10a1*I11a1*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a1*I7ax*UH3x1)/cmath.sqrt(2)',
2355+ order = {'QED':1})
2356+
2357+GC_158 = Coupling(name = 'GC_158',
2358+ value = '-(complex(0,1)*I10a2*I11a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a2*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a2*I7ax*UH3x1)/(2.*cmath.sqrt(2))',
2359+ order = {'QED':1})
2360+
2361+GC_159 = Coupling(name = 'GC_159',
2362+ value = '-((complex(0,1)*I10a2*I11a2*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a2*I7ax*UH3x1)/cmath.sqrt(2)',
2363+ order = {'QED':1})
2364+
2365+GC_160 = Coupling(name = 'GC_160',
2366+ value = '-(complex(0,1)*I10a3*I11a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a3*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a3*I7ax*UH3x1)/(2.*cmath.sqrt(2))',
2367+ order = {'QED':1})
2368+
2369+GC_161 = Coupling(name = 'GC_161',
2370+ value = '-(complex(0,1)*I10a3*I11a2*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a2*I11a3*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a2*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a3*I7ax*UH3x1)/(2.*cmath.sqrt(2))',
2371+ order = {'QED':1})
2372+
2373+GC_162 = Coupling(name = 'GC_162',
2374+ value = '-((complex(0,1)*I10a3*I11a3*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a3*I7ax*UH3x1)/cmath.sqrt(2)',
2375+ order = {'QED':1})
2376+
2377+GC_163 = Coupling(name = 'GC_163',
2378+ value = '-((complex(0,1)*I5a1*I6a1*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a1*UH3x1)/cmath.sqrt(2)',
2379+ order = {'QED':1})
2380+
2381+GC_164 = Coupling(name = 'GC_164',
2382+ value = '-(complex(0,1)*I5a2*I6a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a2*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a1*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a2*UH3x1)/(2.*cmath.sqrt(2))',
2383+ order = {'QED':1})
2384+
2385+GC_165 = Coupling(name = 'GC_165',
2386+ value = '-((complex(0,1)*I5a2*I6a2*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a2*UH3x1)/cmath.sqrt(2)',
2387+ order = {'QED':1})
2388+
2389+GC_166 = Coupling(name = 'GC_166',
2390+ value = '-(complex(0,1)*I5a3*I6a1*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a3*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a1*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a3*UH3x1)/(2.*cmath.sqrt(2))',
2391+ order = {'QED':1})
2392+
2393+GC_167 = Coupling(name = 'GC_167',
2394+ value = '-(complex(0,1)*I5a3*I6a2*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a2*I6a3*I7ax*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a2*UH3x1)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a3*UH3x1)/(2.*cmath.sqrt(2))',
2395+ order = {'QED':1})
2396+
2397+GC_168 = Coupling(name = 'GC_168',
2398+ value = '-((complex(0,1)*I5a3*I6a3*I7ax*UH3x1)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a3*UH3x1)/cmath.sqrt(2)',
2399+ order = {'QED':1})
2400+
2401+GC_169 = Coupling(name = 'GC_169',
2402+ value = '(cw*ee*TH2x1*UH2x1)/(2.*sw) + (ee*sw*TH2x1*UH2x1)/cw + (cw*ee*TH3x1*UH3x1)/sw + (ee*sw*TH3x1*UH3x1)/cw',
2403+ order = {'QED':1})
2404+
2405+GC_170 = Coupling(name = 'GC_170',
2406+ value = '-(cw*ee*TH2x2*UH2x1)/(2.*sw) - (ee*sw*TH2x2*UH2x1)/cw - (cw*ee*TH3x2*UH3x1)/sw - (ee*sw*TH3x2*UH3x1)/cw',
2407+ order = {'QED':1})
2408+
2409+GC_171 = Coupling(name = 'GC_171',
2410+ value = '-(cw*ee*TH2x3*UH2x1)/(2.*sw) - (ee*sw*TH2x3*UH2x1)/cw - (cw*ee*TH3x3*UH3x1)/sw - (ee*sw*TH3x3*UH3x1)/cw',
2411+ order = {'QED':1})
2412+
2413+GC_172 = Coupling(name = 'GC_172',
2414+ value = '-(b3*complex(0,1)*UH1x1**2) - complex(0,1)*l3*UH2x1**2 - 2*complex(0,1)*l2*UH3x1**2',
2415+ order = {'QED':2})
2416+
2417+GC_173 = Coupling(name = 'GC_173',
2418+ value = '(ee**2*complex(0,1)*UH2x1**2)/(2.*sw**2) + (ee**2*complex(0,1)*UH3x1**2)/sw**2',
2419+ order = {'QED':2})
2420+
2421+GC_174 = Coupling(name = 'GC_174',
2422+ value = '2*ee**2*complex(0,1)*UH2x1**2 + (cw**2*ee**2*complex(0,1)*UH2x1**2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*UH2x1**2)/cw**2 + 4*ee**2*complex(0,1)*UH3x1**2 + (2*cw**2*ee**2*complex(0,1)*UH3x1**2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*UH3x1**2)/cw**2',
2423+ order = {'QED':2})
2424+
2425+GC_175 = Coupling(name = 'GC_175',
2426+ value = '-2*b1*complex(0,1)*TH1x1**2*UH1x1**2 - b2*complex(0,1)*TH2x1**2*UH1x1**2 - b3*complex(0,1)*TH3x1**2*UH1x1**2 - 4*complex(0,1)*kappa*TH2x1*TH3x1*UH1x1*UH2x1 - b2*complex(0,1)*TH1x1**2*UH2x1**2 - 2*complex(0,1)*l1*TH2x1**2*UH2x1**2 - 2*complex(0,1)*kappa*TH1x1*TH3x1*UH2x1**2 - complex(0,1)*l3*TH3x1**2*UH2x1**2 - complex(0,1)*l5*TH3x1**2*UH2x1**2 - 2*complex(0,1)*kappa*TH2x1**2*UH1x1*UH3x1 - 4*complex(0,1)*kappa*TH1x1*TH2x1*UH2x1*UH3x1 - b3*complex(0,1)*TH1x1**2*UH3x1**2 - complex(0,1)*l3*TH2x1**2*UH3x1**2 - complex(0,1)*l5*TH2x1**2*UH3x1**2 - 2*complex(0,1)*l2*TH3x1**2*UH3x1**2 - 2*complex(0,1)*l4*TH3x1**2*UH3x1**2',
2427+ order = {'QED':2})
2428+
2429+GC_176 = Coupling(name = 'GC_176',
2430+ value = '-2*b1*complex(0,1)*TH1x1*TH1x2*UH1x1**2 - b2*complex(0,1)*TH2x1*TH2x2*UH1x1**2 - b3*complex(0,1)*TH3x1*TH3x2*UH1x1**2 - 2*complex(0,1)*kappa*TH2x2*TH3x1*UH1x1*UH2x1 - 2*complex(0,1)*kappa*TH2x1*TH3x2*UH1x1*UH2x1 - b2*complex(0,1)*TH1x1*TH1x2*UH2x1**2 - 2*complex(0,1)*l1*TH2x1*TH2x2*UH2x1**2 - complex(0,1)*kappa*TH1x2*TH3x1*UH2x1**2 - complex(0,1)*kappa*TH1x1*TH3x2*UH2x1**2 - complex(0,1)*l3*TH3x1*TH3x2*UH2x1**2 - complex(0,1)*l5*TH3x1*TH3x2*UH2x1**2 - 2*complex(0,1)*kappa*TH2x1*TH2x2*UH1x1*UH3x1 - 2*complex(0,1)*kappa*TH1x2*TH2x1*UH2x1*UH3x1 - 2*complex(0,1)*kappa*TH1x1*TH2x2*UH2x1*UH3x1 - b3*complex(0,1)*TH1x1*TH1x2*UH3x1**2 - complex(0,1)*l3*TH2x1*TH2x2*UH3x1**2 - complex(0,1)*l5*TH2x1*TH2x2*UH3x1**2 - 2*complex(0,1)*l2*TH3x1*TH3x2*UH3x1**2 - 2*complex(0,1)*l4*TH3x1*TH3x2*UH3x1**2',
2431+ order = {'QED':2})
2432+
2433+GC_177 = Coupling(name = 'GC_177',
2434+ value = '-2*b1*complex(0,1)*TH1x2**2*UH1x1**2 - b2*complex(0,1)*TH2x2**2*UH1x1**2 - b3*complex(0,1)*TH3x2**2*UH1x1**2 - 4*complex(0,1)*kappa*TH2x2*TH3x2*UH1x1*UH2x1 - b2*complex(0,1)*TH1x2**2*UH2x1**2 - 2*complex(0,1)*l1*TH2x2**2*UH2x1**2 - 2*complex(0,1)*kappa*TH1x2*TH3x2*UH2x1**2 - complex(0,1)*l3*TH3x2**2*UH2x1**2 - complex(0,1)*l5*TH3x2**2*UH2x1**2 - 2*complex(0,1)*kappa*TH2x2**2*UH1x1*UH3x1 - 4*complex(0,1)*kappa*TH1x2*TH2x2*UH2x1*UH3x1 - b3*complex(0,1)*TH1x2**2*UH3x1**2 - complex(0,1)*l3*TH2x2**2*UH3x1**2 - complex(0,1)*l5*TH2x2**2*UH3x1**2 - 2*complex(0,1)*l2*TH3x2**2*UH3x1**2 - 2*complex(0,1)*l4*TH3x2**2*UH3x1**2',
2435+ order = {'QED':2})
2436+
2437+GC_178 = Coupling(name = 'GC_178',
2438+ value = '-2*b1*complex(0,1)*TH1x1*TH1x3*UH1x1**2 - b2*complex(0,1)*TH2x1*TH2x3*UH1x1**2 - b3*complex(0,1)*TH3x1*TH3x3*UH1x1**2 - 2*complex(0,1)*kappa*TH2x3*TH3x1*UH1x1*UH2x1 - 2*complex(0,1)*kappa*TH2x1*TH3x3*UH1x1*UH2x1 - b2*complex(0,1)*TH1x1*TH1x3*UH2x1**2 - 2*complex(0,1)*l1*TH2x1*TH2x3*UH2x1**2 - complex(0,1)*kappa*TH1x3*TH3x1*UH2x1**2 - complex(0,1)*kappa*TH1x1*TH3x3*UH2x1**2 - complex(0,1)*l3*TH3x1*TH3x3*UH2x1**2 - complex(0,1)*l5*TH3x1*TH3x3*UH2x1**2 - 2*complex(0,1)*kappa*TH2x1*TH2x3*UH1x1*UH3x1 - 2*complex(0,1)*kappa*TH1x3*TH2x1*UH2x1*UH3x1 - 2*complex(0,1)*kappa*TH1x1*TH2x3*UH2x1*UH3x1 - b3*complex(0,1)*TH1x1*TH1x3*UH3x1**2 - complex(0,1)*l3*TH2x1*TH2x3*UH3x1**2 - complex(0,1)*l5*TH2x1*TH2x3*UH3x1**2 - 2*complex(0,1)*l2*TH3x1*TH3x3*UH3x1**2 - 2*complex(0,1)*l4*TH3x1*TH3x3*UH3x1**2',
2439+ order = {'QED':2})
2440+
2441+GC_179 = Coupling(name = 'GC_179',
2442+ value = '-2*b1*complex(0,1)*TH1x2*TH1x3*UH1x1**2 - b2*complex(0,1)*TH2x2*TH2x3*UH1x1**2 - b3*complex(0,1)*TH3x2*TH3x3*UH1x1**2 - 2*complex(0,1)*kappa*TH2x3*TH3x2*UH1x1*UH2x1 - 2*complex(0,1)*kappa*TH2x2*TH3x3*UH1x1*UH2x1 - b2*complex(0,1)*TH1x2*TH1x3*UH2x1**2 - 2*complex(0,1)*l1*TH2x2*TH2x3*UH2x1**2 - complex(0,1)*kappa*TH1x3*TH3x2*UH2x1**2 - complex(0,1)*kappa*TH1x2*TH3x3*UH2x1**2 - complex(0,1)*l3*TH3x2*TH3x3*UH2x1**2 - complex(0,1)*l5*TH3x2*TH3x3*UH2x1**2 - 2*complex(0,1)*kappa*TH2x2*TH2x3*UH1x1*UH3x1 - 2*complex(0,1)*kappa*TH1x3*TH2x2*UH2x1*UH3x1 - 2*complex(0,1)*kappa*TH1x2*TH2x3*UH2x1*UH3x1 - b3*complex(0,1)*TH1x2*TH1x3*UH3x1**2 - complex(0,1)*l3*TH2x2*TH2x3*UH3x1**2 - complex(0,1)*l5*TH2x2*TH2x3*UH3x1**2 - 2*complex(0,1)*l2*TH3x2*TH3x3*UH3x1**2 - 2*complex(0,1)*l4*TH3x2*TH3x3*UH3x1**2',
2443+ order = {'QED':2})
2444+
2445+GC_180 = Coupling(name = 'GC_180',
2446+ value = '-2*b1*complex(0,1)*TH1x3**2*UH1x1**2 - b2*complex(0,1)*TH2x3**2*UH1x1**2 - b3*complex(0,1)*TH3x3**2*UH1x1**2 - 4*complex(0,1)*kappa*TH2x3*TH3x3*UH1x1*UH2x1 - b2*complex(0,1)*TH1x3**2*UH2x1**2 - 2*complex(0,1)*l1*TH2x3**2*UH2x1**2 - 2*complex(0,1)*kappa*TH1x3*TH3x3*UH2x1**2 - complex(0,1)*l3*TH3x3**2*UH2x1**2 - complex(0,1)*l5*TH3x3**2*UH2x1**2 - 2*complex(0,1)*kappa*TH2x3**2*UH1x1*UH3x1 - 4*complex(0,1)*kappa*TH1x3*TH2x3*UH2x1*UH3x1 - b3*complex(0,1)*TH1x3**2*UH3x1**2 - complex(0,1)*l3*TH2x3**2*UH3x1**2 - complex(0,1)*l5*TH2x3**2*UH3x1**2 - 2*complex(0,1)*l2*TH3x3**2*UH3x1**2 - 2*complex(0,1)*l4*TH3x3**2*UH3x1**2',
2447+ order = {'QED':2})
2448+
2449+GC_181 = Coupling(name = 'GC_181',
2450+ value = '-6*b1*complex(0,1)*UH1x1**4 - 6*b2*complex(0,1)*UH1x1**2*UH2x1**2 - 6*complex(0,1)*l1*UH2x1**4 + 12*complex(0,1)*kappa*UH1x1*UH2x1**2*UH3x1 - 6*b3*complex(0,1)*UH1x1**2*UH3x1**2 - 6*complex(0,1)*l3*UH2x1**2*UH3x1**2 - 6*complex(0,1)*l5*UH2x1**2*UH3x1**2 - 6*complex(0,1)*l2*UH3x1**4 - 6*complex(0,1)*l4*UH3x1**4',
2451+ order = {'QED':2})
2452+
2453+GC_182 = Coupling(name = 'GC_182',
2454+ value = '(ee**2*complex(0,1)*UH3x2*cmath.sqrt(2))/sw**2',
2455+ order = {'QED':2})
2456+
2457+GC_183 = Coupling(name = 'GC_183',
2458+ value = '-((complex(0,1)*I10a1*I11a1*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a1*I7ax*UH3x2)/cmath.sqrt(2)',
2459+ order = {'QED':1})
2460+
2461+GC_184 = Coupling(name = 'GC_184',
2462+ value = '-(complex(0,1)*I10a2*I11a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a2*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a2*I7ax*UH3x2)/(2.*cmath.sqrt(2))',
2463+ order = {'QED':1})
2464+
2465+GC_185 = Coupling(name = 'GC_185',
2466+ value = '-((complex(0,1)*I10a2*I11a2*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a2*I7ax*UH3x2)/cmath.sqrt(2)',
2467+ order = {'QED':1})
2468+
2469+GC_186 = Coupling(name = 'GC_186',
2470+ value = '-(complex(0,1)*I10a3*I11a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a3*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a3*I7ax*UH3x2)/(2.*cmath.sqrt(2))',
2471+ order = {'QED':1})
2472+
2473+GC_187 = Coupling(name = 'GC_187',
2474+ value = '-(complex(0,1)*I10a3*I11a2*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a2*I11a3*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a2*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a3*I7ax*UH3x2)/(2.*cmath.sqrt(2))',
2475+ order = {'QED':1})
2476+
2477+GC_188 = Coupling(name = 'GC_188',
2478+ value = '-((complex(0,1)*I10a3*I11a3*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a3*I7ax*UH3x2)/cmath.sqrt(2)',
2479+ order = {'QED':1})
2480+
2481+GC_189 = Coupling(name = 'GC_189',
2482+ value = '-((complex(0,1)*I5a1*I6a1*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a1*UH3x2)/cmath.sqrt(2)',
2483+ order = {'QED':1})
2484+
2485+GC_190 = Coupling(name = 'GC_190',
2486+ value = '-(complex(0,1)*I5a2*I6a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a2*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a1*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a2*UH3x2)/(2.*cmath.sqrt(2))',
2487+ order = {'QED':1})
2488+
2489+GC_191 = Coupling(name = 'GC_191',
2490+ value = '-((complex(0,1)*I5a2*I6a2*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a2*UH3x2)/cmath.sqrt(2)',
2491+ order = {'QED':1})
2492+
2493+GC_192 = Coupling(name = 'GC_192',
2494+ value = '-(complex(0,1)*I5a3*I6a1*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a3*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a1*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a3*UH3x2)/(2.*cmath.sqrt(2))',
2495+ order = {'QED':1})
2496+
2497+GC_193 = Coupling(name = 'GC_193',
2498+ value = '-(complex(0,1)*I5a3*I6a2*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a2*I6a3*I7ax*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a2*UH3x2)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a3*UH3x2)/(2.*cmath.sqrt(2))',
2499+ order = {'QED':1})
2500+
2501+GC_194 = Coupling(name = 'GC_194',
2502+ value = '-((complex(0,1)*I5a3*I6a3*I7ax*UH3x2)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a3*UH3x2)/cmath.sqrt(2)',
2503+ order = {'QED':1})
2504+
2505+GC_195 = Coupling(name = 'GC_195',
2506+ value = '(cw*ee*TH2x1*UH2x2)/(2.*sw) + (ee*sw*TH2x1*UH2x2)/cw + (cw*ee*TH3x1*UH3x2)/sw + (ee*sw*TH3x1*UH3x2)/cw',
2507+ order = {'QED':1})
2508+
2509+GC_196 = Coupling(name = 'GC_196',
2510+ value = '-(cw*ee*TH2x2*UH2x2)/(2.*sw) - (ee*sw*TH2x2*UH2x2)/cw - (cw*ee*TH3x2*UH3x2)/sw - (ee*sw*TH3x2*UH3x2)/cw',
2511+ order = {'QED':1})
2512+
2513+GC_197 = Coupling(name = 'GC_197',
2514+ value = '-(cw*ee*TH2x3*UH2x2)/(2.*sw) - (ee*sw*TH2x3*UH2x2)/cw - (cw*ee*TH3x3*UH3x2)/sw - (ee*sw*TH3x3*UH3x2)/cw',
2515+ order = {'QED':1})
2516+
2517+GC_198 = Coupling(name = 'GC_198',
2518+ value = '-(b3*complex(0,1)*UH1x1*UH1x2) - complex(0,1)*l3*UH2x1*UH2x2 - 2*complex(0,1)*l2*UH3x1*UH3x2',
2519+ order = {'QED':2})
2520+
2521+GC_199 = Coupling(name = 'GC_199',
2522+ value = '(ee**2*complex(0,1)*UH2x1*UH2x2)/(2.*sw**2) + (ee**2*complex(0,1)*UH3x1*UH3x2)/sw**2',
2523+ order = {'QED':2})
2524+
2525+GC_200 = Coupling(name = 'GC_200',
2526+ value = '2*ee**2*complex(0,1)*UH2x1*UH2x2 + (cw**2*ee**2*complex(0,1)*UH2x1*UH2x2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*UH2x1*UH2x2)/cw**2 + 4*ee**2*complex(0,1)*UH3x1*UH3x2 + (2*cw**2*ee**2*complex(0,1)*UH3x1*UH3x2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*UH3x1*UH3x2)/cw**2',
2527+ order = {'QED':2})
2528+
2529+GC_201 = Coupling(name = 'GC_201',
2530+ value = '-2*b1*complex(0,1)*TH1x1**2*UH1x1*UH1x2 - b2*complex(0,1)*TH2x1**2*UH1x1*UH1x2 - b3*complex(0,1)*TH3x1**2*UH1x1*UH1x2 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x2*UH2x1 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x1*UH2x2 - b2*complex(0,1)*TH1x1**2*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x1**2*UH2x1*UH2x2 - 2*complex(0,1)*kappa*TH1x1*TH3x1*UH2x1*UH2x2 - complex(0,1)*l3*TH3x1**2*UH2x1*UH2x2 - complex(0,1)*l5*TH3x1**2*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x1**2*UH1x2*UH3x1 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x1**2*UH1x1*UH3x2 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x1*UH3x2 - b3*complex(0,1)*TH1x1**2*UH3x1*UH3x2 - complex(0,1)*l3*TH2x1**2*UH3x1*UH3x2 - complex(0,1)*l5*TH2x1**2*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x1**2*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x1**2*UH3x1*UH3x2',
2531+ order = {'QED':2})
2532+
2533+GC_202 = Coupling(name = 'GC_202',
2534+ value = '-2*b1*complex(0,1)*TH1x1*TH1x2*UH1x1*UH1x2 - b2*complex(0,1)*TH2x1*TH2x2*UH1x1*UH1x2 - b3*complex(0,1)*TH3x1*TH3x2*UH1x1*UH1x2 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x1*UH2x2 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x1*UH2x2 - b2*complex(0,1)*TH1x1*TH1x2*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x1*TH2x2*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x2*TH3x1*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x1*TH3x2*UH2x1*UH2x2 - complex(0,1)*l3*TH3x1*TH3x2*UH2x1*UH2x2 - complex(0,1)*l5*TH3x1*TH3x2*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x2*UH3x1 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x2*UH3x1 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x1*UH3x2 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x1*UH3x2 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x1*UH3x2 - b3*complex(0,1)*TH1x1*TH1x2*UH3x1*UH3x2 - complex(0,1)*l3*TH2x1*TH2x2*UH3x1*UH3x2 - complex(0,1)*l5*TH2x1*TH2x2*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x1*TH3x2*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x1*TH3x2*UH3x1*UH3x2',
2535+ order = {'QED':2})
2536+
2537+GC_203 = Coupling(name = 'GC_203',
2538+ value = '-2*b1*complex(0,1)*TH1x2**2*UH1x1*UH1x2 - b2*complex(0,1)*TH2x2**2*UH1x1*UH1x2 - b3*complex(0,1)*TH3x2**2*UH1x1*UH1x2 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x2*UH2x1 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x1*UH2x2 - b2*complex(0,1)*TH1x2**2*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x2**2*UH2x1*UH2x2 - 2*complex(0,1)*kappa*TH1x2*TH3x2*UH2x1*UH2x2 - complex(0,1)*l3*TH3x2**2*UH2x1*UH2x2 - complex(0,1)*l5*TH3x2**2*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x2**2*UH1x2*UH3x1 - 2*complex(0,1)*kappa*TH1x2*TH2x2*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x2**2*UH1x1*UH3x2 - 2*complex(0,1)*kappa*TH1x2*TH2x2*UH2x1*UH3x2 - b3*complex(0,1)*TH1x2**2*UH3x1*UH3x2 - complex(0,1)*l3*TH2x2**2*UH3x1*UH3x2 - complex(0,1)*l5*TH2x2**2*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x2**2*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x2**2*UH3x1*UH3x2',
2539+ order = {'QED':2})
2540+
2541+GC_204 = Coupling(name = 'GC_204',
2542+ value = '-2*b1*complex(0,1)*TH1x1*TH1x3*UH1x1*UH1x2 - b2*complex(0,1)*TH2x1*TH2x3*UH1x1*UH1x2 - b3*complex(0,1)*TH3x1*TH3x3*UH1x1*UH1x2 - complex(0,1)*kappa*TH2x3*TH3x1*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x1*TH3x3*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x3*TH3x1*UH1x1*UH2x2 - complex(0,1)*kappa*TH2x1*TH3x3*UH1x1*UH2x2 - b2*complex(0,1)*TH1x1*TH1x3*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x1*TH2x3*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x3*TH3x1*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x1*TH3x3*UH2x1*UH2x2 - complex(0,1)*l3*TH3x1*TH3x3*UH2x1*UH2x2 - complex(0,1)*l5*TH3x1*TH3x3*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x1*TH2x3*UH1x2*UH3x1 - complex(0,1)*kappa*TH1x3*TH2x1*UH2x2*UH3x1 - complex(0,1)*kappa*TH1x1*TH2x3*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x1*TH2x3*UH1x1*UH3x2 - complex(0,1)*kappa*TH1x3*TH2x1*UH2x1*UH3x2 - complex(0,1)*kappa*TH1x1*TH2x3*UH2x1*UH3x2 - b3*complex(0,1)*TH1x1*TH1x3*UH3x1*UH3x2 - complex(0,1)*l3*TH2x1*TH2x3*UH3x1*UH3x2 - complex(0,1)*l5*TH2x1*TH2x3*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x1*TH3x3*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x1*TH3x3*UH3x1*UH3x2',
2543+ order = {'QED':2})
2544+
2545+GC_205 = Coupling(name = 'GC_205',
2546+ value = '-2*b1*complex(0,1)*TH1x2*TH1x3*UH1x1*UH1x2 - b2*complex(0,1)*TH2x2*TH2x3*UH1x1*UH1x2 - b3*complex(0,1)*TH3x2*TH3x3*UH1x1*UH1x2 - complex(0,1)*kappa*TH2x3*TH3x2*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x2*TH3x3*UH1x2*UH2x1 - complex(0,1)*kappa*TH2x3*TH3x2*UH1x1*UH2x2 - complex(0,1)*kappa*TH2x2*TH3x3*UH1x1*UH2x2 - b2*complex(0,1)*TH1x2*TH1x3*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x2*TH2x3*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x3*TH3x2*UH2x1*UH2x2 - complex(0,1)*kappa*TH1x2*TH3x3*UH2x1*UH2x2 - complex(0,1)*l3*TH3x2*TH3x3*UH2x1*UH2x2 - complex(0,1)*l5*TH3x2*TH3x3*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x2*TH2x3*UH1x2*UH3x1 - complex(0,1)*kappa*TH1x3*TH2x2*UH2x2*UH3x1 - complex(0,1)*kappa*TH1x2*TH2x3*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x2*TH2x3*UH1x1*UH3x2 - complex(0,1)*kappa*TH1x3*TH2x2*UH2x1*UH3x2 - complex(0,1)*kappa*TH1x2*TH2x3*UH2x1*UH3x2 - b3*complex(0,1)*TH1x2*TH1x3*UH3x1*UH3x2 - complex(0,1)*l3*TH2x2*TH2x3*UH3x1*UH3x2 - complex(0,1)*l5*TH2x2*TH2x3*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x2*TH3x3*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x2*TH3x3*UH3x1*UH3x2',
2547+ order = {'QED':2})
2548+
2549+GC_206 = Coupling(name = 'GC_206',
2550+ value = '-2*b1*complex(0,1)*TH1x3**2*UH1x1*UH1x2 - b2*complex(0,1)*TH2x3**2*UH1x1*UH1x2 - b3*complex(0,1)*TH3x3**2*UH1x1*UH1x2 - 2*complex(0,1)*kappa*TH2x3*TH3x3*UH1x2*UH2x1 - 2*complex(0,1)*kappa*TH2x3*TH3x3*UH1x1*UH2x2 - b2*complex(0,1)*TH1x3**2*UH2x1*UH2x2 - 2*complex(0,1)*l1*TH2x3**2*UH2x1*UH2x2 - 2*complex(0,1)*kappa*TH1x3*TH3x3*UH2x1*UH2x2 - complex(0,1)*l3*TH3x3**2*UH2x1*UH2x2 - complex(0,1)*l5*TH3x3**2*UH2x1*UH2x2 - complex(0,1)*kappa*TH2x3**2*UH1x2*UH3x1 - 2*complex(0,1)*kappa*TH1x3*TH2x3*UH2x2*UH3x1 - complex(0,1)*kappa*TH2x3**2*UH1x1*UH3x2 - 2*complex(0,1)*kappa*TH1x3*TH2x3*UH2x1*UH3x2 - b3*complex(0,1)*TH1x3**2*UH3x1*UH3x2 - complex(0,1)*l3*TH2x3**2*UH3x1*UH3x2 - complex(0,1)*l5*TH2x3**2*UH3x1*UH3x2 - 2*complex(0,1)*l2*TH3x3**2*UH3x1*UH3x2 - 2*complex(0,1)*l4*TH3x3**2*UH3x1*UH3x2',
2551+ order = {'QED':2})
2552+
2553+GC_207 = Coupling(name = 'GC_207',
2554+ value = '-6*b1*complex(0,1)*UH1x1**3*UH1x2 - 3*b2*complex(0,1)*UH1x1*UH1x2*UH2x1**2 - 3*b2*complex(0,1)*UH1x1**2*UH2x1*UH2x2 - 6*complex(0,1)*l1*UH2x1**3*UH2x2 + 3*complex(0,1)*kappa*UH1x2*UH2x1**2*UH3x1 + 6*complex(0,1)*kappa*UH1x1*UH2x1*UH2x2*UH3x1 - 3*b3*complex(0,1)*UH1x1*UH1x2*UH3x1**2 - 3*complex(0,1)*l3*UH2x1*UH2x2*UH3x1**2 - 3*complex(0,1)*l5*UH2x1*UH2x2*UH3x1**2 + 3*complex(0,1)*kappa*UH1x1*UH2x1**2*UH3x2 - 3*b3*complex(0,1)*UH1x1**2*UH3x1*UH3x2 - 3*complex(0,1)*l3*UH2x1**2*UH3x1*UH3x2 - 3*complex(0,1)*l5*UH2x1**2*UH3x1*UH3x2 - 6*complex(0,1)*l2*UH3x1**3*UH3x2 - 6*complex(0,1)*l4*UH3x1**3*UH3x2',
2555+ order = {'QED':2})
2556+
2557+GC_208 = Coupling(name = 'GC_208',
2558+ value = '-(b3*complex(0,1)*UH1x2**2) - complex(0,1)*l3*UH2x2**2 - 2*complex(0,1)*l2*UH3x2**2',
2559+ order = {'QED':2})
2560+
2561+GC_209 = Coupling(name = 'GC_209',
2562+ value = '(ee**2*complex(0,1)*UH2x2**2)/(2.*sw**2) + (ee**2*complex(0,1)*UH3x2**2)/sw**2',
2563+ order = {'QED':2})
2564+
2565+GC_210 = Coupling(name = 'GC_210',
2566+ value = '2*ee**2*complex(0,1)*UH2x2**2 + (cw**2*ee**2*complex(0,1)*UH2x2**2)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*UH2x2**2)/cw**2 + 4*ee**2*complex(0,1)*UH3x2**2 + (2*cw**2*ee**2*complex(0,1)*UH3x2**2)/sw**2 + (2*ee**2*complex(0,1)*sw**2*UH3x2**2)/cw**2',
2567+ order = {'QED':2})
2568+
2569+GC_211 = Coupling(name = 'GC_211',
2570+ value = '-2*b1*complex(0,1)*TH1x1**2*UH1x2**2 - b2*complex(0,1)*TH2x1**2*UH1x2**2 - b3*complex(0,1)*TH3x1**2*UH1x2**2 - 4*complex(0,1)*kappa*TH2x1*TH3x1*UH1x2*UH2x2 - b2*complex(0,1)*TH1x1**2*UH2x2**2 - 2*complex(0,1)*l1*TH2x1**2*UH2x2**2 - 2*complex(0,1)*kappa*TH1x1*TH3x1*UH2x2**2 - complex(0,1)*l3*TH3x1**2*UH2x2**2 - complex(0,1)*l5*TH3x1**2*UH2x2**2 - 2*complex(0,1)*kappa*TH2x1**2*UH1x2*UH3x2 - 4*complex(0,1)*kappa*TH1x1*TH2x1*UH2x2*UH3x2 - b3*complex(0,1)*TH1x1**2*UH3x2**2 - complex(0,1)*l3*TH2x1**2*UH3x2**2 - complex(0,1)*l5*TH2x1**2*UH3x2**2 - 2*complex(0,1)*l2*TH3x1**2*UH3x2**2 - 2*complex(0,1)*l4*TH3x1**2*UH3x2**2',
2571+ order = {'QED':2})
2572+
2573+GC_212 = Coupling(name = 'GC_212',
2574+ value = '-2*b1*complex(0,1)*TH1x1*TH1x2*UH1x2**2 - b2*complex(0,1)*TH2x1*TH2x2*UH1x2**2 - b3*complex(0,1)*TH3x1*TH3x2*UH1x2**2 - 2*complex(0,1)*kappa*TH2x2*TH3x1*UH1x2*UH2x2 - 2*complex(0,1)*kappa*TH2x1*TH3x2*UH1x2*UH2x2 - b2*complex(0,1)*TH1x1*TH1x2*UH2x2**2 - 2*complex(0,1)*l1*TH2x1*TH2x2*UH2x2**2 - complex(0,1)*kappa*TH1x2*TH3x1*UH2x2**2 - complex(0,1)*kappa*TH1x1*TH3x2*UH2x2**2 - complex(0,1)*l3*TH3x1*TH3x2*UH2x2**2 - complex(0,1)*l5*TH3x1*TH3x2*UH2x2**2 - 2*complex(0,1)*kappa*TH2x1*TH2x2*UH1x2*UH3x2 - 2*complex(0,1)*kappa*TH1x2*TH2x1*UH2x2*UH3x2 - 2*complex(0,1)*kappa*TH1x1*TH2x2*UH2x2*UH3x2 - b3*complex(0,1)*TH1x1*TH1x2*UH3x2**2 - complex(0,1)*l3*TH2x1*TH2x2*UH3x2**2 - complex(0,1)*l5*TH2x1*TH2x2*UH3x2**2 - 2*complex(0,1)*l2*TH3x1*TH3x2*UH3x2**2 - 2*complex(0,1)*l4*TH3x1*TH3x2*UH3x2**2',
2575+ order = {'QED':2})
2576+
2577+GC_213 = Coupling(name = 'GC_213',
2578+ value = '-2*b1*complex(0,1)*TH1x2**2*UH1x2**2 - b2*complex(0,1)*TH2x2**2*UH1x2**2 - b3*complex(0,1)*TH3x2**2*UH1x2**2 - 4*complex(0,1)*kappa*TH2x2*TH3x2*UH1x2*UH2x2 - b2*complex(0,1)*TH1x2**2*UH2x2**2 - 2*complex(0,1)*l1*TH2x2**2*UH2x2**2 - 2*complex(0,1)*kappa*TH1x2*TH3x2*UH2x2**2 - complex(0,1)*l3*TH3x2**2*UH2x2**2 - complex(0,1)*l5*TH3x2**2*UH2x2**2 - 2*complex(0,1)*kappa*TH2x2**2*UH1x2*UH3x2 - 4*complex(0,1)*kappa*TH1x2*TH2x2*UH2x2*UH3x2 - b3*complex(0,1)*TH1x2**2*UH3x2**2 - complex(0,1)*l3*TH2x2**2*UH3x2**2 - complex(0,1)*l5*TH2x2**2*UH3x2**2 - 2*complex(0,1)*l2*TH3x2**2*UH3x2**2 - 2*complex(0,1)*l4*TH3x2**2*UH3x2**2',
2579+ order = {'QED':2})
2580+
2581+GC_214 = Coupling(name = 'GC_214',
2582+ value = '-2*b1*complex(0,1)*TH1x1*TH1x3*UH1x2**2 - b2*complex(0,1)*TH2x1*TH2x3*UH1x2**2 - b3*complex(0,1)*TH3x1*TH3x3*UH1x2**2 - 2*complex(0,1)*kappa*TH2x3*TH3x1*UH1x2*UH2x2 - 2*complex(0,1)*kappa*TH2x1*TH3x3*UH1x2*UH2x2 - b2*complex(0,1)*TH1x1*TH1x3*UH2x2**2 - 2*complex(0,1)*l1*TH2x1*TH2x3*UH2x2**2 - complex(0,1)*kappa*TH1x3*TH3x1*UH2x2**2 - complex(0,1)*kappa*TH1x1*TH3x3*UH2x2**2 - complex(0,1)*l3*TH3x1*TH3x3*UH2x2**2 - complex(0,1)*l5*TH3x1*TH3x3*UH2x2**2 - 2*complex(0,1)*kappa*TH2x1*TH2x3*UH1x2*UH3x2 - 2*complex(0,1)*kappa*TH1x3*TH2x1*UH2x2*UH3x2 - 2*complex(0,1)*kappa*TH1x1*TH2x3*UH2x2*UH3x2 - b3*complex(0,1)*TH1x1*TH1x3*UH3x2**2 - complex(0,1)*l3*TH2x1*TH2x3*UH3x2**2 - complex(0,1)*l5*TH2x1*TH2x3*UH3x2**2 - 2*complex(0,1)*l2*TH3x1*TH3x3*UH3x2**2 - 2*complex(0,1)*l4*TH3x1*TH3x3*UH3x2**2',
2583+ order = {'QED':2})
2584+
2585+GC_215 = Coupling(name = 'GC_215',
2586+ value = '-2*b1*complex(0,1)*TH1x2*TH1x3*UH1x2**2 - b2*complex(0,1)*TH2x2*TH2x3*UH1x2**2 - b3*complex(0,1)*TH3x2*TH3x3*UH1x2**2 - 2*complex(0,1)*kappa*TH2x3*TH3x2*UH1x2*UH2x2 - 2*complex(0,1)*kappa*TH2x2*TH3x3*UH1x2*UH2x2 - b2*complex(0,1)*TH1x2*TH1x3*UH2x2**2 - 2*complex(0,1)*l1*TH2x2*TH2x3*UH2x2**2 - complex(0,1)*kappa*TH1x3*TH3x2*UH2x2**2 - complex(0,1)*kappa*TH1x2*TH3x3*UH2x2**2 - complex(0,1)*l3*TH3x2*TH3x3*UH2x2**2 - complex(0,1)*l5*TH3x2*TH3x3*UH2x2**2 - 2*complex(0,1)*kappa*TH2x2*TH2x3*UH1x2*UH3x2 - 2*complex(0,1)*kappa*TH1x3*TH2x2*UH2x2*UH3x2 - 2*complex(0,1)*kappa*TH1x2*TH2x3*UH2x2*UH3x2 - b3*complex(0,1)*TH1x2*TH1x3*UH3x2**2 - complex(0,1)*l3*TH2x2*TH2x3*UH3x2**2 - complex(0,1)*l5*TH2x2*TH2x3*UH3x2**2 - 2*complex(0,1)*l2*TH3x2*TH3x3*UH3x2**2 - 2*complex(0,1)*l4*TH3x2*TH3x3*UH3x2**2',
2587+ order = {'QED':2})
2588+
2589+GC_216 = Coupling(name = 'GC_216',
2590+ value = '-2*b1*complex(0,1)*TH1x3**2*UH1x2**2 - b2*complex(0,1)*TH2x3**2*UH1x2**2 - b3*complex(0,1)*TH3x3**2*UH1x2**2 - 4*complex(0,1)*kappa*TH2x3*TH3x3*UH1x2*UH2x2 - b2*complex(0,1)*TH1x3**2*UH2x2**2 - 2*complex(0,1)*l1*TH2x3**2*UH2x2**2 - 2*complex(0,1)*kappa*TH1x3*TH3x3*UH2x2**2 - complex(0,1)*l3*TH3x3**2*UH2x2**2 - complex(0,1)*l5*TH3x3**2*UH2x2**2 - 2*complex(0,1)*kappa*TH2x3**2*UH1x2*UH3x2 - 4*complex(0,1)*kappa*TH1x3*TH2x3*UH2x2*UH3x2 - b3*complex(0,1)*TH1x3**2*UH3x2**2 - complex(0,1)*l3*TH2x3**2*UH3x2**2 - complex(0,1)*l5*TH2x3**2*UH3x2**2 - 2*complex(0,1)*l2*TH3x3**2*UH3x2**2 - 2*complex(0,1)*l4*TH3x3**2*UH3x2**2',
2591+ order = {'QED':2})
2592+
2593+GC_217 = Coupling(name = 'GC_217',
2594+ value = '-6*b1*complex(0,1)*UH1x1**2*UH1x2**2 - b2*complex(0,1)*UH1x2**2*UH2x1**2 - 4*b2*complex(0,1)*UH1x1*UH1x2*UH2x1*UH2x2 - b2*complex(0,1)*UH1x1**2*UH2x2**2 - 6*complex(0,1)*l1*UH2x1**2*UH2x2**2 + 4*complex(0,1)*kappa*UH1x2*UH2x1*UH2x2*UH3x1 + 2*complex(0,1)*kappa*UH1x1*UH2x2**2*UH3x1 - b3*complex(0,1)*UH1x2**2*UH3x1**2 - complex(0,1)*l3*UH2x2**2*UH3x1**2 - complex(0,1)*l5*UH2x2**2*UH3x1**2 + 2*complex(0,1)*kappa*UH1x2*UH2x1**2*UH3x2 + 4*complex(0,1)*kappa*UH1x1*UH2x1*UH2x2*UH3x2 - 4*b3*complex(0,1)*UH1x1*UH1x2*UH3x1*UH3x2 - 4*complex(0,1)*l3*UH2x1*UH2x2*UH3x1*UH3x2 - 4*complex(0,1)*l5*UH2x1*UH2x2*UH3x1*UH3x2 - b3*complex(0,1)*UH1x1**2*UH3x2**2 - complex(0,1)*l3*UH2x1**2*UH3x2**2 - complex(0,1)*l5*UH2x1**2*UH3x2**2 - 6*complex(0,1)*l2*UH3x1**2*UH3x2**2 - 6*complex(0,1)*l4*UH3x1**2*UH3x2**2',
2595+ order = {'QED':2})
2596+
2597+GC_218 = Coupling(name = 'GC_218',
2598+ value = '-6*b1*complex(0,1)*UH1x1*UH1x2**3 - 3*b2*complex(0,1)*UH1x2**2*UH2x1*UH2x2 - 3*b2*complex(0,1)*UH1x1*UH1x2*UH2x2**2 - 6*complex(0,1)*l1*UH2x1*UH2x2**3 + 3*complex(0,1)*kappa*UH1x2*UH2x2**2*UH3x1 + 6*complex(0,1)*kappa*UH1x2*UH2x1*UH2x2*UH3x2 + 3*complex(0,1)*kappa*UH1x1*UH2x2**2*UH3x2 - 3*b3*complex(0,1)*UH1x2**2*UH3x1*UH3x2 - 3*complex(0,1)*l3*UH2x2**2*UH3x1*UH3x2 - 3*complex(0,1)*l5*UH2x2**2*UH3x1*UH3x2 - 3*b3*complex(0,1)*UH1x1*UH1x2*UH3x2**2 - 3*complex(0,1)*l3*UH2x1*UH2x2*UH3x2**2 - 3*complex(0,1)*l5*UH2x1*UH2x2*UH3x2**2 - 6*complex(0,1)*l2*UH3x1*UH3x2**3 - 6*complex(0,1)*l4*UH3x1*UH3x2**3',
2599+ order = {'QED':2})
2600+
2601+GC_219 = Coupling(name = 'GC_219',
2602+ value = '-6*b1*complex(0,1)*UH1x2**4 - 6*b2*complex(0,1)*UH1x2**2*UH2x2**2 - 6*complex(0,1)*l1*UH2x2**4 + 12*complex(0,1)*kappa*UH1x2*UH2x2**2*UH3x2 - 6*b3*complex(0,1)*UH1x2**2*UH3x2**2 - 6*complex(0,1)*l3*UH2x2**2*UH3x2**2 - 6*complex(0,1)*l5*UH2x2**2*UH3x2**2 - 6*complex(0,1)*l2*UH3x2**4 - 6*complex(0,1)*l4*UH3x2**4',
2603+ order = {'QED':2})
2604+
2605+GC_220 = Coupling(name = 'GC_220',
2606+ value = '(ee**2*complex(0,1)*UH3x3*cmath.sqrt(2))/sw**2',
2607+ order = {'QED':2})
2608+
2609+GC_221 = Coupling(name = 'GC_221',
2610+ value = '-((complex(0,1)*I10a1*I11a1*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a1*I7ax*UH3x3)/cmath.sqrt(2)',
2611+ order = {'QED':1})
2612+
2613+GC_222 = Coupling(name = 'GC_222',
2614+ value = '-(complex(0,1)*I10a2*I11a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a2*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a2*I7ax*UH3x3)/(2.*cmath.sqrt(2))',
2615+ order = {'QED':1})
2616+
2617+GC_223 = Coupling(name = 'GC_223',
2618+ value = '-((complex(0,1)*I10a2*I11a2*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a2*I7ax*UH3x3)/cmath.sqrt(2)',
2619+ order = {'QED':1})
2620+
2621+GC_224 = Coupling(name = 'GC_224',
2622+ value = '-(complex(0,1)*I10a3*I11a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a1*I11a3*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a1*I13a3*I7ax*UH3x3)/(2.*cmath.sqrt(2))',
2623+ order = {'QED':1})
2624+
2625+GC_225 = Coupling(name = 'GC_225',
2626+ value = '-(complex(0,1)*I10a3*I11a2*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I10a2*I11a3*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a2*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I12a2*I13a3*I7ax*UH3x3)/(2.*cmath.sqrt(2))',
2627+ order = {'QED':1})
2628+
2629+GC_226 = Coupling(name = 'GC_226',
2630+ value = '-((complex(0,1)*I10a3*I11a3*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I12a3*I13a3*I7ax*UH3x3)/cmath.sqrt(2)',
2631+ order = {'QED':1})
2632+
2633+GC_227 = Coupling(name = 'GC_227',
2634+ value = '-((complex(0,1)*I5a1*I6a1*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a1*UH3x3)/cmath.sqrt(2)',
2635+ order = {'QED':1})
2636+
2637+GC_228 = Coupling(name = 'GC_228',
2638+ value = '-(complex(0,1)*I5a2*I6a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a2*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a1*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a2*UH3x3)/(2.*cmath.sqrt(2))',
2639+ order = {'QED':1})
2640+
2641+GC_229 = Coupling(name = 'GC_229',
2642+ value = '-((complex(0,1)*I5a2*I6a2*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a2*UH3x3)/cmath.sqrt(2)',
2643+ order = {'QED':1})
2644+
2645+GC_230 = Coupling(name = 'GC_230',
2646+ value = '-(complex(0,1)*I5a3*I6a1*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a1*I6a3*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a1*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a1*I9a3*UH3x3)/(2.*cmath.sqrt(2))',
2647+ order = {'QED':1})
2648+
2649+GC_231 = Coupling(name = 'GC_231',
2650+ value = '-(complex(0,1)*I5a3*I6a2*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I5a2*I6a3*I7ax*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a2*UH3x3)/(2.*cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a2*I9a3*UH3x3)/(2.*cmath.sqrt(2))',
2651+ order = {'QED':1})
2652+
2653+GC_232 = Coupling(name = 'GC_232',
2654+ value = '-((complex(0,1)*I5a3*I6a3*I7ax*UH3x3)/cmath.sqrt(2)) - (complex(0,1)*I7ax*I8a3*I9a3*UH3x3)/cmath.sqrt(2)',
2655+ order = {'QED':1})
2656+
2657+GC_233 = Coupling(name = 'GC_233',
2658+ value = '(cw*ee*TH2x1*UH2x3)/(2.*sw) + (ee*sw*TH2x1*UH2x3)/cw + (cw*ee*TH3x1*UH3x3)/sw + (ee*sw*TH3x1*UH3x3)/cw',
2659+ order = {'QED':1})
2660+
2661+GC_234 = Coupling(name = 'GC_234',
2662+ value = '-(cw*ee*TH2x2*UH2x3)/(2.*sw) - (ee*sw*TH2x2*UH2x3)/cw - (cw*ee*TH3x2*UH3x3)/sw - (ee*sw*TH3x2*UH3x3)/cw',
2663+ order = {'QED':1})
2664+
2665+GC_235 = Coupling(name = 'GC_235',
2666+ value = '(cw*ee*TH2x3*UH2x3)/(2.*sw) + (ee*sw*TH2x3*UH2x3)/cw + (cw*ee*TH3x3*UH3x3)/sw + (ee*sw*TH3x3*UH3x3)/cw',
2667+ order = {'QED':1})
2668+
2669+GC_236 = Coupling(name = 'GC_236',
2670+ value = '-(b3*complex(0,1)*UH1x1*UH1x3) - complex(0,1)*l3*UH2x1*UH2x3 - 2*complex(0,1)*l2*UH3x1*UH3x3',
2671+ order = {'QED':2})
2672+
2673+GC_237 = Coupling(name = 'GC_237',
2674+ value = '(ee**2*complex(0,1)*UH2x1*UH2x3)/(2.*sw**2) + (ee**2*complex(0,1)*UH3x1*UH3x3)/sw**2',
2675+ order = {'QED':2})
2676+
2677+GC_238 = Coupling(name = 'GC_238',
2678+ value = '2*ee**2*complex(0,1)*UH2x1*UH2x3 + (cw**2*ee**2*complex(0,1)*UH2x1*UH2x3)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*UH2x1*UH2x3)/cw**2 + 4*ee**2*complex(0,1)*UH3x1*UH3x3 + (2*cw**2*ee**2*complex(0,1)*UH3x1*UH3x3)/sw**2 + (2*ee**2*complex(0,1)*sw**2*UH3x1*UH3x3)/cw**2',
2679+ order = {'QED':2})
2680+
2681+GC_239 = Coupling(name = 'GC_239',
2682+ value = '-2*b1*complex(0,1)*TH1x1**2*UH1x1*UH1x3 - b2*complex(0,1)*TH2x1**2*UH1x1*UH1x3 - b3*complex(0,1)*TH3x1**2*UH1x1*UH1x3 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x3*UH2x1 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x1*UH2x3 - b2*complex(0,1)*TH1x1**2*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x1**2*UH2x1*UH2x3 - 2*complex(0,1)*kappa*TH1x1*TH3x1*UH2x1*UH2x3 - complex(0,1)*l3*TH3x1**2*UH2x1*UH2x3 - complex(0,1)*l5*TH3x1**2*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x1**2*UH1x3*UH3x1 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x1**2*UH1x1*UH3x3 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x1*UH3x3 - b3*complex(0,1)*TH1x1**2*UH3x1*UH3x3 - complex(0,1)*l3*TH2x1**2*UH3x1*UH3x3 - complex(0,1)*l5*TH2x1**2*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x1**2*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x1**2*UH3x1*UH3x3',
2683+ order = {'QED':2})
2684+
2685+GC_240 = Coupling(name = 'GC_240',
2686+ value = '-2*b1*complex(0,1)*TH1x1*TH1x2*UH1x1*UH1x3 - b2*complex(0,1)*TH2x1*TH2x2*UH1x1*UH1x3 - b3*complex(0,1)*TH3x1*TH3x2*UH1x1*UH1x3 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x1*UH2x3 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x1*UH2x3 - b2*complex(0,1)*TH1x1*TH1x2*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x1*TH2x2*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x2*TH3x1*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x1*TH3x2*UH2x1*UH2x3 - complex(0,1)*l3*TH3x1*TH3x2*UH2x1*UH2x3 - complex(0,1)*l5*TH3x1*TH3x2*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x3*UH3x1 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x3*UH3x1 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x1*UH3x3 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x1*UH3x3 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x1*UH3x3 - b3*complex(0,1)*TH1x1*TH1x2*UH3x1*UH3x3 - complex(0,1)*l3*TH2x1*TH2x2*UH3x1*UH3x3 - complex(0,1)*l5*TH2x1*TH2x2*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x1*TH3x2*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x1*TH3x2*UH3x1*UH3x3',
2687+ order = {'QED':2})
2688+
2689+GC_241 = Coupling(name = 'GC_241',
2690+ value = '-2*b1*complex(0,1)*TH1x2**2*UH1x1*UH1x3 - b2*complex(0,1)*TH2x2**2*UH1x1*UH1x3 - b3*complex(0,1)*TH3x2**2*UH1x1*UH1x3 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x3*UH2x1 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x1*UH2x3 - b2*complex(0,1)*TH1x2**2*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x2**2*UH2x1*UH2x3 - 2*complex(0,1)*kappa*TH1x2*TH3x2*UH2x1*UH2x3 - complex(0,1)*l3*TH3x2**2*UH2x1*UH2x3 - complex(0,1)*l5*TH3x2**2*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x2**2*UH1x3*UH3x1 - 2*complex(0,1)*kappa*TH1x2*TH2x2*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x2**2*UH1x1*UH3x3 - 2*complex(0,1)*kappa*TH1x2*TH2x2*UH2x1*UH3x3 - b3*complex(0,1)*TH1x2**2*UH3x1*UH3x3 - complex(0,1)*l3*TH2x2**2*UH3x1*UH3x3 - complex(0,1)*l5*TH2x2**2*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x2**2*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x2**2*UH3x1*UH3x3',
2691+ order = {'QED':2})
2692+
2693+GC_242 = Coupling(name = 'GC_242',
2694+ value = '-2*b1*complex(0,1)*TH1x1*TH1x3*UH1x1*UH1x3 - b2*complex(0,1)*TH2x1*TH2x3*UH1x1*UH1x3 - b3*complex(0,1)*TH3x1*TH3x3*UH1x1*UH1x3 - complex(0,1)*kappa*TH2x3*TH3x1*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x1*TH3x3*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x3*TH3x1*UH1x1*UH2x3 - complex(0,1)*kappa*TH2x1*TH3x3*UH1x1*UH2x3 - b2*complex(0,1)*TH1x1*TH1x3*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x1*TH2x3*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x3*TH3x1*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x1*TH3x3*UH2x1*UH2x3 - complex(0,1)*l3*TH3x1*TH3x3*UH2x1*UH2x3 - complex(0,1)*l5*TH3x1*TH3x3*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x1*TH2x3*UH1x3*UH3x1 - complex(0,1)*kappa*TH1x3*TH2x1*UH2x3*UH3x1 - complex(0,1)*kappa*TH1x1*TH2x3*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x1*TH2x3*UH1x1*UH3x3 - complex(0,1)*kappa*TH1x3*TH2x1*UH2x1*UH3x3 - complex(0,1)*kappa*TH1x1*TH2x3*UH2x1*UH3x3 - b3*complex(0,1)*TH1x1*TH1x3*UH3x1*UH3x3 - complex(0,1)*l3*TH2x1*TH2x3*UH3x1*UH3x3 - complex(0,1)*l5*TH2x1*TH2x3*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x1*TH3x3*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x1*TH3x3*UH3x1*UH3x3',
2695+ order = {'QED':2})
2696+
2697+GC_243 = Coupling(name = 'GC_243',
2698+ value = '-2*b1*complex(0,1)*TH1x2*TH1x3*UH1x1*UH1x3 - b2*complex(0,1)*TH2x2*TH2x3*UH1x1*UH1x3 - b3*complex(0,1)*TH3x2*TH3x3*UH1x1*UH1x3 - complex(0,1)*kappa*TH2x3*TH3x2*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x2*TH3x3*UH1x3*UH2x1 - complex(0,1)*kappa*TH2x3*TH3x2*UH1x1*UH2x3 - complex(0,1)*kappa*TH2x2*TH3x3*UH1x1*UH2x3 - b2*complex(0,1)*TH1x2*TH1x3*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x2*TH2x3*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x3*TH3x2*UH2x1*UH2x3 - complex(0,1)*kappa*TH1x2*TH3x3*UH2x1*UH2x3 - complex(0,1)*l3*TH3x2*TH3x3*UH2x1*UH2x3 - complex(0,1)*l5*TH3x2*TH3x3*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x2*TH2x3*UH1x3*UH3x1 - complex(0,1)*kappa*TH1x3*TH2x2*UH2x3*UH3x1 - complex(0,1)*kappa*TH1x2*TH2x3*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x2*TH2x3*UH1x1*UH3x3 - complex(0,1)*kappa*TH1x3*TH2x2*UH2x1*UH3x3 - complex(0,1)*kappa*TH1x2*TH2x3*UH2x1*UH3x3 - b3*complex(0,1)*TH1x2*TH1x3*UH3x1*UH3x3 - complex(0,1)*l3*TH2x2*TH2x3*UH3x1*UH3x3 - complex(0,1)*l5*TH2x2*TH2x3*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x2*TH3x3*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x2*TH3x3*UH3x1*UH3x3',
2699+ order = {'QED':2})
2700+
2701+GC_244 = Coupling(name = 'GC_244',
2702+ value = '-2*b1*complex(0,1)*TH1x3**2*UH1x1*UH1x3 - b2*complex(0,1)*TH2x3**2*UH1x1*UH1x3 - b3*complex(0,1)*TH3x3**2*UH1x1*UH1x3 - 2*complex(0,1)*kappa*TH2x3*TH3x3*UH1x3*UH2x1 - 2*complex(0,1)*kappa*TH2x3*TH3x3*UH1x1*UH2x3 - b2*complex(0,1)*TH1x3**2*UH2x1*UH2x3 - 2*complex(0,1)*l1*TH2x3**2*UH2x1*UH2x3 - 2*complex(0,1)*kappa*TH1x3*TH3x3*UH2x1*UH2x3 - complex(0,1)*l3*TH3x3**2*UH2x1*UH2x3 - complex(0,1)*l5*TH3x3**2*UH2x1*UH2x3 - complex(0,1)*kappa*TH2x3**2*UH1x3*UH3x1 - 2*complex(0,1)*kappa*TH1x3*TH2x3*UH2x3*UH3x1 - complex(0,1)*kappa*TH2x3**2*UH1x1*UH3x3 - 2*complex(0,1)*kappa*TH1x3*TH2x3*UH2x1*UH3x3 - b3*complex(0,1)*TH1x3**2*UH3x1*UH3x3 - complex(0,1)*l3*TH2x3**2*UH3x1*UH3x3 - complex(0,1)*l5*TH2x3**2*UH3x1*UH3x3 - 2*complex(0,1)*l2*TH3x3**2*UH3x1*UH3x3 - 2*complex(0,1)*l4*TH3x3**2*UH3x1*UH3x3',
2703+ order = {'QED':2})
2704+
2705+GC_245 = Coupling(name = 'GC_245',
2706+ value = '-6*b1*complex(0,1)*UH1x1**3*UH1x3 - 3*b2*complex(0,1)*UH1x1*UH1x3*UH2x1**2 - 3*b2*complex(0,1)*UH1x1**2*UH2x1*UH2x3 - 6*complex(0,1)*l1*UH2x1**3*UH2x3 + 3*complex(0,1)*kappa*UH1x3*UH2x1**2*UH3x1 + 6*complex(0,1)*kappa*UH1x1*UH2x1*UH2x3*UH3x1 - 3*b3*complex(0,1)*UH1x1*UH1x3*UH3x1**2 - 3*complex(0,1)*l3*UH2x1*UH2x3*UH3x1**2 - 3*complex(0,1)*l5*UH2x1*UH2x3*UH3x1**2 + 3*complex(0,1)*kappa*UH1x1*UH2x1**2*UH3x3 - 3*b3*complex(0,1)*UH1x1**2*UH3x1*UH3x3 - 3*complex(0,1)*l3*UH2x1**2*UH3x1*UH3x3 - 3*complex(0,1)*l5*UH2x1**2*UH3x1*UH3x3 - 6*complex(0,1)*l2*UH3x1**3*UH3x3 - 6*complex(0,1)*l4*UH3x1**3*UH3x3',
2707+ order = {'QED':2})
2708+
2709+GC_246 = Coupling(name = 'GC_246',
2710+ value = '-(b3*complex(0,1)*UH1x2*UH1x3) - complex(0,1)*l3*UH2x2*UH2x3 - 2*complex(0,1)*l2*UH3x2*UH3x3',
2711+ order = {'QED':2})
2712+
2713+GC_247 = Coupling(name = 'GC_247',
2714+ value = '(ee**2*complex(0,1)*UH2x2*UH2x3)/(2.*sw**2) + (ee**2*complex(0,1)*UH3x2*UH3x3)/sw**2',
2715+ order = {'QED':2})
2716+
2717+GC_248 = Coupling(name = 'GC_248',
2718+ value = '2*ee**2*complex(0,1)*UH2x2*UH2x3 + (cw**2*ee**2*complex(0,1)*UH2x2*UH2x3)/(2.*sw**2) + (2*ee**2*complex(0,1)*sw**2*UH2x2*UH2x3)/cw**2 + 4*ee**2*complex(0,1)*UH3x2*UH3x3 + (2*cw**2*ee**2*complex(0,1)*UH3x2*UH3x3)/sw**2 + (2*ee**2*complex(0,1)*sw**2*UH3x2*UH3x3)/cw**2',
2719+ order = {'QED':2})
2720+
2721+GC_249 = Coupling(name = 'GC_249',
2722+ value = '-2*b1*complex(0,1)*TH1x1**2*UH1x2*UH1x3 - b2*complex(0,1)*TH2x1**2*UH1x2*UH1x3 - b3*complex(0,1)*TH3x1**2*UH1x2*UH1x3 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x3*UH2x2 - 2*complex(0,1)*kappa*TH2x1*TH3x1*UH1x2*UH2x3 - b2*complex(0,1)*TH1x1**2*UH2x2*UH2x3 - 2*complex(0,1)*l1*TH2x1**2*UH2x2*UH2x3 - 2*complex(0,1)*kappa*TH1x1*TH3x1*UH2x2*UH2x3 - complex(0,1)*l3*TH3x1**2*UH2x2*UH2x3 - complex(0,1)*l5*TH3x1**2*UH2x2*UH2x3 - complex(0,1)*kappa*TH2x1**2*UH1x3*UH3x2 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x3*UH3x2 - complex(0,1)*kappa*TH2x1**2*UH1x2*UH3x3 - 2*complex(0,1)*kappa*TH1x1*TH2x1*UH2x2*UH3x3 - b3*complex(0,1)*TH1x1**2*UH3x2*UH3x3 - complex(0,1)*l3*TH2x1**2*UH3x2*UH3x3 - complex(0,1)*l5*TH2x1**2*UH3x2*UH3x3 - 2*complex(0,1)*l2*TH3x1**2*UH3x2*UH3x3 - 2*complex(0,1)*l4*TH3x1**2*UH3x2*UH3x3',
2723+ order = {'QED':2})
2724+
2725+GC_250 = Coupling(name = 'GC_250',
2726+ value = '-2*b1*complex(0,1)*TH1x1*TH1x2*UH1x2*UH1x3 - b2*complex(0,1)*TH2x1*TH2x2*UH1x2*UH1x3 - b3*complex(0,1)*TH3x1*TH3x2*UH1x2*UH1x3 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x3*UH2x2 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x3*UH2x2 - complex(0,1)*kappa*TH2x2*TH3x1*UH1x2*UH2x3 - complex(0,1)*kappa*TH2x1*TH3x2*UH1x2*UH2x3 - b2*complex(0,1)*TH1x1*TH1x2*UH2x2*UH2x3 - 2*complex(0,1)*l1*TH2x1*TH2x2*UH2x2*UH2x3 - complex(0,1)*kappa*TH1x2*TH3x1*UH2x2*UH2x3 - complex(0,1)*kappa*TH1x1*TH3x2*UH2x2*UH2x3 - complex(0,1)*l3*TH3x1*TH3x2*UH2x2*UH2x3 - complex(0,1)*l5*TH3x1*TH3x2*UH2x2*UH2x3 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x3*UH3x2 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x3*UH3x2 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x3*UH3x2 - complex(0,1)*kappa*TH2x1*TH2x2*UH1x2*UH3x3 - complex(0,1)*kappa*TH1x2*TH2x1*UH2x2*UH3x3 - complex(0,1)*kappa*TH1x1*TH2x2*UH2x2*UH3x3 - b3*complex(0,1)*TH1x1*TH1x2*UH3x2*UH3x3 - complex(0,1)*l3*TH2x1*TH2x2*UH3x2*UH3x3 - complex(0,1)*l5*TH2x1*TH2x2*UH3x2*UH3x3 - 2*complex(0,1)*l2*TH3x1*TH3x2*UH3x2*UH3x3 - 2*complex(0,1)*l4*TH3x1*TH3x2*UH3x2*UH3x3',
2727+ order = {'QED':2})
2728+
2729+GC_251 = Coupling(name = 'GC_251',
2730+ value = '-2*b1*complex(0,1)*TH1x2**2*UH1x2*UH1x3 - b2*complex(0,1)*TH2x2**2*UH1x2*UH1x3 - b3*complex(0,1)*TH3x2**2*UH1x2*UH1x3 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x3*UH2x2 - 2*complex(0,1)*kappa*TH2x2*TH3x2*UH1x2*UH2x3 - b2*complex(0,1)*TH1x2**2*UH2x2*UH2x3 - 2*complex(0,1)*l1*TH2x2**2*UH2x2*UH2x3 - 2*complex(0,1)*kappa*TH1x2*TH3x2*UH2x2*UH2x3 - complex(0,1)*l3*TH3x2**2*UH2x2*UH2x3 - complex(0,1)*l5*TH3x2**2*UH2x2*UH2x3 - complex(0,1)*k