Merge lp:~maddevelopers/mg5amcnlo/2.3.1_CMS into lp:~maddevelopers/mg5amcnlo/2.3.2
- 2.3.1_CMS
- Merge into 2.3.2
Status: | Superseded |
---|---|
Proposed branch: | lp:~maddevelopers/mg5amcnlo/2.3.1_CMS |
Merge into: | lp:~maddevelopers/mg5amcnlo/2.3.2 |
Diff against target: |
43681 lines (+4479/-35908) 112 files modified
MadSpin/interface_madspin.py (+2/-3) madgraph/core/base_objects.py (+121/-81) madgraph/core/helas_objects.py (+1/-1) madgraph/interface/common_run_interface.py (+56/-43) madgraph/interface/loop_interface.py (+4/-2) madgraph/interface/madevent_interface.py (+1/-1) madgraph/interface/madgraph_interface.py (+485/-39) madgraph/interface/reweight_interface.py (+3/-5) madgraph/iolibs/export_v4.py (+52/-14) madgraph/iolibs/template_files/loop/check_sa.inc (+1/-0) madgraph/iolibs/template_files/loop/check_sa_loop_induced.inc (+1/-0) madgraph/iolibs/ufo_expression_parsers.py (+53/-8) madgraph/loop/loop_diagram_generation.py (+55/-10) madgraph/various/lhe_parser.py (+1/-2) madgraph/various/process_checks.py (+2163/-98) models/check_param_card.py (+63/-11) models/import_ufo.py (+39/-6) models/loop_qcd_qed_sm/.restrict_parallel_test_MB.dat (+65/-0) models/loop_qcd_qed_sm/CT_couplings.py (+2/-2) models/loop_qcd_qed_sm/CT_parameters.py (+110/-103) models/loop_qcd_qed_sm/function_library.py (+17/-3) models/loop_qcd_qed_sm/parameters.py (+7/-0) models/loop_qcd_qed_sm/particles.py (+2/-2) models/loop_qcd_qed_sm/restrict_with_b_mass.dat (+65/-0) models/loop_qcd_qed_sm/restrict_with_b_mass_no_widths.dat (+65/-0) models/loop_qcd_qed_sm_Gmu/CT_couplings.py (+13/-13) models/loop_qcd_qed_sm_Gmu/CT_parameters.py (+219/-73) models/loop_qcd_qed_sm_Gmu/function_library.py (+17/-2) models/loop_qcd_qed_sm_Gmu/object_library.py (+50/-4) models/loop_qcd_qed_sm_Gmu/parameters.py (+8/-1) models/loop_qcd_qed_sm_Gmu/particles.py (+2/-2) models/loop_qcd_qed_sm_Gmu/restrict_ckm.dat (+2/-2) models/loop_qcd_qed_sm_Gmu/restrict_default.dat (+4/-4) models/loop_qcd_qed_sm_Gmu/restrict_no_widths.dat (+1/-1) models/loop_qcd_qed_sm_Gmu__CMS__/.restrict_parallel_test.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/.restrict_parallel_test_WW.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/.restrict_parallel_test_WZ.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/.restrict_parallel_test_ZZ.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/CT_couplings.py (+0/-7213) models/loop_qcd_qed_sm_Gmu__CMS__/CT_parameters.py (+0/-600) models/loop_qcd_qed_sm_Gmu__CMS__/CT_vertices.py (+0/-4849) models/loop_qcd_qed_sm_Gmu__CMS__/__init__.py (+0/-27) models/loop_qcd_qed_sm_Gmu__CMS__/coupling_orders.py (+0/-16) models/loop_qcd_qed_sm_Gmu__CMS__/couplings.py (+0/-539) models/loop_qcd_qed_sm_Gmu__CMS__/function_library.py (+0/-81) models/loop_qcd_qed_sm_Gmu__CMS__/lorentz.py (+0/-361) models/loop_qcd_qed_sm_Gmu__CMS__/object_library.py (+0/-313) models/loop_qcd_qed_sm_Gmu__CMS__/parameters.py (+0/-1211) models/loop_qcd_qed_sm_Gmu__CMS__/particles.py (+0/-381) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_ckm.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_default.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_no_widths.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_parallel_test.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_parallel_test_WW.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_parallel_test_WZ.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_parallel_test_ZZ.dat (+0/-66) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_with_b_mass.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/restrict_with_b_mass_no_width.dat (+0/-65) models/loop_qcd_qed_sm_Gmu__CMS__/vertices.py (+0/-1037) models/loop_qcd_qed_sm_Gmu__CMS__/write_param_card.py (+0/-181) models/loop_qcd_qed_sm__CMS__/.restrict_parallel_test.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/.restrict_parallel_test_MB.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/CT_couplings.py (+0/-7213) models/loop_qcd_qed_sm__CMS__/CT_parameters.py (+0/-600) models/loop_qcd_qed_sm__CMS__/CT_vertices.py (+0/-4849) models/loop_qcd_qed_sm__CMS__/__init__.py (+0/-27) models/loop_qcd_qed_sm__CMS__/coupling_orders.py (+0/-16) models/loop_qcd_qed_sm__CMS__/couplings.py (+0/-539) models/loop_qcd_qed_sm__CMS__/function_library.py (+0/-81) models/loop_qcd_qed_sm__CMS__/lorentz.py (+0/-361) models/loop_qcd_qed_sm__CMS__/object_library.py (+0/-366) models/loop_qcd_qed_sm__CMS__/parameters.py (+0/-1225) models/loop_qcd_qed_sm__CMS__/particles.py (+0/-381) models/loop_qcd_qed_sm__CMS__/restrict_ckm.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/restrict_default.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/restrict_no_widths.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/restrict_parallel_test.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/restrict_with_b_mass.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/restrict_with_b_mass_no_widths.dat (+0/-65) models/loop_qcd_qed_sm__CMS__/vertices.py (+0/-1037) models/loop_qcd_qed_sm__CMS__/write_param_card.py (+0/-181) models/model_reader.py (+11/-5) tests/acceptance_tests/test_cmd_madloop.py (+206/-18) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/dux_mumvmxg/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_default/gg_wmtbx/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/dux_mumvmxg/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/long_ML_SMQCD_optimized/gg_wmtbx/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_LoopInduced/gg_hh/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/ddx_ttx/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_default/gg_ttx/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/ddx_ttx/check_sa.f (+1/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.f (+41/-6) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/%..%..%Source%MODEL%model_functions.inc (+6/-0) tests/input_files/IOTestsComparison/short_ML_SMQCD_optimized/gg_ttx/check_sa.f (+1/-0) tests/parallel_tests/test_ML5EW.py (+112/-2) tests/time_db (+61/-53) vendor/CutTools/src/avh/avh_olo.f90 (+1/-1) vendor/SMWidth/param_card.dat (+0/-65) vendor/SMWidth/param_card_Gmu.dat (+0/-65) vendor/SMWidth/param_card_MZ.dat (+0/-65) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/2.3.1_CMS |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Olivier Mattelaer | Disapprove | ||
Review via email: mp+268041@code.launchpad.net |
Commit message
Description of the change
This branch implements the first full cross-checked implementation of the complex mass scheme.
The biggest part of the modification are related to the 2000+ lines implementation of the 'check cms' test, described in this wiki page:
https:/
It is clear that this review doesn't need to pay attention to the actual implementation of the check as it is independent from the rest of MG5_aMC but it would be nice if we could have feedback on how intuitive and flexible the test is, and if you were successful at trying a couple processes.
This implementation doesn't lend itself well to unit tests, so the only two tests are the NLO one:
test_ML_
(slow but necessarily so)
and the leading order one
test_ML_
which together bring sufficient coverage.
There is some smaller modifications to the MG5_aMC core code as well, which might be worth having a quick glance at as well.
- 468. By Hua-Sheng Shao
-
1) delete several EW models and keep only two of them 2) fix a bug in _Gmu model
- 469. By Hua-Sheng Shao
-
change the acceptance test
- 470. By Valentin Hirschi
-
1. Merged with latest 2.3.2
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
- 471. By Valentin Hirschi
-
1. Implemented changes according to Olivier's review comments.
- 472. By Valentin Hirschi
-
1. Implemented the second wave of Olivier's comment.
- 473. By Valentin Hirschi
-
1. Small typo in last commit
- 474. By Hua-Sheng Shao
-
fix a bug for QCD corrections when MB is non zero. It is harmless when MB = 0
- 475. By Valentin Hirschi
-
1. Merged with latest version of 2.3.3
2. Removed useless part of get_pole() function in the loop EW models - 476. By Valentin Hirschi
-
1. Merged with latest 2.3.3.
- 477. By Valentin Hirschi
-
1. indentation issue
- 478. By Valentin Hirschi
-
1. Merged with the latest version of 2.3.3.
- 479. By Valentin Hirschi
-
1. Fixed last acceptance tests
- 480. By Valentin Hirschi
-
1. Merged with last version 2.3.3 and acceptance tests.
Unmerged revisions
- 480. By Valentin Hirschi
-
1. Merged with last version 2.3.3 and acceptance tests.
- 479. By Valentin Hirschi
-
1. Fixed last acceptance tests
- 478. By Valentin Hirschi
-
1. Merged with the latest version of 2.3.3.
- 477. By Valentin Hirschi
-
1. indentation issue
- 476. By Valentin Hirschi
-
1. Merged with latest 2.3.3.
- 475. By Valentin Hirschi
-
1. Merged with latest version of 2.3.3
2. Removed useless part of get_pole() function in the loop EW models - 474. By Hua-Sheng Shao
-
fix a bug for QCD corrections when MB is non zero. It is harmless when MB = 0
- 473. By Valentin Hirschi
-
1. Small typo in last commit
- 472. By Valentin Hirschi
-
1. Implemented the second wave of Olivier's comment.
- 471. By Valentin Hirschi
-
1. Implemented changes according to Olivier's review comments.
Preview Diff
1 | === modified file 'MadSpin/interface_madspin.py' |
2 | --- MadSpin/interface_madspin.py 2015-08-04 14:28:22 +0000 |
3 | +++ MadSpin/interface_madspin.py 2015-08-16 06:06:34 +0000 |
4 | @@ -923,12 +923,11 @@ |
5 | #base_model = import_ufo.import_model(model_path) |
6 | |
7 | # Import model |
8 | - base_model = import_ufo.import_model(name, decay=True) |
9 | + base_model = import_ufo.import_model(name, decay=True, |
10 | + complex_mass_scheme=complex_mass) |
11 | |
12 | if use_mg_default: |
13 | base_model.pass_particles_name_in_mg_default() |
14 | - if complex_mass: |
15 | - base_model.change_mass_to_complex_scheme() |
16 | |
17 | self.model = base_model |
18 | self.mg5cmd._curr_model = self.model |
19 | |
20 | === modified file 'madgraph/core/base_objects.py' |
21 | --- madgraph/core/base_objects.py 2015-07-28 17:42:49 +0000 |
22 | +++ madgraph/core/base_objects.py 2015-08-16 06:06:34 +0000 |
23 | @@ -1547,9 +1547,9 @@ |
24 | def write_param_card(self): |
25 | """Write out the param_card, and return as string.""" |
26 | |
27 | - import models.write_param_card as writter |
28 | + import models.write_param_card as writer |
29 | out = StringIO.StringIO() # it's suppose to be written in a file |
30 | - param = writter.ParamCardWriter(self) |
31 | + param = writer.ParamCardWriter(self) |
32 | param.define_output_file(out) |
33 | param.write_card() |
34 | return out.getvalue() |
35 | @@ -1577,55 +1577,118 @@ |
36 | def change_electroweak_mode(self, mode): |
37 | """Change the electroweak mode. The only valid mode now is external. |
38 | Where in top of the default MW and sw2 are external parameters.""" |
39 | - |
40 | - assert mode == "external" |
41 | + |
42 | + assert mode in ["external",set(['mz','mw','alpha'])] |
43 | |
44 | try: |
45 | W = self.get('particle_dict')[24] |
46 | except KeyError: |
47 | - raise InvalidCmd('No W particle in the model impossible to change the EW scheme!') |
48 | + raise InvalidCmd('No W particle in the model impossible to '+ |
49 | + 'change the EW scheme!') |
50 | |
51 | - MW = self.get_parameter(W.get('mass')) |
52 | - if not isinstance(MW, ParamCardVariable): |
53 | - newMW = ParamCardVariable(MW.name, MW.value, 'MASS', [24]) |
54 | - if not newMW.value: |
55 | - newMW.value = 80.385 |
56 | - #remove the old definition |
57 | - self.get('parameters')[MW.depend].remove(MW) |
58 | - # add the new one |
59 | - self.add_param(newMW, ['external']) |
60 | - |
61 | - # Now check for sw2. if not define bypass this |
62 | - try: |
63 | - sw2 = self.get_parameter('sw2') |
64 | - except KeyError: |
65 | + if mode=='external': |
66 | + MW = self.get_parameter(W.get('mass')) |
67 | + if not isinstance(MW, ParamCardVariable): |
68 | + newMW = ParamCardVariable(MW.name, MW.value, 'MASS', [24]) |
69 | + if not newMW.value: |
70 | + newMW.value = 80.385 |
71 | + #remove the old definition |
72 | + self.get('parameters')[MW.depend].remove(MW) |
73 | + # add the new one |
74 | + self.add_param(newMW, ['external']) |
75 | + |
76 | + # Now check for sw2. if not define bypass this |
77 | try: |
78 | - sw2 = self.get_parameter('mdl_sw2') |
79 | + sw2 = self.get_parameter('sw2') |
80 | except KeyError: |
81 | - sw2=None |
82 | - |
83 | - if sw2: |
84 | - newsw2 = ParamCardVariable(sw2.name,sw2.value, 'SMINPUTS', [4]) |
85 | - if not newsw2.value: |
86 | - newsw2.value = 0.222246485786 |
87 | - #remove the old definition |
88 | - self.get('parameters')[sw2.depend].remove(sw2) |
89 | - # add the new one |
90 | - self.add_param(newsw2, ['external']) |
91 | - |
92 | - def change_mass_to_complex_scheme(self): |
93 | + try: |
94 | + sw2 = self.get_parameter('mdl_sw2') |
95 | + except KeyError: |
96 | + sw2=None |
97 | + |
98 | + if sw2: |
99 | + newsw2 = ParamCardVariable(sw2.name,sw2.value, 'SMINPUTS', [4]) |
100 | + if not newsw2.value: |
101 | + newsw2.value = 0.222246485786 |
102 | + #remove the old definition |
103 | + self.get('parameters')[sw2.depend].remove(sw2) |
104 | + # add the new one |
105 | + self.add_param(newsw2, ['external']) |
106 | + # Force a refresh of the parameter dictionary |
107 | + self.parameters_dict = None |
108 | + return true |
109 | + |
110 | + elif mode==set(['mz','mw','alpha']): |
111 | + # For now, all we support is to go from mz, Gf, alpha to mz, mw, alpha |
112 | + W = self.get('particle_dict')[24] |
113 | + mass = self.get_parameter(W.get('mass')) |
114 | + mass_expr = 'cmath.sqrt(%(prefix)sMZ__exp__2/2. + cmath.sqrt('+\ |
115 | + '%(prefix)sMZ__exp__4/4. - (%(prefix)saEW*cmath.pi*%(prefix)s'+\ |
116 | + 'MZ__exp__2)/(%(prefix)sGf*%(prefix)ssqrt__2)))' |
117 | + if 'external' in mass.depend: |
118 | + # Nothing to be done |
119 | + return True |
120 | + match = False |
121 | + if mass.expr == mass_expr%{'prefix':''}: |
122 | + prefix = '' |
123 | + match = True |
124 | + elif mass.expr == mass_expr%{'prefix':'mdl_'}: |
125 | + prefix = 'mdl_' |
126 | + match = True |
127 | + if match: |
128 | + MW = ParamCardVariable(mass.name, mass.value, 'MASS', [24]) |
129 | + if not MW.value: |
130 | + MW.value = 80.385 |
131 | + self.get('parameters')[('external',)].append(MW) |
132 | + self.get('parameters')[mass.depend].remove(mass) |
133 | + # Make Gf an internal parameter |
134 | + new_param = ModelVariable('Gf', |
135 | + '-%(prefix)saEW*%(prefix)sMZ**2*cmath.pi/(cmath.sqrt(2)*%(MW)s**2*(%(MW)s**2 - %(prefix)sMZ**2))' %\ |
136 | + {'MW': mass.name,'prefix':prefix}, 'complex', mass.depend) |
137 | + Gf = self.get_parameter('%sGf'%prefix) |
138 | + self.get('parameters')[('external',)].remove(Gf) |
139 | + self.add_param(new_param, ['%saEW'%prefix]) |
140 | + # Force a refresh of the parameter dictionary |
141 | + self.parameters_dict = None |
142 | + return True |
143 | + else: |
144 | + return False |
145 | + |
146 | + def change_mass_to_complex_scheme(self, toCMS=True): |
147 | """modify the expression changing the mass to complex mass scheme""" |
148 | |
149 | - # 1) Find All input parameter mass and width associated |
150 | + # 1) Change the 'CMSParam' of loop_qcd_qed model to 1.0 so as to remove |
151 | + # the 'real' prefix fromall UVCT wf renormalization expressions. |
152 | + # If toCMS is False, then it makes sure CMSParam is 0.0 and returns |
153 | + # immediatly. |
154 | + # 2) Find All input parameter mass and width associated |
155 | # Add a internal parameter and replace mass with that param |
156 | - # 2) Find All mass fixed by the model and width associated |
157 | + # 3) Find All mass fixed by the model and width associated |
158 | # -> Both need to be fixed with a real() /Imag() |
159 | - # 3) Find All width fixed by the model |
160 | - # -> Need to be fixed with a real() |
161 | - # 4) Fix the Yukawa mass to the value of the complex mass/ real mass |
162 | - # 5) Loop through all expression and modify those accordingly |
163 | + # 4) Find All width set by the model |
164 | + # -> Need to be set with a real() |
165 | + # 5) Fix the Yukawa mass to the value of the complex mass/ real mass |
166 | + # 6) Loop through all expression and modify those accordingly |
167 | # Including all parameter expression as complex |
168 | - |
169 | + |
170 | + try: |
171 | + CMSParam = self.get_parameter('CMSParam') |
172 | + except KeyError: |
173 | + try: |
174 | + CMSParam = self.get_parameter('mdl_CMSParam') |
175 | + except KeyError: |
176 | + CMSParam = None |
177 | + |
178 | + # Handle the case where we want to make sure the CMS is turned off |
179 | + if not toCMS: |
180 | + if CMSParam: |
181 | + CMSParam.expr = '0.0' |
182 | + return |
183 | + |
184 | + # Now handle the case where we want to turn to CMS. |
185 | + if CMSParam: |
186 | + CMSParam.expr = '1.0' |
187 | + |
188 | to_change = {} |
189 | mass_widths = [] # parameter which should stay real |
190 | for particle in self.get('particles'): |
191 | @@ -1634,52 +1697,29 @@ |
192 | continue |
193 | mass_widths.append(particle.get('width')) |
194 | mass_widths.append(particle.get('mass')) |
195 | - if particle.get('width') == 'ZERO': |
196 | + width = self.get_parameter(particle.get('width')) |
197 | + if (isinstance(width.value, (complex,float)) and abs(width.value)==0.0) or \ |
198 | + width.name.lower() =='zero': |
199 | #everything is fine since the width is zero |
200 | continue |
201 | - width = self.get_parameter(particle.get('width')) |
202 | if not isinstance(width, ParamCardVariable): |
203 | width.expr = 're(%s)' % width.expr |
204 | - if particle.get('mass') != 'ZERO': |
205 | - mass = self.get_parameter(particle.get('mass')) |
206 | + mass = self.get_parameter(particle.get('mass')) |
207 | + if (isinstance(width.value, (complex,float)) and abs(width.value)!=0.0) or \ |
208 | + mass.name.lower() != 'zero': |
209 | # special SM treatment to change the gauge scheme automatically. |
210 | - if particle.get('pdg_code') == 24: |
211 | - if hasattr(mass, 'expr') and mass.expr == 'cmath.sqrt(MZ__exp__2/2. + cmath.sqrt(MZ__exp__4/4. - (aEW*cmath.pi*MZ__exp__2)/(Gf*sqrt__2)))': |
212 | - # Make MW an external parameter |
213 | - MW = ParamCardVariable(mass.name, mass.value, 'MASS', [24]) |
214 | - if not MW.value: |
215 | - MW.value = 80.385 |
216 | - self.get('parameters')[('external',)].append(MW) |
217 | - self.get('parameters')[mass.depend].remove(mass) |
218 | - # Make Gf an internal parameter |
219 | - new_param = ModelVariable('Gf', |
220 | - '-aEW*MZ**2*cmath.pi/(cmath.sqrt(2)*%(MW)s**2*(%(MW)s**2 - MZ**2))' %\ |
221 | - {'MW': mass.name}, 'complex', mass.depend) |
222 | - Gf = self.get_parameter('Gf') |
223 | - self.get('parameters')[('external',)].remove(Gf) |
224 | - self.add_param(new_param, ['aEW']) |
225 | - # Use the new mass for the future modification |
226 | - mass = MW |
227 | - #option with prefixing |
228 | - elif hasattr(mass, 'expr') and mass.expr == 'cmath.sqrt(mdl_MZ__exp__2/2. + cmath.sqrt(mdl_MZ__exp__4/4. - (mdl_aEW*cmath.pi*mdl_MZ__exp__2)/(mdl_Gf*mdl_sqrt__2)))': |
229 | - # Make MW an external parameter |
230 | - MW = ParamCardVariable(mass.name, mass.value, 'MASS', [24]) |
231 | - if not MW.value: |
232 | - MW.value = 80.385 |
233 | - self.get('parameters')[('external',)].append(MW) |
234 | - self.get('parameters')[mass.depend].remove(mass) |
235 | - # Make Gf an internal parameter |
236 | - new_param = ModelVariable('mdl_Gf', |
237 | - '-mdl_aEW*mdl_MZ**2*cmath.pi/(cmath.sqrt(2)*%(MW)s**2*(%(MW)s**2 - mdl_MZ**2))' %\ |
238 | - {'MW': mass.name}, 'complex', mass.depend) |
239 | - Gf = self.get_parameter('mdl_Gf') |
240 | - self.get('parameters')[('external',)].remove(Gf) |
241 | - self.add_param(new_param, ['mdl_aEW']) |
242 | - # Use the new mass for the future modification |
243 | - mass = MW |
244 | - elif isinstance(mass, ModelVariable): |
245 | - logger.warning('W mass is not an external parameter. This is not adviced for the complex mass scheme.') |
246 | - |
247 | + if particle.get('pdg_code') == 24 and isinstance(mass, |
248 | + ModelVariable): |
249 | + status = self.change_electroweak_mode( |
250 | + set(['mz','mw','alpha'])) |
251 | + # Use the newly defined parameter for the W mass |
252 | + mass = self.get_parameter(particle.get('mass')) |
253 | + if not status: |
254 | + logger.warning('The W mass is not an external '+ |
255 | + 'parameter in this model and the automatic change of'+ |
256 | + ' electroweak scheme changed. This is not advised for '+ |
257 | + 'applying the complex mass scheme.') |
258 | + |
259 | # Add A new parameter CMASS |
260 | #first compute the dependencies (as,...) |
261 | depend = list(set(mass.depend + width.depend)) |
262 | @@ -3638,7 +3678,7 @@ |
263 | my_isids = [leg.get('ids') for leg in self.get('legs') \ |
264 | if not leg.get('state')] |
265 | my_fsids = [leg.get('ids') for leg in self.get('legs') \ |
266 | - if leg.get('state')] |
267 | + if leg.get('state')] |
268 | for i, is_id in enumerate(initial_state_ids): |
269 | assert is_id in my_isids[i] |
270 | for i, fs_id in enumerate(final_state_ids): |
271 | |
272 | === modified file 'madgraph/core/helas_objects.py' |
273 | --- madgraph/core/helas_objects.py 2015-07-02 02:29:22 +0000 |
274 | +++ madgraph/core/helas_objects.py 2015-08-16 06:06:34 +0000 |
275 | @@ -3164,7 +3164,7 @@ |
276 | """Calculate the actual coupling orders of this diagram""" |
277 | |
278 | wavefunctions = HelasWavefunctionList.extract_wavefunctions(\ |
279 | - self.get('amplitudes')[0].get('mothers')) |
280 | + self.get('amplitudes')[0].get('mothers')) |
281 | |
282 | coupling_orders = {} |
283 | for wf in wavefunctions + [self.get('amplitudes')[0]]: |
284 | |
285 | === modified file 'madgraph/interface/common_run_interface.py' |
286 | --- madgraph/interface/common_run_interface.py 2015-07-30 14:26:07 +0000 |
287 | +++ madgraph/interface/common_run_interface.py 2015-08-16 06:06:34 +0000 |
288 | @@ -221,19 +221,17 @@ |
289 | #restrict_file = None |
290 | #if os.path.exists(pjoin(ufo_path, 'restrict_default.dat')): |
291 | # restrict_file = pjoin(ufo_path, 'restrict_default.dat') |
292 | + |
293 | + force_CMS = self.mother and self.mother.options['complex_mass_scheme'] |
294 | model = import_ufo.import_model(modelname, decay=True, |
295 | - restrict=True) |
296 | - if self.mother and self.mother.options['complex_mass_scheme']: |
297 | - model.change_mass_to_complex_scheme() |
298 | + restrict=True, complex_mass_scheme=force_CMS) |
299 | else: |
300 | - model = import_ufo.import_model(pjoin( |
301 | - self.me_dir,'bin','internal', 'ufomodel'),decay=True) |
302 | #pattern for checking complex mass scheme. |
303 | has_cms = re.compile(r'''set\s+complex_mass_scheme\s*(True|T|1|true|$|;)''') |
304 | - if has_cms.search(open(pjoin(self.me_dir,'Cards','proc_card_mg5.dat')\ |
305 | - ).read()): |
306 | - model.change_mass_to_complex_scheme() |
307 | - |
308 | + force_CMS = has_cms.search(open(pjoin(self.me_dir,'Cards', |
309 | + 'proc_card_mg5.dat')).read()) |
310 | + model = import_ufo.import_model(pjoin(self.me_dir,'bin','internal', |
311 | + 'ufomodel'), decay=True, complex_mass_scheme=force_CMS) |
312 | |
313 | # if not hasattr(model.get('particles')[0], 'partial_widths'): |
314 | # raise self.InvalidCmd, 'The UFO model does not include partial widths information. Impossible to compute widths automatically' |
315 | @@ -2219,6 +2217,53 @@ |
316 | 'fixed_scale': ['run_card fixed_fac_scale T', 'run_card fixed_ren_scale T', 'run_card scale %(0)s', 'run_card dsqrt_q2fact1 %(0)s' ,'run_card dsqrt_q2fact2 %(0)s'], |
317 | } |
318 | |
319 | + @staticmethod |
320 | + def analyze_param_card(param_card): |
321 | + """ Analyzes the comment of the parameter in the param_card and returns |
322 | + a dictionary with parameter names in values and the tuple (lhablock, id) |
323 | + in value as well as a dictionary for restricted values.""" |
324 | + |
325 | + pname2block = {} |
326 | + restricted_value = {} |
327 | + |
328 | + for bname, block in param_card.items(): |
329 | + for lha_id, param in block.param_dict.items(): |
330 | + all_var = [] |
331 | + comment = param.comment |
332 | + # treat merge parameter |
333 | + if comment.strip().startswith('set of param :'): |
334 | + all_var = list(re.findall(r'''[^-]1\*(\w*)\b''', comment)) |
335 | + # just the variable name as comment |
336 | + elif len(comment.split()) == 1: |
337 | + all_var = [comment.strip().lower()] |
338 | + # either contraction or not formatted |
339 | + else: |
340 | + split = comment.split() |
341 | + if len(split) >2 and split[1] == ':': |
342 | + # NO VAR associated |
343 | + restricted_value[(bname, lha_id)] = ' '.join(split[1:]) |
344 | + elif len(split) == 2: |
345 | + if re.search(r'''\[[A-Z]\]eV\^''', split[1]): |
346 | + all_var = [comment.strip().lower()] |
347 | + elif len(split) >=2 and split[1].startswith('('): |
348 | + all_var = [split[0].strip().lower()] |
349 | + else: |
350 | + if not bname.startswith('qnumbers'): |
351 | + logger.debug("not recognize information for %s %s : %s", |
352 | + bname, lha_id, comment) |
353 | + # not recognized format |
354 | + continue |
355 | + |
356 | + for var in all_var: |
357 | + var = var.lower() |
358 | + if var in pname2block: |
359 | + pname2block[var].append((bname, lha_id)) |
360 | + else: |
361 | + pname2block[var] = [(bname, lha_id)] |
362 | + |
363 | + return pname2block, restricted_value |
364 | + |
365 | + |
366 | def __init__(self, question, cards=[], mode='auto', *args, **opt): |
367 | |
368 | # Initiation |
369 | @@ -2263,40 +2308,8 @@ |
370 | # Read the comment of the param_card_default to find name variable for |
371 | # the param_card also check which value seems to be constrained in the |
372 | # model. |
373 | - for bname, block in default_param.items(): |
374 | - for lha_id, param in block.param_dict.items(): |
375 | - all_var = [] |
376 | - comment = param.comment |
377 | - # treat merge parameter |
378 | - if comment.strip().startswith('set of param :'): |
379 | - all_var = list(re.findall(r'''[^-]1\*(\w*)\b''', comment)) |
380 | - # just the variable name as comment |
381 | - elif len(comment.split()) == 1: |
382 | - all_var = [comment.strip().lower()] |
383 | - # either contraction or not formatted |
384 | - else: |
385 | - split = comment.split() |
386 | - if len(split) >2 and split[1] == ':': |
387 | - # NO VAR associated |
388 | - self.restricted_value[(bname, lha_id)] = ' '.join(split[1:]) |
389 | - elif len(split) == 2: |
390 | - if re.search(r'''\[[A-Z]\]eV\^''', split[1]): |
391 | - all_var = [comment.strip().lower()] |
392 | - elif len(split) >=2 and split[1].startswith('('): |
393 | - all_var = [split[0].strip().lower()] |
394 | - else: |
395 | - if not bname.startswith('qnumbers'): |
396 | - logger.debug("not recognize information for %s %s : %s", |
397 | - bname, lha_id, comment) |
398 | - # not recognized format |
399 | - continue |
400 | - |
401 | - for var in all_var: |
402 | - var = var.lower() |
403 | - if var in self.pname2block: |
404 | - self.pname2block[var].append((bname, lha_id)) |
405 | - else: |
406 | - self.pname2block[var] = [(bname, lha_id)] |
407 | + self.pname2block, self.restricted_value = self.analyze_param_card( |
408 | + default_param) |
409 | |
410 | if run_card_def: |
411 | self.run_set = run_card_def.keys() + self.run_card.hidden_param |
412 | |
413 | === modified file 'madgraph/interface/loop_interface.py' |
414 | --- madgraph/interface/loop_interface.py 2015-07-20 20:38:46 +0000 |
415 | +++ madgraph/interface/loop_interface.py 2015-08-16 06:06:34 +0000 |
416 | @@ -227,7 +227,8 @@ |
417 | # "\nIt is however a straight-forward extension which "+\ |
418 | # "will come out with the next release.") |
419 | |
420 | - if isinstance(proc, base_objects.ProcessDefinition) and mode.startswith('ML5'): |
421 | + if isinstance(proc, base_objects.ProcessDefinition) and mode.startswith('ML5') \ |
422 | + and not mode.endswith('cms'): |
423 | if proc.has_multiparticle_label(): |
424 | raise self.InvalidCmd( |
425 | "When running ML5 standalone, multiparticle labels cannot be"+\ |
426 | @@ -665,7 +666,8 @@ |
427 | # Now make sure the process is acceptable |
428 | proc = " ".join(argss[1:i+1]) |
429 | myprocdef = self.extract_process(proc) |
430 | - self.proc_validity(myprocdef,'ML5_check') |
431 | + self.proc_validity(myprocdef,'ML5_check_cms' if argss[0]=='cms' else \ |
432 | + 'ML5_check') |
433 | |
434 | return mg_interface.MadGraphCmd.do_check(self, line, *args,**opt) |
435 | |
436 | |
437 | === modified file 'madgraph/interface/madevent_interface.py' |
438 | --- madgraph/interface/madevent_interface.py 2015-08-15 21:40:38 +0000 |
439 | +++ madgraph/interface/madevent_interface.py 2015-08-16 06:06:34 +0000 |
440 | @@ -4951,7 +4951,7 @@ |
441 | req_files.remove('HelFilter.dat') |
442 | except ValueError: |
443 | pass |
444 | - |
445 | + |
446 | for v_folder in glob.iglob(pjoin(proc_dir,'SubProcesses', |
447 | '%s*'%subproc_prefix)): |
448 | # Make sure it is a valid MadLoop directory |
449 | |
450 | === modified file 'madgraph/interface/madgraph_interface.py' |
451 | --- madgraph/interface/madgraph_interface.py 2015-08-11 11:20:19 +0000 |
452 | +++ madgraph/interface/madgraph_interface.py 2015-08-16 06:06:34 +0000 |
453 | @@ -474,6 +474,37 @@ |
454 | logger.info("o lorentz_invariance:",'$MG:color:GREEN') |
455 | logger.info(" Check that the amplitude is lorentz invariant by") |
456 | logger.info(" comparing the amplitiude in different frames") |
457 | + logger.info("o cms:",'$MG:color:GREEN') |
458 | + logger.info(" Check the complex mass scheme consistency by comparing") |
459 | + logger.info(" it to the narrow width approximation in the off-shell") |
460 | + logger.info(" region of detected resonances and by progressively") |
461 | + logger.info(" decreasing the width. Additional options for this check are:") |
462 | + logger.info(" --offshellness=f : f is a positive or negative float specifying ") |
463 | + logger.info(" the distance from the pole as f*particle_mass. Default is 10.0") |
464 | + logger.info(" --seed=i : to force a specific RNG integer seed i (default is fixed to 0)") |
465 | + logger.info(" --cms=order1&order2;...,p1->f(p,lambdaCMS)&p2->f2(p,lambdaCMS);...") |
466 | + logger.info(" 'order_i' specifies the expansion orders considered for the test.") |
467 | + logger.info(" The substitution lists specifies how internal parameter must be modified") |
468 | + logger.info(" with the width scaling 'lambdaCMS'. The default value for this option is:") |
469 | + logger.info(" --cms=QED&QCD,aewm1->10.0/lambdaCMS&as->0.1*lambdaCMS ") |
470 | + logger.info(" The number of order and parameters don't have to be the same.") |
471 | + logger.info(" The scaling must be specified so that one occurrence of the coupling order.") |
472 | + logger.info(" brings in exactly one power of lambdaCMS.") |
473 | + logger.info(" --recompute_width= never|first_time|always|auto") |
474 | + logger.info(" Decides when to use MadWidth to automatically recompute the width") |
475 | + logger.info(" 'auto' (default) let MG5 chose the most appropriate behavior.") |
476 | + logger.info(" 'never' uses the default width value for lambdaCMS=1.0.") |
477 | + logger.info(" 'first_time' uses MadWidth to compute the width for lambdaCMS=1.0.") |
478 | + logger.info(" 'first_time' and 'never' assume linear scaling of the widths with lambdaCMS") |
479 | + logger.info(" 'always' uses MadWidth to compute the widths for all values of lambdaCMS") |
480 | + logger.info(" the test relies on linear scaling of the width, so 'always' is ") |
481 | + logger.info(" only for double-checks") |
482 | + logger.info(" --lambdaCMS = <python_list> : specifies the list of lambdaCMS values to ") |
483 | + logger.info(" use for the test. For example: '[(1/2.0)**exp\ for\ exp\ in\ range(0,20)]'") |
484 | + logger.info(" In the list expression, you must escape spaces. Also, this option") |
485 | + logger.info(" *must* appear last in the otpion list. Finally, the default value is '1.0e-6'") |
486 | + logger.info(" for which an optimal list of progressive values is picked up to 1.0e-6") |
487 | + logger.info(" --show_plot = True or False: Whether to show plot during analysis (default is True)") |
488 | logger.info("Comments",'$MG:color:GREEN') |
489 | logger.info(" > If param_card is given, that param_card is used ") |
490 | logger.info(" instead of the default values for the model.") |
491 | @@ -836,15 +867,17 @@ |
492 | raise self.InvalidCmd(\ |
493 | "\"check\" not possible for v4 models") |
494 | |
495 | - if len(args) < 2: |
496 | + if len(args) < 2 and not args[0].lower().endswith('options'): |
497 | self.help_check() |
498 | raise self.InvalidCmd("\"check\" requires a process.") |
499 | |
500 | - if args[0] not in self._check_opts: |
501 | + if args[0] not in self._check_opts and \ |
502 | + not args[0].lower().endswith('options'): |
503 | args.insert(0, 'full') |
504 | |
505 | param_card = None |
506 | - if args[0] not in ['stability','profile','timing'] and os.path.isfile(args[1]): |
507 | + if args[0] not in ['stability','profile','timing'] and \ |
508 | + len(args)>1 and os.path.isfile(args[1]): |
509 | param_card = args.pop(1) |
510 | |
511 | if len(args)>1: |
512 | @@ -853,9 +886,8 @@ |
513 | else: |
514 | args.append('-no_reuse') |
515 | |
516 | - if args[0] in ['timing'] and os.path.isfile(args[2]): |
517 | + if args[0] in ['timing'] and len(args)>2 and os.path.isfile(args[2]): |
518 | param_card = args.pop(2) |
519 | - misc.sprint(param_card) |
520 | if args[0] in ['stability', 'profile'] and len(args)>1: |
521 | # If the first argument after 'stability' is not the integer |
522 | # specifying the desired statistics (i.e. number of points), then |
523 | @@ -867,21 +899,73 @@ |
524 | |
525 | if args[0] in ['stability', 'profile'] and os.path.isfile(args[3]): |
526 | param_card = args.pop(3) |
527 | - |
528 | - if any([',' in elem for elem in args]): |
529 | + if any([',' in elem for elem in args if not elem.startswith('--')]): |
530 | raise self.InvalidCmd('Decay chains not allowed in check') |
531 | |
532 | user_options = {'--energy':'1000','--split_orders':'-1', |
533 | - '--reduction':'1|2|3|4'} |
534 | + '--reduction':'1|2|3|4','--CTModeRun':'-1','--helicity':'-1'} |
535 | + |
536 | + if args[0] in ['cms'] or args[0].lower()=='cmsoptions': |
537 | + # increase the default energy to 5000 |
538 | + user_options['--energy']='5000' |
539 | + # The first argument gives the name of the coupling order in which |
540 | + # the cms expansion is carried, and the expression following the |
541 | + # comma gives the relation of an external parameter with the |
542 | + # CMS expansions parameter called 'lambdaCMS'. |
543 | + parameters = ['aewm1->10.0/lambdaCMS','as->0.1*lambdaCMS'] |
544 | + user_options['--cms']='QED&QCD,'+'&'.join(parameters) |
545 | + # Widths are assumed to scale linearly with lambdaCMS unless |
546 | + # --force_recompute_width='always' or 'first_time' is used. |
547 | + user_options['--recompute_width']='auto' |
548 | + # It can be negative so as to be offshell below the resonant mass |
549 | + user_options['--offshellness']='10.0' |
550 | + # Pick the lambdaCMS values for the test. Instead of a python list |
551 | + # we specify here (low,N) which means that do_check will automatically |
552 | + # pick lambda values up to the value low and with N values uniformly |
553 | + # spread in each interval [1.0e-i,1.0e-(i+1)]. |
554 | + # Some points close to each other will be added at the end for the |
555 | + # stability test. |
556 | + user_options['--lambdaCMS']='(1.0e-6,5)' |
557 | + # Set the RNG seed, -1 is default (random). |
558 | + user_options['--seed']=666 |
559 | + # The option below can help the user re-analyze existing pickled check |
560 | + user_options['--analyze']='None' |
561 | + # Decides whether to show plot or not during the analysis |
562 | + user_options['--show_plot']='True' |
563 | + # 'secret' option to chose by which lambda power one should divide |
564 | + # the nwa-cms difference. Useful to set to 2 when doing the Born check |
565 | + # to see whether the NLO check will have sensitivity to the CMS |
566 | + # implementation |
567 | + user_options['--diff_lambda_power']='1' |
568 | + # Sets the range of lambda values to plot |
569 | + user_options['--lambda_plot_range']='[-1.0,-1.0]' |
570 | + # Sets a filter to apply at generation. See name of available |
571 | + # filters in loop_diagram_generations.py, function user_filter |
572 | + user_options['--loop_filter']='None' |
573 | + # Apply tweaks to the check like multiplying a certain width by a |
574 | + # certain parameters or changing the analytical continuation of the |
575 | + # logarithms of the UV counterterms |
576 | + user_options['--tweak']='default()' |
577 | + # Give a name to the run for the files to be saved |
578 | + user_options['--name']='auto' |
579 | + # Select what resonances must be run |
580 | + user_options['--resonances']='1' |
581 | for arg in args[:]: |
582 | if arg.startswith('--') and '=' in arg: |
583 | - key, value = arg.split('=') |
584 | + parsed = arg.split('=') |
585 | + key, value = parsed[0],'='.join(parsed[1:]) |
586 | if key not in user_options: |
587 | raise self.InvalidCmd, "unknown option %s" % key |
588 | user_options[key] = value |
589 | args.remove(arg) |
590 | |
591 | - self.check_process_format(" ".join(args[1:])) |
592 | + # If we are just re-analyzing saved data or displaying options then we |
593 | + # shouldn't check the process format. |
594 | + if not (args[0]=='cms' and '--analyze' in user_options and \ |
595 | + user_options['--analyze']!='None') and not \ |
596 | + args[0].lower().endswith('options'): |
597 | + |
598 | + self.check_process_format(" ".join(args[1:])) |
599 | |
600 | for option, value in user_options.items(): |
601 | args.append('%s=%s'%(option,value)) |
602 | @@ -2448,7 +2532,7 @@ |
603 | _tutorial_opts = ['aMCatNLO', 'stop', 'MadLoop', 'MadGraph5'] |
604 | _switch_opts = ['mg5','aMC@NLO','ML5'] |
605 | _check_opts = ['full', 'timing', 'stability', 'profile', 'permutation', |
606 | - 'gauge','lorentz', 'brs'] |
607 | + 'gauge','lorentz', 'brs', 'cms'] |
608 | _import_formats = ['model_v4', 'model', 'proc_v4', 'command', 'banner'] |
609 | _install_opts = ['pythia-pgs', 'Delphes', 'MadAnalysis', 'ExRootAnalysis', |
610 | 'update', 'Delphes2', 'SysCalc', 'Golem95'] |
611 | @@ -3233,10 +3317,37 @@ |
612 | # Perform checks |
613 | def do_check(self, line): |
614 | """Check a given process or set of processes""" |
615 | + |
616 | + ###### BEGIN do_check |
617 | + def create_lambda_values_list(lower_bound, N): |
618 | + """ Returns a list of values spanning the range [1.0, lower_bound] with |
619 | + lower_bound < 1.0 and with each interval [1e-i, 1e-(i+1)] covered |
620 | + by N values uniformly distributed. For example, lower_bound=1e-2 |
621 | + and N=5 returns: |
622 | + [1, 0.8, 0.6, 0.4, 0.2, 0.1, 0.08, 0.06, 0.04, 0.02, 0.01]""" |
623 | + |
624 | + lCMS_values = [1] |
625 | + exp = 0 |
626 | + n = 0 |
627 | + while lCMS_values[-1]>=lower_bound: |
628 | + n = (n+1) |
629 | + lCMS_values.append(float('1.0e-%d'%exp)*((N-n%N)/float(N))) |
630 | + if lCMS_values[-1]==lCMS_values[-2]: |
631 | + lCMS_values.pop() |
632 | + exp = (n+1)//N |
633 | + |
634 | + lCMS_values = lCMS_values[:-1] |
635 | + if lCMS_values[-1]!=lower_bound: |
636 | + lCMS_values.append(lower_bound) |
637 | + |
638 | + return lCMS_values |
639 | + ###### BEGIN do_check |
640 | |
641 | args = self.split_arg(line) |
642 | + |
643 | # Check args validity |
644 | param_card = self.check_check(args) |
645 | + |
646 | options= {'events':None} # If the momentum needs to be picked from a event file |
647 | if param_card and 'banner' == madevent_interface.MadEventCmd.detect_card_type(param_card): |
648 | logger.info("Will use the param_card contained in the banner and the events associated") |
649 | @@ -3255,31 +3366,280 @@ |
650 | if args[0] in ['stability', 'profile']: |
651 | options['npoints'] = int(args[1]) |
652 | args = args[:1]+args[2:] |
653 | - |
654 | + |
655 | MLoptions={} |
656 | i=-1 |
657 | + CMS_options = {} |
658 | while args[i].startswith('--'): |
659 | option = args[i].split('=') |
660 | if option[0] =='--energy': |
661 | options['energy']=float(option[1]) |
662 | elif option[0]=='--split_orders': |
663 | options['split_orders']=int(option[1]) |
664 | + elif option[0]=='--helicity': |
665 | + try: |
666 | + options['helicity']=int(option[1]) |
667 | + except ValueError: |
668 | + raise self.InvalidCmd("The value of the 'helicity' option"+\ |
669 | + " must be an integer, not %s."%option[1]) |
670 | elif option[0]=='--reduction': |
671 | MLoptions['MLReductionLib']=[int(ir) for ir in option[1].split('|')] |
672 | + elif option[0]=='--CTModeRun': |
673 | + try: |
674 | + MLoptions['CTModeRun']=int(option[1]) |
675 | + except ValueError: |
676 | + raise self.InvalidCmd("The value of the 'CTModeRun' option"+\ |
677 | + " must be an integer, not %s."%option[1]) |
678 | + elif option[0]=='--offshellness': |
679 | + CMS_options['offshellness'] = float(option[1]) |
680 | + if CMS_options['offshellness']<=-1.0: |
681 | + raise self.InvalidCmd('Offshellness must be number larger or'+ |
682 | + ' equal to -1.0, not %f'%CMS_options['offshellness']) |
683 | + elif option[0]=='--analyze': |
684 | + options['analyze'] = option[1] |
685 | + elif option[0]=='--show_plot': |
686 | + options['show_plot'] = 'true' in option[1].lower() |
687 | + elif option[0]=='--seed': |
688 | + CMS_options['seed'] = int(option[1]) |
689 | + elif option[0]=='--name': |
690 | + if '.' in option[1]: |
691 | + raise self.InvalidCmd("Do not specify the extension in the"+ |
692 | + " name of the run") |
693 | + CMS_options['name'] = option[1] |
694 | + elif option[0]=='--resonances': |
695 | + if option[1]=='all': |
696 | + CMS_options['resonances'] = 'all' |
697 | + else: |
698 | + try: |
699 | + resonances=eval(option[1]) |
700 | + except: |
701 | + raise self.InvalidCmd("Could not evaluate 'resonances'"+ |
702 | + " option '%s'"%option[1]) |
703 | + if isinstance(resonances,int) and resonances>0: |
704 | + CMS_options['resonances'] = resonances |
705 | + elif isinstance(resonances,list) and all(len(res)==2 and |
706 | + isinstance(res[0],int) and all(isinstance(i, int) for i in |
707 | + res[1]) for res in resonances): |
708 | + CMS_options['resonances'] = resonances |
709 | + else: |
710 | + raise self.InvalidCmd("The option 'resonances' can only be 'all'"+ |
711 | + " or and integer or a list of tuples of the form "+ |
712 | + "(resPDG,(res_mothers_ID)). You gave '%s'"%option[1]) |
713 | + elif option[0]=='--tweak': |
714 | + # Lists the sets of custom and widths modifications to apply |
715 | + value = option[1] |
716 | + # Set a shortcuts for applying all relevant tweaks |
717 | + if value=='alltweaks': |
718 | + value=str(['default','seed667(seed667)','seed668(seed668)', |
719 | + 'allwidths->0.9*allwidths(widths_x_0.9)', |
720 | + 'allwidths->0.99*allwidths(widths_x_0.99)', |
721 | + 'allwidths->1.01*allwidths(widths_x_1.01)', |
722 | + 'allwidths->1.1*allwidths(widths_x_1.1)', |
723 | + 'logp->logm(logp2logm)','logm->logp(logm2logp)']) |
724 | + try: |
725 | + tweaks = eval(value) |
726 | + if isinstance(tweaks, str): |
727 | + tweaks = [value] |
728 | + elif not isinstance(tweaks,list): |
729 | + tweaks = [value] |
730 | + except: |
731 | + tweaks = [value] |
732 | + if not all(isinstance(t,str) for t in tweaks): |
733 | + raise self.InvalidCmd("Invalid specificaiton of tweaks: %s"%value) |
734 | + CMS_options['tweak'] = [] |
735 | + for tweakID, tweakset in enumerate(tweaks): |
736 | + specs =re.match(r'^(?P<tweakset>.*)\((?P<name>.*)\)$', tweakset) |
737 | + if specs: |
738 | + tweakset = specs.group('tweakset') |
739 | + name = specs.group('name') |
740 | + else: |
741 | + if tweakset!='default': |
742 | + name = 'tweak#%d'%(tweakID+1) |
743 | + else: |
744 | + name = '' |
745 | + new_tweak_set = {'custom':[],'params':{},'name':name} |
746 | + for tweak in tweakset.split('&'): |
747 | + if tweak=='default': |
748 | + continue |
749 | + if tweak.startswith('seed'): |
750 | + new_tweak_set['custom'].append(tweak) |
751 | + continue |
752 | + try: |
753 | + param, replacement = tweak.split('->') |
754 | + except ValueError: |
755 | + raise self.InvalidCmd("Tweak specification '%s'"%\ |
756 | + tweak+" is incorrect. It should be of"+\ |
757 | + " the form a->_any_function_of_(a,lambdaCMS).") |
758 | + if param in ['logp','logm','log'] and \ |
759 | + replacement in ['logp','logm','log']: |
760 | + new_tweak_set['custom'].append(tweak) |
761 | + continue |
762 | + try: |
763 | + # for safety prefix parameters, because 'as' for alphas |
764 | + # is a python reserved name for example |
765 | + orig_param, orig_replacement = param, replacement |
766 | + replacement = replacement.replace(param, |
767 | + '__tmpprefix__%s'%param) |
768 | + param = '__tmpprefix__%s'%param |
769 | + res = float(eval(replacement.lower(), |
770 | + {'lambdacms':1.0,param.lower():98.85})) |
771 | + except: |
772 | + raise self.InvalidCmd("The substitution expression "+ |
773 | + "'%s' for the tweaked parameter"%orig_replacement+ |
774 | + " '%s' could not be evaluated. It must be an "%orig_param+ |
775 | + "expression of the parameter and 'lambdaCMS'.") |
776 | + new_tweak_set['params'][param.lower()] = replacement.lower() |
777 | + CMS_options['tweak'].append(new_tweak_set) |
778 | + |
779 | + elif option[0]=='--recompute_width': |
780 | + if option[1].lower() not in ['never','always','first_time','auto']: |
781 | + raise self.InvalidCmd("The option 'recompute_width' can "+\ |
782 | + "only be 'never','always', 'first_time' or 'auto' (default).") |
783 | + CMS_options['recompute_width'] = option[1] |
784 | + elif option[0]=='--loop_filter': |
785 | + # Specify a loop, filter. See functions get_loop_filter and |
786 | + # user_filter in loop_diagram_generation.LoopAmplitude for |
787 | + # information on usage. |
788 | + CMS_options['loop_filter'] = '='.join(option[1:]) |
789 | + elif option[0]=='--diff_lambda_power': |
790 | + #'secret' option to chose by which lambda power one should divide |
791 | + # the nwa-cms difference. Useful to set to 2 when doing the Born check |
792 | + # to see whether the NLO check will have sensitivity to the CMS |
793 | + # implementation |
794 | + try: |
795 | + CMS_options['diff_lambda_power']=float(option[1]) |
796 | + except ValueError: |
797 | + raise self.InvalidCmd("the '--diff_lambda_power' option"+\ |
798 | + " must be an integer or float, not '%s'."%option[1]) |
799 | + elif option[0]=='--lambda_plot_range': |
800 | + try: |
801 | + plot_range=eval(option[1]) |
802 | + except Exception as e: |
803 | + raise self.InvalidCmd("The plot range specified %s"%option[1]+\ |
804 | + " is not a valid syntax. Error:\n%s"%str(e)) |
805 | + if not isinstance(plot_range,(list,tuple)) or \ |
806 | + len(plot_range)!=2 or any(not isinstance(p,(float,int)) |
807 | + for p in plot_range): |
808 | + raise self.InvalidCmd("The plot range specified %s"\ |
809 | + %option[1]+" is invalid") |
810 | + CMS_options['lambda_plot_range']=list([float(p) for p in plot_range]) |
811 | + elif option[0]=='--lambdaCMS': |
812 | + try: |
813 | + lambda_values = eval(option[1]) |
814 | + except SyntaxError: |
815 | + raise self.InvalidCmd("'%s' is not a correct"%option[1]+ |
816 | + " python expression for lambdaCMS values.") |
817 | + if isinstance(lambda_values,list): |
818 | + if lambda_values[0]!=1.0: |
819 | + raise self.InvalidCmd("The first value of the lambdaCMS values"+ |
820 | + " specified must be 1.0, not %s"%str(lambda_values)) |
821 | + for l in lambda_values: |
822 | + if not isinstance(l,float): |
823 | + raise self.InvalidCmd("All lambda CMS values must be"+ |
824 | + " float, not '%s'"%str(l)) |
825 | + elif isinstance(lambda_values,(tuple,float)): |
826 | + # Format here is then (lower_bound, N) were lower_bound is |
827 | + # the minimum lambdaCMS value that must be probed and the |
828 | + # integer N is the number of such values that must be |
829 | + # uniformly distributed in each intervale [1.0e-i,1.0e-(i+1)] |
830 | + if isinstance(lambda_values, float): |
831 | + # Use default of 10 for the number of lambda values |
832 | + lower_bound = lambda_values |
833 | + N = 10 |
834 | + else: |
835 | + if isinstance(lambda_values[0],float) and \ |
836 | + isinstance(lambda_values[1],int): |
837 | + lower_bound = lambda_values[0] |
838 | + N = lambda_values[1] |
839 | + else: |
840 | + raise self.InvalidCmd("'%s' must be a "%option[1]+ |
841 | + "tuple with types (float, int).") |
842 | + lambda_values = create_lambda_values_list(lower_bound,N) |
843 | + else: |
844 | + raise self.InvalidCmd("'%s' must be an expression"%option[1]+ |
845 | + " for either a float, tuple or list.") |
846 | + lower_bound = lambda_values[-1] |
847 | + # and finally add 5 points for stability test on the last values |
848 | + # Depending on how the stab test will behave at NLO, we can |
849 | + # consider automatically adding the values below |
850 | +# for stab in range(1,6): |
851 | +# lambda_values.append((1.0+(stab/100.0))*lower_bound) |
852 | + |
853 | + CMS_options['lambdaCMS'] = lambda_values |
854 | + elif option[0]=='--cms': |
855 | + try: |
856 | + CMS_expansion_orders, CMS_expansion_parameters = \ |
857 | + option[1].split(',') |
858 | + except ValueError: |
859 | + raise self.InvalidCmd("CMS expansion specification '%s'"%\ |
860 | + args[i]+" is incorrect.") |
861 | + CMS_options['expansion_orders'] = [expansion_order for |
862 | + expansion_order in CMS_expansion_orders.split('&')] |
863 | + CMS_options['expansion_parameters'] = {} |
864 | + for expansion_parameter in CMS_expansion_parameters.split('&'): |
865 | + try: |
866 | + param, replacement = expansion_parameter.split('->') |
867 | + except ValueError: |
868 | + raise self.InvalidCmd("CMS expansion specification '%s'"%\ |
869 | + expansion_parameter+" is incorrect. It should be of"+\ |
870 | + " the form a->_any_function_of_(a,lambdaCMS).") |
871 | + try: |
872 | + # for safety prefix parameters, because 'as' for alphas |
873 | + # is a python reserved name for example |
874 | + orig_param, orig_replacement = param, replacement |
875 | + replacement = replacement.replace(param, |
876 | + '__tmpprefix__%s'%param) |
877 | + param = '__tmpprefix__%s'%param |
878 | + res = float(eval(replacement.lower(), |
879 | + {'lambdacms':1.0,param.lower():98.85})) |
880 | + except: |
881 | + raise self.InvalidCmd("The substitution expression "+ |
882 | + "'%s' for CMS expansion parameter"%orig_replacement+ |
883 | + " '%s' could not be evaluated. It must be an "%orig_param+ |
884 | + "expression of the parameter and 'lambdaCMS'.") |
885 | + # Put everything lower case as it will be done when |
886 | + # accessing model variables |
887 | + CMS_options['expansion_parameters'][param.lower()]=\ |
888 | + replacement.lower() |
889 | + else: |
890 | + raise self.InvalidCmd("The option '%s' is not reckognized."%option[0]) |
891 | + |
892 | i=i-1 |
893 | args = args[:i+1] |
894 | |
895 | + if args[0]=='options': |
896 | + # Simple printout of the check command options |
897 | + logger.info("Options for the command 'check' are:") |
898 | + logger.info("{:<20} {}".format(' name','default value')) |
899 | + logger.info("-"*40) |
900 | + for key, value in options.items(): |
901 | + logger.info("{:<20} = {}".format('--%s'%key,str(value))) |
902 | + return |
903 | + |
904 | + if args[0].lower()=='cmsoptions': |
905 | + # Simple printout of the special check cms options |
906 | + logger.info("Special options for the command 'check cms' are:") |
907 | + logger.info("{:<20} {}".format(' name','default value')) |
908 | + logger.info("-"*40) |
909 | + for key, value in CMS_options.items(): |
910 | + logger.info("{:<20} = {}".format('--%s'%key,str(value))) |
911 | + return |
912 | + |
913 | proc_line = " ".join(args[1:]) |
914 | - myprocdef = self.extract_process(proc_line) |
915 | + # Don't try to extract the process if just re-analyzing a saved run |
916 | + if not (args[0]=='cms' and options['analyze']!='None'): |
917 | + myprocdef = self.extract_process(proc_line) |
918 | + |
919 | + # Check that we have something |
920 | + if not myprocdef: |
921 | + raise self.InvalidCmd("Empty or wrong format process, please try again.") |
922 | + else: |
923 | + myprocdef = None |
924 | |
925 | # If the test has to write out on disk, it should do so at the location |
926 | # specified below where the user must be sure to have writing access. |
927 | output_path = os.getcwd() |
928 | |
929 | - # Check that we have something |
930 | - if not myprocdef: |
931 | - raise self.InvalidCmd("Empty or wrong format process, please try again.") |
932 | - |
933 | if args[0] in ['timing','stability', 'profile'] and not \ |
934 | myprocdef.get('perturbation_couplings'): |
935 | raise self.InvalidCmd("Only loop processes can have their "+ |
936 | @@ -3319,8 +3679,9 @@ |
937 | # So as a temporary fix for the problem that after doing a check at NLO |
938 | # then a check at LO will fail, I make sure I set it to False if the |
939 | # process is a tree-level one |
940 | - if myprocdef.get('perturbation_couplings')==[]: |
941 | - aloha.loop_mode = False |
942 | + if myprocdef: |
943 | + if myprocdef.get('perturbation_couplings')==[]: |
944 | + aloha.loop_mode = False |
945 | |
946 | comparisons = [] |
947 | gauge_result = [] |
948 | @@ -3331,6 +3692,7 @@ |
949 | stability = [] |
950 | profile_time = [] |
951 | profile_stab = [] |
952 | + cms_results = [] |
953 | |
954 | if "_cuttools_dir" in dir(self): |
955 | CT_dir = self._cuttools_dir |
956 | @@ -3466,15 +3828,88 @@ |
957 | options=options) |
958 | nb_processes += len(gauge_result) |
959 | |
960 | + # The CMS check is typically more complicated and slower than others |
961 | + # so we don't run it automatically with 'full'. |
962 | + if args[0] in ['cms']: |
963 | + |
964 | + cms_original_setup = self.options['complex_mass_scheme'] |
965 | + process_line = " ".join(args[1:]) |
966 | + # Merge in the CMS_options to the options |
967 | + for key, value in CMS_options.items(): |
968 | + if key=='tweak': |
969 | + continue |
970 | + if key not in options: |
971 | + options[key] = value |
972 | + else: |
973 | + raise MadGraph5Error,"Option '%s' is both in the option"%key+\ |
974 | + " and CMS_option dictionary." |
975 | + |
976 | + if options['analyze']=='None': |
977 | + start = time.time() |
978 | + cms_results = [] |
979 | + for tweak in CMS_options['tweak']: |
980 | + options['tweak']=tweak |
981 | + # Try to guess the save path and try to load it before running |
982 | + guessed_proc = myprocdef.get_process( |
983 | + [leg.get('ids')[0] for leg in myprocdef.get('legs') |
984 | + if not leg.get('state')], |
985 | + [leg.get('ids')[0] for leg in myprocdef.get('legs') |
986 | + if leg.get('state')]) |
987 | + save_path = process_checks.CMS_save_path('pkl', |
988 | + {'ordered_processes':[guessed_proc.base_string()], |
989 | + 'perturbation_orders':guessed_proc.get('perturbation_couplings')}, |
990 | + self._curr_model, options, output_path=output_path) |
991 | + if os.path.isfile(save_path) and options['reuse']: |
992 | + cms_result = save_load_object.load_from_file(save_path) |
993 | + logger.info("The cms check for tweak %s is recycled from file:\n %s"% |
994 | + (tweak['name'],save_path)) |
995 | + if cms_result is None: |
996 | + raise self.InvalidCmd('The complex mass scheme check result'+ |
997 | + " file below could not be read.\n %s"%save_path) |
998 | + else: |
999 | + cms_result = process_checks.check_complex_mass_scheme( |
1000 | + process_line, |
1001 | + param_card = param_card, |
1002 | + cuttools=CT_dir, |
1003 | + tir=TIR_dir, |
1004 | + cmd = self, |
1005 | + output_path = output_path, |
1006 | + MLOptions = MLoptions, |
1007 | + options=options) |
1008 | + # Now set the correct save path |
1009 | + save_path = process_checks.CMS_save_path('pkl', cms_result, |
1010 | + self._curr_model, options, output_path=output_path) |
1011 | + cms_results.append((cms_result,save_path,tweak['name'])) |
1012 | + |
1013 | + logger.debug('CMS check performed finished in %s.'\ |
1014 | + %misc.format_time(int(time.time()-start))) |
1015 | + else: |
1016 | + cms_result = save_load_object.load_from_file( |
1017 | + options['analyze'].split(',')[0]) |
1018 | + cms_results.append((cms_result,options['analyze'].split(',')[0], |
1019 | + CMS_options['tweak'][0]['name'])) |
1020 | + if cms_result is None: |
1021 | + raise self.InvalidCmd('The complex mass scheme check result'+ |
1022 | + " file below could not be read.\n %s"%options['analyze']) |
1023 | + |
1024 | + # restore previous settings |
1025 | + self.do_set('complex_mass_scheme %s'%str(cms_original_setup), |
1026 | + log=False) |
1027 | + # Use here additional key 'ordered_processes' |
1028 | + nb_processes += len(cms_result['ordered_processes']) |
1029 | + |
1030 | cpu_time2 = time.time() |
1031 | logger.info("%i checked performed in %0.3f s" \ |
1032 | % (nb_processes, |
1033 | (cpu_time2 - cpu_time1))) |
1034 | |
1035 | - if args[0] not in ['timing','stability', 'profile']: |
1036 | + if args[0] in ['cms']: |
1037 | + text = "Note that the complex mass scheme test in principle only\n" |
1038 | + text+= "works for stable particles in final states.\n\ns" |
1039 | + if args[0] not in ['timing','stability', 'profile', 'cms']: |
1040 | if self.options['complex_mass_scheme']: |
1041 | text = "Note that Complex mass scheme gives gauge/lorentz invariant\n" |
1042 | - text+= "results only for stable particles in final states.\n\n" |
1043 | + text+= "results only for stable particles in final states.\n\ns" |
1044 | elif not myprocdef.get('perturbation_couplings'): |
1045 | text = "Note That all width have been set to zero for those checks\n\n" |
1046 | else: |
1047 | @@ -3506,6 +3941,24 @@ |
1048 | if gauge_result_no_brs: |
1049 | text += 'Gauge results (switching between Unitary/Feynman):\n' |
1050 | text += process_checks.output_unitary_feynman(gauge_result_no_brs) + '\n' |
1051 | + if cms_results: |
1052 | + text += 'Complex mass scheme results (varying width in the off-shell regions):\n' |
1053 | + cms_result = cms_results[0][0] |
1054 | + if len(cms_results)>1: |
1055 | + analyze = [] |
1056 | + for i, (cms_res, save_path, tweakname) in enumerate(cms_results): |
1057 | + save_load_object.save_to_file(save_path, cms_res) |
1058 | + logger.info("Pickle file for tweak '%s' saved to disk at:\n ->%s"% |
1059 | + (tweakname,save_path)) |
1060 | + if i==0: |
1061 | + analyze.append(save_path) |
1062 | + else: |
1063 | + analyze.append('%s(%s)'%(save_path,tweakname)) |
1064 | + options['analyze']=','.join(analyze) |
1065 | + options['tweak'] = CMS_options['tweak'][0] |
1066 | + |
1067 | + text += process_checks.output_complex_mass_scheme( |
1068 | + cms_result , output_path, options, self._curr_model) + '\n' |
1069 | |
1070 | if comparisons and len(comparisons[0])>0: |
1071 | text += 'Process permutation results:\n' |
1072 | @@ -4267,7 +4720,7 @@ |
1073 | args[1].split('/')[-1].startswith('loop_qcd_qed_sm')) and\ |
1074 | self.options['gauge']!='Feynman': |
1075 | logger.info('Switching to Feynman gauge because '+\ |
1076 | - 'it is the only one supported by the model loop_qcd_qed_sm.') |
1077 | + 'it is the only one supported by the model %s.'%args[1]) |
1078 | self._curr_model = None |
1079 | self.do_set('gauge Feynman',log=False) |
1080 | prefix = not '--noprefix' in args |
1081 | @@ -4277,7 +4730,8 @@ |
1082 | aloha.aloha_prefix='' |
1083 | |
1084 | try: |
1085 | - self._curr_model = import_ufo.import_model(args[1], prefix=prefix) |
1086 | + self._curr_model = import_ufo.import_model(args[1], prefix=prefix, |
1087 | + complex_mass_scheme=self.options['complex_mass_scheme']) |
1088 | except import_ufo.UFOImportError, error: |
1089 | if 'not a valid UFO model' in str(error): |
1090 | logger_stderr.warning('WARNING: %s' % error) |
1091 | @@ -4285,10 +4739,6 @@ |
1092 | 'automatically `import model_v4 %s` instead.'% args[1]) |
1093 | self.exec_cmd('import model_v4 %s ' % args[1], precmd=True) |
1094 | return |
1095 | - if self.options['complex_mass_scheme']: |
1096 | - self._curr_model.change_mass_to_complex_scheme() |
1097 | - if hasattr(self._curr_model, 'set_parameters_and_couplings'): |
1098 | - self._curr_model.set_parameters_and_couplings() |
1099 | if self.options['gauge']=='unitary': |
1100 | if not force and isinstance(self._curr_model,\ |
1101 | loop_base_objects.LoopModel) and \ |
1102 | @@ -5614,8 +6064,8 @@ |
1103 | self.write_configuration(filepath, basefile, basedir, to_define) |
1104 | |
1105 | # Set an option |
1106 | - def do_set(self, line, log=True): |
1107 | - """Set an option, which will be default for coming generations/outputs |
1108 | + def do_set(self, line, log=True, model_reload=True): |
1109 | + """Set an option, which will be default for coming generations/outputs. |
1110 | """ |
1111 | |
1112 | # Be careful: |
1113 | @@ -5673,18 +6123,13 @@ |
1114 | self.options[args[0]] = eval(args[1]) |
1115 | aloha.complex_mass = eval(args[1]) |
1116 | aloha_lib.KERNEL.clean() |
1117 | - if not self._curr_model: |
1118 | - pass |
1119 | - elif self.options[args[0]]: |
1120 | + if self.options[args[0]]: |
1121 | if old: |
1122 | if log: |
1123 | logger.info('Complex mass already activated.') |
1124 | return |
1125 | if log: |
1126 | logger.info('Activate complex mass scheme.') |
1127 | - self._curr_model.change_mass_to_complex_scheme() |
1128 | - if hasattr(self._curr_model, 'set_parameters_and_couplings'): |
1129 | - self._curr_model.set_parameters_and_couplings() |
1130 | else: |
1131 | if not old: |
1132 | if log: |
1133 | @@ -5692,7 +6137,9 @@ |
1134 | return |
1135 | if log: |
1136 | logger.info('Desactivate complex mass scheme.') |
1137 | - self.exec_cmd('import model %s' % self._curr_model.get('name')) |
1138 | + if not self._curr_model: |
1139 | + return |
1140 | + self.exec_cmd('import model %s' % self._curr_model.get('name')) |
1141 | |
1142 | elif args[0] == "gauge": |
1143 | # Treat the case where they are no model loaded |
1144 | @@ -6484,8 +6931,7 @@ |
1145 | else: |
1146 | self._curr_model = model |
1147 | self._curr_fortran_model = \ |
1148 | - helas_call_writers.FortranUFOHelasCallWriter(\ |
1149 | - self._curr_model) |
1150 | + helas_call_writers.FortranUFOHelasCallWriter(self._curr_model) |
1151 | if not isinstance(model, model_reader.ModelReader): |
1152 | model = model_reader.ModelReader(model) |
1153 | |
1154 | @@ -6857,7 +7303,7 @@ |
1155 | self._generate_info = process[9:] |
1156 | #print self._generate_info |
1157 | else: |
1158 | - print "No decay is found" |
1159 | + logger.info("No decay is found") |
1160 | |
1161 | class MadGraphCmdWeb(CheckValidForCmdWeb, MadGraphCmd): |
1162 | """Temporary parser""" |
1163 | |
1164 | === modified file 'madgraph/interface/reweight_interface.py' |
1165 | --- madgraph/interface/reweight_interface.py 2015-03-25 01:19:54 +0000 |
1166 | +++ madgraph/interface/reweight_interface.py 2015-08-16 06:06:34 +0000 |
1167 | @@ -650,13 +650,11 @@ |
1168 | model_path = name |
1169 | |
1170 | # Import model |
1171 | - base_model = import_ufo.import_model(name, decay=False) |
1172 | - |
1173 | - |
1174 | + base_model = import_ufo.import_model(name, decay=False, |
1175 | + complex_mass_scheme=complex_mass) |
1176 | + |
1177 | if use_mg_default: |
1178 | base_model.pass_particles_name_in_mg_default() |
1179 | - if complex_mass: |
1180 | - base_model.change_mass_to_complex_scheme() |
1181 | |
1182 | self.model = base_model |
1183 | self.mg5cmd._curr_model = self.model |
1184 | |
1185 | === modified file 'madgraph/iolibs/export_v4.py' |
1186 | --- madgraph/iolibs/export_v4.py 2015-08-05 17:00:28 +0000 |
1187 | +++ madgraph/iolibs/export_v4.py 2015-08-16 06:06:34 +0000 |
1188 | @@ -5536,11 +5536,11 @@ |
1189 | # in Gmu scheme, aEWM1 is not external but Gf is an exteranl variable |
1190 | elif ('Gf',) in self.model['parameters']: |
1191 | if dp: |
1192 | - fsock.writelines(""" gal(1) = 2.378414230005442133435d0*MDL_MW*MDL_SW*DSQRT(MDL_Gf) |
1193 | + fsock.writelines(""" gal(1) = 2.378414230005442133435d0*MDL_MW*DSQRT(1D0-MDL_MW**2/MDL_MZ**2)*DSQRT(MDL_Gf) |
1194 | gal(2) = 1d0 |
1195 | """) |
1196 | elif mp: |
1197 | - fsock.writelines(""" %(mp_prefix)sgal(1) = 2*MP__MDL_MW*MP__MDL_SW*SQRT(SQRT(2e0_16)*MP__MDL_Gf) |
1198 | + fsock.writelines(""" %(mp_prefix)sgal(1) = 2*MP__MDL_MW*SQRT(1e0_16-MP__MDL_MW**2/MP__MDL_MZ**2)*SQRT(SQRT(2e0_16)*MP__MDL_Gf) |
1199 | %(mp_prefix)sgal(2) = 1d0 |
1200 | """ %{'mp_prefix':self.mp_prefix}) |
1201 | pass |
1202 | @@ -5747,11 +5747,17 @@ |
1203 | fsock.writelines("""double complex cond |
1204 | double complex condif |
1205 | double complex reglog |
1206 | + double complex reglogp |
1207 | + double complex reglogm |
1208 | + double complex recms |
1209 | double complex arg""") |
1210 | if self.opt['mp']: |
1211 | fsock.writelines("""%(complex_mp_format)s mp_cond |
1212 | %(complex_mp_format)s mp_condif |
1213 | %(complex_mp_format)s mp_reglog |
1214 | + %(complex_mp_format)s mp_reglogp |
1215 | + %(complex_mp_format)s mp_reglogm |
1216 | + %(complex_mp_format)s mp_recms |
1217 | %(complex_mp_format)s mp_arg"""\ |
1218 | %{'complex_mp_format':self.mp_complex_format}) |
1219 | |
1220 | @@ -5782,9 +5788,22 @@ |
1221 | condif=falsecase |
1222 | endif |
1223 | end |
1224 | + |
1225 | + double complex function recms(condition,expr) |
1226 | + implicit none |
1227 | + logical condition |
1228 | + double complex expr |
1229 | + if(condition)then |
1230 | + recms=expr |
1231 | + else |
1232 | + recms=dcmplx(dble(expr)) |
1233 | + endif |
1234 | + end |
1235 | |
1236 | double complex function reglog(arg) |
1237 | implicit none |
1238 | + double complex TWOPII |
1239 | + parameter (TWOPII=2.0d0*3.1415926535897932d0*(0.0d0,1.0d0)) |
1240 | double complex arg |
1241 | if(arg.eq.(0.0d0,0.0d0)) then |
1242 | reglog=(0.0d0,0.0d0) |
1243 | @@ -5795,12 +5814,14 @@ |
1244 | |
1245 | double complex function reglogp(arg) |
1246 | implicit none |
1247 | + double complex TWOPII |
1248 | + parameter (TWOPII=2.0d0*3.1415926535897932d0*(0.0d0,1.0d0)) |
1249 | double complex arg |
1250 | if(arg.eq.(0.0d0,0.0d0))then |
1251 | reglogp=(0.0d0,0.0d0) |
1252 | else |
1253 | if(dble(arg).lt.0.0d0.and.dimag(arg).lt.0.0d0)then |
1254 | - reglogp=log(arg) + 2.0d0*3.1415926535897932d0*(0.0d0,1.0d0) |
1255 | + reglogp=log(arg) + TWOPII |
1256 | else |
1257 | reglogp=log(arg) |
1258 | endif |
1259 | @@ -5809,18 +5830,20 @@ |
1260 | |
1261 | double complex function reglogm(arg) |
1262 | implicit none |
1263 | + double complex TWOPII |
1264 | + parameter (TWOPII=2.0d0*3.1415926535897932d0*(0.0d0,1.0d0)) |
1265 | double complex arg |
1266 | if(arg.eq.(0.0d0,0.0d0))then |
1267 | reglogm=(0.0d0,0.0d0) |
1268 | else |
1269 | if(dble(arg).lt.0.0d0.and.dimag(arg).gt.0.0d0)then |
1270 | - reglogm=log(arg) - 2.0d0*3.1415926535897932d0*(0.0d0,1.0d0) |
1271 | + reglogm=log(arg) - TWOPII |
1272 | else |
1273 | reglogm=log(arg) |
1274 | endif |
1275 | endif |
1276 | end |
1277 | - |
1278 | + |
1279 | double complex function arg(comnum) |
1280 | implicit none |
1281 | double complex comnum |
1282 | @@ -5855,9 +5878,22 @@ |
1283 | mp_condif=falsecase |
1284 | endif |
1285 | end |
1286 | + |
1287 | + %(complex_mp_format)s function mp_recms(condition,expr) |
1288 | + implicit none |
1289 | + logical condition |
1290 | + %(complex_mp_format)s expr |
1291 | + if(condition)then |
1292 | + mp_recms=expr |
1293 | + else |
1294 | + mp_recms=cmplx(real(expr),kind=16) |
1295 | + endif |
1296 | + end |
1297 | |
1298 | %(complex_mp_format)s function mp_reglog(arg) |
1299 | implicit none |
1300 | + %(complex_mp_format)s TWOPII |
1301 | + parameter (TWOPII=2.0e0_16*3.14169258478796109557151794433593750e0_16*(0.0e0_16,1.0e0_16)) |
1302 | %(complex_mp_format)s arg |
1303 | if(arg.eq.(0.0e0_16,0.0e0_16)) then |
1304 | mp_reglog=(0.0e0_16,0.0e0_16) |
1305 | @@ -5868,26 +5904,30 @@ |
1306 | |
1307 | %(complex_mp_format)s function mp_reglogp(arg) |
1308 | implicit none |
1309 | + %(complex_mp_format)s TWOPII |
1310 | + parameter (TWOPII=2.0e0_16*3.14169258478796109557151794433593750e0_16*(0.0e0_16,1.0e0_16)) |
1311 | %(complex_mp_format)s arg |
1312 | if(arg.eq.(0.0e0_16,0.0e0_16))then |
1313 | mp_reglogp=(0.0e0_16,0.0e0_16) |
1314 | else |
1315 | if(real(arg,kind=16).lt.0.0e0_16.and.imagpart(arg).lt.0.0e0_16)then |
1316 | - mp_reglogp=log(arg) + 2.0e0_16*3.14169258478796109557151794433593750e0_16*(0.0e0_16,1.0e0_16) |
1317 | + mp_reglogp=log(arg) + TWOPII |
1318 | else |
1319 | mp_reglogp=log(arg) |
1320 | endif |
1321 | endif |
1322 | end |
1323 | - |
1324 | + |
1325 | %(complex_mp_format)s function mp_reglogm(arg) |
1326 | implicit none |
1327 | + %(complex_mp_format)s TWOPII |
1328 | + parameter (TWOPII=2.0e0_16*3.14169258478796109557151794433593750e0_16*(0.0e0_16,1.0e0_16)) |
1329 | %(complex_mp_format)s arg |
1330 | if(arg.eq.(0.0e0_16,0.0e0_16))then |
1331 | mp_reglogm=(0.0e0_16,0.0e0_16) |
1332 | else |
1333 | if(real(arg,kind=16).lt.0.0e0_16.and.imagpart(arg).gt.0.0e0_16)then |
1334 | - mp_reglogm=log(arg) - 2.0e0_16*3.14169258478796109557151794433593750e0_16*(0.0e0_16,1.0e0_16) |
1335 | + mp_reglogm=log(arg) - TWOPII |
1336 | else |
1337 | mp_reglogm=log(arg) |
1338 | endif |
1339 | @@ -5921,9 +5961,8 @@ |
1340 | fsock.write_comment_line(' START UFO DEFINE FUNCTIONS ') |
1341 | for fct in ufo_fct: |
1342 | # already handle by default |
1343 | - if fct.name not in ["complexconjugate", "re", "im", "sec", |
1344 | - "csc", "asec", "acsc", "theta_function", "cond", |
1345 | - "condif", "reglogp", "reglogm", "reglog", "arg"]: |
1346 | + if fct.name not in ["complexconjugate", "re", "im", "sec", "csc", "asec", "acsc", "condif", |
1347 | + "theta_function", "cond", "reglog", "reglogp", "reglogm", "recms","arg"]: |
1348 | ufo_fct_template = """ |
1349 | double complex function %(name)s(%(args)s) |
1350 | implicit none |
1351 | @@ -5943,9 +5982,8 @@ |
1352 | fsock.write_comment_line(' START UFO DEFINE FUNCTIONS FOR MP') |
1353 | for fct in ufo_fct: |
1354 | # already handle by default |
1355 | - if fct.name not in ["complexconjugate", "re", "im", "sec", |
1356 | - "csc", "asec", "acsc", "theta_function", "cond", |
1357 | - "condif", "reglogp", "reglogm", "reglog", "arg"]: |
1358 | + if fct.name not in ["complexconjugate", "re", "im", "sec", "csc", "asec", "acsc","condif", |
1359 | + "theta_function", "cond", "reglog", "reglogp","reglogm", "recms","arg"]: |
1360 | ufo_fct_template = """ |
1361 | %(complex_mp_format)s function mp__%(name)s(mp__%(args)s) |
1362 | implicit none |
1363 | |
1364 | === modified file 'madgraph/iolibs/template_files/loop/check_sa.inc' |
1365 | --- madgraph/iolibs/template_files/loop/check_sa.inc 2015-06-18 08:24:43 +0000 |
1366 | +++ madgraph/iolibs/template_files/loop/check_sa.inc 2015-08-16 06:06:34 +0000 |
1367 | @@ -305,6 +305,7 @@ |
1368 | write (69,'(a4,1x,1e25.15)') '1EPS',MATELEM(2,0)/AO2PI |
1369 | write (69,'(a4,1x,1e25.15)') '2EPS',MATELEM(3,0)/AO2PI |
1370 | ENDIF |
1371 | + write (69,'(a6,1x,1e25.15)') 'ASO2PI',AO2PI |
1372 | write (69,*) 'Export_Format Default' |
1373 | write (69,'(a7,1x,i3)') 'RETCODE',RETURNCODE |
1374 | write (69,'(a3,1x,1e10.4)') 'ACC',PREC_FOUND(0) |
1375 | |
1376 | === modified file 'madgraph/iolibs/template_files/loop/check_sa_loop_induced.inc' |
1377 | --- madgraph/iolibs/template_files/loop/check_sa_loop_induced.inc 2015-06-18 08:24:43 +0000 |
1378 | +++ madgraph/iolibs/template_files/loop/check_sa_loop_induced.inc 2015-08-16 06:06:34 +0000 |
1379 | @@ -265,6 +265,7 @@ |
1380 | write (69,'(a3,1x,1e25.15)') 'FIN',MATELEM(1,0) |
1381 | write (69,'(a4,1x,1e25.15)') '1EPS',MATELEM(2,0) |
1382 | write (69,'(a4,1x,1e25.15)') '2EPS',MATELEM(3,0) |
1383 | + write (69,'(a6,1x,1e25.15)') 'ASO2PI',AO2PI |
1384 | write (69,*) 'Export_Format LoopInduced' |
1385 | write (69,'(a7,1x,i3)') 'RETCODE',RETURNCODE |
1386 | write (69,'(a3,1x,1e10.4)') 'ACC',PREC_FOUND(0) |
1387 | |
1388 | === modified file 'madgraph/iolibs/ufo_expression_parsers.py' |
1389 | --- madgraph/iolibs/ufo_expression_parsers.py 2015-08-04 14:28:22 +0000 |
1390 | +++ madgraph/iolibs/ufo_expression_parsers.py 2015-08-16 06:06:34 +0000 |
1391 | @@ -65,7 +65,7 @@ |
1392 | tokens = ( |
1393 | 'LOGICAL','LOGICALCOMB','POWER', 'CSC', 'SEC', 'ACSC', 'ASEC', 'TAN', |
1394 | 'SQRT', 'CONJ', 'RE', 'RE2', 'IM', 'PI', 'COMPLEX', 'FUNCTION', 'IF','ELSE', |
1395 | - 'VARIABLE', 'NUMBER','COND','REGLOG', 'ARG' |
1396 | + 'VARIABLE', 'NUMBER','COND','REGLOG', 'REGLOGP', 'REGLOGM','RECMS','ARG' |
1397 | ) |
1398 | literals = "=+-*/()," |
1399 | |
1400 | @@ -89,6 +89,15 @@ |
1401 | def t_REGLOG(self, t): |
1402 | r'(?<!\w)reglog(?=\()' |
1403 | return t |
1404 | + def t_REGLOGP(self, t): |
1405 | + r'(?<!\w)reglogp(?=\()' |
1406 | + return t |
1407 | + def t_REGLOGM(self, t): |
1408 | + r'(?<!\w)reglogm(?=\()' |
1409 | + return t |
1410 | + def t_RECMS(self, t): |
1411 | + r'(?<!\w)recms(?=\()' |
1412 | + return t |
1413 | def t_COND(self, t): |
1414 | r'(?<!\w)cond(?=\()' |
1415 | return t |
1416 | @@ -169,6 +178,9 @@ |
1417 | ('right','UMINUS'), |
1418 | ('left','POWER'), |
1419 | ('right','REGLOG'), |
1420 | + ('right','REGLOGP'), |
1421 | + ('right','REGLOGM'), |
1422 | + ('right','RECMS'), |
1423 | ('right','ARG'), |
1424 | ('right','CSC'), |
1425 | ('right','SEC'), |
1426 | @@ -302,6 +314,10 @@ |
1427 | "expression : COND '(' expression ',' expression ',' expression ')'" |
1428 | p[0] = 'COND(DCMPLX('+p[3]+'),DCMPLX('+p[5]+'),DCMPLX('+p[7]+'))' |
1429 | |
1430 | + def p_expression_recms(self, p): |
1431 | + "expression : RECMS '(' boolexpression ',' expression ')'" |
1432 | + p[0] = 'RECMS('+p[3]+',DCMPLX('+p[5]+'))' |
1433 | + |
1434 | def p_expression_complex(self, p): |
1435 | "expression : COMPLEX '(' expression ',' expression ')'" |
1436 | p[0] = 'DCMPLX(' + p[3] + ',' + p[5] + ')' |
1437 | @@ -313,10 +329,12 @@ |
1438 | | ASEC group |
1439 | | RE group |
1440 | | IM group |
1441 | - | ARG group |
1442 | + | ARG group |
1443 | | SQRT group |
1444 | | CONJ group |
1445 | | REGLOG group |
1446 | + | REGLOGP group |
1447 | + | REGLOGM group |
1448 | | TAN group''' |
1449 | |
1450 | if p[1] == 'csc': p[0] = '1d0/cos' + p[2] |
1451 | @@ -330,6 +348,8 @@ |
1452 | elif p[1] == 'cmath.sqrt' or p[1] == 'sqrt': p[0] = 'sqrt(dcmplx' + p[2]+')' |
1453 | elif p[1] == 'complexconjugate': p[0] = 'conjg(DCMPLX' + p[2]+')' |
1454 | elif p[1] == 'reglog': p[0] = 'reglog(DCMPLX' + p[2] +')' |
1455 | + elif p[1] == 'reglogp': p[0] = 'reglogp(DCMPLX' + p[2] + ')' |
1456 | + elif p[1] == 'reglogm': p[0] = 'reglogm(DCMPLX' + p[2] + ')' |
1457 | |
1458 | |
1459 | def p_expression_real(self, p): |
1460 | @@ -403,6 +423,10 @@ |
1461 | p[0] = 'MP_COND(CMPLX('+p[3]+',KIND=16),CMPLX('+p[5]+\ |
1462 | ',KIND=16),CMPLX('+p[7]+',KIND=16))' |
1463 | |
1464 | + def p_expression_recms(self, p): |
1465 | + "expression : RECMS '(' boolexpression ',' expression ')'" |
1466 | + p[0] = 'MP_RECMS('+p[3]+',CMPLX('+p[5]+',KIND=16))' |
1467 | + |
1468 | def p_expression_func(self, p): |
1469 | '''expression : CSC group |
1470 | | SEC group |
1471 | @@ -410,11 +434,14 @@ |
1472 | | ASEC group |
1473 | | RE group |
1474 | | IM group |
1475 | - | ARG group |
1476 | + | ARG group |
1477 | | SQRT group |
1478 | | CONJ group |
1479 | - | TAN group |
1480 | - | REGLOG group''' |
1481 | + | REGLOG group |
1482 | + | REGLOGP group |
1483 | + | REGLOGM group |
1484 | + | TAN group''' |
1485 | + |
1486 | if p[1] == 'csc': p[0] = '1e0_16/cos' + p[2] |
1487 | elif p[1] == 'sec': p[0] = '1e0_16/sin' + p[2] |
1488 | elif p[1] == 'acsc': p[0] = 'asin(1e0_16/' + p[2] + ')' |
1489 | @@ -426,6 +453,8 @@ |
1490 | elif p[1] == 'cmath.sqrt' or p[1] == 'sqrt': p[0] = 'sqrt(CMPLX(' + p[2] + ',KIND=16))' |
1491 | elif p[1] == 'complexconjugate': p[0] = 'conjg(CMPLX(' + p[2] + ',KIND=16))' |
1492 | elif p[1] == 'reglog': p[0] = 'mp_reglog(CMPLX(' + p[2] +',KIND=16))' |
1493 | + elif p[1] == 'reglogp': p[0] = 'mp_reglogp(CMPLX(' + p[2] + ',KIND=16))' |
1494 | + elif p[1] == 'reglogm': p[0] = 'mp_reglogm(CMPLX(' + p[2] + ',KIND=16))' |
1495 | |
1496 | def p_expression_real(self, p): |
1497 | ''' expression : expression RE2 ''' |
1498 | @@ -492,6 +521,10 @@ |
1499 | "expression : COND '(' expression ',' expression ',' expression ')'" |
1500 | p[0] = 'COND('+p[3]+','+p[5]+','+p[7]+')' |
1501 | |
1502 | + def p_expression_recms(self, p): |
1503 | + "expression : RECMS '(' boolexpression ',' expression ')'" |
1504 | + p[0] = 'RECMS('+p[3]+','+p[5]+')' |
1505 | + |
1506 | def p_expression_power(self, p): |
1507 | 'expression : expression POWER expression' |
1508 | p1=p[1] |
1509 | @@ -514,10 +547,12 @@ |
1510 | | TAN group |
1511 | | RE group |
1512 | | IM group |
1513 | - | ARG group |
1514 | + | ARG group |
1515 | | SQRT group |
1516 | | CONJ group |
1517 | - | REGLOG group ''' |
1518 | + | REGLOG group |
1519 | + | REGLOGP group |
1520 | + | REGLOGM group''' |
1521 | if p[1] == 'csc': p[0] = '1./cos' + p[2] |
1522 | elif p[1] == 'sec': p[0] = '1./sin' + p[2] |
1523 | elif p[1] == 'acsc': p[0] = 'asin(1./' + p[2] + ')' |
1524 | @@ -529,6 +564,8 @@ |
1525 | elif p[1] == 'cmath.sqrt' or p[1] == 'sqrt': p[0] = 'sqrt' + p[2] |
1526 | elif p[1] == 'complexconjugate': p[0] = 'conj' + p[2] |
1527 | elif p[1] == 'reglog': p[0] = 'reglog' + p[2] |
1528 | + elif p[1] == 'reglogp': p[0] = 'reglogp' + p[2] |
1529 | + elif p[1] == 'reglogm': p[0] = 'reglogm' + p[2] |
1530 | |
1531 | def p_expression_real(self, p): |
1532 | ''' expression : expression RE2 ''' |
1533 | @@ -652,6 +689,10 @@ |
1534 | "expression : COMPLEX '(' expression ',' expression ')'" |
1535 | p[0] = 'complex(' + p[3] + ',' + p[5] + ')' |
1536 | |
1537 | + def p_expression_recms(self, p): |
1538 | + "expression : RECMS '(' boolexpression ',' expression ')'" |
1539 | + p[0] = 'recms('+p[3]+','+p[5]+')' |
1540 | + |
1541 | def p_expression_func(self, p): |
1542 | '''expression : CSC group |
1543 | | SEC group |
1544 | @@ -663,7 +704,9 @@ |
1545 | | SQRT group |
1546 | | TAN group |
1547 | | CONJ group |
1548 | - | REGLOG group''' |
1549 | + | REGLOG group |
1550 | + | REGLOGP group |
1551 | + | REGLOGM group''' |
1552 | if p[1] == 'csc': p[0] = 'csc' + p[2] |
1553 | elif p[1] == 'sec': p[0] = 'sec' + p[2] |
1554 | elif p[1] == 'acsc': p[0] = 'acsc' + p[2] |
1555 | @@ -675,6 +718,8 @@ |
1556 | elif p[1] == 'cmath.sqrt' or p[1] == 'sqrt': p[0] = 'cmath.sqrt' + p[2] |
1557 | elif p[1] == 'complexconjugate': p[0] = 'complexconjugate' + p[2] |
1558 | elif p[1] == 'reglog': p[0] = 'reglog' + p[2] |
1559 | + elif p[1] == 'reglogp': p[0] = 'reglogp' + p[2] |
1560 | + elif p[1] == 'reglogm': p[0] = 'reglogm' + p[2] |
1561 | |
1562 | def p_expression_real(self, p): |
1563 | ''' expression : expression RE2 ''' |
1564 | |
1565 | === modified file 'madgraph/loop/loop_diagram_generation.py' |
1566 | --- madgraph/loop/loop_diagram_generation.py 2015-04-03 01:23:08 +0000 |
1567 | +++ madgraph/loop/loop_diagram_generation.py 2015-08-16 06:06:34 +0000 |
1568 | @@ -74,13 +74,13 @@ |
1569 | # subsequent diagram generation runs. |
1570 | self.lcutpartemployed=[] |
1571 | |
1572 | - def __init__(self, argument=None): |
1573 | + def __init__(self, argument=None, loop_filter=None): |
1574 | """Allow initialization with Process""" |
1575 | |
1576 | if isinstance(argument, base_objects.Process): |
1577 | super(LoopAmplitude, self).__init__() |
1578 | self.set('process', argument) |
1579 | - self.generate_diagrams() |
1580 | + self.generate_diagrams(loop_filter=loop_filter) |
1581 | elif argument != None: |
1582 | # call the mother routine |
1583 | super(LoopAmplitude, self).__init__(argument) |
1584 | @@ -345,17 +345,49 @@ |
1585 | logger.debug(("MadLoop discarded %i diagram%s because they appeared"+\ |
1586 | " to be zero because of Furry theorem.")%(n_discarded,'' if \ |
1587 | n_discarded<=1 else 's')) |
1588 | - |
1589 | - def user_filter(self, model, structs): |
1590 | + |
1591 | + @staticmethod |
1592 | + def get_loop_filter(filterdef): |
1593 | + """ Returns a function which applies the filter corresponding to the |
1594 | + conditional expression encoded in filterdef.""" |
1595 | + |
1596 | + def filter(diag, structs, model, id): |
1597 | + """ The filter function generated '%s'."""%filterdef |
1598 | + |
1599 | + loop_pdgs = diag.get_loop_lines_pdgs() |
1600 | + struct_pdgs = diag.get_pdgs_attached_to_loop(structs) |
1601 | + loop_masses = [model.get_particle(pdg).get('mass') for pdg in loop_pdgs] |
1602 | + struct_masses = [model.get_particle(pdg).get('mass') for pdg in struct_pdgs] |
1603 | + if not eval(filterdef.lower(),{'n':len(loop_pdgs), |
1604 | + 'loop_pdgs':loop_pdgs, |
1605 | + 'struct_pdgs':struct_pdgs, |
1606 | + 'loop_masses':loop_masses, |
1607 | + 'struct_masses':struct_masses, |
1608 | + 'id':id}): |
1609 | + return False |
1610 | + else: |
1611 | + return True |
1612 | + |
1613 | + return filter |
1614 | + |
1615 | + def user_filter(self, model, structs, filter=None): |
1616 | """ User-defined user-filter. By default it is not called, but the expert |
1617 | user can turn it on and code here is own filter. Some default examples |
1618 | are provided here. |
1619 | The tagging of the loop diagrams must be performed before using this |
1620 | user loop filter""" |
1621 | |
1622 | - # By default the user filter does nothing, if you want to turn it on |
1623 | - # and edit it then remove the print statement below. |
1624 | - return |
1625 | + # By default the user filter does nothing if filter is not set, |
1626 | + # if you want to turn it on and edit it by hand, then set the |
1627 | + # variable edit_filter_manually to True |
1628 | + edit_filter_manually = False |
1629 | + if not edit_filter_manually and filter in [None,'None']: |
1630 | + return |
1631 | + |
1632 | + if filter not in [None,'None']: |
1633 | + filter_func = LoopAmplitude.get_loop_filter(filter) |
1634 | + else: |
1635 | + filter_func = None |
1636 | |
1637 | new_diag_selection = base_objects.DiagramList() |
1638 | discarded_diags = base_objects.DiagramList() |
1639 | @@ -366,6 +398,14 @@ |
1640 | "make sure that the loop diagrams have been tagged first." |
1641 | valid_diag = True |
1642 | i=i+1 |
1643 | + |
1644 | + # Apply the custom filter specified if any |
1645 | + if filter_func: |
1646 | + try: |
1647 | + valid_diag = filter_func(diag, structs, model, i) |
1648 | + except Exception as e: |
1649 | + raise InvalidCmd("The user-defined filter '%s' did not"%filter+ |
1650 | + " returned the following error:\n > %s"%str(e)) |
1651 | # if any([abs(i)!=1000021 for i in diag.get_loop_lines_pdgs()]): |
1652 | # valid_diag=False |
1653 | |
1654 | @@ -427,9 +467,14 @@ |
1655 | discarded_diags.append(diag) |
1656 | |
1657 | self['loop_diagrams'] = new_diag_selection |
1658 | - warn_msg = """ |
1659 | + if filter in [None,'None']: |
1660 | + warn_msg = """ |
1661 | The user-defined loop diagrams filter is turned on and discarded %d loops."""\ |
1662 | %len(discarded_diags) |
1663 | + else: |
1664 | + warn_msg = """ |
1665 | + The loop diagrams filter '%s' is turned on and discarded %d loops."""\ |
1666 | + %(filter,len(discarded_diags)) |
1667 | logger.warning(warn_msg) |
1668 | |
1669 | def filter_loop_for_perturbative_orders(self): |
1670 | @@ -531,7 +576,7 @@ |
1671 | res.append('%s=*'%order) |
1672 | return ','.join(res) |
1673 | |
1674 | - def generate_diagrams(self): |
1675 | + def generate_diagrams(self, loop_filter=None): |
1676 | """ Generates all diagrams relevant to this Loop Process """ |
1677 | |
1678 | # Description of the algorithm to guess the leading contribution. |
1679 | @@ -808,7 +853,7 @@ |
1680 | # For expert only, you can edit your own filter by modifying the |
1681 | # user_filter() function which by default does nothing but in which you |
1682 | # will find examples of common filters. |
1683 | - self.user_filter(model,self['structure_repository']) |
1684 | + self.user_filter(model,self['structure_repository'], filter=loop_filter) |
1685 | |
1686 | # Now revert the squared order. This function typically adds to the |
1687 | # squared order list the target WEIGHTED order which has been detected. |
1688 | |
1689 | === modified file 'madgraph/various/lhe_parser.py' |
1690 | --- madgraph/various/lhe_parser.py 2015-08-03 16:13:26 +0000 |
1691 | +++ madgraph/various/lhe_parser.py 2015-08-16 06:06:34 +0000 |
1692 | @@ -219,8 +219,7 @@ |
1693 | self.len = nb_event |
1694 | self.seek(init_pos) |
1695 | return self.len |
1696 | - |
1697 | - |
1698 | + |
1699 | def next(self): |
1700 | """get next event""" |
1701 | text = '' |
1702 | |
1703 | === modified file 'madgraph/various/process_checks.py' |
1704 | --- madgraph/various/process_checks.py 2015-05-08 23:38:18 +0000 |
1705 | +++ madgraph/various/process_checks.py 2015-08-16 06:06:34 +0000 |
1706 | @@ -36,6 +36,7 @@ |
1707 | import time |
1708 | import datetime |
1709 | import errno |
1710 | +import pickle |
1711 | # If psutil becomes standard, the RAM check can be performed with it instead |
1712 | #import psutil |
1713 | |
1714 | @@ -47,6 +48,7 @@ |
1715 | import madgraph.iolibs.helas_call_writers as helas_call_writers |
1716 | import models.import_ufo as import_ufo |
1717 | import madgraph.iolibs.save_load_object as save_load_object |
1718 | +import madgraph.iolibs.file_writers as writers |
1719 | |
1720 | import madgraph.core.base_objects as base_objects |
1721 | import madgraph.core.color_algebra as color |
1722 | @@ -58,17 +60,20 @@ |
1723 | import madgraph.various.misc as misc |
1724 | import madgraph.various.progressbar as pbar |
1725 | import madgraph.various.banner as bannermod |
1726 | +import madgraph.various.progressbar as pbar |
1727 | |
1728 | import madgraph.loop.loop_diagram_generation as loop_diagram_generation |
1729 | import madgraph.loop.loop_helas_objects as loop_helas_objects |
1730 | import madgraph.loop.loop_base_objects as loop_base_objects |
1731 | +import models.check_param_card as check_param_card |
1732 | |
1733 | from madgraph.interface.madevent_interface import MadLoopInitializer |
1734 | - |
1735 | +from madgraph.interface.common_run_interface import AskforEditCard |
1736 | from madgraph import MG5DIR, InvalidCmd, MadGraph5Error |
1737 | |
1738 | from madgraph.iolibs.files import cp |
1739 | |
1740 | +import StringIO |
1741 | import models.model_reader as model_reader |
1742 | import aloha.template_files.wavefunctions as wavefunctions |
1743 | from aloha.template_files.wavefunctions import \ |
1744 | @@ -170,7 +175,8 @@ |
1745 | except MadGraph5Error: |
1746 | if isinstance(param_card, (str,file)): |
1747 | raise |
1748 | - logger.warning('param_card present in the event file not compatible. We will use the default one.') |
1749 | + logger.warning('param_card present in the event file not compatible.'+ |
1750 | + ' We will use the default one.') |
1751 | self.full_model.set_parameters_and_couplings() |
1752 | |
1753 | self.auth_skipping = auth_skipping |
1754 | @@ -288,11 +294,10 @@ |
1755 | # Export the matrix element to Python calls |
1756 | exporter = export_python.ProcessExporterPython(matrix_element, |
1757 | self.helas_writer) |
1758 | - |
1759 | try: |
1760 | matrix_methods = exporter.get_python_matrix_methods(\ |
1761 | gauge_check=gauge_check) |
1762 | - # print "I got matrix_methods=",str(matrix_methods.items()[0][1]) |
1763 | +# print "I got matrix_methods=",str(matrix_methods.items()[0][1]) |
1764 | except helas_call_writers.HelasWriterError, error: |
1765 | logger.info(error) |
1766 | return None |
1767 | @@ -317,14 +322,52 @@ |
1768 | m2 = data.smatrix(p,self.full_model) |
1769 | return {'m2': m2, output:getattr(data, output)} |
1770 | |
1771 | + @staticmethod |
1772 | + def pass_isolation_cuts(pmoms, ptcut=50.0, drcut=0.5): |
1773 | + """ Check whether the specified kinematic point passes isolation cuts |
1774 | + """ |
1775 | + |
1776 | + def Pt(pmom): |
1777 | + """ Computes the pt of a 4-momentum""" |
1778 | + return math.sqrt(pmom[1]**2+pmom[2]**2) |
1779 | + |
1780 | + def DeltaR(p1,p2): |
1781 | + """ Computes the DeltaR between two 4-momenta""" |
1782 | + # First compute pseudo-rapidities |
1783 | + p1_vec=math.sqrt(p1[1]**2+p1[2]**2+p1[3]**2) |
1784 | + p2_vec=math.sqrt(p2[1]**2+p2[2]**2+p2[3]**2) |
1785 | + eta1=0.5*math.log((p1_vec+p1[3])/(p1_vec-p1[3])) |
1786 | + eta2=0.5*math.log((p2_vec+p2[3])/(p2_vec-p2[3])) |
1787 | + # Then azimutal angle phi |
1788 | + phi1=math.atan2(p1[2],p1[1]) |
1789 | + phi2=math.atan2(p2[2],p2[1]) |
1790 | + dphi=abs(phi2-phi1) |
1791 | + # Take the wraparound factor into account |
1792 | + dphi=abs(abs(dphi-math.pi)-math.pi) |
1793 | + # Now return deltaR |
1794 | + return math.sqrt(dphi**2+(eta2-eta1)**2) |
1795 | + |
1796 | + for i, pmom in enumerate(pmoms[2:]): |
1797 | + # Pt > 50 GeV |
1798 | + if Pt(pmom)<ptcut: |
1799 | + return False |
1800 | + # Delta_R ij > 0.5 |
1801 | + for pmom2 in pmoms[3+i:]: |
1802 | + if DeltaR(pmom,pmom2)<drcut: |
1803 | + return False |
1804 | + return True |
1805 | + |
1806 | #=============================================================================== |
1807 | # Helper function get_momenta |
1808 | #=============================================================================== |
1809 | - def get_momenta(self, process, options=None): |
1810 | + def get_momenta(self, process, options=None, special_mass=None): |
1811 | """Get a point in phase space for the external states in the given |
1812 | process, with the CM energy given. The incoming particles are |
1813 | assumed to be oriented along the z axis, with particle 1 along the |
1814 | - positive z axis.""" |
1815 | + positive z axis. |
1816 | + For the CMS check, one must be able to chose the mass of the special |
1817 | + resonance particle with id = -1, and the special_mass option allows |
1818 | + to specify it.""" |
1819 | |
1820 | if not options: |
1821 | energy=1000 |
1822 | @@ -340,7 +383,7 @@ |
1823 | |
1824 | |
1825 | sorted_legs = sorted(process.get('legs'), lambda l1, l2:\ |
1826 | - l1.get('number') - l2.get('number')) |
1827 | + l1.get('number') - l2.get('number')) |
1828 | |
1829 | # If an events file is given use it for getting the momentum |
1830 | if events: |
1831 | @@ -371,17 +414,33 @@ |
1832 | nfinal = len(sorted_legs) - nincoming |
1833 | |
1834 | # Find masses of particles |
1835 | - mass_strings = [self.full_model.get_particle(l.get('id')).get('mass') \ |
1836 | - for l in sorted_legs] |
1837 | - mass = [self.full_model.get('parameter_dict')[m] for m in mass_strings] |
1838 | - mass = [m.real for m in mass] |
1839 | + mass = [] |
1840 | + for l in sorted_legs: |
1841 | + if l.get('id') != 0: |
1842 | + mass_string = self.full_model.get_particle(l.get('id')).get('mass') |
1843 | + mass.append(self.full_model.get('parameter_dict')[mass_string].real) |
1844 | + else: |
1845 | + if isinstance(special_mass, float): |
1846 | + mass.append(special_mass) |
1847 | + else: |
1848 | + raise Exception, "A 'special_mass' option must be specified"+\ |
1849 | + " in get_momenta when a leg with id=-10 is present (for CMS check)" |
1850 | #mass = [math.sqrt(m.real) for m in mass] |
1851 | |
1852 | |
1853 | |
1854 | - # Make sure energy is large enough for incoming and outgoing particles |
1855 | - energy = max(energy, sum(mass[:nincoming]) + 200., |
1856 | - sum(mass[nincoming:]) + 200.) |
1857 | + # Make sure energy is large enough for incoming and outgoing particles, |
1858 | +# # Keep the special_mass case separate to be sure that nothing interferes |
1859 | +# # with the regular usage of get_momenta. |
1860 | +# if not (any(l.get('id')==0 for l in sorted_legs) and \ |
1861 | +# isinstance(special_mass, float)): |
1862 | + energy = max(energy, sum(mass[:nincoming])*1.2,sum(mass[nincoming:])*1.2) |
1863 | +# else: |
1864 | +# incoming_mass = sum([mass[i] for i, leg in enumerate(sorted_legs) \ |
1865 | +# if leg.get('state') == False and leg.get('id')!=0]) |
1866 | +# outcoming_mass = sum([mass[i] for i, leg in enumerate(sorted_legs) \ |
1867 | +# if leg.get('state') == True and leg.get('id')!=0]) |
1868 | +# energy = max(energy, incoming_mass*1.2, outcoming_mass*1.2) |
1869 | |
1870 | if nfinal == 1: |
1871 | p = [] |
1872 | @@ -400,12 +459,9 @@ |
1873 | masses[i+1] = mass[nincoming + i] |
1874 | |
1875 | if nincoming == 1: |
1876 | - |
1877 | # Momenta for the incoming particle |
1878 | p.append([abs(m1), 0., 0., 0.]) |
1879 | - |
1880 | p_rambo, w_rambo = rambo.RAMBO(nfinal, abs(m1), masses) |
1881 | - |
1882 | # Reorder momenta from px,py,pz,E to E,px,py,pz scheme |
1883 | for i in range(1, nfinal+1): |
1884 | momi = [p_rambo[(4,i)], p_rambo[(1,i)], |
1885 | @@ -451,6 +507,7 @@ |
1886 | #=============================================================================== |
1887 | # Helper class LoopMatrixElementEvaluator |
1888 | #=============================================================================== |
1889 | + |
1890 | class LoopMatrixElementEvaluator(MatrixElementEvaluator): |
1891 | """Class taking care of matrix element evaluation for loop processes.""" |
1892 | |
1893 | @@ -652,16 +709,16 @@ |
1894 | raise Exception, 'The MadLoop options %s specified in function'%key+\ |
1895 | ' fix_MadLoopParamCard does not correspond to an option defined'+\ |
1896 | ' MadLoop nor is it specially handled in this function.' |
1897 | - |
1898 | - MLCard.set('CTModeRun',mode) |
1899 | - MLCard.set('CTModeInit',mode) |
1900 | + if not mode is None: |
1901 | + MLCard.set('CTModeRun',mode) |
1902 | + MLCard.set('CTModeInit',mode) |
1903 | MLCard.set('UseLoopFilter',loop_filter) |
1904 | MLCard.set('DoubleCheckHelicityFilter',DoubleCheckHelicityFilter) |
1905 | MLCard.write(pjoin(dir_name,os.pardir,'SubProcesses','MadLoopParams.dat')) |
1906 | |
1907 | @classmethod |
1908 | - def get_me_value(cls, proc, proc_id, working_dir, PSpoint=[], \ |
1909 | - PS_name = None, verbose=True): |
1910 | + def get_me_value(cls, proc, proc_id, working_dir, PSpoint=[], PS_name = None, |
1911 | + verbose=True, format='tuple', skip_compilation=False): |
1912 | """Compile and run ./check, then parse the output and return the result |
1913 | for process with id = proc_id and PSpoint if specified. |
1914 | If PS_name is not none the written out PS.input will be saved in |
1915 | @@ -684,23 +741,24 @@ |
1916 | if verbose: logging.debug("Working on process %s in dir %s" % (proc, shell_name)) |
1917 | |
1918 | dir_name = pjoin(working_dir, 'SubProcesses', shell_name) |
1919 | - # Make sure to recreate the executable and modified sources |
1920 | - if os.path.isfile(pjoin(dir_name,'check')): |
1921 | - os.remove(pjoin(dir_name,'check')) |
1922 | - try: |
1923 | - os.remove(pjoin(dir_name,'check_sa.o')) |
1924 | - os.remove(pjoin(dir_name,'loop_matrix.o')) |
1925 | - except OSError: |
1926 | - pass |
1927 | - # Now run make |
1928 | - devnull = open(os.devnull, 'w') |
1929 | - retcode = subprocess.call(['make','check'], |
1930 | - cwd=dir_name, stdout=devnull, stderr=devnull) |
1931 | - devnull.close() |
1932 | - |
1933 | - if retcode != 0: |
1934 | - logging.info("Error while executing make in %s" % shell_name) |
1935 | - return ((0.0, 0.0, 0.0, 0.0, 0), []) |
1936 | + if not skip_compilation: |
1937 | + # Make sure to recreate the executable and modified sources |
1938 | + if os.path.isfile(pjoin(dir_name,'check')): |
1939 | + os.remove(pjoin(dir_name,'check')) |
1940 | + try: |
1941 | + os.remove(pjoin(dir_name,'check_sa.o')) |
1942 | + os.remove(pjoin(dir_name,'loop_matrix.o')) |
1943 | + except OSError: |
1944 | + pass |
1945 | + # Now run make |
1946 | + devnull = open(os.devnull, 'w') |
1947 | + retcode = subprocess.call(['make','check'], |
1948 | + cwd=dir_name, stdout=devnull, stderr=devnull) |
1949 | + devnull.close() |
1950 | + |
1951 | + if retcode != 0: |
1952 | + logging.info("Error while executing make in %s" % shell_name) |
1953 | + return ((0.0, 0.0, 0.0, 0.0, 0), []) |
1954 | |
1955 | # If a PS point is specified, write out the corresponding PS.input |
1956 | if PSpoint: |
1957 | @@ -719,7 +777,7 @@ |
1958 | output.close() |
1959 | if os.path.exists(pjoin(dir_name,'result.dat')): |
1960 | return cls.parse_check_output(file(pjoin(dir_name,\ |
1961 | - 'result.dat')),format='tuple') |
1962 | + 'result.dat')),format=format) |
1963 | else: |
1964 | logging.warning("Error while looking for file %s"%str(os.path\ |
1965 | .join(dir_name,'result.dat'))) |
1966 | @@ -767,6 +825,8 @@ |
1967 | continue |
1968 | elif splitline[0]=='PS': |
1969 | res_p.append([float(s) for s in splitline[1:]]) |
1970 | + elif splitline[0]=='ASO2PI': |
1971 | + res_dict['alphaS_over_2pi']=float(splitline[1]) |
1972 | elif splitline[0]=='BORN': |
1973 | res_dict['born']=float(splitline[1]) |
1974 | elif splitline[0]=='FIN': |
1975 | @@ -809,6 +869,122 @@ |
1976 | else: |
1977 | return res_dict |
1978 | |
1979 | + @staticmethod |
1980 | + def apply_log_tweak(proc_path, mode): |
1981 | + """ Changes the file model_functions.f in the SOURCE of the process output |
1982 | + so as to change how logarithms are analytically continued and see how |
1983 | + it impacts the CMS check.""" |
1984 | + valid_modes = ['default','recompile'] |
1985 | + if not (mode in valid_modes or (isinstance(mode, list) and |
1986 | + len(mode)==2 and all(m in ['logp','logm','log'] for m in mode))): |
1987 | + raise MadGraph5Error("Mode '%s' not reckonized"%mode+ |
1988 | + " in function apply_log_tweak.") |
1989 | + |
1990 | + model_path = pjoin(proc_path,'Source','MODEL') |
1991 | + directories = glob.glob(pjoin(proc_path,'SubProcesses','P0_*')) |
1992 | + if directories and os.path.isdir(directories[0]): |
1993 | + exe_path = directories[0] |
1994 | + else: |
1995 | + raise MadGraph5Error, 'Could not find a process executable '+\ |
1996 | + 'directory in %s'%proc_dir |
1997 | + bu_path = pjoin(model_path, 'model_functions.f__backUp__') |
1998 | + |
1999 | + if mode=='default': |
2000 | + # Restore the default source file model_function.f |
2001 | + if not os.path.isfile(bu_path): |
2002 | + raise MadGraph5Error, 'Back up file %s could not be found.'%bu_path |
2003 | + shutil.move(bu_path, pjoin(model_path, 'model_functions.f')) |
2004 | + return |
2005 | + |
2006 | + if mode=='recompile': |
2007 | + try: |
2008 | + os.remove(pjoin(model_path,'model_functions.o')) |
2009 | + os.remove(pjoin(proc_path,'lib','libmodel.a')) |
2010 | + except: |
2011 | + pass |
2012 | + misc.compile(cwd=model_path) |
2013 | + # Remove the executable to insure proper recompilation |
2014 | + try: |
2015 | + os.remove(pjoin(exe_path,'check')) |
2016 | + except: |
2017 | + pass |
2018 | + misc.compile(arg=['check'], cwd=exe_path) |
2019 | + return |
2020 | + |
2021 | + if mode[0]==mode[1]: |
2022 | + return |
2023 | + |
2024 | + # Now change the logs |
2025 | + mp_prefix = 'MP_' |
2026 | + target_line = 'FUNCTION %%sREG%s(ARG)'%mode[0].lower() |
2027 | + |
2028 | + # Make sure to create a backup |
2029 | + if not os.path.isfile(bu_path): |
2030 | + shutil.copy(pjoin(model_path, 'model_functions.f'), bu_path) |
2031 | + model_functions = open(pjoin(model_path,'model_functions.f'),'r') |
2032 | + |
2033 | + new_model_functions = [] |
2034 | + has_replaced = False |
2035 | + just_replaced = False |
2036 | + find_one_replacement= False |
2037 | + mp_mode = None |
2038 | + suffix = {'log':'','logp':r'\s*\+\s*TWOPII','logm':r'\s*\-\s*TWOPII'} |
2039 | + replace_regex=r'^\s*%%sREG%s\s*=\s*LOG\(ARG\)%s'%(mode[0],suffix[mode[0]]) |
2040 | + for line in model_functions: |
2041 | + # Make sure to skip split lines after the replacement |
2042 | + if just_replaced: |
2043 | + if not re.match(r'\s{6}', line): |
2044 | + continue |
2045 | + else: |
2046 | + just_replaced = False |
2047 | + if mp_mode is None: |
2048 | + # We are looking for the start of the function |
2049 | + new_model_functions.append(line) |
2050 | + if (target_line%mp_prefix).lower() in line.lower(): |
2051 | + mp_mode = mp_prefix |
2052 | + elif (target_line%'').lower() in line.lower(): |
2053 | + mp_mode = '' |
2054 | + else: |
2055 | + # Now apply the substitution |
2056 | + if not has_replaced and re.match(replace_regex%mp_mode,line, |
2057 | + re.IGNORECASE): |
2058 | + # Apply the replacement |
2059 | + if mode[0]=='log': |
2060 | + if mp_mode=='': |
2061 | + new_line =\ |
2062 | +""" if(dble(arg).lt.0.0d0.and.dimag(arg).gt.0.0d0)then |
2063 | + reg%s=log(arg) %s TWOPII |
2064 | + else |
2065 | + reg%s=log(arg) |
2066 | + endif\n"""%(mode[0],'+' if mode[1]=='logp' else '-',mode[0]) |
2067 | + else: |
2068 | + new_line =\ |
2069 | +""" if(real(arg,kind=16).lt.0.0e0_16.and.imagpart(arg).lt.0.0e0_16)then |
2070 | + mp_reg%s=log(arg) %s TWOPII |
2071 | + else |
2072 | + mp_reg%s=log(arg) |
2073 | + endif\n"""%(mode[0],'+' if mode[1]=='logp' else '-',mode[0]) |
2074 | + else: |
2075 | + new_line = ' '*6+"%sreg%s=log(arg) %s\n"%(mp_mode,mode[0], |
2076 | + ('' if mode[1]=='log' else ('+TWOPII' if mode[1]=='logp' else '-TWOPII'))) |
2077 | + new_model_functions.append(new_line) |
2078 | + just_replaced = True |
2079 | + has_replaced = True |
2080 | + find_one_replacement = True |
2081 | + else: |
2082 | + new_model_functions.append(line) |
2083 | + if re.match(r'^\s*END\s*$',line,re.IGNORECASE): |
2084 | + mp_mode = None |
2085 | + has_replaced = False |
2086 | + |
2087 | + if not find_one_replacement: |
2088 | + logger.warning('No replacement was found/performed for token '+ |
2089 | + "'%s->%s'."%(mode[0],mode[1])) |
2090 | + else: |
2091 | + open(pjoin(model_path,'model_functions.f'),'w').\ |
2092 | + write(''.join(new_model_functions)) |
2093 | + return |
2094 | + |
2095 | def setup_ward_check(self, working_dir, file_names, mp = False): |
2096 | """ Modify loop_matrix.f so to have one external massless gauge boson |
2097 | polarization vector turned into its momentum. It is not a pretty and |
2098 | @@ -924,7 +1100,7 @@ |
2099 | file.close() |
2100 | |
2101 | def setup_process(self, matrix_element, export_dir, reusing = False, |
2102 | - param_card = None,MLOptions={},clean=True): |
2103 | + param_card = None, MLOptions={},clean=True): |
2104 | """ Output the matrix_element in argument and perform the initialization |
2105 | while providing some details about the output in the dictionary returned. |
2106 | Returns None if anything fails""" |
2107 | @@ -993,8 +1169,8 @@ |
2108 | else: |
2109 | param_card.write(pjoin(export_dir,'Cards','param_card.dat')) |
2110 | |
2111 | - # First Initialize filters (in later versions where this will be done |
2112 | - # at generation time, it can be skipped) |
2113 | + # First Initialize filters (in later versions where this will hopefully |
2114 | + # be done at generation time, then it will be able to skip it) |
2115 | MadLoopInitializer.fix_PSPoint_in_check(pjoin(export_dir,'SubProcesses'), |
2116 | read_ps = False, npoints = 4) |
2117 | self.fix_MadLoopParamCard(pjoin(export_dir,'Cards'), |
2118 | @@ -1225,45 +1401,16 @@ |
2119 | raise MadGraph5Error("Rotation id %i not implemented"%rotation) |
2120 | |
2121 | return '\n'.join([' '.join(['%.16E'%pi for pi in p]) for p in p_out]) |
2122 | - |
2123 | + |
2124 | def pick_PS_point(proc, options): |
2125 | """ Randomly generate a PS point and make sure it is eligible. Then |
2126 | return it. Users can edit the cuts here if they want.""" |
2127 | - def Pt(pmom): |
2128 | - """ Computes the pt of a 4-momentum""" |
2129 | - return math.sqrt(pmom[1]**2+pmom[2]**2) |
2130 | - def DeltaR(p1,p2): |
2131 | - """ Computes the DeltaR between two 4-momenta""" |
2132 | - # First compute pseudo-rapidities |
2133 | - p1_vec=math.sqrt(p1[1]**2+p1[2]**2+p1[3]**2) |
2134 | - p2_vec=math.sqrt(p2[1]**2+p2[2]**2+p2[3]**2) |
2135 | - eta1=0.5*math.log((p1_vec+p1[3])/(p1_vec-p1[3])) |
2136 | - eta2=0.5*math.log((p2_vec+p2[3])/(p2_vec-p2[3])) |
2137 | - # Then azimutal angle phi |
2138 | - phi1=math.atan2(p1[2],p1[1]) |
2139 | - phi2=math.atan2(p2[2],p2[1]) |
2140 | - dphi=abs(phi2-phi1) |
2141 | - # Take the wraparound factor into account |
2142 | - dphi=abs(abs(dphi-math.pi)-math.pi) |
2143 | - # Now return deltaR |
2144 | - return math.sqrt(dphi**2+(eta2-eta1)**2) |
2145 | |
2146 | - def pass_cuts(p): |
2147 | - """ Defines the cut a PS point must pass""" |
2148 | - for i, pmom in enumerate(p[2:]): |
2149 | - # Pt > 50 GeV |
2150 | - if Pt(pmom)<50.0: |
2151 | - return False |
2152 | - # Delta_R ij > 0.5 |
2153 | - for pmom2 in p[3+i:]: |
2154 | - if DeltaR(pmom,pmom2)<0.5: |
2155 | - return False |
2156 | - return True |
2157 | p, w_rambo = self.get_momenta(proc, options) |
2158 | if options['events']: |
2159 | return p |
2160 | # For 2>1 process, we don't check the cuts of course |
2161 | - while (not pass_cuts(p) and len(p)>3): |
2162 | + while (not pass_isolation_cuts(p) and len(p)>3): |
2163 | p, w_rambo = self.get_momenta(proc, options) |
2164 | |
2165 | # For a 2>1 process, it would always be the same PS point, |
2166 | @@ -1796,13 +1943,30 @@ |
2167 | # Generate a loop matrix element |
2168 | #=============================================================================== |
2169 | def generate_loop_matrix_element(process_definition, reuse, output_path=None, |
2170 | - cmd = FakeInterface()): |
2171 | + cmd = FakeInterface(), proc_name=None, loop_filter=None): |
2172 | """ Generate a loop matrix element from the process definition, and returns |
2173 | it along with the timing information dictionary. |
2174 | - If reuse is True, it reuses the already output directory if found.""" |
2175 | + If reuse is True, it reuses the already output directory if found. |
2176 | + There is the possibility of specifying the proc_name.""" |
2177 | |
2178 | - assert isinstance(process_definition,base_objects.ProcessDefinition) |
2179 | + assert isinstance(process_definition, |
2180 | + (base_objects.ProcessDefinition,base_objects.Process)) |
2181 | assert process_definition.get('perturbation_couplings')!=[] |
2182 | + |
2183 | + if isinstance(process_definition,base_objects.ProcessDefinition): |
2184 | + if any(len(l.get('ids'))>1 for l in process_definition.get('legs')): |
2185 | + raise InvalidCmd("This check can only be performed on single "+ |
2186 | + " processes. (i.e. without multiparticle labels).") |
2187 | + |
2188 | + isids = [leg.get('ids')[0] for leg in process_definition.get('legs') \ |
2189 | + if not leg.get('state')] |
2190 | + fsids = [leg.get('ids')[0] for leg in process_definition.get('legs') \ |
2191 | + if leg.get('state')] |
2192 | + |
2193 | + # Now generate a process based on the ProcessDefinition given in argument. |
2194 | + process = process_definition.get_process(isids,fsids) |
2195 | + else: |
2196 | + process = process_definition |
2197 | |
2198 | if not output_path is None: |
2199 | root_path = output_path |
2200 | @@ -1815,20 +1979,11 @@ |
2201 | 'n_loop_groups': None, |
2202 | 'n_loop_wfs': None, |
2203 | 'loop_wfs_ranks': None} |
2204 | - |
2205 | - if any(len(l.get('ids'))>1 for l in process_definition.get('legs')): |
2206 | - raise InvalidCmd("This check can only be performed on single "+ |
2207 | - " processes. (i.e. without multiparticle labels).") |
2208 | - |
2209 | - isids = [leg.get('ids')[0] for leg in process_definition.get('legs') \ |
2210 | - if not leg.get('state')] |
2211 | - fsids = [leg.get('ids')[0] for leg in process_definition.get('legs') \ |
2212 | - if leg.get('state')] |
2213 | - |
2214 | - # Now generate a process based on the ProcessDefinition given in argument. |
2215 | - process = process_definition.get_process(isids,fsids) |
2216 | - |
2217 | - proc_dir = pjoin(root_path,"SAVED"+temp_dir_prefix+"_%s"%( |
2218 | + |
2219 | + if proc_name: |
2220 | + proc_dir = pjoin(root_path,proc_name) |
2221 | + else: |
2222 | + proc_dir = pjoin(root_path,"SAVED"+temp_dir_prefix+"_%s"%( |
2223 | '_'.join(process.shell_string().split('_')[1:]))) |
2224 | if reuse and os.path.isdir(proc_dir): |
2225 | logger.info("Reusing directory %s"%str(proc_dir)) |
2226 | @@ -1838,7 +1993,17 @@ |
2227 | logger.info("Generating p%s"%process_definition.nice_string()[1:]) |
2228 | |
2229 | start=time.time() |
2230 | - amplitude = loop_diagram_generation.LoopAmplitude(process) |
2231 | + try: |
2232 | + amplitude = loop_diagram_generation.LoopAmplitude(process, |
2233 | + loop_filter=loop_filter) |
2234 | + except InvalidCmd: |
2235 | + # An error about the sanity of the process can be thrown, in which case |
2236 | + # we return nothing |
2237 | + return time.time()-start, None |
2238 | + if not amplitude.get('diagrams'): |
2239 | + # Not matrix eleemnt for this process |
2240 | + return time.time()-start, None |
2241 | + |
2242 | # Make sure to disable loop_optimized_output when considering loop induced |
2243 | # processes |
2244 | loop_optimized_output = cmd.options['loop_optimized_output'] |
2245 | @@ -1865,7 +2030,7 @@ |
2246 | timing['loop_wfs_ranks'].append(\ |
2247 | len([1 for l in lwfs if \ |
2248 | l.get_analytic_info('wavefunction_rank')==rank])) |
2249 | - |
2250 | + |
2251 | return timing, matrix_element |
2252 | |
2253 | #=============================================================================== |
2254 | @@ -1932,7 +2097,6 @@ |
2255 | keep_folder = reuse |
2256 | model=process_definition.get('model') |
2257 | |
2258 | - |
2259 | timing, matrix_element = generate_loop_matrix_element(process_definition, |
2260 | reuse, output_path=output_path, cmd=cmd) |
2261 | reusing = isinstance(matrix_element, base_objects.Process) |
2262 | @@ -3155,7 +3319,7 @@ |
2263 | # Generate the HelasMatrixElement for the process |
2264 | if not isinstance(amplitude, loop_diagram_generation.LoopAmplitude): |
2265 | matrix_element = helas_objects.HelasMatrixElement(amplitude, |
2266 | - gen_color = True) |
2267 | + gen_color = True) |
2268 | else: |
2269 | matrix_element = loop_helas_objects.LoopHelasMatrixElement(amplitude, |
2270 | optimized_output = evaluator.loop_optimized_output) |
2271 | @@ -3336,6 +3500,1148 @@ |
2272 | else: |
2273 | raise InvalidCmd("processes is of non-supported format") |
2274 | |
2275 | +#=============================================================================== |
2276 | +# check_cms |
2277 | +#=============================================================================== |
2278 | +def check_complex_mass_scheme(process_line, param_card=None, cuttools="",tir={}, |
2279 | + cmd = FakeInterface(), output_path=None, MLOptions = {}, options={}): |
2280 | + """Check complex mass scheme consistency in the offshell region of s-channels |
2281 | + detected for this process, by varying the expansion paramer consistently |
2282 | + with the corresponding width and making sure that the difference between |
2283 | + the complex mass-scheme and the narrow-width approximation is higher order. |
2284 | + """ |
2285 | + |
2286 | + if not isinstance(process_line, str): |
2287 | + raise InvalidCmd("Proces definition must be given as a stirng for this check") |
2288 | + |
2289 | + # Generate a list of unique processes in the NWA scheme |
2290 | + cmd.do_set('complex_mass_scheme False', log=False) |
2291 | + #cmd.do_import('model loop_qcd_qed_sm-NWA') |
2292 | + multiprocess_nwa = cmd.extract_process(process_line) |
2293 | + |
2294 | + # Change the option 'recompute_width' to the optimal value if set to 'auto'. |
2295 | + has_FRdecay = os.path.isfile(pjoin(cmd._curr_model.get('modelpath'), |
2296 | + 'decays.py')) |
2297 | + |
2298 | + if options['recompute_width']=='auto': |
2299 | + if multiprocess_nwa.get('perturbation_couplings')!=[]: |
2300 | + # NLO, so it is necessary to have the correct LO width for the check |
2301 | + options['recompute_width'] = 'first_time' |
2302 | + else: |
2303 | + options['recompute_width'] = 'never' |
2304 | + |
2305 | + # Some warnings |
2306 | + if options['recompute_width'] in ['first_time', 'always'] and \ |
2307 | + not has_FRdecay and not 'cached_widths' in options: |
2308 | + logger.info('The LO widths will need to be recomputed but the '+ |
2309 | + 'model considered does not appear to have a decay module.\nThe widths'+ |
2310 | + ' will need to be computed numerically and it will slow down the test.\n'+ |
2311 | + 'Consider using a param_card already specifying correct LO widths and'+ |
2312 | + " adding the option --recompute_width=never when doing this check.") |
2313 | + |
2314 | + if options['recompute_width']=='never' and \ |
2315 | + any(order in multiprocess_nwa.get('perturbation_couplings') for order in |
2316 | + options['expansion_orders']): |
2317 | + logger.warning('You chose not to recompute the widths while including'+ |
2318 | + ' loop corrections. The check will be successful only if the width'+\ |
2319 | + ' specified in the default param_card is LO accurate (Remember that'+\ |
2320 | + ' the default values of alpha_s and awem1 are set to 0.1 and 10.0'+\ |
2321 | + ' respectively by default).') |
2322 | + |
2323 | + # Reload the model including the decay.py to have efficient MadWidth if |
2324 | + # possible (this model will be directly given to MadWidth. Notice that |
2325 | + # this will not be needed for the CMS run because MadWidth is not supposed |
2326 | + # to be used there (the widths should be recycled from those of the NWA run). |
2327 | + if options['recompute_width'] in ['first_time', 'always'] and has_FRdecay: |
2328 | + modelname = cmd._curr_model.get('modelpath+restriction') |
2329 | + with misc.MuteLogger(['madgraph'], ['INFO']): |
2330 | + model = import_ufo.import_model(modelname, decay=True, |
2331 | + complex_mass_scheme=False) |
2332 | + multiprocess_nwa.set('model', model) |
2333 | + |
2334 | + run_options = copy.deepcopy(options) |
2335 | + |
2336 | + # Set the seed if chosen by user |
2337 | + if options['seed'] > 0: |
2338 | + random.seed(options['seed']) |
2339 | + |
2340 | + # Add useful entries |
2341 | + run_options['param_card'] = param_card |
2342 | + if isinstance(cmd, FakeInterface): |
2343 | + raise MadGraph5Error, "Check CMS cannot be run with a FakeInterface." |
2344 | + run_options['cmd'] = cmd |
2345 | + run_options['MLOptions'] = MLOptions |
2346 | + if output_path: |
2347 | + run_options['output_path'] = output_path |
2348 | + else: |
2349 | + run_options['output_path'] = cmd._mgme_dir |
2350 | + |
2351 | + # Add the information regarding FR decay for optimal log information |
2352 | + run_options['has_FRdecay'] = has_FRdecay |
2353 | + |
2354 | + # And one for caching the widths computed along the way |
2355 | + if 'cached_widths' not in run_options: |
2356 | + run_options['cached_widths'] = {} |
2357 | + # Cached param_cards, first is param_card instance, second is |
2358 | + # param_name dictionary |
2359 | + run_options['cached_param_card'] = {'NWA':[None,None],'CMS':[None,None]} |
2360 | + |
2361 | + if options['tweak']['name']: |
2362 | + logger.info("Now running the CMS check for tweak '%s'"\ |
2363 | + %options['tweak']['name']) |
2364 | + |
2365 | + model = multiprocess_nwa.get('model') |
2366 | + # Make sure all masses are defined as external |
2367 | + for particle in model.get('particles'): |
2368 | + mass_param = model.get_parameter(particle.get('mass')) |
2369 | + if particle.get('mass')!='ZERO' and 'external' not in mass_param.depend: |
2370 | + if model.get('name') not in ['sm','loop_sm']: |
2371 | + logger.warning("The mass '%s' of particle '%s' is not an external"%\ |
2372 | + (model.get_parameter(particle.get('mass')).name,particle.get('name'))+\ |
2373 | + " parameter as required by this check. \nMG5_aMC will try to"+\ |
2374 | + " modify the model to remedy the situation. No guarantee.") |
2375 | + status = model.change_electroweak_mode(set(['mz','mw','alpha'])) |
2376 | + if not status: |
2377 | + raise InvalidCmd('The EW scheme could apparently not be changed'+\ |
2378 | + ' so as to have the W-boson mass external. The check cannot'+\ |
2379 | + ' proceed.') |
2380 | + break |
2381 | + |
2382 | + veto_orders = [order for order in model.get('coupling_orders') if \ |
2383 | + order not in options['expansion_orders']] |
2384 | + if len(veto_orders)>0: |
2385 | + logger.warning('You did not define any parameter scaling rule for the'+\ |
2386 | + " coupling orders %s. They will be "%','.join(veto_orders))+\ |
2387 | + "forced to zero in the tests. Consider adding the scaling rule to"+\ |
2388 | + "avoid this. (see option '--cms' in 'help check')" |
2389 | + for order in veto_orders: |
2390 | + multiprocess_nwa.get('orders')[order]==0 |
2391 | + multiprocess_nwa.set('perturbation_couplings', [order for order in |
2392 | + multiprocess_nwa['perturbation_couplings'] if order not in veto_orders]) |
2393 | + |
2394 | + if multiprocess_nwa.get('perturbation_couplings')==[]: |
2395 | + evaluator = MatrixElementEvaluator(model, param_card, |
2396 | + cmd=cmd,auth_skipping = False, reuse = True) |
2397 | + else: |
2398 | + evaluator = LoopMatrixElementTimer(cuttools_dir=cuttools,tir_dir=tir, |
2399 | + cmd=cmd, model=model, |
2400 | + param_card=param_card, |
2401 | + auth_skipping = False, |
2402 | + output_path=output_path, |
2403 | + reuse = False) |
2404 | + |
2405 | + cached_information = [] |
2406 | + output_nwa = run_multiprocs_no_crossings(check_complex_mass_scheme_process, |
2407 | + multiprocess_nwa, |
2408 | + evaluator, |
2409 | + # This empty list 'opt' will be passed to the check_complex_mass_scheme_process |
2410 | + # function which will fill it with the specification of the particle for which |
2411 | + # the the complex mass scheme must be checked. The fact that it is a list |
2412 | + # at this stage tells the function check_complex_mass_scheme_process that |
2413 | + # we are doing nwa. It will then be converted to a dictionary when doing cms. |
2414 | + opt = cached_information, |
2415 | + options=run_options) |
2416 | + |
2417 | + # Make sure to start from fresh for LO runs |
2418 | + clean_added_globals(ADDED_GLOBAL) |
2419 | + |
2420 | + # Generate a list of unique processes in the CMS scheme |
2421 | + cmd.do_set('complex_mass_scheme True', log=False) |
2422 | + #cmd.do_import('model loop_qcd_qed_sm__CMS__-CMS') |
2423 | + |
2424 | + multiprocess_cms = cmd.extract_process(process_line) |
2425 | + model = multiprocess_cms.get('model') |
2426 | + # Apply veto |
2427 | + if len(veto_orders)>0: |
2428 | + for order in veto_orders: |
2429 | + multiprocess_cms.get('orders')[order]==0 |
2430 | + multiprocess_cms.set('perturbation_couplings', [order for order in |
2431 | + multiprocess_cms['perturbation_couplings'] if order not in veto_orders]) |
2432 | + |
2433 | + if multiprocess_cms.get('perturbation_couplings')==[]: |
2434 | + evaluator = MatrixElementEvaluator(model, param_card, |
2435 | + cmd=cmd,auth_skipping = False, reuse = True) |
2436 | + else: |
2437 | + evaluator = LoopMatrixElementTimer(cuttools_dir=cuttools,tir_dir=tir, |
2438 | + cmd=cmd, model=model, |
2439 | + param_card=param_card, |
2440 | + auth_skipping = False, |
2441 | + output_path=output_path, |
2442 | + reuse = False) |
2443 | + |
2444 | + output_cms = run_multiprocs_no_crossings(check_complex_mass_scheme_process, |
2445 | + multiprocess_cms, |
2446 | + evaluator, |
2447 | + # We now substituted the cached information |
2448 | + opt = dict(cached_information), |
2449 | + options=run_options) |
2450 | + |
2451 | + if multiprocess_cms.get('perturbation_couplings')!=[] and not options['reuse']: |
2452 | + # Clean temporary folders created for the running of the loop processes |
2453 | + clean_up(output_path) |
2454 | + |
2455 | + # Now reformat a bit the output by putting the CMS and NWA results together |
2456 | + # as values of a dictionary with the process name as key. |
2457 | + # Also a 'processes_order' to list all processes in their order of appearance |
2458 | + result = {'ordered_processes':[],'lambdaCMS':options['lambdaCMS']} |
2459 | + # Recall what perturbation orders were used |
2460 | + result['perturbation_orders']=multiprocess_nwa.get('perturbation_couplings') |
2461 | + for i, proc_res in enumerate(output_nwa): |
2462 | + result['ordered_processes'].append(proc_res[0]) |
2463 | + result[proc_res[0]] = { |
2464 | + 'NWA':proc_res[1]['resonances_result'], |
2465 | + 'CMS':output_cms[i][1]['resonances_result'], |
2466 | + 'born_order':proc_res[1]['born_order'], |
2467 | + 'loop_order':proc_res[1]['loop_order']} |
2468 | + |
2469 | + # As an optimization we propagate the widths as they could be reused when |
2470 | + # using several tweaks |
2471 | + options['cached_widths'] = run_options['cached_widths'] |
2472 | + |
2473 | + # Add widths information to the result |
2474 | + result['recompute_width'] = options['recompute_width'] |
2475 | + result['has_FRdecay'] = has_FRdecay |
2476 | + result['widths_computed'] = [] |
2477 | + cached_widths = sorted(options['cached_widths'].items(), key=lambda el: \ |
2478 | + abs(el[0][0])) |
2479 | + for (pdg, lambda_value), width in cached_widths: |
2480 | + if lambda_value != 1.0: |
2481 | + continue |
2482 | + result['widths_computed'].append((model.get_particle(pdg).get_name(), |
2483 | + width)) |
2484 | + |
2485 | + # Make sure to clear the python ME definitions generated in LO runs |
2486 | + clean_added_globals(ADDED_GLOBAL) |
2487 | + |
2488 | + return result |
2489 | + |
2490 | + |
2491 | +# Check CMS for a given process |
2492 | +def check_complex_mass_scheme_process(process, evaluator, opt = [], |
2493 | + options=None): |
2494 | + """Check CMS for the process in argument. The options 'opt' is quite important. |
2495 | + When opt is a list, it means that we are doing NWA and we are filling the |
2496 | + list with the following tuple |
2497 | + ('proc_name',({'ParticlePDG':ParticlePDG, |
2498 | + 'FinalStateMothersNumbers':set([]), |
2499 | + 'PS_point_used':[]},...)) |
2500 | + When opt is a dictionary, we are in the CMS mode and it will be reused then. |
2501 | + """ |
2502 | + |
2503 | + # a useful logical to check if we are in LO (python on the flight) or |
2504 | + # NLO (output and compilation) mode |
2505 | + NLO = process.get('perturbation_couplings') != [] |
2506 | + |
2507 | + def glue_momenta(production, decay): |
2508 | + """ Merge together the kinematics for the production of particle |
2509 | + positioned last in the 'production' array with the 1>N 'decay' kinematic' |
2510 | + provided where the decay particle is first.""" |
2511 | + |
2512 | + from MadSpin.decay import momentum |
2513 | + |
2514 | + full = production[:-1] |
2515 | + |
2516 | + # Consistency check: |
2517 | + # target = production[decay_number-1] |
2518 | + # boosted = momentum(decay[0][0],decay[0][1],decay[0][2],decay[0][3]) |
2519 | + # print 'Consistency check ',target==boosted |
2520 | + for p in decay[1:]: |
2521 | + bp = momentum(*p).boost(momentum(*production[-1])) |
2522 | + full.append([bp.E,bp.px,bp.py,bp.pz]) |
2523 | + |
2524 | + return full |
2525 | + |
2526 | + def find_resonances(diagrams): |
2527 | + """ Find all the resonances in the matrix element in argument """ |
2528 | + |
2529 | + model = process['model'] |
2530 | + resonances_found = [] |
2531 | + |
2532 | + for ll, diag in enumerate(diagrams): |
2533 | + for amp in diag.get('amplitudes'): |
2534 | + # 0 specifies the PDG given to the fake s-channels from |
2535 | + # vertices with more than four legs |
2536 | + s_channels, t_channels = amp.\ |
2537 | + get_s_and_t_channels(process.get_ninitial(), model, 0) |
2538 | + # The s-channel are given from the outmost ones going inward as |
2539 | + # vertices, so we must replace parent legs with the outermost ones |
2540 | + replacement_dict = {} |
2541 | + for s_channel in s_channels: |
2542 | + new_resonance = { |
2543 | + 'ParticlePDG':s_channel.get('legs')[-1].get('id'), |
2544 | + 'FSMothersNumbers':[], |
2545 | + 'PS_point_used':[]} |
2546 | + for leg in s_channel.get('legs')[:-1]: |
2547 | + if leg.get('number')>0: |
2548 | + new_resonance['FSMothersNumbers'].append( |
2549 | + leg.get('number')) |
2550 | + else: |
2551 | + try: |
2552 | + new_resonance['FSMothersNumbers'].extend( |
2553 | + replacement_dict[leg.get('number')]) |
2554 | + except KeyError: |
2555 | + raise Exception, 'The following diagram '+\ |
2556 | + 'is malformed:'+diag.nice_string() |
2557 | + |
2558 | + replacement_dict[s_channel.get('legs')[-1].get('number')] = \ |
2559 | + new_resonance['FSMothersNumbers'] |
2560 | + new_resonance['FSMothersNumbers'] = set( |
2561 | + new_resonance['FSMothersNumbers']) |
2562 | + if new_resonance not in resonances_found: |
2563 | + resonances_found.append(new_resonance) |
2564 | + |
2565 | + # Now we setup the phase-space point for each resonance found |
2566 | + kept_resonances = [] |
2567 | + for resonance in resonances_found: |
2568 | + # Discard fake s-channels |
2569 | + if resonance['ParticlePDG'] == 0: |
2570 | + continue |
2571 | + |
2572 | + # Discard if the particle appears in the final state |
2573 | + if abs(resonance['ParticlePDG']) in \ |
2574 | + [abs(l.get('id')) for l in process.get('legs')]: |
2575 | + continue |
2576 | + |
2577 | + mass_string = evaluator.full_model.get_particle( |
2578 | + resonance['ParticlePDG']).get('mass') |
2579 | + mass = evaluator.full_model.get('parameter_dict')[mass_string].real |
2580 | + # Discard massless s-channels |
2581 | + if mass==0.0: |
2582 | + continue |
2583 | + |
2584 | + width_string = evaluator.full_model.get_particle( |
2585 | + resonance['ParticlePDG']).get('width') |
2586 | + width = evaluator.full_model.get('parameter_dict')[width_string].real |
2587 | + |
2588 | + # Discard stable s-channels |
2589 | + if width==0.0: |
2590 | + continue |
2591 | + |
2592 | + final_state_energy = sum( |
2593 | + evaluator.full_model.get('parameter_dict')[ |
2594 | + evaluator.full_model.get_particle(l.get('id')).get('mass')].real |
2595 | + for l in process.get('legs') if l.get('number') in |
2596 | + resonance['FSMothersNumbers']) |
2597 | + |
2598 | + # Choose the offshellness |
2599 | + special_mass = (1.0 + options['offshellness'])*mass |
2600 | + |
2601 | + # Discard impossible kinematics |
2602 | + if special_mass<final_state_energy: |
2603 | + raise InvalidCmd('The offshellness specified (%s) is such'\ |
2604 | + %options['offshellness']+' that the resulting kinematic is '+\ |
2605 | + 'impossible for resonance %s %s.'%(evaluator.full_model. |
2606 | + get_particle(resonance['ParticlePDG']).get_name(), |
2607 | + str(list(resonance['FSMothersNumbers'])))) |
2608 | + continue |
2609 | + |
2610 | + # Add it to the list of accepted resonances |
2611 | + kept_resonances.append(resonance) |
2612 | + |
2613 | + for resonance in kept_resonances: |
2614 | + # Chose the PS point for the resonance |
2615 | + set_PSpoint(resonance, force_other_res_offshell=kept_resonances) |
2616 | + |
2617 | +# misc.sprint(kept_resonances) |
2618 | +# misc.sprint(len(kept_resonances)) |
2619 | + return tuple(kept_resonances) |
2620 | + |
2621 | + def set_PSpoint(resonance, force_other_res_offshell=[], |
2622 | + allow_energy_increase=1.5, isolation_cuts=True): |
2623 | + """ Starting from the specified resonance, construct a phase space point |
2624 | + for it and possibly also enforce other resonances to be onshell. Possibly |
2625 | + allow to progressively increase enregy by steps of the integer specified |
2626 | + (negative float to forbid it) and possible enforce default isolation cuts |
2627 | + as well.""" |
2628 | + |
2629 | + def invmass(momenta): |
2630 | + """ Computes the invariant mass of a list of momenta.""" |
2631 | + ptot = [sum(p[i] for p in momenta) for i in range(4)] |
2632 | + return math.sqrt(ptot[0]**2-ptot[1]**2-ptot[2]**2-ptot[3]**2) |
2633 | + |
2634 | + model = evaluator.full_model |
2635 | + def getmass(pdg): |
2636 | + """ Returns the mass of a particle given the current model and its |
2637 | + pdg given in argument.""" |
2638 | + return model.get('parameter_dict')[ |
2639 | + model.get_particle(pdg).get('mass')].real |
2640 | + |
2641 | + N_trials = 0 |
2642 | + max_trial = 1e4 |
2643 | + nstep_for_energy_increase = 1e3 |
2644 | + PS_point_found = None |
2645 | + if options['offshellness'] > 0.0: |
2646 | + offshellness = options['offshellness'] |
2647 | + else: |
2648 | + # We must undershoot the offshellness since one needs more |
2649 | + # energy than the target mass to have a valid PS point. So we |
2650 | + # start with an offshellness 4 times larger, and progressively reduce |
2651 | + # it later |
2652 | + offshellness = (0.25*(options['offshellness']+1.0))-1.0 |
2653 | + |
2654 | + # When offshellness is negative, it is progressively decreased every |
2655 | + # nstep_for_energy_increase attempts (not increased!), so it is more |
2656 | + # dangerous, and we therefore want the steps to be smaller |
2657 | + if options['offshellness'] < 0.0: |
2658 | + energy_increase = math.sqrt(allow_energy_increase) |
2659 | + else: |
2660 | + energy_increase = allow_energy_increase |
2661 | + # Make sure to remove the resonance itself from force_other_res_offshell |
2662 | + other_res_offshell = [res for res in force_other_res_offshell if |
2663 | + res!=resonance] |
2664 | + |
2665 | + # Now play it smart on finding starting energy and offshellness and |
2666 | + # register all resonance masses |
2667 | + all_other_res_masses = [getmass(res['ParticlePDG']) |
2668 | + for res in other_res_offshell] |
2669 | + resonance_mass = getmass(resonance['ParticlePDG']) |
2670 | + |
2671 | + str_res = '%s %s'%(model.get_particle( |
2672 | + resonance['ParticlePDG']).get_name(), |
2673 | + str(list(resonance['FSMothersNumbers']))) |
2674 | + leg_number_to_leg = dict((l.get('number'),l) for l in process.get('legs')) |
2675 | + # Find what is the minimum possible offshellness given |
2676 | + # the mass of the daughters of this resonance. |
2677 | + # This will only be relevant when options['offshellness'] is negative |
2678 | + daughter_masses = sum(getmass(leg_number_to_leg[\ |
2679 | + number].get('id')) for number in resonance['FSMothersNumbers']) |
2680 | + min_offshellnes = 4.0*((daughter_masses*1.2)/resonance_mass)-1.0 |
2681 | + |
2682 | + # Compute the minimal energy given the external states, add 20% to leave |
2683 | + # enough phase-space |
2684 | + min_energy = max(sum(getmass(l.get('id')) for l in \ |
2685 | + process.get('legs') if l.get('state')==True), |
2686 | + sum(getmass(l.get('id')) for l in \ |
2687 | + process.get('legs') if l.get('state')==False)) |
2688 | + |
2689 | + # List all other offshellnesses of the potential daughters of this |
2690 | + # resonance |
2691 | + daughter_offshellnesses = [(1.0+options['offshellness'])*mass |
2692 | + for i, mass in enumerate(all_other_res_masses) if |
2693 | + other_res_offshell[i]['FSMothersNumbers'].issubset( |
2694 | + resonance['FSMothersNumbers'])] |
2695 | + |
2696 | + if options['offshellness'] >= 0.0: |
2697 | + |
2698 | + if len(daughter_offshellnesses)>0: |
2699 | + max_mass = max(daughter_offshellnesses) |
2700 | + # A factor two to have enough phase-space |
2701 | + offshellness = max(2.0*(max_mass/resonance_mass)-1.0, |
2702 | + options['offshellness']) |
2703 | + |
2704 | + max_mass = max([(1.0+options['offshellness'])*mass for mass in \ |
2705 | + all_other_res_masses]+[(1.0+offshellness)*resonance_mass]) |
2706 | + |
2707 | + # Account for external_masses too |
2708 | + # A factor two to have enough phase-space open |
2709 | + target = max(min_energy*1.2,max_mass*2.0) |
2710 | + if target > options['energy']: |
2711 | + logger.warning("The user-defined energy %f seems "%options['energy']+ |
2712 | + " insufficient to reach the minimum propagator invariant mass "+ |
2713 | + "%f required for the chosen offshellness %f."%(max_mass, |
2714 | + options['offshellness']) + " Energy reset to %f."%target) |
2715 | + options['energy'] = target |
2716 | + |
2717 | + else: |
2718 | + if len(daughter_offshellnesses) > 0: |
2719 | + min_mass = min(daughter_offshellnesses) |
2720 | + # A factor one half to have enough phase-space |
2721 | + offshellness = min(0.25*(min_mass/resonance_mass)-1.0, |
2722 | + options['offshellness']) |
2723 | + |
2724 | + # Make sure the chosen offshellness leaves enough energy to produce |
2725 | + # the daughter masses |
2726 | + if (1.0+offshellness)*resonance_mass < daughter_masses*1.2: |
2727 | + msg = 'The resonance %s cannot accomodate'%str_res+\ |
2728 | + ' an offshellness of %f because the daughter'%options['offshellness']+\ |
2729 | + ' masses are %f.'%daughter_masses |
2730 | + if options['offshellness']<min_offshellnes: |
2731 | + msg += ' Try again with an offshellness'+\ |
2732 | + ' smaller (in absolute value) of at least %f.'%min_offshellnes |
2733 | + else: |
2734 | + msg += ' Try again with a smalled offshellness (in absolute value).' |
2735 | + raise InvalidCmd(msg) |
2736 | + |
2737 | + min_mass = min([(1.0+options['offshellness'])*mass for mass in \ |
2738 | + all_other_res_masses]+[(1.0+offshellness)*resonance_mass]) |
2739 | + # Account for external_masses too |
2740 | + # A factor two to have enough phase-space open |
2741 | + if 2.0*min_mass < options['energy']: |
2742 | + new_energy = max(min_energy*1.2, 2.0*min_mass) |
2743 | + logger.warning("The user-defined energy %f seems "%options['energy']+ |
2744 | + " too large to not overshoot the maximum propagator invariant mass "+ |
2745 | + "%f required for the chosen offshellness %f."%(min_mass, |
2746 | + options['offshellness']) + " Energy reset to %f."%new_energy) |
2747 | + options['energy'] = new_energy |
2748 | + |
2749 | + if options['offshellness'] < 0.0 and options['energy'] >= min_mass: |
2750 | + logger.debug("The target energy is not compatible with the mass"+ |
2751 | + " of the external states for this process (%f). It is "%min_mass+ |
2752 | + "unlikely that a valid kinematic configuration will be found.") |
2753 | + |
2754 | + if options['offshellness']<0.0 and offshellness<options['offshellness'] or \ |
2755 | + options['offshellness']>0.0 and offshellness>options['offshellness']: |
2756 | + logger.debug("Offshellness increased to %f"%offshellness+ |
2757 | + " so as to try to find a kinematical configuration with"+ |
2758 | + " offshellness at least equal to %f"%options['offshellness']+ |
2759 | + " for all resonances.") |
2760 | + |
2761 | + start_energy = options['energy'] |
2762 | + while N_trials<max_trial: |
2763 | + N_trials += 1 |
2764 | + if N_trials%nstep_for_energy_increase==0: |
2765 | + if allow_energy_increase > 0.0: |
2766 | + old_offshellness = offshellness |
2767 | + if offshellness > 0.0: |
2768 | + options['energy'] *= energy_increase |
2769 | + offshellness *= energy_increase |
2770 | + else: |
2771 | + options['energy'] = max(options['energy']/energy_increase, |
2772 | + min_energy*1.2) |
2773 | + offshellness = max(min_offshellnes, |
2774 | + ((offshellness+1.0)/energy_increase)-1.0) |
2775 | + if old_offshellness!=offshellness: |
2776 | + logger.debug('Trying to find a valid kinematic'+\ |
2777 | + " configuration for resonance '%s'"%str_res+\ |
2778 | + ' with increased offshellness %f'%offshellness) |
2779 | + |
2780 | + candidate = get_PSpoint_for_resonance(resonance, offshellness) |
2781 | + pass_offshell_test = True |
2782 | + for i, res in enumerate(other_res_offshell): |
2783 | + # Make sure other resonances are sufficiently offshell too |
2784 | + if offshellness > 0.0: |
2785 | + if invmass([candidate[j-1] for j in res['FSMothersNumbers']]) <\ |
2786 | + ((1.0+options['offshellness'])*all_other_res_masses[i]): |
2787 | + pass_offshell_test = False |
2788 | + break |
2789 | + else: |
2790 | + if invmass([candidate[j-1] for j in res['FSMothersNumbers']]) >\ |
2791 | + ((1.0+options['offshellness'])*all_other_res_masses[i]): |
2792 | + pass_offshell_test = False |
2793 | + break |
2794 | + if not pass_offshell_test: |
2795 | + continue |
2796 | + # Make sure it is isolated |
2797 | + if isolation_cuts: |
2798 | + # Set ptcut to 5% of total energy |
2799 | + if not evaluator.pass_isolation_cuts(candidate, |
2800 | + ptcut=0.05*invmass([candidate[0],candidate[1]]), drcut=0.4): |
2801 | + continue |
2802 | + PS_point_found = candidate |
2803 | + break |
2804 | + |
2805 | + # Restore the initial energy setup |
2806 | + options['energy'] = start_energy |
2807 | + |
2808 | + if PS_point_found is None: |
2809 | + err_msg = 'Could not find a valid PS point in %d'%max_trial+\ |
2810 | + ' trials. Try increasing the energy, modify the offshellness '+\ |
2811 | + 'or relax some constraints.' |
2812 | + if options['offshellness']<0.0: |
2813 | + err_msg +='Try with a positive offshellness instead (or a '+\ |
2814 | + 'negative one of smaller absolute value)' |
2815 | + raise InvalidCmd, err_msg |
2816 | + else: |
2817 | +# misc.sprint('PS point found in %s trials.'%N_trials) |
2818 | +# misc.sprint(PS_point_found) |
2819 | + resonance['offshellnesses'] = [] |
2820 | + all_other_res_masses = [resonance_mass] + all_other_res_masses |
2821 | + other_res_offshell = [resonance] + other_res_offshell |
2822 | + for i, res in enumerate(other_res_offshell): |
2823 | + if i==0: |
2824 | + res_str = 'self' |
2825 | + else: |
2826 | + res_str = '%s %s'%(model.get_particle( |
2827 | + res['ParticlePDG']).get_name(), |
2828 | + str(list(res['FSMothersNumbers']))) |
2829 | + resonance['offshellnesses'].append((res_str,( |
2830 | + (invmass([PS_point_found[j-1] for j in |
2831 | + res['FSMothersNumbers']])/all_other_res_masses[i])-1.0))) |
2832 | + |
2833 | + resonance['PS_point_used'] = PS_point_found |
2834 | + |
2835 | + def get_PSpoint_for_resonance(resonance, offshellness = options['offshellness']): |
2836 | + """ Assigns a kinematic configuration to the resonance dictionary |
2837 | + given in argument.""" |
2838 | + |
2839 | + # Get the particle mass |
2840 | + mass_string = evaluator.full_model.get_particle( |
2841 | + resonance['ParticlePDG']).get('mass') |
2842 | + mass = evaluator.full_model.get('parameter_dict')[mass_string].real |
2843 | + |
2844 | + # Choose the offshellness |
2845 | + special_mass = (1.0 + offshellness)*mass |
2846 | + |
2847 | + # Create a fake production and decay process |
2848 | + prod_proc = base_objects.Process({'legs':base_objects.LegList( |
2849 | + copy.copy(leg) for leg in process.get('legs') if |
2850 | + leg.get('number') not in resonance['FSMothersNumbers'])}) |
2851 | + # Add the resonant particle as a final state |
2852 | + # ID set to 0 since its mass will be forced |
2853 | + # Number set so as to be first in the list in get_momenta |
2854 | + prod_proc.get('legs').append(base_objects.Leg({ |
2855 | + 'number':max(l.get('number') for l in process.get('legs'))+1, |
2856 | + 'state':True, |
2857 | + 'id':0})) |
2858 | + # now the decay process |
2859 | + decay_proc = base_objects.Process({'legs':base_objects.LegList( |
2860 | + copy.copy(leg) for leg in process.get('legs') if leg.get('number') |
2861 | + in resonance['FSMothersNumbers'] and not leg.get('state')==False)}) |
2862 | + # Add the resonant particle as an initial state |
2863 | + # ID set to 0 since its mass will be forced |
2864 | + # Number set to -1 as well so as to be sure it appears first in |
2865 | + # get_momenta |
2866 | + decay_proc.get('legs').insert(0,base_objects.Leg({ |
2867 | + 'number':-1, |
2868 | + 'state':False, |
2869 | + 'id':0})) |
2870 | + prod_kinematic = evaluator.get_momenta(prod_proc, options=options, |
2871 | + special_mass=special_mass)[0] |
2872 | + decay_kinematic = evaluator.get_momenta(decay_proc, options=options, |
2873 | + special_mass=special_mass)[0] |
2874 | + momenta = glue_momenta(prod_kinematic,decay_kinematic) |
2875 | + # Reshuffle the momentum so as to put it back in the order specified |
2876 | + # in the process definition. |
2877 | + # First the production momenta, without the special decayed particle |
2878 | + ordered_momenta = [(prod_proc.get('legs')[i].get('number'),momenta[i]) |
2879 | + for i in range(len(prod_proc.get('legs'))-1)] |
2880 | + # And then the decay ones. |
2881 | + ordered_momenta += [(decay_proc.get('legs')[-i].get('number'), |
2882 | + momenta[-i]) for i in range(1,len(decay_proc.get('legs')))] |
2883 | + |
2884 | + # Return the PSpoint found in the right order |
2885 | + return [m[1] for m in sorted(ordered_momenta, key = lambda el: el[0])] |
2886 | + |
2887 | + # misc.sprint(resonance['PS_point_used']) |
2888 | + |
2889 | + @misc.mute_logger() |
2890 | + def get_width(PDG, lambdaCMS, param_card): |
2891 | + """ Returns the width to use for particle with absolute PDG 'PDG' and |
2892 | + for the the lambdaCMS value 'lambdaCMS' using the cache if possible.""" |
2893 | + |
2894 | + # If an unstable particle is in the external state, then set its width |
2895 | + # to zero and don't cache the result of course. |
2896 | + if abs(PDG) in [abs(leg.get('id')) for leg in process.get('legs')]: |
2897 | + return 0.0 |
2898 | + |
2899 | + particle = evaluator.full_model.get_particle(PDG) |
2900 | + |
2901 | + # If it is a goldstone or a ghost, retur zero as its width should anyway |
2902 | + # not be independent. The test for checking if it is a goldstone or not |
2903 | + # will be made more general in 2.3.3 when it will be an attribute of the |
2904 | + # particle class. Normally the first statement will crash in that verison |
2905 | + # because it is not .get('ghost'). This is done in purpose so as to be |
2906 | + # sure to fix the goldstone check in due time. |
2907 | + if particle['ghost'] or particle.get_name() in ['g0','g+','g-']: |
2908 | + return 0.0 |
2909 | + |
2910 | + # If its width is analytically set to zero, then return zero right away |
2911 | + if particle.get('width')=='ZERO': |
2912 | + return 0.0 |
2913 | + |
2914 | + if (PDG,lambdaCMS) in options['cached_widths']: |
2915 | + return options['cached_widths'][(PDG,lambdaCMS)] |
2916 | + |
2917 | + if options['recompute_width'] == 'never': |
2918 | + width = evaluator.full_model.\ |
2919 | + get('parameter_dict')[particle.get('width')].real |
2920 | + else: |
2921 | + # Crash if we are doing CMS and the width was not found and recycled above |
2922 | + if aloha.complex_mass: |
2923 | + raise MadGraph5Error, "The width for particle with PDG %d and"%PDG+\ |
2924 | + " lambdaCMS=%f should have already been "%lambdaCMS+\ |
2925 | + "computed during the NWA run." |
2926 | + |
2927 | + # Use MadWith |
2928 | + if options['recompute_width'] in ['always','first_time']: |
2929 | + particle_name = particle.get_name() |
2930 | + with misc.TMP_directory(dir=options['output_path']) as path: |
2931 | + param_card.write(pjoin(path,'tmp.dat')) |
2932 | + # 2-body decay is the maximum that should be considered for NLO check. |
2933 | + # The default 1% accuracy is not enough when pushing to small |
2934 | + # lambdaCMS values, we need 1 per mil at least. |
2935 | + command = '%s --output=%s'%(particle_name,pjoin(path,'tmp.dat'))+\ |
2936 | + ' --path=%s --body_decay=2'%pjoin(path,'tmp.dat')+\ |
2937 | + ' --precision_channel=0.001' |
2938 | +# misc.sprint(command) |
2939 | + param_card.write(pjoin(options['output_path'],'tmp.dat')) |
2940 | + # The MG5 command get_width will change the cmd._curr_model |
2941 | + # and the cmd._curr_fortran_model which what we specified, so |
2942 | + # we must make sure to restore them after it finishes |
2943 | + orig_model = options['cmd']._curr_model |
2944 | + orig_fortran_model = options['cmd']._curr_fortran_model |
2945 | + options['cmd'].do_compute_widths(command, evaluator.full_model) |
2946 | + # Restore the models |
2947 | + options['cmd']._curr_model = orig_model |
2948 | + options['cmd']._curr_fortran_model = orig_fortran_model |
2949 | + # Restore the width of the model passed in argument since |
2950 | + # MadWidth will automatically update the width |
2951 | + evaluator.full_model.set_parameters_and_couplings( |
2952 | + param_card=param_card) |
2953 | + try: |
2954 | + tmp_param_card = check_param_card.ParamCard(pjoin(path,'tmp.dat')) |
2955 | + except: |
2956 | + raise MadGraph5Error, 'Error occured during width '+\ |
2957 | + 'computation with command:\n compute_widths %s'%command |
2958 | + width = tmp_param_card['decay'].get(PDG).value |
2959 | +# misc.sprint('lambdaCMS checked is', lambdaCMS, |
2960 | +# 'for particle',particle_name) |
2961 | +# misc.sprint('Width obtained :', width) |
2962 | +# if lambdaCMS != 1.0: |
2963 | +# misc.sprint('Naively expected (lin. scaling) :', |
2964 | +# options['cached_widths'][(PDG,1.0)]*lambdaCMS) |
2965 | + |
2966 | + if options['recompute_width'] in ['never','first_time']: |
2967 | + # Assume linear scaling of the width |
2968 | + for lam in options['lambdaCMS']: |
2969 | + options['cached_widths'][(PDG,lam)]=width*(lam/lambdaCMS) |
2970 | + else: |
2971 | + options['cached_widths'][(PDG,lambdaCMS)] = width |
2972 | + |
2973 | + return options['cached_widths'][(PDG,lambdaCMS)] |
2974 | + |
2975 | + def get_order(diagrams, diagsName): |
2976 | + """Compute the common summed of coupling orders used for this cms check |
2977 | + in the diagrams specified. When inconsistency occurs, use orderName |
2978 | + in the warning message if throwm.""" |
2979 | + |
2980 | + orders = set([]) |
2981 | + for diag in diagrams: |
2982 | + diag_orders = diag.calculate_orders() |
2983 | + orders.add(sum((diag_orders[order] if order in diag_orders else 0) |
2984 | + for order in options['expansion_orders'])) |
2985 | + if len(orders)>1: |
2986 | + logger.warning(msg%('%s '%diagsName,str(orders))) |
2987 | + return min(list(orders)) |
2988 | + else: |
2989 | + return list(orders)[0] |
2990 | + |
2991 | + MLoptions = copy.copy(options['MLOptions']) |
2992 | + # Make sure double-check helicities is set to False |
2993 | + MLoptions['DoubleCheckHelicityFilter'] = False |
2994 | + |
2995 | + # Apply the seed tweak if present |
2996 | + for tweak in options['tweak']['custom']: |
2997 | + if tweak.startswith('seed'): |
2998 | + try: |
2999 | + new_seed = int(tweak[4:]) |
3000 | + except ValueError: |
3001 | + raise MadGraph5Error, "Seed '%s' is not of the right format 'seed<int>'."%tweak |
3002 | + random.seed(new_seed) |
3003 | + |
3004 | + mode = 'CMS' if aloha.complex_mass else 'NWA' |
3005 | + for i, leg in enumerate(process.get('legs')): |
3006 | + leg.set('number', i+1) |
3007 | + |
3008 | + logger.info("Running CMS check for process %s (now doing %s scheme)" % \ |
3009 | + ( process.nice_string().replace('Process:', 'process'), mode)) |
3010 | + |
3011 | + proc_dir = None |
3012 | + resonances = None |
3013 | + warning_msg = "All %sdiagrams do not share the same sum of orders "+\ |
3014 | + "%s; found %%s."%(','.join(options['expansion_orders']))+\ |
3015 | + " This potentially problematic for the CMS check." |
3016 | + if NLO: |
3017 | + # We must first create the matrix element, export it and set it up. |
3018 | + # If the reuse option is specified, it will be recycled. |
3019 | + |
3020 | + if options['name']=='auto': |
3021 | + proc_name = "%s%s_%s%s__%s__"%(('SAVED' if options['reuse'] else ''), |
3022 | + temp_dir_prefix, '_'.join(process.shell_string().split('_')[1:]), |
3023 | + ('_' if process.get('perturbation_couplings') else '')+ |
3024 | + '_'.join(process.get('perturbation_couplings')),mode) |
3025 | + else: |
3026 | + proc_name = "%s%s_%s__%s__"%(('SAVED' if options['reuse'] else ''), |
3027 | + temp_dir_prefix,options['name'], mode) |
3028 | + # Generate the ME |
3029 | + timing, matrix_element = generate_loop_matrix_element(process, |
3030 | + options['reuse'], output_path=options['output_path'], |
3031 | + cmd = options['cmd'], proc_name=proc_name, |
3032 | + loop_filter=options['loop_filter']) |
3033 | + if matrix_element is None: |
3034 | + # No diagrams for this process |
3035 | + return None |
3036 | + |
3037 | + reusing = isinstance(matrix_element, base_objects.Process) |
3038 | + proc_dir = pjoin(options['output_path'],proc_name) |
3039 | + |
3040 | + # Export the ME |
3041 | + infos = evaluator.setup_process(matrix_element, proc_dir, |
3042 | + reusing = reusing, param_card = options['param_card'], |
3043 | + MLOptions=MLoptions) |
3044 | + # Make sure the right MLoptions are set |
3045 | + evaluator.fix_MadLoopParamCard(pjoin(proc_dir,'Cards'), |
3046 | + mp = None, loop_filter = True,MLOptions=MLoptions) |
3047 | + |
3048 | + # Make sure to start from fresh if previous run was stopped |
3049 | + tmp_card_backup = pjoin(proc_dir,'Cards','param_card.dat__TemporaryBackup__') |
3050 | + if os.path.isfile(tmp_card_backup): |
3051 | + # Run was stopped mid-way, we must then restore the original card |
3052 | + logger.info("Last run in process '%s' apparently aborted."%proc_dir+\ |
3053 | + " Now reverting 'param_card.dat' to its original value.") |
3054 | + shutil.copy(tmp_card_backup, pjoin(proc_dir, 'Cards','param_card.dat')) |
3055 | + else: |
3056 | + # Create a temporary backup which will be cleaned if the run ends properly |
3057 | + shutil.copy(pjoin(proc_dir,'Cards','param_card.dat'), tmp_card_backup) |
3058 | + # Now do the same with model_functions.f |
3059 | + tmp_modelfunc_backup = pjoin(proc_dir,'Source','MODEL', |
3060 | + 'model_functions.f__TemporaryBackup__') |
3061 | + if os.path.isfile(tmp_modelfunc_backup): |
3062 | + # Run was stopped mid-way, we must then restore the model functions |
3063 | + logger.info("Last run in process '%s' apparently aborted."%proc_dir+\ |
3064 | + " Now reverting 'model_functions.f' to its original value.") |
3065 | + shutil.copy(tmp_modelfunc_backup, pjoin(proc_dir,'Source','MODEL', |
3066 | + 'model_functions.f')) |
3067 | + evaluator.apply_log_tweak(proc_dir, 'recompile') |
3068 | + else: |
3069 | + # Create a temporary backup which will be cleaned if the run ends properly |
3070 | + shutil.copy(pjoin(proc_dir,'Source','MODEL','model_functions.f'), |
3071 | + tmp_modelfunc_backup) |
3072 | + |
3073 | + # Make sure to setup correctly the helicity |
3074 | + MadLoopInitializer.fix_PSPoint_in_check(pjoin(proc_dir,'SubProcesses'), |
3075 | + read_ps = True, npoints = 1, hel_config = options['helicity'], |
3076 | + split_orders=options['split_orders']) |
3077 | + |
3078 | + # And recompile while making sure to recreate the executable and |
3079 | + # modified sources |
3080 | + for dir in glob.glob(pjoin(proc_dir,'SubProcesses','P*_*')): |
3081 | + if not (re.search(r'.*P\d+_\w*$', dir) or not os.path.isdir(dir)): |
3082 | + continue |
3083 | + try: |
3084 | + os.remove(pjoin(dir,'check')) |
3085 | + os.remove(pjoin(dir,'check_sa.o')) |
3086 | + except OSError: |
3087 | + pass |
3088 | + # Now run make |
3089 | + with open(os.devnull, 'w') as devnull: |
3090 | + retcode = subprocess.call(['make','check'], |
3091 | + cwd=dir, stdout=devnull, stderr=devnull) |
3092 | + if retcode != 0: |
3093 | + raise MadGraph5Error, "Compilation error with "+\ |
3094 | + "'make check' in %s"%dir |
3095 | + |
3096 | + # Now find all the resonances of the ME, if not saved from a previous run |
3097 | + pkl_path = pjoin(proc_dir,'resonance_specs.pkl') |
3098 | + if reusing: |
3099 | + # We recover the information from the pickle dumped during the |
3100 | + # original run |
3101 | + if not os.path.isfile(pkl_path): |
3102 | + raise InvalidCmd('The folder %s could'%proc_dir+\ |
3103 | + " not be reused because the resonance specification file "+ |
3104 | + "'resonance_specs.pkl' is missing.") |
3105 | + else: |
3106 | + proc_name, born_order, loop_order, resonances = \ |
3107 | + save_load_object.load_from_file(pkl_path) |
3108 | + # Make sure to rederive the phase-space point since parameters |
3109 | + # such as masses, seed, offshellness could have affected it |
3110 | + for res in resonances: |
3111 | + set_PSpoint(res, force_other_res_offshell=resonances) |
3112 | + |
3113 | + # Second run (CMS), we can reuse the information if it is a dictionary |
3114 | + if isinstance(opt, list): |
3115 | + opt.append((proc_name, resonances)) |
3116 | + else: |
3117 | + resonances = opt |
3118 | + else: |
3119 | + helas_born_diagrams = matrix_element.get_born_diagrams() |
3120 | + if len(helas_born_diagrams)==0: |
3121 | + logger.warning('The CMS check for loop-induced process is '+\ |
3122 | + 'not yet available (nor is it very interesting).') |
3123 | + return None |
3124 | + born_order = get_order(helas_born_diagrams,'Born') |
3125 | + loop_order = get_order(matrix_element.get_loop_diagrams(),'loop') |
3126 | + |
3127 | + # Second run (CMS), we can reuse the information if it is a dictionary |
3128 | + if isinstance(opt, list): |
3129 | + opt.append((process.base_string(),find_resonances(helas_born_diagrams))) |
3130 | + resonances = opt[-1][1] |
3131 | + else: |
3132 | + resonances = opt |
3133 | + # Save the resonances to a pickle file in the output directory so that |
3134 | + # it can potentially be reused. |
3135 | + save_load_object.save_to_file(pkl_path, (process.base_string(), |
3136 | + born_order, loop_order,resonances)) |
3137 | + |
3138 | + else: |
3139 | + # The LO equivalent |
3140 | + try: |
3141 | + amplitude = diagram_generation.Amplitude(process) |
3142 | + except InvalidCmd: |
3143 | + logging.info("No diagrams for %s" % \ |
3144 | + process.nice_string().replace('Process', 'process')) |
3145 | + return None |
3146 | + if not amplitude.get('diagrams'): |
3147 | + # This process has no diagrams; go to next process |
3148 | + logging.info("No diagrams for %s" % \ |
3149 | + process.nice_string().replace('Process', 'process')) |
3150 | + return None |
3151 | + |
3152 | + matrix_element = helas_objects.HelasMatrixElement(amplitude, |
3153 | + gen_color=True) |
3154 | + diagrams = matrix_element.get('diagrams') |
3155 | + born_order = get_order(diagrams,'Born') |
3156 | + # Loop order set to -1 indicates an LO result |
3157 | + loop_order = -1 |
3158 | + # Find all the resonances of the ME, if not already given in opt |
3159 | + if isinstance(opt, list): |
3160 | + opt.append((process.base_string(),find_resonances(diagrams))) |
3161 | + resonances = opt[-1][1] |
3162 | + else: |
3163 | + resonances= opt |
3164 | + |
3165 | + if len(resonances)==0: |
3166 | + logger.info("No resonance found for process %s."\ |
3167 | + %process.base_string()) |
3168 | + return None |
3169 | + |
3170 | + # Cache the default param_card for NLO |
3171 | + if not options['cached_param_card'][mode][0]: |
3172 | + if NLO: |
3173 | + param_card = check_param_card.ParamCard( |
3174 | + pjoin(proc_dir,'Cards','param_card.dat')) |
3175 | + else: |
3176 | + param_card = check_param_card.ParamCard( |
3177 | + StringIO.StringIO(evaluator.full_model.write_param_card())) |
3178 | + options['cached_param_card'][mode][0] = param_card |
3179 | + name2block, _ = AskforEditCard.analyze_param_card(param_card) |
3180 | + options['cached_param_card'][mode][1] = name2block |
3181 | + |
3182 | + else: |
3183 | + param_card = options['cached_param_card'][mode][0] |
3184 | + name2block = options['cached_param_card'][mode][1] |
3185 | + |
3186 | + # Already add the coupling order for this sqaured ME. |
3187 | + if loop_order != -1 and (loop_order+born_order)%2 != 0: |
3188 | + raise MadGraph5Error, 'The summed squared matrix element '+\ |
3189 | + " order '%d' is not even."%(loop_order+born_order) |
3190 | + result = {'born_order':born_order, |
3191 | + 'loop_order': (-1 if loop_order==-1 else (loop_order+born_order)/2), |
3192 | + 'resonances_result':[]} |
3193 | + |
3194 | + # Create a physical backup of the param_card |
3195 | + if NLO: |
3196 | + try: |
3197 | + shutil.copy(pjoin(proc_dir,'Cards','param_card.dat'), |
3198 | + pjoin(proc_dir,'Cards','param_card.dat__backUp__')) |
3199 | + except: |
3200 | + pass |
3201 | + |
3202 | + # Apply custom tweaks |
3203 | + had_log_tweaks=False |
3204 | + if NLO: |
3205 | + for tweak in options['tweak']['custom']: |
3206 | + if tweak.startswith('seed'): |
3207 | + continue |
3208 | + try: |
3209 | + logstart, logend = tweak.split('->') |
3210 | + except: |
3211 | + raise Madgraph5Error, "Tweak '%s' not reckognized."%tweak |
3212 | + if logstart in ['logp','logm', 'log'] and \ |
3213 | + logend in ['logp','logm', 'log']: |
3214 | + if NLO: |
3215 | + evaluator.apply_log_tweak(proc_dir, [logstart, logend]) |
3216 | + had_log_tweaks = True |
3217 | + else: |
3218 | + raise Madgraph5Error, "Tweak '%s' not reckognized."%tweak |
3219 | + if had_log_tweaks: |
3220 | + evaluator.apply_log_tweak(proc_dir, 'recompile') |
3221 | + |
3222 | + # Select what resonances should be run |
3223 | + if options['resonances']=='all': |
3224 | + resonances_to_run = resonances |
3225 | + elif isinstance(options['resonances'],int): |
3226 | + resonances_to_run = resonances[:options['resonances']] |
3227 | + elif isinstance(options['resonances'],list): |
3228 | + resonances_to_run = [] |
3229 | + for res in resonances: |
3230 | + for res_selection in options['resonances']: |
3231 | + if abs(res['ParticlePDG'])==res_selection[0] and \ |
3232 | + res['FSMothersNumbers']==set(res_selection[1]): |
3233 | + resonances_to_run.append(res) |
3234 | + break |
3235 | + else: |
3236 | + raise InvalidCmd("Resonance selection '%s' not reckognized"%\ |
3237 | + str(options['resonances'])) |
3238 | + |
3239 | + # Display progressbar both for LO and NLO for now but not when not showing |
3240 | + # the plots |
3241 | + if (NLO or True) and options['show_plot']: |
3242 | + widgets = ['ME evaluations:', pbar.Percentage(), ' ', |
3243 | + pbar.Bar(),' ', pbar.ETA(), ' '] |
3244 | + progress_bar = pbar.ProgressBar(widgets=widgets, |
3245 | + maxval=len(options['lambdaCMS'])*len(resonances_to_run), fd=sys.stdout) |
3246 | + progress_bar.update(0) |
3247 | + # Flush stdout to force the progress_bar to appear |
3248 | + sys.stdout.flush() |
3249 | + else: |
3250 | + progress_bar = None |
3251 | + |
3252 | + for resNumber, res in enumerate(resonances_to_run): |
3253 | + # First add a dictionary for this resonance to the result with already |
3254 | + # one key specifying the resonance |
3255 | + result['resonances_result'].append({'resonance':res,'born':[]}) |
3256 | + if NLO: |
3257 | + result['resonances_result'][-1]['finite'] = [] |
3258 | + # Now scan the different lambdaCMS values |
3259 | + for lambdaNumber, lambdaCMS in enumerate(options['lambdaCMS']): |
3260 | + # Setup the model for that value of lambdaCMS |
3261 | + # The copy constructor below creates a deep copy |
3262 | + new_param_card = check_param_card.ParamCard(param_card) |
3263 | + # Change all specified parameters |
3264 | + for param, replacement in options['expansion_parameters'].items(): |
3265 | + # Replace the temporary prefix used for evaluation of the |
3266 | + # substitution expression |
3267 | + orig_param = param.replace('__tmpprefix__','') |
3268 | + if orig_param not in name2block: |
3269 | + # It can be that some parameter ar in the NWA model but not |
3270 | + # in the CMS, such as the Yukawas for example. |
3271 | + # logger.warning("Unknown parameter '%s' in mode '%s'."%(param,mode)) |
3272 | + continue |
3273 | + for block, lhaid in name2block[orig_param]: |
3274 | + orig_value = float(param_card[block].get(lhaid).value) |
3275 | + new_value = eval(replacement, |
3276 | + {param:orig_value,'lambdacms':lambdaCMS}) |
3277 | + new_param_card[block].get(lhaid).value=new_value |
3278 | + |
3279 | + # Apply these changes already (for the purpose of Width computation. |
3280 | + # although it is optional since we now provide the new_param_card to |
3281 | + # the width computation function.). Also in principle this matters |
3282 | + # only in the CMS and there the widths would be reused from their |
3283 | + # prior computation within NWA with zero widths. So, all in all, |
3284 | + # the line below is really not crucial, but semantically, it ought |
3285 | + # to be there. |
3286 | + evaluator.full_model.set_parameters_and_couplings( |
3287 | + param_card=new_param_card) |
3288 | + # Now compute or recyle all widths |
3289 | + for decay in new_param_card['decay'].keys(): |
3290 | + if mode=='CMS': |
3291 | + new_width = get_width(abs(decay[0]), lambdaCMS, |
3292 | + new_param_card) |
3293 | + else: |
3294 | + new_width = 0.0 |
3295 | + new_param_card['decay'].get(decay).value= new_width |
3296 | + |
3297 | + # Apply these changes for the purpose of the final computation |
3298 | + evaluator.full_model.set_parameters_and_couplings( |
3299 | + param_card=new_param_card) |
3300 | + if NLO: |
3301 | + new_param_card.write(pjoin(proc_dir,'Cards','param_card.dat')) |
3302 | + # Write the recomputed widths so that it can potentially be |
3303 | + # used for future runs (here for the model in the CMS format) |
3304 | + if lambdaCMS==1.0 and mode=='CMS' and \ |
3305 | + options['recompute_width'] in ['always','first_time']: |
3306 | + new_param_card.write(pjoin(proc_dir, |
3307 | + 'Cards','param_card.dat_recomputed_widths')) |
3308 | + |
3309 | + # If recomputing widths with MadWidths, we want to do it within |
3310 | + # the NWA models with zero widths. |
3311 | + if mode=='NWA' and (options['recompute_width']=='always' or ( |
3312 | + options['recompute_width']=='first_time' and lambdaCMS==1.0)): |
3313 | + # The copy constructor below creates a deep copy |
3314 | + tmp_param_card = check_param_card.ParamCard(new_param_card) |
3315 | + # We don't use the result here, it is just so that it is put |
3316 | + # in the cache and reused in the CMS run that follows. |
3317 | + for decay in new_param_card['decay'].keys(): |
3318 | + particle_name = evaluator.full_model.get_particle(\ |
3319 | + abs(decay[0])).get_name() |
3320 | + new_width = get_width(abs(decay[0]),lambdaCMS,new_param_card) |
3321 | + tmp_param_card['decay'].get(decay).value = new_width |
3322 | + if not options['has_FRdecay'] and new_width != 0.0: |
3323 | + logger.info('Numerically computed width of particle'+\ |
3324 | + ' %s for lambda=%.4g : %-9.6gGeV'% |
3325 | + (particle_name,lambdaCMS,new_width)) |
3326 | + |
3327 | + # Write the recomputed widths so that it can potentially be |
3328 | + # used for future runs (here the model in the NWA format) |
3329 | + if lambdaCMS==1.0 and NLO: |
3330 | + tmp_param_card.write(pjoin(proc_dir, |
3331 | + 'Cards','param_card.dat_recomputed_widths')) |
3332 | + |
3333 | + # Apply the params tweaks |
3334 | + for param, replacement in options['tweak']['params'].items(): |
3335 | + # Replace the temporary prefix used for evaluation of the |
3336 | + # substitution expression |
3337 | + orig_param = param.replace('__tmpprefix__','') |
3338 | + # Treat the special keyword 'allwidths' |
3339 | + if orig_param.lower() == 'allwidths': |
3340 | + # Apply the rule to all widhts |
3341 | + for decay in new_param_card['decay'].keys(): |
3342 | + orig_value = float(new_param_card['decay'].get(decay).value) |
3343 | + new_value = eval(replacement, |
3344 | + {param:orig_value,'lambdacms':lambdaCMS}) |
3345 | + new_param_card['decay'].get(decay).value = new_value |
3346 | + continue |
3347 | + if orig_param not in name2block: |
3348 | + # It can be that some parameter are in the NWA model but not |
3349 | + # in the CMS, such as the Yukawas for example. |
3350 | + continue |
3351 | + for block, lhaid in name2block[orig_param]: |
3352 | + orig_value = float(new_param_card[block].get(lhaid).value) |
3353 | + new_value = eval(replacement, |
3354 | + {param:orig_value,'lambdacms':lambdaCMS}) |
3355 | + new_param_card[block].get(lhaid).value=new_value |
3356 | + |
3357 | + if options['tweak']['params']: |
3358 | + # Apply the tweaked param_card one last time |
3359 | + evaluator.full_model.set_parameters_and_couplings( |
3360 | + param_card=new_param_card) |
3361 | + if NLO: |
3362 | + new_param_card.write(pjoin(proc_dir,'Cards','param_card.dat')) |
3363 | + |
3364 | + # Finally ready to compute the matrix element |
3365 | + if NLO: |
3366 | + ME_res = LoopMatrixElementEvaluator.get_me_value(process, 0, |
3367 | + proc_dir, PSpoint=res['PS_point_used'], verbose=False, |
3368 | + format='dict', skip_compilation=True) |
3369 | + # Notice that there is much more information in ME_res. It can |
3370 | + # be forwarded to check_complex_mass_scheme in this result |
3371 | + # dictionary if necessary for the analysis. (or even the full |
3372 | + # dictionary ME_res can be added). |
3373 | + result['resonances_result'][-1]['born'].append(ME_res['born']) |
3374 | + result['resonances_result'][-1]['finite'].append( |
3375 | + ME_res['finite']*ME_res['born']*ME_res['alphaS_over_2pi']) |
3376 | + else: |
3377 | + ME_res = evaluator.evaluate_matrix_element(matrix_element, |
3378 | + p=res['PS_point_used'], auth_skipping=False, output='m2')[0] |
3379 | + result['resonances_result'][-1]['born'].append(ME_res) |
3380 | + if not progress_bar is None: |
3381 | + progress_bar.update(resNumber*len(options['lambdaCMS'])+\ |
3382 | + (lambdaNumber+1)) |
3383 | + # Flush to force the printout of the progress_bar to be updated |
3384 | + sys.stdout.flush() |
3385 | + |
3386 | + # Restore the original continued log definition if necessary |
3387 | + log_reversed = False |
3388 | + for tweak in options['tweak']['custom']: |
3389 | + if tweak.startswith('log') and had_log_tweaks: |
3390 | + if log_reversed: |
3391 | + continue |
3392 | + if NLO: |
3393 | + evaluator.apply_log_tweak(proc_dir, 'default') |
3394 | + evaluator.apply_log_tweak(proc_dir, 'recompile') |
3395 | + log_reversed = True |
3396 | + |
3397 | + # Restore the original model parameters |
3398 | + evaluator.full_model.set_parameters_and_couplings(param_card=param_card) |
3399 | + if NLO: |
3400 | + try: |
3401 | + shutil.copy(pjoin(proc_dir,'Cards','param_card.dat__backUp__'), |
3402 | + pjoin(proc_dir,'Cards','param_card.dat')) |
3403 | + except: |
3404 | + param_card.write(pjoin(proc_dir,'Cards','param_card.dat')) |
3405 | + |
3406 | + # All should have been restored properly, so we can now clean the temporary |
3407 | + # backups |
3408 | + try: |
3409 | + os.remove(pjoin(proc_dir,'Cards','param_card.dat__TemporaryBackup__')) |
3410 | + os.remove(pjoin(proc_dir,'Source','MODEL', |
3411 | + 'model_functions.f__TemporaryBackup__')) |
3412 | + except: |
3413 | + pass |
3414 | + |
3415 | + return (process.nice_string().replace('Process:', '').strip(),result) |
3416 | + |
3417 | def get_value(process, evaluator, p=None, options=None): |
3418 | """Return the value/momentum for a phase space point""" |
3419 | |
3420 | @@ -3677,6 +4983,765 @@ |
3421 | else: |
3422 | return fail_proc |
3423 | |
3424 | - |
3425 | - |
3426 | - |
3427 | +def CMS_save_path(extension, cms_res, used_model, opts, output_path=None): |
3428 | + """Creates a suitable filename for saving these results.""" |
3429 | + |
3430 | + if opts['name']=='auto' and opts['analyze']!='None': |
3431 | + # Reuse the same name then |
3432 | + return '%s.%s'%(os.path.splitext(opts['analyze'].split(',')[0])\ |
3433 | + [0],extension) |
3434 | + # if a name is specified, use it |
3435 | + if opts['name']!='auto': |
3436 | + basename = opts['name'] |
3437 | + else: |
3438 | + prefix = 'cms_check_' |
3439 | + # Use process name if there is only one process |
3440 | + if len(cms_res['ordered_processes'])==1: |
3441 | + proc = cms_res['ordered_processes'][0] |
3442 | + replacements = {' ':'','+':'p','-':'m','~':'x', '>':'_','=':'eq'} |
3443 | + # Remove the perturbation couplings: |
3444 | + try: |
3445 | + proc=proc[:proc.index('[')] |
3446 | + except ValueError: |
3447 | + pass |
3448 | + |
3449 | + for key, value in replacements.items(): |
3450 | + proc = proc.replace(key,value) |
3451 | + |
3452 | + basename =prefix+proc+'_%s_'%used_model.get('name')+\ |
3453 | + ( ('_'+'_'.join(cms_res['perturbation_orders'])) if \ |
3454 | + cms_res['perturbation_orders']!=[] else '') |
3455 | + # Use timestamp otherwise |
3456 | + else: |
3457 | + basename = prefix+datetime.datetime.now().strftime("%Y_%m_%d_%Hh%Mm%Ss") |
3458 | + |
3459 | + suffix = '_%s'%opts['tweak']['name'] if opts['tweak']['name']!='' else '' |
3460 | + if output_path: |
3461 | + return pjoin(output_path,'%s%s.%s'%(basename,suffix,extension)) |
3462 | + else: |
3463 | + return '%s%s.%s'%(basename,suffix,extension) |
3464 | + |
3465 | +def output_complex_mass_scheme(result,output_path, options, model, output='text'): |
3466 | + """ Outputs nicely the outcome of the complex mass scheme check performed |
3467 | + by varying the width in the offshell region of resonances found for eahc process. |
3468 | + Output just specifies whether text should be returned or a list of failed |
3469 | + processes.""" |
3470 | + |
3471 | + pert_orders=result['perturbation_orders'] |
3472 | + |
3473 | + ######## CHECK PARAMETERS ######### |
3474 | + # |
3475 | + # diff_lambda_power choses the power by which one should divide the difference |
3476 | + # curve. The test should only work with 1, but it is useful for the LO |
3477 | + # check to see the difference has O(\lambda) contribution by setting this |
3478 | + # parameter to 2. If the Born does not have O(\lambda) contributions |
3479 | + # (i.e. if the test still pas with diff_lambda_power=2) then the NLO test |
3480 | + # will not be sensitive to the CMS implementation details. |
3481 | + diff_lambda_power = options['diff_lambda_power'] |
3482 | + # DISLAIMER: |
3483 | + # The CMS check is non trivial to automate and it is actually best done |
3484 | + # manually by looking at plots for various implementation of the CMS. |
3485 | + # The automatic check performed here with the default parameters below |
3486 | + # should typically capture the main features of the CMS implementation. |
3487 | + # There will always be exceptions however. |
3488 | + # |
3489 | + if 'has_FRdecay' in result: |
3490 | + has_FRdecay = result['has_FRdecay'] |
3491 | + else: |
3492 | + has_FRdecay = False |
3493 | + # be tighter at LO |
3494 | + if not pert_orders: |
3495 | + CMS_test_threshold = 1e-3 |
3496 | + else: |
3497 | + # AT NLO, a correct cancellation is typically of the order of 2% with |
3498 | + # a lowest lambda value of 10^-4. It is clear that the threshold should |
3499 | + # scale with the minimum lambda value because any little offset in the |
3500 | + # LO width value for example (acceptable when less than one 1% if the |
3501 | + # widths were computed numerically) will lead to an inaccuracy of the |
3502 | + # cancellation scaling with lambda. |
3503 | + if not has_FRdecay and ('recomputed_with' not in result or \ |
3504 | + result['recompute_width'] in ['always','first_time']): |
3505 | + CMS_test_threshold = 2e-2*(1.0e-4/min(result['lambdaCMS'])) |
3506 | + else: |
3507 | + # If the widths were not computed numerically, then the accuracy of |
3508 | + # the cancellation should be better. |
3509 | + CMS_test_threshold = 2e-2*(1.0e-5/min(result['lambdaCMS'])) |
3510 | + |
3511 | + # This threshold sets how flat the diff line must be when approaching it from |
3512 | + # the right to start considering its value. Notice that it cannot be larger |
3513 | + # than the CMS_test_threshold |
3514 | + consideration_threshold = min(CMS_test_threshold/10.0, 0.05) |
3515 | + # Number of values groupes with the median technique to avoid being |
3516 | + # sensitive to unstabilities |
3517 | + group_val = 3 |
3518 | + # Starting from which value, relative to the averaged diff, should one consider |
3519 | + # the asymptotic diff median to be exactly 0.0 in which case one would use this |
3520 | + # average instead of this asymptotic median. u d~ > e+ ve LO exhibit a \ |
3521 | + # difference at zero for example. |
3522 | + diff_zero_threshold = 1e-3 |
3523 | + # Plotting parameters. Specify the lambda range to plot. |
3524 | + # lambda_range = [-1,-1] returns the default automatic setup |
3525 | + lambda_range = options['lambda_plot_range'] |
3526 | + ################################## |
3527 | + |
3528 | +# One can print out the raw results by uncommenting the line below |
3529 | +# misc.sprint(result) |
3530 | +# for i, res in enumerate(result['a e- > e- ve ve~ [ virt = QCD QED ]']['CMS']): |
3531 | +# for i, res in enumerate(result['u d~ > e+ ve a [ virt = QCD QED ]']['CMS']): |
3532 | +# if res['resonance']['FSMothersNumbers'] == set([3, 4]): |
3533 | +# misc.sprint(res['resonance']['PS_point_used']) |
3534 | +# stop |
3535 | + |
3536 | + res_str = '' |
3537 | + |
3538 | + ####### BEGIN helper functions |
3539 | + |
3540 | + # Chose here whether to use Latex particle names or not |
3541 | + # Possible values are 'none', 'model' or 'built-in' |
3542 | + useLatexParticleName = 'built-in' |
3543 | + name2tex = {'e+':r'e^+','w+':r'W^+','a':r'\gamma','g':'g', |
3544 | + 'e-':r'e^-','w-':r'W^-','z':'Z','h':'H', |
3545 | + 'mu+':r'\mu^+', |
3546 | + 'mu-':r'\mu^-', |
3547 | + 'ta+':r'\tau^+', |
3548 | + 'ta-':r'\tau^-'} |
3549 | + for p in ['e','m','t']: |
3550 | + d = {'e':'e','m':r'\mu','t':r'\tau'} |
3551 | + name2tex['v%s'%p]=r'\nu_{%s}'%d[p] |
3552 | + name2tex['v%s~'%p]=r'\bar{\nu_{%s}}'%d[p] |
3553 | + |
3554 | + for p in ['u','d','c','s','b','t']: |
3555 | + name2tex[p]=p |
3556 | + name2tex['%s~'%p]=r'\bar{%s}'%p |
3557 | + |
3558 | + def format_particle_name(particle, latex=useLatexParticleName): |
3559 | + p_name = particle |
3560 | + if latex=='model': |
3561 | + try: |
3562 | + texname = model.get_particle(particle).get('texname') |
3563 | + if texname and texname!='none': |
3564 | + p_name = r'$\displaystyle %s$'%texname |
3565 | + except: |
3566 | + pass |
3567 | + elif latex=='built-in': |
3568 | + try: |
3569 | + p_name = r'$\displaystyle %s$'%name2tex[particle] |
3570 | + except: |
3571 | + pass |
3572 | + return p_name |
3573 | + |
3574 | + def resonance_str(resonance, latex=useLatexParticleName): |
3575 | + """ Provides a concise string to characterize the resonance """ |
3576 | + particle_name = model.get_particle(resonance['ParticlePDG']).get_name() |
3577 | + mothersID=['%d'%n for n in sorted(resonance['FSMothersNumbers'])] |
3578 | + return r"%s [%s]"%(format_particle_name(particle_name,latex=latex), |
3579 | + ','.join(mothersID)) |
3580 | + |
3581 | + def format_title(process, resonance): |
3582 | + """ Format the plot title given the process and resonance """ |
3583 | + |
3584 | + process_string = [] |
3585 | + for particle in process.split(): |
3586 | + if particle=='$$': |
3587 | + process_string.append(r'\$\$') |
3588 | + continue |
3589 | + if particle=='>': |
3590 | + process_string.append(r'$\displaystyle \rightarrow$') |
3591 | + continue |
3592 | + process_string.append(format_particle_name(particle)) |
3593 | + |
3594 | + if resonance=='': |
3595 | + return r'CMS check for %s' %(' '.join(process_string)) |
3596 | + else: |
3597 | + return r'CMS check for %s ( resonance %s )'\ |
3598 | + %(' '.join(process_string),resonance) |
3599 | + |
3600 | + def guess_lambdaorder(ME_values_list, lambda_values, expected=None, |
3601 | + proc=None, res=None): |
3602 | + """ Guess the lambda scaling from a list of ME values and return it. |
3603 | + Also compare with the expected result if specified and trigger a |
3604 | + warning if not in agreement.""" |
3605 | + # guess the lambdaCMS power in the amplitude squared |
3606 | + bpowers = [] |
3607 | + for i, lambdaCMS in enumerate(lambda_values[1:]): |
3608 | + bpowers.append(round(math.log(ME_values_list[0]/ME_values_list[i+1],\ |
3609 | + lambda_values[0]/lambdaCMS))) |
3610 | + |
3611 | + # Pick the most representative power |
3612 | + bpower = sorted([(el, bpowers.count(el)) for el in set(bpowers)], |
3613 | + key = lambda elem: elem[1], reverse=True)[0][0] |
3614 | + if not expected: |
3615 | + return bpower |
3616 | + if bpower != expected: |
3617 | + logger.warning('The apparent scaling of the squared amplitude'+ |
3618 | + 'seems inconsistent w.r.t to detected value '+ |
3619 | + '(%i vs %i). %i will be used.'%(expected,bpower,bpower)+ |
3620 | + ' This happend for process %s and resonance %s'%(proc, res)) |
3621 | + return bpower |
3622 | + |
3623 | + def check_stability(ME_values, lambda_values, lambda_scaling, values_name): |
3624 | + """ Checks if the values passed in argument are stable and return the |
3625 | + stability check outcome warning if it is not precise enough. """ |
3626 | + values = sorted([ |
3627 | + abs(val*(lambda_values[0]/lambda_values[i])**lambda_scaling) for \ |
3628 | + i, val in enumerate(ME_values)]) |
3629 | + median = values[len(values)//2] |
3630 | + max_diff = max(abs(values[0]-median),abs(values[-1]-median)) |
3631 | + stability = max_diff/median |
3632 | + stab_threshold = 1e-2 |
3633 | + if stability >= stab_threshold: |
3634 | + return "== WARNING: Stability check failed for '%s' with stability %.2e.\n"\ |
3635 | + %(values_name, stability) |
3636 | + else: |
3637 | + return None |
3638 | + ####### END helper functions |
3639 | + if options['analyze']=='None': |
3640 | + if options['reuse']: |
3641 | + save_path = CMS_save_path('pkl', result, model, options, |
3642 | + output_path=output_path) |
3643 | + res_str += "\nThe results of this check have been stored on disk and its "+\ |
3644 | + "analysis can be rerun at anytime with the MG5aMC command:\n "+\ |
3645 | + " check cms --analyze=%s\n"%save_path |
3646 | + save_load_object.save_to_file(save_path, result) |
3647 | + elif len(result['ordered_processes'])>0: |
3648 | + res_str += "\nUse the following synthax if you want to store "+\ |
3649 | + "the raw results on disk.\n"+\ |
3650 | + " check cms -reuse <proc_def> <options>\n" |
3651 | + |
3652 | + ############################ |
3653 | + # Numerical check first # |
3654 | + ############################ |
3655 | + |
3656 | + checks = [] |
3657 | + for process in result['ordered_processes']: |
3658 | + checks.extend([(process,resID) for resID in \ |
3659 | + range(len(result[process]['CMS']))]) |
3660 | + |
3661 | + if options['reuse']: |
3662 | + logFile = open(CMS_save_path( |
3663 | + 'log', result, model, options, output_path=output_path),'w') |
3664 | + |
3665 | + lambdaCMS_list=result['lambdaCMS'] |
3666 | + |
3667 | + # List of failed processes |
3668 | + failed_procs = [] |
3669 | + |
3670 | + # A bar printing function helper. Change the length here for esthetics |
3671 | + bar = lambda char: char*47 |
3672 | + |
3673 | + # Write out the widths used if information is present: |
3674 | + if 'widths_computed' in result: |
3675 | + res_str += '\n%s%s%s\n'%(bar('='),' Widths ',bar('=')) |
3676 | + if result['recompute_width'] == 'never': |
3677 | + res_str += '| Widths extracted from the param_card.dat' |
3678 | + else: |
3679 | + res_str += '| Widths computed %s'%('analytically' if has_FRdecay |
3680 | + else 'numerically') |
3681 | + if result['recompute_width'] == 'first_time': |
3682 | + res_str += ' for \lambda = 1' |
3683 | + elif result['recompute_width'] == 'always': |
3684 | + res_str += ' for all \lambda values' |
3685 | + res_str += " using mode '--recompute_width=%s'.\n"%result['recompute_width'] |
3686 | + for particle_name, width in result['widths_computed']: |
3687 | + res_str += '| %-10s = %-11.6gGeV\n'%('Width(%s)'%particle_name,width) |
3688 | + res_str += '%s%s%s\n'%(bar('='),'='*8,bar('=')) |
3689 | + |
3690 | + # Doing the analysis to printout to the MG5 interface and determine whether |
3691 | + # the test is passed or not |
3692 | + # Number of last points to consider for the stability test |
3693 | + nstab_points=group_val |
3694 | + # Store here the asymptot detected for each difference curve |
3695 | + differences_target = {} |
3696 | + for process, resID in checks: |
3697 | + proc_res = result[process] |
3698 | + cms_res = proc_res['CMS'][resID] |
3699 | + nwa_res = proc_res['NWA'][resID] |
3700 | + resonance = resonance_str(cms_res['resonance'], latex='none') |
3701 | + cms_born=cms_res['born'] |
3702 | + nwa_born=nwa_res['born'] |
3703 | + # Starting top thick bar |
3704 | + res_str += '\n%s%s%s\n'%(bar('='),'='*8,bar('=')) |
3705 | + # Centered process and resonance title |
3706 | + proc_title = "%s (resonance %s)"%(process,resonance) |
3707 | + centering = (bar(2)+8-len(proc_title))//2 |
3708 | + res_str += "%s%s\n"%(' '*centering,proc_title) |
3709 | + # Starting bottom thin bar |
3710 | + res_str += '%s%s%s\n'%(bar('-'),'-'*8,bar('-')) |
3711 | + # Reminder if diff_lambda_power is not 1 |
3712 | + |
3713 | + if diff_lambda_power!=1: |
3714 | + res_str += "== WARNING diff_lambda_power is not 1 but = %g\n"%diff_lambda_power |
3715 | + res_str += '%s%s%s\n'%(bar('-'),'-'*8,bar('-')) |
3716 | + |
3717 | + born_power = guess_lambdaorder(nwa_born,lambdaCMS_list, |
3718 | + expected=proc_res['born_order'], proc=process, res=resonance) |
3719 | + stab_cms_born = check_stability(cms_born[-nstab_points:], |
3720 | + lambdaCMS_list[-nstab_points:], born_power, 'CMS Born') |
3721 | + if stab_cms_born: |
3722 | + res_str += stab_cms_born |
3723 | + stab_nwa_born = check_stability(nwa_born[-nstab_points:], |
3724 | + lambdaCMS_list[-nstab_points:], born_power, 'NWA Born') |
3725 | + if stab_nwa_born: |
3726 | + res_str += stab_nwa_born |
3727 | + # Write out the phase-space point |
3728 | + res_str += "== Kinematic configuration in GeV (E,px,pypz)\n" |
3729 | + for i, p in enumerate(cms_res['resonance']['PS_point_used']): |
3730 | + res_str += " | p%-2.d = "%(i+1) |
3731 | + for pi in p: |
3732 | + res_str += '%-24.17g'%pi if pi<0.0 else ' %-23.17g'%pi |
3733 | + res_str += "\n" |
3734 | + # Write out the offshellnesses specification |
3735 | + res_str += "== Offshellnesses of all detected resonances\n" |
3736 | + for res_name, offshellness in cms_res['resonance']['offshellnesses']: |
3737 | + res_str += " | %-15s = %f\n"%(res_name, offshellness) |
3738 | + res_str += '%s%s%s\n'%(bar('-'),'-'*8,bar('-')) |
3739 | + |
3740 | + if not pert_orders: |
3741 | + res_str += "== Born scaling lambda^n_born. nborn = %d\n"%born_power |
3742 | + else: |
3743 | + cms_finite=cms_res['finite'] |
3744 | + nwa_finite=nwa_res['finite'] |
3745 | + loop_power = guess_lambdaorder(nwa_finite,lambdaCMS_list, |
3746 | + expected=proc_res['loop_order'], proc=process, res=resonance) |
3747 | + res_str += "== Scaling lambda^n. nborn, nloop = %d, %d\n"\ |
3748 | + %(born_power,loop_power) |
3749 | + stab_cms_finite = check_stability(cms_finite[-nstab_points:], |
3750 | + lambdaCMS_list[-nstab_points:], loop_power, 'CMS finite') |
3751 | + if stab_cms_finite: |
3752 | + res_str += stab_cms_finite |
3753 | + stab_nwa_finite = check_stability(nwa_finite[-nstab_points:], |
3754 | + lambdaCMS_list[-nstab_points:], loop_power, 'NWA finite') |
3755 | + if stab_nwa_finite: |
3756 | + res_str += stab_nwa_finite |
3757 | + # Now organize data |
3758 | + CMSData = [] |
3759 | + NWAData = [] |
3760 | + DiffData = [] |
3761 | + for idata, lam in enumerate(lambdaCMS_list): |
3762 | + if not pert_orders: |
3763 | + new_cms=cms_born[idata]/(lam**born_power) |
3764 | + new_nwa=nwa_born[idata]/(lam**born_power) |
3765 | + else: |
3766 | + new_cms=(cms_finite[idata]+cms_born[idata]-nwa_born[idata])/(lam*nwa_born[idata]) |
3767 | + new_nwa=nwa_finite[idata]/(lam*nwa_born[idata]) |
3768 | + new_diff=(new_cms-new_nwa)/(lam**diff_lambda_power) |
3769 | + CMSData.append(new_cms) |
3770 | + NWAData.append(new_nwa) |
3771 | + DiffData.append(new_diff) |
3772 | + |
3773 | + |
3774 | + # NWA Born median |
3775 | + |
3776 | + # Find which values to start the test at by looking at the CMSdata scaling |
3777 | + # First compute the median of the middle 60% of entries in the plot |
3778 | + trim_range=int(((1.0-0.6)/2.0)*len(DiffData)) |
3779 | + low_diff_median = sorted(DiffData[trim_range:-trim_range])\ |
3780 | + [(len(DiffData)-2*trim_range)//2] |
3781 | + |
3782 | + # Now walk the values from the right of the diff plot until we reaches |
3783 | + # values stable with respect to the CMS_tale_median. This value will |
3784 | + # be limit of the range considered for the CMS test. Do it in a way which |
3785 | + # is insensitive to instabilities, by considering medians of group_val |
3786 | + # consecutive points. |
3787 | + current_median = 0 |
3788 | + # We really want to select only the very stable region |
3789 | + scan_index = 0 |
3790 | + reference = abs(sorted(NWAData)[len(NWAData)//2]) |
3791 | + if low_diff_median!= 0.0: |
3792 | + if abs(reference/low_diff_median)<diff_zero_threshold: |
3793 | + reference = abs(low_diff_median) |
3794 | + while True: |
3795 | + scanner = DiffData[scan_index:group_val+scan_index] |
3796 | + current_median = sorted(scanner)[len(scanner)//2] |
3797 | + # Useful for debugging |
3798 | + #misc.sprint(scanner,current_median,abs(current_median-low_diff_median)/reference,reference,consideration_threshold) |
3799 | + if abs(current_median-low_diff_median)/reference<\ |
3800 | + consideration_threshold: |
3801 | + break; |
3802 | + scan_index += 1 |
3803 | + if (group_val+scan_index)>=len(DiffData): |
3804 | + # this should not happen, but in this case we arbitrarily take |
3805 | + # half of the data |
3806 | + logger.warning('The median scanning failed during the CMS check '+ |
3807 | + 'for process %s'%proc_title+\ |
3808 | + 'This is means that the difference plot has not stable'+\ |
3809 | + 'intermediate region and MG5_aMC will arbitrarily consider the'+\ |
3810 | + 'left half of the values.') |
3811 | + scan_index = -1 |
3812 | + break; |
3813 | + |
3814 | + if scan_index == -1: |
3815 | + cms_check_data_range = len(DiffData)//2 |
3816 | + else: |
3817 | + cms_check_data_range = scan_index + group_val |
3818 | + |
3819 | + res_str += "== Data range considered (min, max, n_val) = (%.1e, %.1e, %d)\n"\ |
3820 | + %(lambdaCMS_list[-1],lambdaCMS_list[scan_index], |
3821 | + len(lambdaCMS_list)-scan_index) |
3822 | + # Now setup the list of values affecting the CMScheck |
3823 | + CMScheck_values = DiffData[cms_check_data_range:] |
3824 | + |
3825 | + # For the purpose of checking the stability of the tale, we now do |
3826 | + # the consideration_threshold scan from the *left* and if we finsih |
3827 | + # before the end, it means that there is an unstable region. |
3828 | + if scan_index >= 0: |
3829 | + # try to find the numerical instability region |
3830 | + scan_index = len(CMScheck_values) |
3831 | + used_group_val = max(3,group_val) |
3832 | + unstability_found = True |
3833 | + while True: |
3834 | + scanner = CMScheck_values[scan_index-used_group_val:scan_index] |
3835 | + maxdiff = max(abs(scan-low_diff_median) for scan in scanner) |
3836 | + if maxdiff/reference<consideration_threshold: |
3837 | + break; |
3838 | + if (scan_index-used_group_val)==0: |
3839 | + # this only happens when no stable intermediate region can be found |
3840 | + # Set scan_index to -99 so as to prevent warning |
3841 | + unstability_found = False |
3842 | + break; |
3843 | + # Proceed to th next block of data |
3844 | + scan_index -= 1 |
3845 | + |
3846 | + # Now report here the unstability found |
3847 | + if unstability_found: |
3848 | + unstab_check=CMScheck_values[scan_index:] |
3849 | + relative_array = [val > CMScheck_values[scan_index-1] for |
3850 | + val in unstab_check] |
3851 | + upper = relative_array.count(True) |
3852 | + lower = relative_array.count(False) |
3853 | + if not ((lower==0 and upper>=0) or (lower>=0 and upper==0)): |
3854 | + logger.warning( |
3855 | +"""For process %s, a numerically unstable region was detected starting from lambda < %.1e. |
3856 | +Look at the plot in this region (and possibly throw more points using the option --lambdaCMS). |
3857 | +If this is indeed a stability issue, then either decrease MLStabThreshold in MadLoop or decrease the |
3858 | +minimum value of lambda to be considered in the CMS check."""\ |
3859 | + %(proc_title, lambdaCMS_list[cms_check_data_range+scan_index-1])) |
3860 | + |
3861 | + # Now apply the same same technique, as above but to the difference plot |
3862 | + # Now we will use low_diff_median instead of diff_tale_median |
3863 | + #diff_tale_median = sorted(CMScheck_values)[len(CMScheck_values)//2] |
3864 | + scan_index = 0 |
3865 | + max_diff = 0.0 |
3866 | + res_str += "== Ref. value used in the ratios (Born NWA) = %s\n"\ |
3867 | + %('%.3g'%reference) |
3868 | + res_str += "== Asymptotic difference value detected = %s\n"\ |
3869 | + %('%.3g'%low_diff_median) |
3870 | + # Pass information to the plotter for the difference target |
3871 | + differences_target[(process,resID)]= low_diff_median |
3872 | +# misc.sprint('Now doing resonance %s.'%res_str) |
3873 | + while True: |
3874 | + current_vals = CMScheck_values[scan_index:scan_index+group_val] |
3875 | + max_diff = max(max_diff, abs(low_diff_median- |
3876 | + sorted(current_vals)[len(current_vals)//2])/reference) |
3877 | + if (scan_index+group_val)>=len(CMScheck_values): |
3878 | + break |
3879 | + scan_index += 1 |
3880 | + |
3881 | + # Now use the CMS check result |
3882 | + res_str += "== CMS check result (threshold) = "+\ |
3883 | + "%.3g%% (%s%.3g%%)\n"%(max_diff*100.0, |
3884 | + '>' if max_diff>CMS_test_threshold else '<', |
3885 | + CMS_test_threshold*100.0) |
3886 | + if max_diff>CMS_test_threshold: |
3887 | + failed_procs.append((process,resonance)) |
3888 | + res_str += "%s %s %s\n"%(bar('='), |
3889 | + 'FAILED' if max_diff>CMS_test_threshold else 'PASSED',bar('=')) |
3890 | + |
3891 | + if len(checks): |
3892 | + res_str += "\nSummary: %i/%i passed"%(len(checks)-len(failed_procs),len(checks))+\ |
3893 | + ('.\n' if not failed_procs else ', failed checks are for:\n') |
3894 | + else: |
3895 | + res_str += "\nNo CMS check to perform." |
3896 | + |
3897 | + for process, resonance in failed_procs: |
3898 | + res_str += "> %s, %s\n"%(process, resonance) |
3899 | + |
3900 | + ############################ |
3901 | + # Now we turn to the plots # |
3902 | + ############################ |
3903 | + if not options['show_plot']: |
3904 | + if options['reuse']: |
3905 | + logFile.write(res_str) |
3906 | + logFile.close() |
3907 | + if output=='text': |
3908 | + return res_str |
3909 | + else: |
3910 | + return failed_procs |
3911 | + |
3912 | + fig_output_file = CMS_save_path('pdf', result, model, options, |
3913 | + output_path=output_path) |
3914 | + base_fig_name = fig_output_file[:-4] |
3915 | + suffix = 1 |
3916 | + while os.path.isfile(fig_output_file): |
3917 | + fig_output_file = '%s__%d__.pdf'%(base_fig_name,suffix) |
3918 | + suffix+=1 |
3919 | + |
3920 | + process_data_plot_dict={} |
3921 | + |
3922 | + # load possible additional results. The second element of the tuple is |
3923 | + # the dataset name. |
3924 | + all_res = [(result, None)] |
3925 | + for i, add_res in enumerate(options['analyze'].split(',')[1:]): |
3926 | + specs =re.match(r'^(?P<filename>.*)\((?P<title>.*)\)$', add_res) |
3927 | + if specs: |
3928 | + filename = specs.group('filename') |
3929 | + title = specs.group('title') |
3930 | + else: |
3931 | + filename = add_res |
3932 | + title = '#%d'%(i+1) |
3933 | + |
3934 | + new_result = save_load_object.load_from_file(filename) |
3935 | + if new_result is None: |
3936 | + raise InvalidCmd('The complex mass scheme check result'+ |
3937 | + " file below could not be read.\n %s"%filename) |
3938 | + if len(new_result['ordered_processes'])!=len(result['ordered_processes']) \ |
3939 | + or len(new_result['lambdaCMS'])!=len(result['lambdaCMS']): |
3940 | + raise self.InvalidCmd('The complex mass scheme check result'+ |
3941 | + " file below does not seem compatible.\n %s"%filename) |
3942 | + all_res.append((new_result,title)) |
3943 | + |
3944 | + # Prepare the data |
3945 | + for process, resID in checks: |
3946 | + data1=[] # for subplot 1,i.e. CMS and NWA |
3947 | + data2=[] # for subplot 2,i.e. diff |
3948 | + info ={} # info to be passed to the plotter |
3949 | + for res in all_res: |
3950 | + proc_res = res[0][process] |
3951 | + cms_res = proc_res['CMS'][resID] |
3952 | + nwa_res = proc_res['NWA'][resID] |
3953 | + resonance = resonance_str(cms_res['resonance']) |
3954 | + if options['resonances']!=1: |
3955 | + info['title'] = format_title(process, resonance) |
3956 | + else: |
3957 | + info['title'] = format_title(process, '') |
3958 | + # Born result |
3959 | + cms_born=cms_res['born'] |
3960 | + nwa_born=nwa_res['born'] |
3961 | + if len(cms_born) != len(lambdaCMS_list) or\ |
3962 | + len(nwa_born) != len(lambdaCMS_list): |
3963 | + raise MadGraph5Error, 'Inconsistent list of results w.r.t. the'+\ |
3964 | + ' lambdaCMS values specified for process %s'%process |
3965 | + if pert_orders: |
3966 | + cms_finite=cms_res['finite'] |
3967 | + nwa_finite=nwa_res['finite'] |
3968 | + if len(cms_finite) != len(lambdaCMS_list) or\ |
3969 | + len(nwa_finite) != len(lambdaCMS_list): |
3970 | + raise MadGraph5Error, 'Inconsistent list of results w.r.t. the'+\ |
3971 | + ' lambdaCMS values specified for process %s'%process |
3972 | + |
3973 | + bpower = guess_lambdaorder(nwa_born,lambdaCMS_list, |
3974 | + expected=proc_res['born_order'], proc=process, res=resonance) |
3975 | + |
3976 | + CMSData = [] |
3977 | + NWAData = [] |
3978 | + DiffData = [] |
3979 | + for idata, lam in enumerate(lambdaCMS_list): |
3980 | + if not pert_orders: |
3981 | + new_cms = cms_born[idata]/lam**bpower |
3982 | + new_nwa = nwa_born[idata]/lam**bpower |
3983 | + else: |
3984 | + new_cms=cms_finite[idata]+cms_born[idata]-nwa_born[idata] |
3985 | + new_nwa=nwa_finite[idata] |
3986 | + new_cms /= lam*nwa_born[idata] |
3987 | + new_nwa /= lam*nwa_born[idata] |
3988 | + new_diff=(new_cms-new_nwa)/(lam**diff_lambda_power) |
3989 | + CMSData.append(new_cms) |
3990 | + NWAData.append(new_nwa) |
3991 | + DiffData.append(new_diff) |
3992 | + if res[1] is None: |
3993 | + if not pert_orders: |
3994 | + data1.append([r'$\displaystyle CMS\;=\;\mathcal{M}_{CMS}^{(0)}/\lambda^%d$'%bpower,CMSData]) |
3995 | + data1.append([r'$\displaystyle NWA\;=\;\mathcal{M}_{NWA}^{(0)}/\lambda^%d$'%bpower,NWAData]) |
3996 | + else: |
3997 | + data1.append([r'$\displaystyle CMS\;=\;(\mathcal{M}^{(1)}_{CMS}+\mathcal{M}_{CMS}^{(0)}-\mathcal{M}^{(0)}_{NWA})/(\lambda\cdot\mathcal{M}^{(0)}_{NWA})$',CMSData]) |
3998 | + data1.append([r'$\displaystyle NWA\;=\;\mathcal{M}^{(1)}_{NWA}/(\lambda\cdot\mathcal{M}^{(0)}_{NWA})$',NWAData]) |
3999 | + data2.append([r'$\displaystyle\Delta\;=\;(CMS-NWA)/\lambda%s$'\ |
4000 | + %('' if diff_lambda_power==1 else r'^{%g}'%diff_lambda_power) |
4001 | + ,DiffData]) |
4002 | + data2.append([r'Detected asymptot',[differences_target[(process,resID)] |
4003 | + for i in range(len(lambdaCMS_list))]]) |
4004 | + else: |
4005 | + data1.append([r'$\displaystyle CMS$ %s'%res[1].replace('_',' '),CMSData]) |
4006 | + data1.append([r'$\displaystyle NWA$ %s'%res[1].replace('_',' '),NWAData]) |
4007 | + data2.append([r'$\displaystyle\Delta$ %s'%res[1].replace('_',' '),DiffData]) |
4008 | + |
4009 | + process_data_plot_dict[(process,resID)]=(data1,data2, info) |
4010 | + |
4011 | + # Now turn to the actual plotting |
4012 | + try: |
4013 | + import matplotlib.pyplot as plt |
4014 | + from matplotlib.backends.backend_pdf import PdfPages |
4015 | + |
4016 | + # output the figures |
4017 | + if lambda_range[1]>0: |
4018 | + min_lambda_index = -1 |
4019 | + for i, lam in enumerate(lambdaCMS_list): |
4020 | + if lam<=lambda_range[1]: |
4021 | + min_lambda_index = i |
4022 | + break |
4023 | + else: |
4024 | + min_lambda_index = 0 |
4025 | + if lambda_range[0]>0: |
4026 | + max_lambda_index = -1 |
4027 | + for i, lam in enumerate(lambdaCMS_list): |
4028 | + if lam<=lambda_range[0]: |
4029 | + max_lambda_index=i-1 |
4030 | + break |
4031 | + else: |
4032 | + max_lambda_index=len(lambdaCMS_list)-1 |
4033 | + |
4034 | + if max_lambda_index==-1 or min_lambda_index==-1 or \ |
4035 | + min_lambda_index==max_lambda_index: |
4036 | + raise InvalidCmd('Invalid lambda plotting range: (%.1e,%.1e)'%\ |
4037 | + (lambda_range[0],lambda_range[1])) |
4038 | + # Trim lambda values |
4039 | + if lambda_range[0]>0.0 or lambda_range[1]>0.0: |
4040 | + lambdaCMS_list = lambdaCMS_list[min_lambda_index:max_lambda_index+1] |
4041 | + |
4042 | + plt.rc('text', usetex=True) |
4043 | + plt.rc('font', family='serif') |
4044 | + pp=PdfPages(fig_output_file) |
4045 | + if len(checks)==0 or len(process_data_plot_dict[checks[0]][1])<=7: |
4046 | + colorlist=['b','r','g','k','c','m','y'] |
4047 | + else: |
4048 | + import matplotlib.colors as colors |
4049 | + import matplotlib.cm as mplcm |
4050 | + import matplotlib.colors as colors |
4051 | + |
4052 | + # Nice color maps here are 'gist_rainbow' |
4053 | + cm = plt.get_cmap('gist_rainbow') |
4054 | + cNorm = colors.Normalize(vmin=0, vmax=(len(data2)-1)) |
4055 | + scalarMap = mplcm.ScalarMappable(norm=cNorm, cmap=cm) |
4056 | + # use vmax=(len(data1)-1)*0.9 to remove pink at the end of the spectrum |
4057 | + colorlist = [scalarMap.to_rgba(i*0.9) for i in range(len(data2))] |
4058 | + # Or it is also possible to alternate colors so as to make them |
4059 | + # as distant as possible to one another |
4060 | + # colorlist = sum([ |
4061 | + # [scalarMap.to_rgba(i),scalarMap.to_rgba(i+len(data2)//2)] |
4062 | + # for i in range(len(data2)//2)],[]) |
4063 | + |
4064 | + legend_size = 10 |
4065 | + for iproc, (process, resID) in enumerate(checks): |
4066 | + data1,data2, info=process_data_plot_dict[(process,resID)] |
4067 | + # Trim dataplot if necessary |
4068 | + if lambda_range[0]>0.0 or lambda_range[1]>0.0: |
4069 | + for i in range(len(data1)): |
4070 | + data1[i][1]=data1[i][1][min_lambda_index:max_lambda_index+1] |
4071 | + for i in range(len(data2)): |
4072 | + data2[i][1]=data2[i][1][min_lambda_index:max_lambda_index+1] |
4073 | + plt.figure(iproc+1) |
4074 | + plt.subplot(211) |
4075 | + minvalue=1e+99 |
4076 | + maxvalue=-1e+99 |
4077 | + for i, d1 in enumerate(data1): |
4078 | + # Use the same color for NWA and CMS curve but different linestyle |
4079 | + color=colorlist[i//2] |
4080 | + data_plot=d1[1] |
4081 | + minvalue=min(min(data_plot),minvalue) |
4082 | + maxvalue=max(max(data_plot),maxvalue) |
4083 | + plt.plot(lambdaCMS_list, data_plot, color=color, marker='', \ |
4084 | + linestyle=('-' if i%2==0 else '--'), |
4085 | + label=(d1[0] if (i%2==0 or i==1) else '_nolegend_')) |
4086 | + ymin = minvalue-(maxvalue-minvalue)/5. |
4087 | + ymax = maxvalue+(maxvalue-minvalue)/5. |
4088 | + |
4089 | + plt.yscale('linear') |
4090 | + plt.xscale('log') |
4091 | + plt.title(info['title'],fontsize=12,y=1.08) |
4092 | + plt.ylabel(r'$\displaystyle \mathcal{M}$') |
4093 | + #plt.xlabel('lambdaCMS') |
4094 | + if ymax*len(data1)-sum(max(d1[1][-len(d1[1])//2:]) \ |
4095 | + for d1 in data1) > 0.5*(ymax-ymin)*len(data1): |
4096 | + plt.legend(prop={'size':legend_size},loc='upper left', frameon=False) |
4097 | + else: |
4098 | + plt.legend(prop={'size':legend_size},loc='lower left', frameon=False) |
4099 | + |
4100 | + plt.axis([min(lambdaCMS_list),max(lambdaCMS_list), ymin, ymax]) |
4101 | + |
4102 | + plt.subplot(212) |
4103 | + minvalue=1e+99 |
4104 | + maxvalue=-1e+99 |
4105 | + |
4106 | + try: |
4107 | + asymptot_index = [d2[0] for d2 in data2].index('Detected asymptot') |
4108 | + plt.plot(lambdaCMS_list, data2[asymptot_index][1], |
4109 | + color='0.75', marker='', linestyle='-', label='') |
4110 | + except ValueError: |
4111 | + pass |
4112 | + |
4113 | + color_ID = -1 |
4114 | + for d2 in data2: |
4115 | + # Special setup for the reference asymptot straight line |
4116 | + if d2[0]=='Detected asymptot': |
4117 | + continue |
4118 | + color_ID += 1 |
4119 | + color=colorlist[color_ID] |
4120 | + data_plot=d2[1] |
4121 | + minvalue=min(min(data_plot),minvalue) |
4122 | + maxvalue=max(max(data_plot),maxvalue) |
4123 | + plt.plot(lambdaCMS_list, data_plot, color=color, marker='',\ |
4124 | + linestyle='-', label=d2[0]) |
4125 | + ymin = minvalue-(maxvalue-minvalue)/5. |
4126 | + ymax = maxvalue+(maxvalue-minvalue)/5. |
4127 | + |
4128 | + plt.yscale('linear') |
4129 | + plt.xscale('log') |
4130 | + plt.ylabel(r'$\displaystyle \Delta$') |
4131 | + plt.xlabel(r'$\displaystyle \lambda$') |
4132 | + # The unreadable stuff below is just to check if the left of the |
4133 | + # plot is stable or not |
4134 | + sd = [sorted(d2[1][-len(d2[1])//2:]) for d2 in data2] |
4135 | + left_stability = sum(abs(s[0]-s[-1]) for s in sd) |
4136 | + sd = [sorted(d2[1][:-len(d2[1])//2]) for d2 in data2] |
4137 | + right_stability = sum(abs(s[0]-s[-1]) for s in sd) |
4138 | + left_stable = False if right_stability==0.0 else \ |
4139 | + (left_stability/right_stability)<0.1 |
4140 | + |
4141 | + if left_stable: |
4142 | + if ymax*len(data2)-sum(max(d2[1][-len(d2[1])//2:]) \ |
4143 | + for d2 in data2) > 0.5*(ymax-ymin)*len(data2): |
4144 | + plt.legend(prop={'size':legend_size},loc='upper left', frameon=False) |
4145 | + else: |
4146 | + plt.legend(prop={'size':legend_size},loc='lower left', frameon=False) |
4147 | + else: |
4148 | + if ymax*len(data2)-sum(max(d2[1][:-len(d2[1])//2]) \ |
4149 | + for d2 in data2) > 0.5*(ymax-ymin)*len(data2): |
4150 | + plt.legend(prop={'size':legend_size},loc='upper right', frameon=False) |
4151 | + else: |
4152 | + plt.legend(prop={'size':legend_size},loc='lower right', frameon=False) |
4153 | + |
4154 | + plt.axis([min(lambdaCMS_list),max(lambdaCMS_list),\ |
4155 | + minvalue-(maxvalue-minvalue)/5., maxvalue+(maxvalue-minvalue)/5.]) |
4156 | + |
4157 | + plt.savefig(pp,format='pdf') |
4158 | + |
4159 | + pp.close() |
4160 | + |
4161 | + if len(checks)>0: |
4162 | + logger.info('Some cms check statistics will be displayed once you '+\ |
4163 | + 'close the plot window') |
4164 | + logger.info('Complex Mass Scheme check plot output to file %s. '%fig_output_file) |
4165 | + |
4166 | + if sys.platform.startswith('linux'): |
4167 | + misc.call(["xdg-open", fig_output_file]) |
4168 | + elif sys.platform.startswith('darwin'): |
4169 | + misc.call(["open", fig_output_file]) |
4170 | + |
4171 | + plt.close("all") |
4172 | + |
4173 | + except IOError as e: |
4174 | + if isinstance(e, ImportError): |
4175 | + res_str += "\n= Install matplotlib to get a "+\ |
4176 | + "graphical display of the results of the cms check." |
4177 | + else: |
4178 | + res_str += "\n= Could not produce the cms check plot because of "+\ |
4179 | + "the following error: %s"%str(e) |
4180 | + |
4181 | + if options['reuse']: |
4182 | + logFile.write(res_str) |
4183 | + logFile.close() |
4184 | + |
4185 | + if output=='text': |
4186 | + return res_str |
4187 | + else: |
4188 | + return failed_procs |
4189 | |
4190 | === modified file 'models/check_param_card.py' |
4191 | --- models/check_param_card.py 2015-07-16 11:03:56 +0000 |
4192 | +++ models/check_param_card.py 2015-08-16 06:06:34 +0000 |
4193 | @@ -13,6 +13,8 @@ |
4194 | except: |
4195 | import internal.file_writers as file_writers |
4196 | import internal.misc as misc |
4197 | + |
4198 | +import StringIO |
4199 | |
4200 | class InvalidParamCard(Exception): |
4201 | """ a class for invalid param_card """ |
4202 | @@ -274,9 +276,8 @@ |
4203 | self.order = [] |
4204 | |
4205 | if isinstance(input_path, ParamCard): |
4206 | - self.order = list(input_path.order) |
4207 | - self.update(input_path) |
4208 | - self.input_path = input_path.input_path |
4209 | + self.read(StringIO.StringIO(input_path.write())) |
4210 | + self.input_path = input_path.input_path |
4211 | else: |
4212 | self.input_path = input_path |
4213 | if input_path: |
4214 | @@ -342,7 +343,7 @@ |
4215 | |
4216 | return self |
4217 | |
4218 | - def write(self, outpath): |
4219 | + def write(self, outpath=None): |
4220 | """schedular for writing a card""" |
4221 | |
4222 | # order the block in a smart way |
4223 | @@ -372,10 +373,8 @@ |
4224 | diff += 'set param_card %s %s %s # orig: %s\n' % \ |
4225 | (blockname, lhacode , new_value, value) |
4226 | return diff |
4227 | - |
4228 | - |
4229 | - |
4230 | - |
4231 | + |
4232 | + |
4233 | def write_inc_file(self, outpath, identpath, default, need_mp=False): |
4234 | """ write a fortran file which hardcode the param value""" |
4235 | |
4236 | @@ -396,8 +395,7 @@ |
4237 | except KeyError: |
4238 | value =defaultcard[block].get(tuple(lhaid)).value |
4239 | logger.warning('information about \"%s %s" is missing using default value: %s.' %\ |
4240 | - (block, lhaid, value)) |
4241 | - |
4242 | + (block, lhaid, value)) |
4243 | else: |
4244 | value =defaultcard[block].get(tuple(lhaid)).value |
4245 | logger.warning('information about \"%s %s" is missing (full block missing) using default value: %s.' %\ |
4246 | @@ -406,7 +404,61 @@ |
4247 | fout.writelines(' %s = %s' % (variable, str(value).replace('e','d'))) |
4248 | if need_mp: |
4249 | fout.writelines(' mp__%s = %s_16' % (variable, value)) |
4250 | - |
4251 | + |
4252 | + def convert_to_complex_mass_scheme(self): |
4253 | + """ Convert this param_card to the convention used for the complex mass scheme: |
4254 | + This includes, removing the Yukawa block if present and making sure the EW input |
4255 | + scheme is (MZ, MW, aewm1). """ |
4256 | + |
4257 | + # The yukawa block is irrelevant for the CMS models, we must remove them |
4258 | + if self.has_block('yukawa'): |
4259 | + # Notice that the last parameter removed will also remove the block. |
4260 | + for lhacode in [param.lhacode for param in self['yukawa']]: |
4261 | + self.remove_param('yukawa', lhacode) |
4262 | + |
4263 | + # Now fix the EW input scheme |
4264 | + EW_input = {('sminputs',(1,)):None, |
4265 | + ('sminputs',(2,)):None, |
4266 | + ('mass',(23,)):None, |
4267 | + ('mass',(24,)):None} |
4268 | + for block, lhaid in EW_input.keys(): |
4269 | + try: |
4270 | + EW_input[(block,lhaid)] = self[block].get(lhaid).value |
4271 | + except: |
4272 | + pass |
4273 | + |
4274 | + # Now specify the missing values. We only support the following EW |
4275 | + # input scheme: |
4276 | + # (alpha, GF, MZ) input |
4277 | + internal_param = [key for key,value in EW_input.items() if value is None] |
4278 | + if len(internal_param)==0: |
4279 | + # All parameters are already set, no need for modifications |
4280 | + return |
4281 | + |
4282 | + if len(internal_param)!=1: |
4283 | + raise InvalidParamCard,' The specified EW inputs has more than one'+\ |
4284 | + ' unknown: [%s]'%(','.join([str(elem) for elem in internal_param])) |
4285 | + |
4286 | + |
4287 | + if not internal_param[0] in [('mass',(24,)), ('sminputs',(2,)), |
4288 | + ('sminputs',(1,))]: |
4289 | + raise InvalidParamCard, ' The only EW input scheme currently supported'+\ |
4290 | + ' are those with either the W mass or GF left internal.' |
4291 | + |
4292 | + # Now if the Wmass is internal, then we must change the scheme |
4293 | + if internal_param[0] == ('mass',(24,)): |
4294 | + aewm1 = EW_input[('sminputs',(1,))] |
4295 | + Gf = EW_input[('sminputs',(2,))] |
4296 | + Mz = EW_input[('mass',(23,))] |
4297 | + try: |
4298 | + Mw = math.sqrt((Mz**2/2.0)+math.sqrt((Mz**4/4.0)-(( |
4299 | + (1.0/aewm1)*math.pi*Mz**2)/(Gf*math.sqrt(2.0))))) |
4300 | + except: |
4301 | + InvalidParamCard, 'The EW inputs 1/a_ew=%f, Gf=%f, Mz=%f are inconsistent'%\ |
4302 | + (aewm1,Gf,Mz) |
4303 | + self.remove_param('sminputs', (2,)) |
4304 | + self.add_param('mass', (24,), Mw, 'MW') |
4305 | + |
4306 | def append(self, obj): |
4307 | """add an object to this""" |
4308 | |
4309 | |
4310 | === modified file 'models/import_ufo.py' |
4311 | --- models/import_ufo.py 2015-08-07 00:15:39 +0000 |
4312 | +++ models/import_ufo.py 2015-08-16 06:06:34 +0000 |
4313 | @@ -75,7 +75,8 @@ |
4314 | |
4315 | return model_path |
4316 | |
4317 | -def import_model(model_name, decay=False, restrict=True, prefix='mdl_'): |
4318 | +def import_model(model_name, decay=False, restrict=True, prefix='mdl_', |
4319 | + complex_mass_scheme = None): |
4320 | """ a practical and efficient way to import a model""" |
4321 | |
4322 | # check if this is a valid path or if this include restriction file |
4323 | @@ -112,12 +113,16 @@ |
4324 | |
4325 | #import the FULL model |
4326 | model = import_full_model(model_path, decay, prefix) |
4327 | - |
4328 | + |
4329 | if os.path.exists(pjoin(model_path, "README")): |
4330 | logger.info("Please read carefully the README of the model file for instructions/restrictions of the model.",'$MG:color:BLACK') |
4331 | # restore the model name |
4332 | if restrict_name: |
4333 | model["name"] += '-' + restrict_name |
4334 | + |
4335 | + # Decide whether complex mass scheme is on or not |
4336 | + useCMS = (complex_mass_scheme is None and aloha.complex_mass) or \ |
4337 | + complex_mass_scheme==True |
4338 | #restrict it if needed |
4339 | if restrict_file: |
4340 | try: |
4341 | @@ -130,14 +135,36 @@ |
4342 | logger.info('Run \"set stdout_level DEBUG\" before import for more information.') |
4343 | # Modify the mother class of the object in order to allow restriction |
4344 | model = RestrictModel(model) |
4345 | + |
4346 | + # Change to complex mass scheme if necessary. This must be done BEFORE |
4347 | + # the restriction. |
4348 | + if useCMS: |
4349 | + # We read the param_card a first time so that the function |
4350 | + # change_mass_to_complex_scheme can know if a particle is to |
4351 | + # be considered massive or not and with zero width or not. |
4352 | + # So we read the restrict card a first time, with the CMS set to |
4353 | + # False because we haven't changed the model yet. |
4354 | + model.set_parameters_and_couplings(param_card = restrict_file, |
4355 | + complex_mass_scheme=False) |
4356 | + model.change_mass_to_complex_scheme(toCMS=True) |
4357 | + else: |
4358 | + model.change_mass_to_complex_scheme(toCMS=False) |
4359 | + |
4360 | if model_name == 'mssm' or os.path.basename(model_name) == 'mssm': |
4361 | keep_external=True |
4362 | else: |
4363 | keep_external=False |
4364 | model.restrict_model(restrict_file, rm_parameter=not decay, |
4365 | - keep_external=keep_external) |
4366 | + keep_external=keep_external, complex_mass_scheme=complex_mass_scheme) |
4367 | model.path = model_path |
4368 | + else: |
4369 | + # Change to complex mass scheme if necessary |
4370 | + if useCMS: |
4371 | + model.change_mass_to_complex_scheme(toCMS=True) |
4372 | + else: |
4373 | + model.change_mass_to_complex_scheme(toCMS=False) |
4374 | |
4375 | + |
4376 | return model |
4377 | |
4378 | |
4379 | @@ -263,8 +290,8 @@ |
4380 | # save in a pickle files to fasten future usage |
4381 | if ReadWrite: |
4382 | save_load_object.save_to_file(os.path.join(model_path, pickle_name), |
4383 | - model, log=False) |
4384 | - |
4385 | + model, log=False) |
4386 | + |
4387 | #if default and os.path.exists(os.path.join(model_path, 'restrict_default.dat')): |
4388 | # restrict_file = os.path.join(model_path, 'restrict_default.dat') |
4389 | # model = import_ufo.RestrictModel(model) |
4390 | @@ -1488,7 +1515,8 @@ |
4391 | self.rule_card = check_param_card.ParamCardRule() |
4392 | self.restrict_card = None |
4393 | |
4394 | - def restrict_model(self, param_card, rm_parameter=True, keep_external=False): |
4395 | + def restrict_model(self, param_card, rm_parameter=True, keep_external=False, |
4396 | + complex_mass_scheme=None): |
4397 | """apply the model restriction following param_card. |
4398 | rm_parameter defines if the Zero/one parameter are removed or not from |
4399 | the model. |
4400 | @@ -1502,6 +1530,11 @@ |
4401 | self.set('particles', self.get('particles')) |
4402 | |
4403 | # compute the value of all parameters |
4404 | + # Get the list of definition of model functions, parameter values. |
4405 | + self.set_parameters_and_couplings(param_card, |
4406 | + complex_mass_scheme=complex_mass_scheme) |
4407 | + |
4408 | + |
4409 | # Keep the list of definition of model functions, parameter values. |
4410 | model_definitions = self.set_parameters_and_couplings(param_card) |
4411 | |
4412 | |
4413 | === added file 'models/loop_qcd_qed_sm/.restrict_parallel_test_MB.dat' |
4414 | --- models/loop_qcd_qed_sm/.restrict_parallel_test_MB.dat 1970-01-01 00:00:00 +0000 |
4415 | +++ models/loop_qcd_qed_sm/.restrict_parallel_test_MB.dat 2015-08-16 06:06:34 +0000 |
4416 | @@ -0,0 +1,65 @@ |
4417 | +###################################################################### |
4418 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
4419 | +###################################################################### |
4420 | + |
4421 | +################################### |
4422 | +### INFORMATION FOR LOOP |
4423 | +#################################### |
4424 | +Block LOOP |
4425 | + 666 1.00000000e+03 # MU_R |
4426 | + |
4427 | +################################### |
4428 | +## INFORMATION FOR SMINPUTS |
4429 | +################################### |
4430 | +Block SMINPUTS |
4431 | + 1 1.32506980e+02 # aEWM1 |
4432 | + 3 1.18000000e-01 # aS |
4433 | + |
4434 | +################################### |
4435 | +## INFORMATION FOR MASS |
4436 | +################################### |
4437 | +Block MASS |
4438 | + 1 0.000000e+00 # MD |
4439 | + 2 0.000000e+00 # MU |
4440 | + 3 0.000000e+00 # MS |
4441 | + 4 0.000000e+00 # MC |
4442 | + 5 4.500000e+00 # MB |
4443 | + 6 1.743000e+02 # MT |
4444 | + 11 0.000000e+00 # Me |
4445 | + 13 0.000000e+00 # MM |
4446 | + 15 0.000000e+00 # MTA |
4447 | + 23 9.118800e+01 # MZ |
4448 | + 24 8.041900e+01 # MW |
4449 | + 25 1.200000e+02 # MH |
4450 | + |
4451 | +################################### |
4452 | +## INFORMATION FOR DECAY |
4453 | +################################### |
4454 | +DECAY 6 0.000000e+00 |
4455 | +DECAY 15 0.000000e+00 |
4456 | +DECAY 23 0.000000e+00 |
4457 | +DECAY 24 0.000000e+00 |
4458 | +DECAY 25 0.000000e+00 |
4459 | + |
4460 | +################################### |
4461 | +## INFORMATION FOR WOLFENSTEIN |
4462 | +################################### |
4463 | +Block Wolfenstein |
4464 | + 1 0.000000e+00 # lamWS |
4465 | + 2 0.000000e+00 # AWS |
4466 | + 3 0.000000e+00 # rhoWS |
4467 | + 4 0.000000e+00 # etaWS |
4468 | + |
4469 | +################################### |
4470 | +## INFORMATION FOR YUKAWA |
4471 | +################################### |
4472 | +Block YUKAWA |
4473 | + 1 0.000000e+00 # ymdo |
4474 | + 2 0.000000e+00 # ymup |
4475 | + 3 0.000000e+00 # yms |
4476 | + 4 0.000000e+00 # ymc |
4477 | + 5 4.500000e+00 # ymb |
4478 | + 6 1.743000e+02 # ymt |
4479 | + 11 0.000000e+00 # yme |
4480 | + 13 0.000000e+00 # ymm |
4481 | + 15 0.000000e+00 # ymtau |
4482 | |
4483 | === modified file 'models/loop_qcd_qed_sm/CT_couplings.py' |
4484 | --- models/loop_qcd_qed_sm/CT_couplings.py 2015-07-15 01:32:18 +0000 |
4485 | +++ models/loop_qcd_qed_sm/CT_couplings.py 2015-08-16 06:06:34 +0000 |
4486 | @@ -4,7 +4,7 @@ |
4487 | |
4488 | from object_library import all_couplings, Coupling |
4489 | |
4490 | -from function_library import complexconjugate, re, im, csc, sec, acsc, asec, arg, reglog |
4491 | +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, arg, reglog, reglogp, reglogm, recms |
4492 | |
4493 | ################ |
4494 | # R2 couplings # |
4495 | @@ -1754,7 +1754,7 @@ |
4496 | order = {'QED':3}) |
4497 | |
4498 | R2_ssA2Cm = Coupling(name = 'R2_ssA2Cm', |
4499 | - value = '((1./4.)*((1+lhv)/(4.*cw**2)*(-1./27.)+MS**2/(8*sw**2*MW**2)*(-1./3.))*(1./2.))*(-complex(0,1)*R2SFF)', |
4500 | + value = '((1./4.)*((1+lhv)/(4.*cw**2)*(-1./27.)+MS**2/(8*sw**2*MW**2)*(-1./3.)*(1./2.))*(-complex(0,1)*R2SFF))', |
4501 | order = {'QED':3}) |
4502 | |
4503 | R2_ssA2Cm_u = Coupling(name = 'R2_ssA2Cm_u', |
4504 | |
4505 | === modified file 'models/loop_qcd_qed_sm/CT_parameters.py' |
4506 | --- models/loop_qcd_qed_sm/CT_parameters.py 2015-07-08 18:54:36 +0000 |
4507 | +++ models/loop_qcd_qed_sm/CT_parameters.py 2015-08-16 06:06:34 +0000 |
4508 | @@ -4,7 +4,7 @@ |
4509 | |
4510 | from object_library import all_CTparameters, CTParameter |
4511 | |
4512 | -from function_library import complexconjugate, re, im, csc, sec, acsc, asec, arg, reglog |
4513 | +from function_library import complexconjugate, re, im, csc, sec, acsc, asec, arg, reglog,reglogp,reglogm, recms |
4514 | |
4515 | ################ |
4516 | # R2 vertices # |
4517 | @@ -174,131 +174,131 @@ |
4518 | |
4519 | dMB_HiggsTadpole_UV_EW = CTParameter(name = 'dMB_HiggsTadpole_UV_EW', |
4520 | type = 'complex', |
4521 | - value = {-1:'( 0 if MB == 0 else re((ee*MB**4*Ncol)/(8.*MW*cmath.pi**2*sw)) )', |
4522 | - 0:'( 0 if MB == 0 else re((ee*MB**4*Ncol*(1 + reglog(MU_R**2/MB**2)))/(8.*MW*cmath.pi**2*sw)) )'}, |
4523 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee*MB**4*Ncol)/(8.*MW*cmath.pi**2*sw)) )', |
4524 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee*MB**4*Ncol*(1 - reglog(MB**2/MU_R**2)))/(8.*MW*cmath.pi**2*sw)) )'}, |
4525 | texname = '\delta ht^{EW,MB}') |
4526 | |
4527 | |
4528 | dMB_tMass_UV_EW = CTParameter(name = 'dMB_tMass_UV_EW', |
4529 | type = 'complex', |
4530 | - value = {-1:'( 0 if MB == 0 else re((-3*ee**2*MB**2*MT)/(128.*MW**2*cmath.pi**2*sw**2)) )', |
4531 | - 0:'( 0 if MB == 0 else re((ee**2*(9*cw**2*MB**4 - 45*cw**2*MB**2*MT**2 + 9*cw**2*MB**2*MW**2 - 9*cw**2*MT**4*reglog(16.) + 48*MT**2*MW**2*sw**2*reglog(16.) - 64*cw**2*MT**2*MW**2*sw**2*reglog(16.) - 64*MT**2*MW**2*sw**4*reglog(16.) - 45*cw**2*MT**4*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*reglog(cmath.pi) + 192*MT**2*MW**2*sw**2*reglog(cmath.pi) - 272*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 256*MT**2*MW**2*sw**4*reglog(cmath.pi) + 54*cw**2*MT**4*reglog(2*cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(2*cmath.pi) - 192*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 288*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 256*MT**2*MW**2*sw**4*reglog(2*cmath.pi) - 9*cw**2*MT**4*reglog(4*cmath.pi) - 18*cw**2*MT**2*MW**2*reglog(4*cmath.pi) - 16*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(MB**2 + MT**2 + 2*MW**2)*reglog(MU_R**2/MB**2))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MT**4 - MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MW**2))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(128.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(128.*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(256.*MT**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 - cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(256.*MT**3*MW**2*cmath.pi**2*sw**2)) )'}, |
4532 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WT != 0,(-3*ee**2*MB**2*MT)/(128.*MW**2*cmath.pi**2*sw**2)) )', |
4533 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WT != 0,(ee**2*(9*cw**2*MB**4 - 45*cw**2*MB**2*MT**2 + 9*cw**2*MB**2*MW**2 - 9*cw**2*MT**4*reglog(16.) + 48*MT**2*MW**2*sw**2*reglog(16.) - 64*cw**2*MT**2*MW**2*sw**2*reglog(16.) - 64*MT**2*MW**2*sw**4*reglog(16.) - 45*cw**2*MT**4*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*reglog(cmath.pi) + 192*MT**2*MW**2*sw**2*reglog(cmath.pi) - 272*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 256*MT**2*MW**2*sw**4*reglog(cmath.pi) + 54*cw**2*MT**4*reglog(2*cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(2*cmath.pi) - 192*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 288*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 256*MT**2*MW**2*sw**4*reglog(2*cmath.pi) - 9*cw**2*MT**4*reglog(4*cmath.pi) - 18*cw**2*MT**2*MW**2*reglog(4*cmath.pi) - 16*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(MB**2 + MT**2 + 2*MW**2)*(-reglog(MB**2/MU_R**2)))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MT**4 - MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MW**2))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(128.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(128.*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(256.*MT**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 - cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(256.*MT**3*MW**2*cmath.pi**2*sw**2)) )'}, |
4534 | texname = '\delta m_t^{EW,MB}') |
4535 | |
4536 | |
4537 | dMB_bMass_UV_EW = CTParameter(name = 'dMB_bMass_UV_EW', |
4538 | type = 'complex', |
4539 | - value = {-1:'( 0 if MB == 0 else re((ee**2*MB*(MW**2*(3 + 12*sw**2 - 8*sw**4) + cw**2*(9*MB**2 - 9*MT**2 + 2*MW**2*(3 - 4*sw**2))))/(384.*cw**2*MW**2*cmath.pi**2*sw**2)) )', |
4540 | - 0:'( 0 if MB == 0 else re(-(ee**2*(-72*cw**2*MB**4 + 9*cw**2*MB**2*MH**2 + 45*cw**2*MB**2*MT**2 - 9*cw**2*MT**4 - 18*MB**2*MW**2 - 9*cw**2*MB**2*MW**2 - 9*cw**2*MT**2*MW**2 + 18*cw**2*MW**4 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 48*MB**2*MW**2*sw**2 + 32*cw**2*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 32*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4 - 9*cw**2*MB**4*reglog(16.) - 24*MB**2*MW**2*sw**2*reglog(16.) + 16*cw**2*MB**2*MW**2*sw**2*reglog(16.) + 16*MB**2*MW**2*sw**4*reglog(16.) + 9*cw**2*MB**4*reglog(1/(4.*cmath.pi)) + 9*MB**2*MW**2*reglog(1/(4.*cmath.pi)) - 12*MB**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 4*MB**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 18*cw**2*MB**4*reglog(cmath.pi) + 18*cw**2*MB**2*MW**2*reglog(cmath.pi) - 48*MB**2*MW**2*sw**2*reglog(cmath.pi) + 40*cw**2*MB**2*MW**2*sw**2*reglog(cmath.pi) + 32*MB**2*MW**2*sw**4*reglog(cmath.pi) - 36*cw**2*MB**2*MW**2*reglog(2*cmath.pi) - 16*cw**2*MB**2*MW**2*sw**2*reglog(2*cmath.pi) + 27*cw**2*MB**4*reglog(4*cmath.pi) + 9*MB**2*MW**2*reglog(4*cmath.pi) + 18*cw**2*MB**2*MW**2*reglog(4*cmath.pi) + 36*MB**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**2*sw**2*reglog(4*cmath.pi) - 28*MB**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(18*cw**2*MB**2 + 9*MW**2 - 12*MW**2*sw**2 + 24*cw**2*MW**2*sw**2 + 8*MW**2*sw**4)*reglog(MU_R**2/MB**2))/(1152.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*MB*MH**2*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT**2*(MB**2 + MT**2 + 2*MW**2)*reglog(MU_R**2/MT**2))/(128.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**2 + MT**2 + 2*MW**2)*reglog(MU_R**2/MW**2))/(128.*MB*cmath.pi**2*sw**2) + (ee**2*MZ**2*(9*cw**2*MB**2 + 9*MW**2 - 12*MW**2*sw**2 + 8*MW**2*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(45*cw**2*MB**4 - 9*cw**2*MB**2*MH**2 - 18*cw**2*MB**2*MT**2 + 9*cw**2*MT**4 + 18*MB**2*MW**2 + 9*cw**2*MB**2*MW**2 + 9*cw**2*MT**2*MW**2 - 18*cw**2*MW**4 - 9*cw**2*MB**2*MZ**2 - 9*MW**2*MZ**2 + 24*MB**2*MW**2*sw**2 + 12*MW**2*MZ**2*sw**2 - 16*MB**2*MW**2*sw**4 - 8*MW**2*MZ**2*sw**4)*reglog((MB**2 + vep*complex(0,-1))/MU_R**2))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(2*MB - MH)*(2*MB + MH)*reglog((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(2*MB - MH)*(2*MB + MH)*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*(2*MB - MH)*(2*MB + MH)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(2*MB - MH)*(2*MB + MH)*(2*MB**2 - MH**2 - cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(256.*MB**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(256.*MB**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MB**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*(2*MB**2 - MZ**2 - cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MB**3*MW**2*cmath.pi**2*sw**2)) )'}, |
4541 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee**2*MB*(MW**2*(3 + 12*sw**2 - 8*sw**4) + cw**2*(9*MB**2 - 9*MT**2 + 2*MW**2*(3 - 4*sw**2))))/(384.*cw**2*MW**2*cmath.pi**2*sw**2)) )', |
4542 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0,-(ee**2*(-72*cw**2*MB**4 + 9*cw**2*MB**2*MH**2 + 45*cw**2*MB**2*MT**2 - 9*cw**2*MT**4 - 18*MB**2*MW**2 - 9*cw**2*MB**2*MW**2 - 9*cw**2*MT**2*MW**2 + 18*cw**2*MW**4 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 48*MB**2*MW**2*sw**2 + 32*cw**2*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 32*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4 - 9*cw**2*MB**4*reglog(16.) - 24*MB**2*MW**2*sw**2*reglog(16.) + 16*cw**2*MB**2*MW**2*sw**2*reglog(16.) + 16*MB**2*MW**2*sw**4*reglog(16.) + 9*cw**2*MB**4*reglog(1/(4.*cmath.pi)) + 9*MB**2*MW**2*reglog(1/(4.*cmath.pi)) - 12*MB**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 4*MB**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 18*cw**2*MB**4*reglog(cmath.pi) + 18*cw**2*MB**2*MW**2*reglog(cmath.pi) - 48*MB**2*MW**2*sw**2*reglog(cmath.pi) + 40*cw**2*MB**2*MW**2*sw**2*reglog(cmath.pi) + 32*MB**2*MW**2*sw**4*reglog(cmath.pi) - 36*cw**2*MB**2*MW**2*reglog(2*cmath.pi) - 16*cw**2*MB**2*MW**2*sw**2*reglog(2*cmath.pi) + 27*cw**2*MB**4*reglog(4*cmath.pi) + 9*MB**2*MW**2*reglog(4*cmath.pi) + 18*cw**2*MB**2*MW**2*reglog(4*cmath.pi) + 36*MB**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**2*sw**2*reglog(4*cmath.pi) - 28*MB**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(18*cw**2*MB**2 + 9*MW**2 - 12*MW**2*sw**2 + 24*cw**2*MW**2*sw**2 + 8*MW**2*sw**4)*(-reglog(MB**2/MU_R**2)))/(1152.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*MB*MH**2*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT**2*(MB**2 + MT**2 + 2*MW**2)*reglog(MU_R**2/MT**2))/(128.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**2 + MT**2 + 2*MW**2)*reglog(MU_R**2/MW**2))/(128.*MB*cmath.pi**2*sw**2) + (ee**2*MZ**2*(9*cw**2*MB**2 + 9*MW**2 - 12*MW**2*sw**2 + 8*MW**2*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(45*cw**2*MB**4 - 9*cw**2*MB**2*MH**2 - 18*cw**2*MB**2*MT**2 + 9*cw**2*MT**4 + 18*MB**2*MW**2 + 9*cw**2*MB**2*MW**2 + 9*cw**2*MT**2*MW**2 - 18*cw**2*MW**4 - 9*cw**2*MB**2*MZ**2 - 9*MW**2*MZ**2 + 24*MB**2*MW**2*sw**2 + 12*MW**2*MZ**2*sw**2 - 16*MB**2*MW**2*sw**4 - 8*MW**2*MZ**2*sw**4)*reglog((MB**2 + vep*complex(0,-1))/MU_R**2))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(2*MB - MH)*(2*MB + MH)*reglogm((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MB*(2*MB - MH)*(2*MB + MH)*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*(2*MB - MH)*(2*MB + MH)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(2*MB - MH)*(2*MB + MH)*(2*MB**2 - MH**2 - cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglogm((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(256.*MB**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**4 - 2*MB**2*MT**2 + MT**4 + MB**2*MW**2 + MT**2*MW**2 - 2*MW**4)*(MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(256.*MB**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*reglogm((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(1152.*cw**2*MB*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MB**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MB**2*MW**2 + 9*cw**2*MB**2*MZ**2 + 9*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 - 12*MW**2*MZ**2*sw**2 + 16*MB**2*MW**2*sw**4 + 8*MW**2*MZ**2*sw**4)*(2*MB**2 - MZ**2 - cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MB**3*MW**2*cmath.pi**2*sw**2)) )'}, |
4543 | texname = '\delta m_t^{EW,MB}') |
4544 | |
4545 | |
4546 | dMB_HMass2_UV_EW = CTParameter(name = 'dMB_HMass2_UV_EW', |
4547 | type = 'complex', |
4548 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*(6*MB**2 - MH**2)*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4549 | - 0:'( 0 if MB == 0 else re((ee**2*MB**2*Ncol*(-40*MB**2 + 8*MH**2 + MH**2*reglog(256.) - MB**2*reglog(281474976710656.) - 24*MB**2*reglog(cmath.pi) + 4*MH**2*reglog(cmath.pi) + 4*(6*MB**2 - MH**2)*reglog(4*cmath.pi) - 8*MB**2*reglog(MU_R**2/MB**2) + 4*(2*MB - MH)*(2*MB + MH)*reglog((MH**2 + vep*complex(0,-1))/MU_R**2) + 4*(2*MB - MH)*(2*MB + MH)*reglog((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)) - (2*(2*MB - MH)*(2*MB + MH)*(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**2 + 4*(2*MB - MH)*(2*MB + MH)*reglog(-(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)) + (2*(-2*MB + MH)*(2*MB + MH)*(MH**2 - cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**2))/(128.*MW**2*cmath.pi**2*sw**2)) )'}, |
4550 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WH != 0,-(ee**2*MB**2*(6*MB**2 - MH**2)*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4551 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WH != 0,(ee**2*MB**2*Ncol*(-40*MB**2 + 8*MH**2 + MH**2*reglog(256.) - MB**2*reglog(281474976710656.) - 24*MB**2*reglog(cmath.pi) + 4*MH**2*reglog(cmath.pi) + 4*(6*MB**2 - MH**2)*reglog(4*cmath.pi) - 8*MB**2*(-reglog(MB**2/MU_R**2)) + 4*(2*MB - MH)*(2*MB + MH)*reglog((MH**2 + vep*complex(0,-1))/MU_R**2) + 4*(2*MB - MH)*(2*MB + MH)*reglogm((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)) - (2*(2*MB - MH)*(2*MB + MH)*(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglogm((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**2 + 4*(2*MB - MH)*(2*MB + MH)*reglogm(-(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)) + (2*(-2*MB + MH)*(2*MB + MH)*(MH**2 - cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglogm((MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**2))/(128.*MW**2*cmath.pi**2*sw**2)) )'}, |
4552 | texname = '\delta m2_H^{EW,MB}') |
4553 | |
4554 | |
4555 | dMB_WMass2_UV_EW = CTParameter(name = 'dMB_WMass2_UV_EW', |
4556 | type = 'complex', |
4557 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*Ncol)/(32.*cmath.pi**2*sw**2)) )', |
4558 | - 0:'( 0 if MB == 0 else re((ee**2*Ncol*(6*MB**2*reglog(4*cmath.pi) + (-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*reglog(MU_R**2/MB**2) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog(-(-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/MW**4))/(192.*cmath.pi**2*sw**2)) )'}, |
4559 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WW != 0,-(ee**2*MB**2*Ncol)/(32.*cmath.pi**2*sw**2)) )', |
4560 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WW != 0,(ee**2*Ncol*(6*MB**2*reglog(4*cmath.pi) + (-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*(-reglog(MB**2/MU_R**2)) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglogm((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm(-(-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/MW**4))/(192.*cmath.pi**2*sw**2)) )'}, |
4561 | texname = '\delta m2_W^{EW,MB}') |
4562 | |
4563 | |
4564 | dMB_ZMass2_UV_EW = CTParameter(name = 'dMB_ZMass2_UV_EW', |
4565 | type = 'complex', |
4566 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*Ncol)/(32.*cw**2*cmath.pi**2*sw**2)) )', |
4567 | - 0:'( 0 if MB == 0 else re((ee**2*(2*MB**2*Ncol*(-48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 9*(2 + 3*reglog(cmath.pi))) + 54*MB**2*Ncol*reglog(4*cmath.pi) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*reglog(MU_R**2/MB**2) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*cmath.pi**2*sw**2)) )'}, |
4568 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,-(ee**2*MB**2*Ncol)/(32.*cw**2*cmath.pi**2*sw**2)) )', |
4569 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,(ee**2*(2*MB**2*Ncol*(-48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 9*(2 + 3*reglog(cmath.pi))) + 54*MB**2*Ncol*reglog(4*cmath.pi) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*(-reglog(MB**2/MU_R**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*cmath.pi**2*sw**2)) )'}, |
4570 | texname = '\delta m2_Z^{EW,MB}') |
4571 | |
4572 | |
4573 | dMB_tWcft_UV_EW_R = CTParameter(name = 'dMB_tWcft_UV_EW_R', |
4574 | type = 'complex', |
4575 | - value = { 0:'( 0 if MB == 0 else re((ee**2*(18*MB**4 - 18*MB**2*MT**2 + 18*MB**2*MW**2 + 9*MT**4*reglog(16.) - 32*MT**2*MW**2*sw**2*reglog(16.) + 16*MT**2*MW**2*sw**2*reglog(64.) + 36*MT**4*reglog(cmath.pi) - 32*MT**2*MW**2*sw**2*reglog(cmath.pi) - 36*MT**4*reglog(2*cmath.pi) + 32*MT**2*MW**2*sw**2*reglog(2*cmath.pi)))/(576.*MT**2*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(2*MB**6 - 5*MB**4*MT**2 + 4*MB**2*MT**4 - MT**6 - 4*MB**2*MT**2*MW**2 - 6*MB**2*MW**4 - 3*MT**2*MW**4 + 4*MW**6)*reglog(MU_R**2/MB**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**4*MT**4 - 2*MB**2*MT**6 + MT**8 + 2*MB**6*MW**2 - 3*MB**4*MT**2*MW**2 - 2*MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 6*MB**2*MW**6 - 7*MT**2*MW**6 + 4*MW**8)*reglog(MU_R**2/MW**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MT - MW)*(MT + MW)*(MT**4 + MT**2*MW**2 + 4*MW**4)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(64.*MT**4*MW**2*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4576 | + value = { 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WT != 0,(ee**2*(18*MB**4 - 18*MB**2*MT**2 + 18*MB**2*MW**2 + 9*MT**4*reglog(16.) - 32*MT**2*MW**2*sw**2*reglog(16.) + 16*MT**2*MW**2*sw**2*reglog(64.) + 36*MT**4*reglog(cmath.pi) - 32*MT**2*MW**2*sw**2*reglog(cmath.pi) - 36*MT**4*reglog(2*cmath.pi) + 32*MT**2*MW**2*sw**2*reglog(2*cmath.pi)))/(576.*MT**2*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(2*MB**6 - 5*MB**4*MT**2 + 4*MB**2*MT**4 - MT**6 - 4*MB**2*MT**2*MW**2 - 6*MB**2*MW**4 - 3*MT**2*MW**4 + 4*MW**6)*(-reglog(MB**2/MU_R**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**4*MT**4 - 2*MB**2*MT**6 + MT**8 + 2*MB**6*MW**2 - 3*MB**4*MT**2*MW**2 - 2*MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 6*MB**2*MW**6 - 7*MT**2*MW**6 + 4*MW**8)*reglog(MU_R**2/MW**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MT - MW)*(MT + MW)*(MT**4 + MT**2*MW**2 + 4*MW**4)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(64.*MT**4*MW**2*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(2*MB**8 - 5*MB**6*MT**2 + 3*MB**4*MT**4 + MB**2*MT**6 - MT**8 - 2*MB**6*MW**2 - MB**4*MT**2*MW**2 + 2*MB**2*MT**4*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - MB**2*MT**2*MW**4 - 3*MT**4*MW**4 + 10*MB**2*MW**6 + 7*MT**2*MW**6 - 4*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4577 | texname = '\delta ZR_t^{EW,MB}') |
4578 | |
4579 | |
4580 | dMB_bWcft_UV_EW_R = CTParameter(name = 'dMB_bWcft_UV_EW_R', |
4581 | type = 'complex', |
4582 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*(3*MB**2 + 2*MW**2*sw**2))/(96.*MW**2*cmath.pi**2*sw**2)) )', |
4583 | - 0:'( 0 if MB == 0 else re(-(ee**2*(-36*cw**2*MB**4 + 27*cw**2*MB**2*MH**2 + 36*cw**2*MB**2*MT**2 - 36*cw**2*MT**4 - 54*MB**2*MW**2 - 18*cw**2*MB**2*MW**2 - 36*cw**2*MT**2*MW**2 + 72*cw**2*MW**4 + 27*cw**2*MB**2*MZ**2 + 36*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 + 32*cw**2*MB**2*MW**2*sw**2 - 48*MW**2*MZ**2*sw**2 + 36*MB**2*MW**2*sw**4 + 24*MW**2*MZ**2*sw**4 + 18*cw**2*MB**4*reglog(16.) + 16*cw**2*MB**2*MW**2*sw**2*reglog(16.) - 4*MB**2*MW**2*sw**4*reglog(16.) - 4*cw**2*MB**2*MW**2*sw**2*reglog(256.) + 36*cw**2*MB**4*reglog(cmath.pi) + 8*cw**2*MB**2*MW**2*sw**2*reglog(cmath.pi) - 8*MB**2*MW**2*sw**4*reglog(cmath.pi) + 16*cw**2*MB**2*MW**2*sw**2*reglog(2*cmath.pi) - 36*cw**2*MB**4*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**2*sw**2*reglog(4*cmath.pi) + 8*MB**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MB**2*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MB**4 + 18*MB**2*MW**2 - 9*cw**2*MB**2*MZ**2 - 6*MW**2*MZ**2 - 8*MB**2*MW**2*sw**2 + 16*cw**2*MB**2*MW**2*sw**2 + 8*MW**2*MZ**2*sw**2 - 4*cw**2*MW**2*MZ**2*sw**2 - 4*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MB**2))/(192.*cw**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(4*MB**2 - 3*MH**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MT**2*(MB**6 - 4*MB**4*MT**2 + 5*MB**2*MT**4 - 2*MT**6 + 4*MB**2*MT**2*MW**2 + 3*MB**2*MW**4 + 6*MT**2*MW**4 - 4*MW**6)*reglog(MU_R**2/MT**2))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6 - 3*MB**2*MT**4 + 2*MT**6 + 2*MB**4*MW**2 - 2*MB**2*MT**2*MW**2 - 7*MB**2*MW**4 - 6*MT**2*MW**4 + 4*MW**6)*reglog(MU_R**2/MW**2))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-24*MB**4*MW**2 + 24*cw**2*MB**4*MZ**2 + 48*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 32*MB**4*MW**2*sw**2 - 32*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 8*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(48*cw**2*MB**10 - 36*cw**2*MB**8*MH**2 - 120*cw**2*MB**8*MT**2 + 72*cw**2*MB**6*MH**2*MT**2 + 144*cw**2*MB**6*MT**4 - 36*cw**2*MB**4*MH**2*MT**4 - 120*cw**2*MB**4*MT**6 + 48*cw**2*MB**2*MT**8 + 60*MB**8*MW**2 - 120*cw**2*MB**8*MW**2 + 72*cw**2*MB**6*MH**2*MW**2 - 120*MB**6*MT**2*MW**2 - 96*cw**2*MB**6*MT**2*MW**2 + 72*cw**2*MB**4*MH**2*MT**2*MW**2 + 60*MB**4*MT**4*MW**2 - 24*cw**2*MB**4*MT**4*MW**2 - 48*cw**2*MB**2*MT**6*MW**2 - 120*MB**6*MW**4 - 36*cw**2*MB**4*MH**2*MW**4 - 120*MB**4*MT**2*MW**4 - 24*cw**2*MB**4*MT**2*MW**4 - 144*cw**2*MB**2*MT**4*MW**4 + 60*MB**4*MW**6 + 168*cw**2*MB**4*MW**6 + 240*cw**2*MB**2*MT**2*MW**6 - 96*cw**2*MB**2*MW**8 - 42*cw**2*MB**8*MZ**2 + 9*cw**2*MB**6*MH**2*MZ**2 + 90*cw**2*MB**6*MT**2*MZ**2 - 18*cw**2*MB**4*MH**2*MT**2*MZ**2 - 66*cw**2*MB**4*MT**4*MZ**2 + 9*cw**2*MB**2*MH**2*MT**4*MZ**2 + 30*cw**2*MB**2*MT**6*MZ**2 - 12*cw**2*MT**8*MZ**2 - 60*MB**6*MW**2*MZ**2 + 90*cw**2*MB**6*MW**2*MZ**2 - 18*cw**2*MB**4*MH**2*MW**2*MZ**2 + 120*MB**4*MT**2*MW**2*MZ**2 + 84*cw**2*MB**4*MT**2*MW**2*MZ**2 - 18*cw**2*MB**2*MH**2*MT**2*MW**2*MZ**2 - 60*MB**2*MT**4*MW**2*MZ**2 + 6*cw**2*MB**2*MT**4*MW**2*MZ**2 + 12*cw**2*MT**6*MW**2*MZ**2 + 120*MB**4*MW**4*MZ**2 - 30*cw**2*MB**4*MW**4*MZ**2 + 9*cw**2*MB**2*MH**2*MW**4*MZ**2 + 120*MB**2*MT**2*MW**4*MZ**2 + 6*cw**2*MB**2*MT**2*MW**4*MZ**2 + 36*cw**2*MT**4*MW**4*MZ**2 - 60*MB**2*MW**6*MZ**2 - 42*cw**2*MB**2*MW**6*MZ**2 - 60*cw**2*MT**2*MW**6*MZ**2 + 24*cw**2*MW**8*MZ**2 + 9*cw**2*MB**6*MZ**4 - 18*cw**2*MB**4*MT**2*MZ**4 + 9*cw**2*MB**2*MT**4*MZ**4 + 12*MB**4*MW**2*MZ**4 - 18*cw**2*MB**4*MW**2*MZ**4 - 24*MB**2*MT**2*MW**2*MZ**4 - 18*cw**2*MB**2*MT**2*MW**2*MZ**4 + 12*MT**4*MW**2*MZ**4 - 24*MB**2*MW**4*MZ**4 + 9*cw**2*MB**2*MW**4*MZ**4 - 24*MT**2*MW**4*MZ**4 + 12*MW**6*MZ**4 + 16*MB**8*MW**2*sw**2 - 32*MB**6*MT**2*MW**2*sw**2 + 16*MB**4*MT**4*MW**2*sw**2 - 32*MB**6*MW**4*sw**2 - 32*MB**4*MT**2*MW**4*sw**2 + 16*MB**4*MW**6*sw**2 + 48*MB**6*MW**2*MZ**2*sw**2 - 96*MB**4*MT**2*MW**2*MZ**2*sw**2 + 48*MB**2*MT**4*MW**2*MZ**2*sw**2 - 96*MB**4*MW**4*MZ**2*sw**2 - 96*MB**2*MT**2*MW**4*MZ**2*sw**2 + 48*MB**2*MW**6*MZ**2*sw**2 - 16*MB**4*MW**2*MZ**4*sw**2 + 32*MB**2*MT**2*MW**2*MZ**4*sw**2 - 16*MT**4*MW**2*MZ**4*sw**2 + 32*MB**2*MW**4*MZ**4*sw**2 + 32*MT**2*MW**4*MZ**4*sw**2 - 16*MW**6*MZ**4*sw**2 - 32*MB**8*MW**2*sw**4 + 64*MB**6*MT**2*MW**2*sw**4 - 32*MB**4*MT**4*MW**2*sw**4 + 64*MB**6*MW**4*sw**4 + 64*MB**4*MT**2*MW**4*sw**4 - 32*MB**4*MW**6*sw**4 - 16*MB**6*MW**2*MZ**2*sw**4 + 32*MB**4*MT**2*MW**2*MZ**2*sw**4 - 16*MB**2*MT**4*MW**2*MZ**2*sw**4 + 32*MB**4*MW**4*MZ**2*sw**4 + 32*MB**2*MT**2*MW**4*MZ**2*sw**4 - 16*MB**2*MW**6*MZ**2*sw**4 + 8*MB**4*MW**2*MZ**4*sw**4 - 16*MB**2*MT**2*MW**2*MZ**4*sw**4 + 8*MT**4*MW**2*MZ**4*sw**4 - 16*MB**2*MW**4*MZ**4*sw**4 - 16*MT**2*MW**4*MZ**4*sw**4 + 8*MW**6*MZ**4*sw**4)*reglog((MB**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglog((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(2*MB**2 - MH**2)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*(-2*MB**2 + MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*reglog((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(-2*MB**2 + MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2)) )'}, |
4584 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0,-(ee**2*(3*MB**2 + 2*MW**2*sw**2))/(96.*MW**2*cmath.pi**2*sw**2)) )', |
4585 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0,-(ee**2*(-36*cw**2*MB**4 + 27*cw**2*MB**2*MH**2 + 36*cw**2*MB**2*MT**2 - 36*cw**2*MT**4 - 54*MB**2*MW**2 - 18*cw**2*MB**2*MW**2 - 36*cw**2*MT**2*MW**2 + 72*cw**2*MW**4 + 27*cw**2*MB**2*MZ**2 + 36*MW**2*MZ**2 - 24*MB**2*MW**2*sw**2 + 32*cw**2*MB**2*MW**2*sw**2 - 48*MW**2*MZ**2*sw**2 + 36*MB**2*MW**2*sw**4 + 24*MW**2*MZ**2*sw**4 + 18*cw**2*MB**4*reglog(16.) + 16*cw**2*MB**2*MW**2*sw**2*reglog(16.) - 4*MB**2*MW**2*sw**4*reglog(16.) - 4*cw**2*MB**2*MW**2*sw**2*reglog(256.) + 36*cw**2*MB**4*reglog(cmath.pi) + 8*cw**2*MB**2*MW**2*sw**2*reglog(cmath.pi) - 8*MB**2*MW**2*sw**4*reglog(cmath.pi) + 16*cw**2*MB**2*MW**2*sw**2*reglog(2*cmath.pi) - 36*cw**2*MB**4*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**2*sw**2*reglog(4*cmath.pi) + 8*MB**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MB**2*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MB**4 + 18*MB**2*MW**2 - 9*cw**2*MB**2*MZ**2 - 6*MW**2*MZ**2 - 8*MB**2*MW**2*sw**2 + 16*cw**2*MB**2*MW**2*sw**2 + 8*MW**2*MZ**2*sw**2 - 4*cw**2*MW**2*MZ**2*sw**2 - 4*MW**2*MZ**2*sw**4)*(-reglog(MB**2/MU_R**2)))/(192.*cw**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(4*MB**2 - 3*MH**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MT**2*(MB**6 - 4*MB**4*MT**2 + 5*MB**2*MT**4 - 2*MT**6 + 4*MB**2*MT**2*MW**2 + 3*MB**2*MW**4 + 6*MT**2*MW**4 - 4*MW**6)*reglog(MU_R**2/MT**2))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6 - 3*MB**2*MT**4 + 2*MT**6 + 2*MB**4*MW**2 - 2*MB**2*MT**2*MW**2 - 7*MB**2*MW**4 - 6*MT**2*MW**4 + 4*MW**6)*reglog(MU_R**2/MW**2))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-24*MB**4*MW**2 + 24*cw**2*MB**4*MZ**2 + 48*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 32*MB**4*MW**2*sw**2 - 32*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 8*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(48*cw**2*MB**10 - 36*cw**2*MB**8*MH**2 - 120*cw**2*MB**8*MT**2 + 72*cw**2*MB**6*MH**2*MT**2 + 144*cw**2*MB**6*MT**4 - 36*cw**2*MB**4*MH**2*MT**4 - 120*cw**2*MB**4*MT**6 + 48*cw**2*MB**2*MT**8 + 60*MB**8*MW**2 - 120*cw**2*MB**8*MW**2 + 72*cw**2*MB**6*MH**2*MW**2 - 120*MB**6*MT**2*MW**2 - 96*cw**2*MB**6*MT**2*MW**2 + 72*cw**2*MB**4*MH**2*MT**2*MW**2 + 60*MB**4*MT**4*MW**2 - 24*cw**2*MB**4*MT**4*MW**2 - 48*cw**2*MB**2*MT**6*MW**2 - 120*MB**6*MW**4 - 36*cw**2*MB**4*MH**2*MW**4 - 120*MB**4*MT**2*MW**4 - 24*cw**2*MB**4*MT**2*MW**4 - 144*cw**2*MB**2*MT**4*MW**4 + 60*MB**4*MW**6 + 168*cw**2*MB**4*MW**6 + 240*cw**2*MB**2*MT**2*MW**6 - 96*cw**2*MB**2*MW**8 - 42*cw**2*MB**8*MZ**2 + 9*cw**2*MB**6*MH**2*MZ**2 + 90*cw**2*MB**6*MT**2*MZ**2 - 18*cw**2*MB**4*MH**2*MT**2*MZ**2 - 66*cw**2*MB**4*MT**4*MZ**2 + 9*cw**2*MB**2*MH**2*MT**4*MZ**2 + 30*cw**2*MB**2*MT**6*MZ**2 - 12*cw**2*MT**8*MZ**2 - 60*MB**6*MW**2*MZ**2 + 90*cw**2*MB**6*MW**2*MZ**2 - 18*cw**2*MB**4*MH**2*MW**2*MZ**2 + 120*MB**4*MT**2*MW**2*MZ**2 + 84*cw**2*MB**4*MT**2*MW**2*MZ**2 - 18*cw**2*MB**2*MH**2*MT**2*MW**2*MZ**2 - 60*MB**2*MT**4*MW**2*MZ**2 + 6*cw**2*MB**2*MT**4*MW**2*MZ**2 + 12*cw**2*MT**6*MW**2*MZ**2 + 120*MB**4*MW**4*MZ**2 - 30*cw**2*MB**4*MW**4*MZ**2 + 9*cw**2*MB**2*MH**2*MW**4*MZ**2 + 120*MB**2*MT**2*MW**4*MZ**2 + 6*cw**2*MB**2*MT**2*MW**4*MZ**2 + 36*cw**2*MT**4*MW**4*MZ**2 - 60*MB**2*MW**6*MZ**2 - 42*cw**2*MB**2*MW**6*MZ**2 - 60*cw**2*MT**2*MW**6*MZ**2 + 24*cw**2*MW**8*MZ**2 + 9*cw**2*MB**6*MZ**4 - 18*cw**2*MB**4*MT**2*MZ**4 + 9*cw**2*MB**2*MT**4*MZ**4 + 12*MB**4*MW**2*MZ**4 - 18*cw**2*MB**4*MW**2*MZ**4 - 24*MB**2*MT**2*MW**2*MZ**4 - 18*cw**2*MB**2*MT**2*MW**2*MZ**4 + 12*MT**4*MW**2*MZ**4 - 24*MB**2*MW**4*MZ**4 + 9*cw**2*MB**2*MW**4*MZ**4 - 24*MT**2*MW**4*MZ**4 + 12*MW**6*MZ**4 + 16*MB**8*MW**2*sw**2 - 32*MB**6*MT**2*MW**2*sw**2 + 16*MB**4*MT**4*MW**2*sw**2 - 32*MB**6*MW**4*sw**2 - 32*MB**4*MT**2*MW**4*sw**2 + 16*MB**4*MW**6*sw**2 + 48*MB**6*MW**2*MZ**2*sw**2 - 96*MB**4*MT**2*MW**2*MZ**2*sw**2 + 48*MB**2*MT**4*MW**2*MZ**2*sw**2 - 96*MB**4*MW**4*MZ**2*sw**2 - 96*MB**2*MT**2*MW**4*MZ**2*sw**2 + 48*MB**2*MW**6*MZ**2*sw**2 - 16*MB**4*MW**2*MZ**4*sw**2 + 32*MB**2*MT**2*MW**2*MZ**4*sw**2 - 16*MT**4*MW**2*MZ**4*sw**2 + 32*MB**2*MW**4*MZ**4*sw**2 + 32*MT**2*MW**4*MZ**4*sw**2 - 16*MW**6*MZ**4*sw**2 - 32*MB**8*MW**2*sw**4 + 64*MB**6*MT**2*MW**2*sw**4 - 32*MB**4*MT**4*MW**2*sw**4 + 64*MB**6*MW**4*sw**4 + 64*MB**4*MT**2*MW**4*sw**4 - 32*MB**4*MW**6*sw**4 - 16*MB**6*MW**2*MZ**2*sw**4 + 32*MB**4*MT**2*MW**2*MZ**2*sw**4 - 16*MB**2*MT**4*MW**2*MZ**2*sw**4 + 32*MB**4*MW**4*MZ**2*sw**4 + 32*MB**2*MT**2*MW**4*MZ**2*sw**4 - 16*MB**2*MW**6*MZ**2*sw**4 + 8*MB**4*MW**2*MZ**4*sw**4 - 16*MB**2*MT**2*MW**2*MZ**4*sw**4 + 8*MT**4*MW**2*MZ**4*sw**4 - 16*MB**2*MW**4*MZ**4*sw**4 - 16*MT**2*MW**4*MZ**4*sw**4 + 8*MW**6*MZ**4*sw**4)*reglogm((MB**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglogm((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(2*MB**2 - MH**2)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*(-2*MB**2 + MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*reglogm((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - MB**6*MT**2 - 3*MB**4*MT**4 + 5*MB**2*MT**6 - 2*MT**8 - MB**6*MW**2 - 2*MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 + 2*MT**6*MW**2 + 3*MB**4*MW**4 + MB**2*MT**2*MW**4 + 6*MT**4*MW**4 - 7*MB**2*MW**6 - 10*MT**2*MW**6 + 4*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglogm((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 60*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 12*MW**2*MZ**4 - 16*MB**4*MW**2*sw**2 - 48*MB**2*MW**2*MZ**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(-2*MB**2 + MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2)) )'}, |
4586 | texname = '\delta ZR_b^{EW,MB}') |
4587 | |
4588 | dMB_tWcft_UV_EW_L = CTParameter(name = 'dMB_tWcft_UV_EW_L', |
4589 | type = 'complex', |
4590 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2)/(64.*MW**2*cmath.pi**2*sw**2)) )', |
4591 | - 0:'( 0 if MB == 0 else re((ee**2*(9*MB**4 - 27*MB**2*MT**2 + 9*MB**2*MW**2 - 32*MT**2*MW**2*sw**2*reglog(16.) + 16*MT**2*MW**2*sw**2*reglog(64.) + 9*MT**4*reglog(cmath.pi) + 18*MT**2*MW**2*reglog(cmath.pi) - 32*MT**2*MW**2*sw**2*reglog(cmath.pi) - 18*MT**4*reglog(2*cmath.pi) - 36*MT**2*MW**2*reglog(2*cmath.pi) + 32*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 9*MT**4*reglog(4*cmath.pi) + 18*MT**2*MW**2*reglog(4*cmath.pi)))/(576.*MT**2*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(MB**6 - 2*MB**4*MT**2 + MB**2*MT**4 - 4*MT**4*MW**2 - 3*MB**2*MW**4 + 2*MT**2*MW**4 + 2*MW**6)*reglog(MU_R**2/MB**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6 + 2*MB**4*MT**2 - 7*MB**2*MT**4 + 4*MT**6 - 2*MB**2*MT**2*MW**2 - 6*MT**4*MW**2 - 3*MB**2*MW**4 + 2*MW**6)*reglog(MU_R**2/MW**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MT - MW)*(MT + MW)*(2*MT**2 + MW**2)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(32.*MT**4*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4592 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WT != 0,-(ee**2*MB**2)/(64.*MW**2*cmath.pi**2*sw**2)) )', |
4593 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WT != 0,(ee**2*(9*MB**4 - 27*MB**2*MT**2 + 9*MB**2*MW**2 - 32*MT**2*MW**2*sw**2*reglog(16.) + 16*MT**2*MW**2*sw**2*reglog(64.) + 9*MT**4*reglog(cmath.pi) + 18*MT**2*MW**2*reglog(cmath.pi) - 32*MT**2*MW**2*sw**2*reglog(cmath.pi) - 18*MT**4*reglog(2*cmath.pi) - 36*MT**2*MW**2*reglog(2*cmath.pi) + 32*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 9*MT**4*reglog(4*cmath.pi) + 18*MT**2*MW**2*reglog(4*cmath.pi)))/(576.*MT**2*MW**2*cmath.pi**2*sw**2) - (ee**2*MB**2*(MB**6 - 2*MB**4*MT**2 + MB**2*MT**4 - 4*MT**4*MW**2 - 3*MB**2*MW**4 + 2*MT**2*MW**4 + 2*MW**6)*(-reglog(MB**2/MU_R**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6 + 2*MB**4*MT**2 - 7*MB**2*MT**4 + 4*MT**6 - 2*MB**2*MT**2*MW**2 - 6*MT**4*MW**2 - 3*MB**2*MW**4 + 2*MW**6)*reglog(MU_R**2/MW**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MT - MW)*(MT + MW)*(2*MT**2 + MW**2)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(32.*MT**4*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(2.*MT**2)))/(64.*MT**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 3*MB**6*MT**2 + 3*MB**4*MT**4 - MB**2*MT**6 - MB**6*MW**2 + 5*MB**2*MT**4*MW**2 - 4*MT**6*MW**2 - 3*MB**4*MW**4 + 3*MB**2*MT**2*MW**4 + 6*MT**4*MW**4 + 5*MB**2*MW**6 - 2*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt(MB**4 - 2*MB**2*MT**2 + MT**4 - 2*MB**2*MW**2 - 2*MT**2*MW**2 + MW**4 + MT**2*vep*complex(0,4)))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MT**2*(MB**2 + vep*complex(0,-1))))))/(128.*MT**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4594 | texname = '\delta ZL_t^{EW,MB}') |
4595 | |
4596 | dMB_bWcft_UV_EW_L = CTParameter(name = 'dMB_bWcft_UV_EW_L', |
4597 | type = 'complex', |
4598 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*(3*MB**2 + 4*MW**2*sw**2))/(192.*MW**2*cmath.pi**2*sw**2)) )', |
4599 | - 0:'( 0 if MB == 0 else re((ee**2*(72*cw**2*MB**4*MT**2 - 27*cw**2*MB**2*MH**2*MT**2 - 27*cw**2*MB**2*MT**4 + 18*cw**2*MT**6 - 72*cw**2*MB**4*MW**2 + 27*cw**2*MB**2*MH**2*MW**2 + 9*MB**2*MT**2*MW**2 + 27*cw**2*MB**2*MT**2*MW**2 - 9*MB**2*MW**4 + 54*cw**2*MB**2*MW**4 - 54*cw**2*MT**2*MW**4 + 36*cw**2*MW**6 - 27*cw**2*MB**2*MT**2*MZ**2 + 27*cw**2*MB**2*MW**2*MZ**2 - 18*MT**2*MW**2*MZ**2 + 18*MW**4*MZ**2 + 84*MB**2*MT**2*MW**2*sw**2 - 32*cw**2*MB**2*MT**2*MW**2*sw**2 - 84*MB**2*MW**4*sw**2 + 32*cw**2*MB**2*MW**4*sw**2 + 24*MT**2*MW**2*MZ**2*sw**2 - 24*MW**4*MZ**2*sw**2 - 36*MB**2*MT**2*MW**2*sw**4 + 36*MB**2*MW**4*sw**4 - 24*MT**2*MW**2*MZ**2*sw**4 + 24*MW**4*MZ**2*sw**4 + 9*cw**2*MB**2*MT**4*reglog(16.) + 9*MB**2*MT**2*MW**2*reglog(16.) + 9*cw**2*MB**2*MT**2*MW**2*reglog(16.) - 9*MB**2*MW**4*reglog(16.) - 18*cw**2*MB**2*MW**4*reglog(16.) - 12*MB**2*MT**2*MW**2*sw**2*reglog(16.) - 16*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(16.) + 12*MB**2*MW**4*sw**2*reglog(16.) + 16*cw**2*MB**2*MW**4*sw**2*reglog(16.) + 4*MB**2*MT**2*MW**2*sw**4*reglog(16.) - 4*MB**2*MW**4*sw**4*reglog(16.) + 4*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(256.) - 4*cw**2*MB**2*MW**4*sw**2*reglog(256.) + 18*cw**2*MB**4*MT**2*reglog(1/(4.*cmath.pi)) - 18*cw**2*MB**4*MW**2*reglog(1/(4.*cmath.pi)) + 18*MB**2*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 18*MB**2*MW**4*reglog(1/(4.*cmath.pi)) - 24*MB**2*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 24*MB**2*MW**4*sw**2*reglog(1/(4.*cmath.pi)) + 8*MB**2*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 8*MB**2*MW**4*sw**4*reglog(1/(4.*cmath.pi)) + 18*cw**2*MB**2*MT**4*reglog(cmath.pi) + 18*MB**2*MT**2*MW**2*reglog(cmath.pi) + 54*cw**2*MB**2*MT**2*MW**2*reglog(cmath.pi) - 18*MB**2*MW**4*reglog(cmath.pi) - 72*cw**2*MB**2*MW**4*reglog(cmath.pi) - 24*MB**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 8*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MB**2*MW**4*sw**2*reglog(cmath.pi) + 8*cw**2*MB**2*MW**4*sw**2*reglog(cmath.pi) + 8*MB**2*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MB**2*MW**4*sw**4*reglog(cmath.pi) - 72*cw**2*MB**2*MT**2*MW**2*reglog(2*cmath.pi) + 72*cw**2*MB**2*MW**4*reglog(2*cmath.pi) - 16*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 16*cw**2*MB**2*MW**4*sw**2*reglog(2*cmath.pi) + 18*cw**2*MB**4*MT**2*reglog(4*cmath.pi) - 18*cw**2*MB**2*MT**4*reglog(4*cmath.pi) - 18*cw**2*MB**4*MW**2*reglog(4*cmath.pi) + 18*cw**2*MB**2*MT**2*MW**2*reglog(4*cmath.pi) + 24*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**4*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MB**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MB**4 + 6*MB**2*MW**2 - 9*cw**2*MB**2*MZ**2 - 3*MW**2*MZ**2 + 8*MB**2*MW**2*sw**2 + 16*cw**2*MB**2*MW**2*sw**2 + 4*MW**2*MZ**2*sw**2 - 4*cw**2*MW**2*MZ**2*sw**2 - 4*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MB**2))/(192.*cw**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(4*MB**2 - 3*MH**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MT**2*(MB**6*MT**4 - 3*MB**4*MT**6 + 3*MB**2*MT**8 - MT**10 + 2*MB**6*MT**2*MW**2 - 4*MB**2*MT**6*MW**2 + 2*MT**8*MW**2 - 13*MB**4*MT**2*MW**4 - 3*MB**2*MT**4*MW**4 + 2*MT**6*MW**4 + 4*MB**4*MW**6 + 6*MB**2*MT**2*MW**6 - 8*MT**4*MW**6 - 2*MB**2*MW**8 + 7*MT**2*MW**8 - 2*MW**10)*reglog(MU_R**2/MT**2))/(64.*MB**2*(MB - MT - MW)*(MT - MW)**2*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MT + MW)**2*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(-(MB**4*MT**6) + 2*MB**2*MT**8 - MT**10 + 7*MB**6*MT**2*MW**2 - 14*MB**4*MT**4*MW**2 - 3*MB**2*MT**6*MW**2 + 2*MT**8*MW**2 - 4*MB**6*MW**4 - 3*MB**4*MT**2*MW**4 + 2*MT**6*MW**4 + 6*MB**4*MW**6 + MB**2*MT**2*MW**6 - 8*MT**4*MW**6 + 7*MT**2*MW**8 - 2*MW**10)*reglog(MU_R**2/MW**2))/(64.*MB**2*(MB - MT - MW)*(MT - MW)**2*(MB + MT - MW)*(MB - MT + MW)*(MT + MW)**2*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(24*cw**2*MB**4*MZ**2 + 18*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 64*MB**4*MW**2*sw**2 + 8*MB**2*MW**2*MZ**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 8*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(72*cw**2*MB**10 - 36*cw**2*MB**8*MH**2 - 168*cw**2*MB**8*MT**2 + 72*cw**2*MB**6*MH**2*MT**2 + 144*cw**2*MB**6*MT**4 - 36*cw**2*MB**4*MH**2*MT**4 - 72*cw**2*MB**4*MT**6 + 24*cw**2*MB**2*MT**8 + 12*MB**8*MW**2 - 240*cw**2*MB**8*MW**2 + 72*cw**2*MB**6*MH**2*MW**2 - 24*MB**6*MT**2*MW**2 - 24*cw**2*MB**6*MT**2*MW**2 + 72*cw**2*MB**4*MH**2*MT**2*MW**2 + 12*MB**4*MT**4*MW**2 - 24*cw**2*MB**2*MT**6*MW**2 - 24*MB**6*MW**4 + 216*cw**2*MB**6*MW**4 - 36*cw**2*MB**4*MH**2*MW**4 - 24*MB**4*MT**2*MW**4 + 72*cw**2*MB**4*MT**2*MW**4 - 72*cw**2*MB**2*MT**4*MW**4 + 12*MB**4*MW**6 + 120*cw**2*MB**2*MT**2*MW**6 - 48*cw**2*MB**2*MW**8 - 48*cw**2*MB**8*MZ**2 + 9*cw**2*MB**6*MH**2*MZ**2 + 102*cw**2*MB**6*MT**2*MZ**2 - 18*cw**2*MB**4*MH**2*MT**2*MZ**2 - 66*cw**2*MB**4*MT**4*MZ**2 + 9*cw**2*MB**2*MH**2*MT**4*MZ**2 + 18*cw**2*MB**2*MT**6*MZ**2 - 6*cw**2*MT**8*MZ**2 - 24*MB**6*MW**2*MZ**2 + 120*cw**2*MB**6*MW**2*MZ**2 - 18*cw**2*MB**4*MH**2*MW**2*MZ**2 + 48*MB**4*MT**2*MW**2*MZ**2 + 66*cw**2*MB**4*MT**2*MW**2*MZ**2 - 18*cw**2*MB**2*MH**2*MT**2*MW**2*MZ**2 - 24*MB**2*MT**4*MW**2*MZ**2 + 6*cw**2*MT**6*MW**2*MZ**2 + 48*MB**4*MW**4*MZ**2 - 84*cw**2*MB**4*MW**4*MZ**2 + 9*cw**2*MB**2*MH**2*MW**4*MZ**2 + 48*MB**2*MT**2*MW**4*MZ**2 - 18*cw**2*MB**2*MT**2*MW**4*MZ**2 + 18*cw**2*MT**4*MW**4*MZ**2 - 24*MB**2*MW**6*MZ**2 - 30*cw**2*MT**2*MW**6*MZ**2 + 12*cw**2*MW**8*MZ**2 + 9*cw**2*MB**6*MZ**4 - 18*cw**2*MB**4*MT**2*MZ**4 + 9*cw**2*MB**2*MT**4*MZ**4 + 6*MB**4*MW**2*MZ**4 - 18*cw**2*MB**4*MW**2*MZ**4 - 12*MB**2*MT**2*MW**2*MZ**4 - 18*cw**2*MB**2*MT**2*MW**2*MZ**4 + 6*MT**4*MW**2*MZ**4 - 12*MB**2*MW**4*MZ**4 + 9*cw**2*MB**2*MW**4*MZ**4 - 12*MT**2*MW**4*MZ**4 + 6*MW**6*MZ**4 + 80*MB**8*MW**2*sw**2 - 160*MB**6*MT**2*MW**2*sw**2 + 80*MB**4*MT**4*MW**2*sw**2 - 160*MB**6*MW**4*sw**2 - 160*MB**4*MT**2*MW**4*sw**2 + 80*MB**4*MW**6*sw**2 - 8*MB**4*MW**2*MZ**4*sw**2 + 16*MB**2*MT**2*MW**2*MZ**4*sw**2 - 8*MT**4*MW**2*MZ**4*sw**2 + 16*MB**2*MW**4*MZ**4*sw**2 + 16*MT**2*MW**4*MZ**4*sw**2 - 8*MW**6*MZ**4*sw**2 - 32*MB**8*MW**2*sw**4 + 64*MB**6*MT**2*MW**2*sw**4 - 32*MB**4*MT**4*MW**2*sw**4 + 64*MB**6*MW**4*sw**4 + 64*MB**4*MT**2*MW**4*sw**4 - 32*MB**4*MW**6*sw**4 - 16*MB**6*MW**2*MZ**2*sw**4 + 32*MB**4*MT**2*MW**2*MZ**2*sw**4 - 16*MB**2*MT**4*MW**2*MZ**2*sw**4 + 32*MB**4*MW**4*MZ**2*sw**4 + 32*MB**2*MT**2*MW**4*MZ**2*sw**4 - 16*MB**2*MW**6*MZ**2*sw**4 + 8*MB**4*MW**2*MZ**4*sw**4 - 16*MB**2*MT**2*MW**2*MZ**4*sw**4 + 8*MT**4*MW**2*MZ**4*sw**4 - 16*MB**2*MW**4*MZ**4*sw**4 - 16*MT**2*MW**4*MZ**4*sw**4 + 8*MW**6*MZ**4*sw**4)*reglog((MB**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglog((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(2*MB**2 - MH**2)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*(-2*MB**2 + MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*reglog((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(-2*MB**2 + MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2)) )'}, |
4600 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0,-(ee**2*(3*MB**2 + 4*MW**2*sw**2))/(192.*MW**2*cmath.pi**2*sw**2)) )', |
4601 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee**2*(72*cw**2*MB**4*MT**2 - 27*cw**2*MB**2*MH**2*MT**2 - 27*cw**2*MB**2*MT**4 + 18*cw**2*MT**6 - 72*cw**2*MB**4*MW**2 + 27*cw**2*MB**2*MH**2*MW**2 + 9*MB**2*MT**2*MW**2 + 27*cw**2*MB**2*MT**2*MW**2 - 9*MB**2*MW**4 + 54*cw**2*MB**2*MW**4 - 54*cw**2*MT**2*MW**4 + 36*cw**2*MW**6 - 27*cw**2*MB**2*MT**2*MZ**2 + 27*cw**2*MB**2*MW**2*MZ**2 - 18*MT**2*MW**2*MZ**2 + 18*MW**4*MZ**2 + 84*MB**2*MT**2*MW**2*sw**2 - 32*cw**2*MB**2*MT**2*MW**2*sw**2 - 84*MB**2*MW**4*sw**2 + 32*cw**2*MB**2*MW**4*sw**2 + 24*MT**2*MW**2*MZ**2*sw**2 - 24*MW**4*MZ**2*sw**2 - 36*MB**2*MT**2*MW**2*sw**4 + 36*MB**2*MW**4*sw**4 - 24*MT**2*MW**2*MZ**2*sw**4 + 24*MW**4*MZ**2*sw**4 + 9*cw**2*MB**2*MT**4*reglog(16.) + 9*MB**2*MT**2*MW**2*reglog(16.) + 9*cw**2*MB**2*MT**2*MW**2*reglog(16.) - 9*MB**2*MW**4*reglog(16.) - 18*cw**2*MB**2*MW**4*reglog(16.) - 12*MB**2*MT**2*MW**2*sw**2*reglog(16.) - 16*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(16.) + 12*MB**2*MW**4*sw**2*reglog(16.) + 16*cw**2*MB**2*MW**4*sw**2*reglog(16.) + 4*MB**2*MT**2*MW**2*sw**4*reglog(16.) - 4*MB**2*MW**4*sw**4*reglog(16.) + 4*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(256.) - 4*cw**2*MB**2*MW**4*sw**2*reglog(256.) + 18*cw**2*MB**4*MT**2*reglog(1/(4.*cmath.pi)) - 18*cw**2*MB**4*MW**2*reglog(1/(4.*cmath.pi)) + 18*MB**2*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 18*MB**2*MW**4*reglog(1/(4.*cmath.pi)) - 24*MB**2*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 24*MB**2*MW**4*sw**2*reglog(1/(4.*cmath.pi)) + 8*MB**2*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 8*MB**2*MW**4*sw**4*reglog(1/(4.*cmath.pi)) + 18*cw**2*MB**2*MT**4*reglog(cmath.pi) + 18*MB**2*MT**2*MW**2*reglog(cmath.pi) + 54*cw**2*MB**2*MT**2*MW**2*reglog(cmath.pi) - 18*MB**2*MW**4*reglog(cmath.pi) - 72*cw**2*MB**2*MW**4*reglog(cmath.pi) - 24*MB**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 8*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MB**2*MW**4*sw**2*reglog(cmath.pi) + 8*cw**2*MB**2*MW**4*sw**2*reglog(cmath.pi) + 8*MB**2*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MB**2*MW**4*sw**4*reglog(cmath.pi) - 72*cw**2*MB**2*MT**2*MW**2*reglog(2*cmath.pi) + 72*cw**2*MB**2*MW**4*reglog(2*cmath.pi) - 16*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 16*cw**2*MB**2*MW**4*sw**2*reglog(2*cmath.pi) + 18*cw**2*MB**4*MT**2*reglog(4*cmath.pi) - 18*cw**2*MB**2*MT**4*reglog(4*cmath.pi) - 18*cw**2*MB**4*MW**2*reglog(4*cmath.pi) + 18*cw**2*MB**2*MT**2*MW**2*reglog(4*cmath.pi) + 24*cw**2*MB**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*cw**2*MB**2*MW**4*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MB**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MB**4 + 6*MB**2*MW**2 - 9*cw**2*MB**2*MZ**2 - 3*MW**2*MZ**2 + 8*MB**2*MW**2*sw**2 + 16*cw**2*MB**2*MW**2*sw**2 + 4*MW**2*MZ**2*sw**2 - 4*cw**2*MW**2*MZ**2*sw**2 - 4*MW**2*MZ**2*sw**4)*(-reglog(MB**2/MU_R**2)))/(192.*cw**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(4*MB**2 - 3*MH**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MT**2*(MB**6*MT**4 - 3*MB**4*MT**6 + 3*MB**2*MT**8 - MT**10 + 2*MB**6*MT**2*MW**2 - 4*MB**2*MT**6*MW**2 + 2*MT**8*MW**2 - 13*MB**4*MT**2*MW**4 - 3*MB**2*MT**4*MW**4 + 2*MT**6*MW**4 + 4*MB**4*MW**6 + 6*MB**2*MT**2*MW**6 - 8*MT**4*MW**6 - 2*MB**2*MW**8 + 7*MT**2*MW**8 - 2*MW**10)*reglog(MU_R**2/MT**2))/(64.*MB**2*(MB - MT - MW)*(MT - MW)**2*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MT + MW)**2*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(-(MB**4*MT**6) + 2*MB**2*MT**8 - MT**10 + 7*MB**6*MT**2*MW**2 - 14*MB**4*MT**4*MW**2 - 3*MB**2*MT**6*MW**2 + 2*MT**8*MW**2 - 4*MB**6*MW**4 - 3*MB**4*MT**2*MW**4 + 2*MT**6*MW**4 + 6*MB**4*MW**6 + MB**2*MT**2*MW**6 - 8*MT**4*MW**6 + 7*MT**2*MW**8 - 2*MW**10)*reglog(MU_R**2/MW**2))/(64.*MB**2*(MB - MT - MW)*(MT - MW)**2*(MB + MT - MW)*(MB - MT + MW)*(MT + MW)**2*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(24*cw**2*MB**4*MZ**2 + 18*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 64*MB**4*MW**2*sw**2 + 8*MB**2*MW**2*MZ**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 8*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(72*cw**2*MB**10 - 36*cw**2*MB**8*MH**2 - 168*cw**2*MB**8*MT**2 + 72*cw**2*MB**6*MH**2*MT**2 + 144*cw**2*MB**6*MT**4 - 36*cw**2*MB**4*MH**2*MT**4 - 72*cw**2*MB**4*MT**6 + 24*cw**2*MB**2*MT**8 + 12*MB**8*MW**2 - 240*cw**2*MB**8*MW**2 + 72*cw**2*MB**6*MH**2*MW**2 - 24*MB**6*MT**2*MW**2 - 24*cw**2*MB**6*MT**2*MW**2 + 72*cw**2*MB**4*MH**2*MT**2*MW**2 + 12*MB**4*MT**4*MW**2 - 24*cw**2*MB**2*MT**6*MW**2 - 24*MB**6*MW**4 + 216*cw**2*MB**6*MW**4 - 36*cw**2*MB**4*MH**2*MW**4 - 24*MB**4*MT**2*MW**4 + 72*cw**2*MB**4*MT**2*MW**4 - 72*cw**2*MB**2*MT**4*MW**4 + 12*MB**4*MW**6 + 120*cw**2*MB**2*MT**2*MW**6 - 48*cw**2*MB**2*MW**8 - 48*cw**2*MB**8*MZ**2 + 9*cw**2*MB**6*MH**2*MZ**2 + 102*cw**2*MB**6*MT**2*MZ**2 - 18*cw**2*MB**4*MH**2*MT**2*MZ**2 - 66*cw**2*MB**4*MT**4*MZ**2 + 9*cw**2*MB**2*MH**2*MT**4*MZ**2 + 18*cw**2*MB**2*MT**6*MZ**2 - 6*cw**2*MT**8*MZ**2 - 24*MB**6*MW**2*MZ**2 + 120*cw**2*MB**6*MW**2*MZ**2 - 18*cw**2*MB**4*MH**2*MW**2*MZ**2 + 48*MB**4*MT**2*MW**2*MZ**2 + 66*cw**2*MB**4*MT**2*MW**2*MZ**2 - 18*cw**2*MB**2*MH**2*MT**2*MW**2*MZ**2 - 24*MB**2*MT**4*MW**2*MZ**2 + 6*cw**2*MT**6*MW**2*MZ**2 + 48*MB**4*MW**4*MZ**2 - 84*cw**2*MB**4*MW**4*MZ**2 + 9*cw**2*MB**2*MH**2*MW**4*MZ**2 + 48*MB**2*MT**2*MW**4*MZ**2 - 18*cw**2*MB**2*MT**2*MW**4*MZ**2 + 18*cw**2*MT**4*MW**4*MZ**2 - 24*MB**2*MW**6*MZ**2 - 30*cw**2*MT**2*MW**6*MZ**2 + 12*cw**2*MW**8*MZ**2 + 9*cw**2*MB**6*MZ**4 - 18*cw**2*MB**4*MT**2*MZ**4 + 9*cw**2*MB**2*MT**4*MZ**4 + 6*MB**4*MW**2*MZ**4 - 18*cw**2*MB**4*MW**2*MZ**4 - 12*MB**2*MT**2*MW**2*MZ**4 - 18*cw**2*MB**2*MT**2*MW**2*MZ**4 + 6*MT**4*MW**2*MZ**4 - 12*MB**2*MW**4*MZ**4 + 9*cw**2*MB**2*MW**4*MZ**4 - 12*MT**2*MW**4*MZ**4 + 6*MW**6*MZ**4 + 80*MB**8*MW**2*sw**2 - 160*MB**6*MT**2*MW**2*sw**2 + 80*MB**4*MT**4*MW**2*sw**2 - 160*MB**6*MW**4*sw**2 - 160*MB**4*MT**2*MW**4*sw**2 + 80*MB**4*MW**6*sw**2 - 8*MB**4*MW**2*MZ**4*sw**2 + 16*MB**2*MT**2*MW**2*MZ**4*sw**2 - 8*MT**4*MW**2*MZ**4*sw**2 + 16*MB**2*MW**4*MZ**4*sw**2 + 16*MT**2*MW**4*MZ**4*sw**2 - 8*MW**6*MZ**4*sw**2 - 32*MB**8*MW**2*sw**4 + 64*MB**6*MT**2*MW**2*sw**4 - 32*MB**4*MT**4*MW**2*sw**4 + 64*MB**6*MW**4*sw**4 + 64*MB**4*MT**2*MW**4*sw**4 - 32*MB**4*MW**6*sw**4 - 16*MB**6*MW**2*MZ**2*sw**4 + 32*MB**4*MT**2*MW**2*MZ**2*sw**4 - 16*MB**2*MT**4*MW**2*MZ**2*sw**4 + 32*MB**4*MW**4*MZ**2*sw**4 + 32*MB**2*MT**2*MW**4*MZ**2*sw**4 - 16*MB**2*MW**6*MZ**2*sw**4 + 8*MB**4*MW**2*MZ**4*sw**4 - 16*MB**2*MT**2*MW**2*MZ**4*sw**4 + 8*MT**4*MW**2*MZ**4*sw**4 - 16*MB**2*MW**4*MZ**4*sw**4 - 16*MT**2*MW**4*MZ**4*sw**4 + 8*MW**6*MZ**4*sw**4)*reglog((MB**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglogm((-MH**2 - cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2.*MB**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(2*MB**2 - MH**2)*(2*MB**2 - MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((-MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(2*MB**2 - MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(2*MB**2 - MH**2)*(-2*MB**2 + MH**2 + cmath.sqrt(-4*MB**2*MH**2 + MH**4 + MB**2*vep*complex(0,4)))*reglogm((MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))/(-2*MB**2 + MH**2 + cmath.sqrt(MH**4 - 4*MB**2*(MH**2 + vep*complex(0,-1))))))/(256.*MB**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*reglogm((-MB**2 + MT**2 - MW**2 - cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(2.*MB**2)))/(64.*MB**2*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 + 4*MB**6*MW**2 - 5*MB**4*MT**2*MW**2 + MT**6*MW**2 - 6*MB**4*MW**4 - 3*MB**2*MT**2*MW**4 + 3*MT**4*MW**4 - 5*MT**2*MW**6 + 2*MW**8)*(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))/(-MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 + MT**2 - MW**2)**2 - 4*MB**2*(MT**2 + vep*complex(0,-1))))))/(128.*MB**4*(MB - MT - MW)*(MB + MT - MW)*MW**2*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglogm((-MZ**2 - cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2.*MB**2)))/(384.*cw**2*MB**2*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) - (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(2*MB**2 - MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((-MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(2*MB**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MB**4*MW**2 + 30*cw**2*MB**4*MZ**2 + 24*MB**2*MW**2*MZ**2 - 9*cw**2*MB**2*MZ**4 - 6*MW**2*MZ**4 - 80*MB**4*MW**2*sw**2 + 8*MW**2*MZ**4*sw**2 + 32*MB**4*MW**2*sw**4 + 16*MB**2*MW**2*MZ**2*sw**4 - 8*MW**2*MZ**4*sw**4)*(-2*MB**2 + MZ**2 + cmath.sqrt(-4*MB**2*MZ**2 + MZ**4 + MB**2*vep*complex(0,4)))*reglogm((MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))/(-2*MB**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MB**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MB**4*MW**2*(2*MB - MZ)*(2*MB + MZ)*cmath.pi**2*sw**2)) )'}, |
4602 | texname = '\delta ZL_b^{EW,MB}') |
4603 | |
4604 | dMB_HWcft_UV_EW = CTParameter(name = 'dMB_HWcft_UV_EW', |
4605 | type = 'complex', |
4606 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4607 | - 0:'( 0 if MB == 0 else re((ee**2*MB**2*Ncol*((-8*MB**2)/MH**2 + 2*reglog(4*cmath.pi) - 2*(1 + reglog(4*cmath.pi)) + (4*MB**2*reglog(MU_R**2/MB**2))/MH**2 + (2*(2*MB**2 + MH**2)*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/MH**2 + (2*(2*MB**2 + MH**2)*reglog((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)))/MH**2 - ((2*MB**2 + MH**2)*(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**4 + (2*(2*MB**2 + MH**2)*reglog(-(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)))/MH**2 + ((2*MB**2 + MH**2)*(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**4))/(64.*MW**2*cmath.pi**2*sw**2)) )'}, |
4608 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WH != 0,-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4609 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WH != 0,(ee**2*MB**2*Ncol*((-8*MB**2)/MH**2 + 2*reglog(4*cmath.pi) - 2*(1 + reglog(4*cmath.pi)) + (4*MB**2*(-reglog(MB**2/MU_R**2)))/MH**2 + (2*(2*MB**2 + MH**2)*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/MH**2 + (2*(2*MB**2 + MH**2)*reglogm((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)))/MH**2 - ((2*MB**2 + MH**2)*(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglogm((-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**4 + (2*(2*MB**2 + MH**2)*reglogm(-(MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(2.*MH**2)))/MH**2 + ((2*MB**2 + MH**2)*(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))*reglogm((MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(-4*MB**2 + MH**2 + vep*complex(0,4))))))/MH**4))/(64.*MW**2*cmath.pi**2*sw**2)) )'}, |
4610 | texname = '\delta Z_{H}^{EW,MB}') |
4611 | |
4612 | |
4613 | dMB_G0Wcft_UV_EW = CTParameter(name = 'dMB_G0Wcft_UV_EW', |
4614 | type = 'complex', |
4615 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4616 | - 0:'( 0 if MB == 0 else re((ee**2*MB**2*Ncol*(-reglog(16.) - 2*(1 + reglog(cmath.pi)) + 2*reglog(4*cmath.pi) - (4*MB**2*reglog(MU_R**2/MB**2))/(4*MB**2 - MZ**2) + (2*(-2*MB**2 + MZ**2)*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(-4*MB**2 + MZ**2) + (2*(2*MB**2 - MZ**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2 - MZ**2) + ((-2*MB**2 + MZ**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**2 - MZ**4) + (2*(2*MB**2 - MZ**2)*reglog(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2 - MZ**2) + ((-2*MB**2 + MZ**2)*(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(-4*MB**2*MZ**2 + MZ**4)))/(64.*MW**2*cmath.pi**2*sw**2)) )'}, |
4617 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4618 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,(ee**2*MB**2*Ncol*(-reglog(16.) - 2*(1 + reglog(cmath.pi)) + 2*reglog(4*cmath.pi) - (4*MB**2*(-reglog(MB**2/MU_R**2)))/(4*MB**2 - MZ**2) + (2*(-2*MB**2 + MZ**2)*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(-4*MB**2 + MZ**2) + (2*(2*MB**2 - MZ**2)*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2 - MZ**2) + ((-2*MB**2 + MZ**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**2 - MZ**4) + (2*(2*MB**2 - MZ**2)*reglogm(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2 - MZ**2) + ((-2*MB**2 + MZ**2)*(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(-4*MB**2*MZ**2 + MZ**4)))/(64.*MW**2*cmath.pi**2*sw**2)) )'}, |
4619 | texname = '\delta Z_{G0}^{EW,MB}') |
4620 | |
4621 | |
4622 | dMB_GpWcft_UV_EW = CTParameter(name = 'dMB_GpWcft_UV_EW', |
4623 | type = 'complex', |
4624 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4625 | - 0:'( 0 if MB == 0 else re((ee**2*MB**2*Ncol*reglog(4*cmath.pi))/(32.*MW**2*cmath.pi**2*sw**2) + (ee**2*Ncol*(-(MB**2*MW**2*(2*MB**2 - 4*MT**2 + MW**2*(2 + reglog(16.) + 2*reglog(cmath.pi)))) + (2*MB**2*MW**2*(MB**2 - MT**2 - MW**2)*(MB**4 + MT**4 - MT**2*MW**2 - MB**2*(2*MT**2 + MW**2))*reglog(MU_R**2/MB**2))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MT**2*MW**2*(-MB**2 + MT**2 + MW**2)*(MB**4 - 2*MB**2*MT**2 + (MT**2 - MW**2)**2)*reglog(MU_R**2/MT**2))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + 2*MT**2*(MT - MW)*(MT + MW)*(MT**2 + MW**2)*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) - ((MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + ((MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW))))/(64.*MW**6*cmath.pi**2*sw**2)) )'}, |
4626 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and WW != 0,-(ee**2*MB**2*Ncol)/(32.*MW**2*cmath.pi**2*sw**2)) )', |
4627 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WW != 0,(ee**2*MB**2*Ncol*reglog(4*cmath.pi))/(32.*MW**2*cmath.pi**2*sw**2) + (ee**2*Ncol*(-(MB**2*MW**2*(2*MB**2 - 4*MT**2 + MW**2*(2 + reglog(16.) + 2*reglog(cmath.pi)))) + (2*MB**2*MW**2*(MB**2 - MT**2 - MW**2)*(MB**4 + MT**4 - MT**2*MW**2 - MB**2*(2*MT**2 + MW**2))*(-reglog(MB**2/MU_R**2)))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MT**2*MW**2*(-MB**2 + MT**2 + MW**2)*(MB**4 - 2*MB**2*MT**2 + (MT**2 - MW**2)**2)*reglog(MU_R**2/MT**2))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + 2*MT**2*(MT - MW)*(MT + MW)*(MT**2 + MW**2)*reglogm((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + (2*MW**2*(MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) - ((MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW)) + ((MB**8 - MB**6*(4*MT**2 + MW**2) + (MT**2 + MW**2)*(MT**3 - MT*MW**2)**2 + MB**4*(6*MT**4 + MT**2*MW**2 - MW**4) + MB**2*(-4*MT**6 + MT**4*MW**2 - 2*MT**2*MW**4 + MW**6))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/((MB - MT - MW)*(MB + MT - MW)*(MB - MT + MW)*(MB + MT + MW))))/(64.*MW**6*cmath.pi**2*sw**2)) )'}, |
4628 | texname = '\delta Z_{Gp}^{EW,MB}') |
4629 | |
4630 | dMB_WWcft_UV_EW = CTParameter(name = 'dMB_WWcft_UV_EW', |
4631 | type = 'complex', |
4632 | - value = {0:'( 0 if MB == 0 else re(-(ee**2*MB**2*(2*MB**2 - 4*MT**2 + MW**2)*Ncol)/(96.*MW**4*cmath.pi**2*sw**2) + (ee**2*MB**2*(MB**2 - MT**2 - MT*MW - MW**2)*(MB**2 - MT**2 + MT*MW - MW**2)*(MB**2 - MT**2 + MW**2)*Ncol*reglog(MU_R**2/MB**2))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 - MB**2*MT**4*MW**2 + MT**6*MW**2 - MB**4*MW**4 + 2*MB**2*MT**2*MW**4 + 2*MB**2*MW**6 + MT**2*MW**6 - MW**8)*Ncol*reglog(MU_R**2/MT**2))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(-MT + MW)*(MT + MW)*(MT**2 - MT*MW + MW**2)*(MT**2 + MT*MW + MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/(48.*MW**6*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/(96.*(MB - MT - MW)*(MB + MT - MW)*MW**6*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*(MB**2 - MT**2 + MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/(96.*(MB - MT - MW)*(MB + MT - MW)*MW**6*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4633 | + value = {0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WW != 0,-(ee**2*MB**2*(2*MB**2 - 4*MT**2 + MW**2)*Ncol)/(96.*MW**4*cmath.pi**2*sw**2) + (ee**2*MB**2*(MB**2 - MT**2 - MT*MW - MW**2)*(MB**2 - MT**2 + MT*MW - MW**2)*(MB**2 - MT**2 + MW**2)*Ncol*(-reglog(MB**2/MU_R**2)))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**6*MT**2 - 3*MB**4*MT**4 + 3*MB**2*MT**6 - MT**8 - MB**2*MT**4*MW**2 + MT**6*MW**2 - MB**4*MW**4 + 2*MB**2*MT**2*MW**4 + 2*MB**2*MW**6 + MT**2*MW**6 - MW**8)*Ncol*reglog(MU_R**2/MT**2))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(-MT + MW)*(MT + MW)*(MT**2 - MT*MW + MW**2)*(MT**2 + MT*MW + MW**2)*Ncol*reglogm((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/(48.*MW**6*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) + (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)))/(48.*(MB - MT - MW)*(MB + MT - MW)*MW**4*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/(96.*(MB - MT - MW)*(MB + MT - MW)*MW**6*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2) - (ee**2*(MB**8 - 4*MB**6*MT**2 + 6*MB**4*MT**4 - 4*MB**2*MT**6 + MT**8 - MB**6*MW**2 + MB**4*MT**2*MW**2 + MB**2*MT**4*MW**2 - MT**6*MW**2 - 2*MB**2*MT**2*MW**4 - MB**2*MW**6 - MT**2*MW**6 + MW**8)*Ncol*(MB**2 - MT**2 + MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))))/(96.*(MB - MT - MW)*(MB + MT - MW)*MW**6*(MB - MT + MW)*(MB + MT + MW)*cmath.pi**2*sw**2)) )'}, |
4634 | texname = '\delta Z_{W}^{EW,MB}') |
4635 | |
4636 | dMB_ZZWcft_UV_EW = CTParameter(name = 'dMB_ZZWcft_UV_EW', |
4637 | type = 'complex', |
4638 | - value = { 0:'( 0 if MB == 0 else re((ee**2*Ncol*((2*MB**2*(-9 - 24*sw**2 + 16*sw**4))/MZ**2 - (4*MB**2*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog(MU_R**2/MB**2))/(4*MB**2*MZ**2 - MZ**4) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(4*MB**2*MZ**2 - MZ**4) + 2*(9 - 12*sw**2 + 8*sw**4)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2*MZ**2 - MZ**4) + ((-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**4 - MZ**6) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglog(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2*MZ**2 - MZ**4) + ((-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**4 - MZ**6)))/(1728.*cw**2*cmath.pi**2*sw**2)) )'}, |
4639 | + value = { 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,(ee**2*Ncol*((2*MB**2*(-9 - 24*sw**2 + 16*sw**4))/MZ**2 - (4*MB**2*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(-reglog(MB**2/MU_R**2)))/(4*MB**2*MZ**2 - MZ**4) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(4*MB**2*MZ**2 - MZ**4) + 2*(9 - 12*sw**2 + 8*sw**4)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2*MZ**2 - MZ**4) + ((-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**4 - MZ**6) - (2*(-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*reglogm(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MB**2*MZ**2 - MZ**4) + ((-2*MB**2*MZ**2*(9 - 12*sw**2 + 8*sw**4) + MZ**4*(9 - 12*sw**2 + 8*sw**4) + 2*MB**4*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/(4*MB**2*MZ**4 - MZ**6)))/(1728.*cw**2*cmath.pi**2*sw**2)) )'}, |
4640 | texname = '\delta Z_{ZZ}^{EW,MB}') |
4641 | |
4642 | |
4643 | dMB_AZWcft_UV_EW = CTParameter(name = 'dMB_AZWcft_UV_EW', |
4644 | type = 'complex', |
4645 | - value = { 0:'( 0 if MB == 0 else re((ee**2*((16*MB**2*Ncol*(3 - 4*sw**2))/MZ**2 + (8*MB**2*Ncol*(-3 + 4*sw**2)*reglog(MU_R**2/MB**2))/MZ**2 + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - 4*(-27 - 18*Ncol + 108*sw**2 + 40*Ncol*sw**2)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + 4*(-27 - 21*Ncol + 108*sw**2 + 44*Ncol*sw**2)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (2*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglog(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (2*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(864.*cw*cmath.pi**2*sw)) )'}, |
4646 | + value = { 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and WZ != 0,(ee**2*((16*MB**2*Ncol*(3 - 4*sw**2))/MZ**2 + (8*MB**2*Ncol*(-3 + 4*sw**2)*(-reglog(MB**2/MU_R**2)))/MZ**2 + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - 4*(-27 - 18*Ncol + 108*sw**2 + 40*Ncol*sw**2)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + 4*(-27 - 21*Ncol + 108*sw**2 + 44*Ncol*sw**2)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (2*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 + (4*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*reglogm(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (2*(2*MB**2 + MZ**2)*Ncol*(-3 + 4*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(864.*cw*cmath.pi**2*sw)) )'}, |
4647 | texname = '\delta Z_{AZ}^{EW,MB}') |
4648 | |
4649 | |
4650 | dMB_AAWcft_UV_EW = CTParameter(name = 'dMB_AAWcft_UV_EW', |
4651 | type = 'complex', |
4652 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*Ncol)/(108.*cmath.pi**2)) )', |
4653 | - 0:'( 0 if MB == 0 else re((ee**2*Ncol*(reglog(MB) - reglog(MU_R)))/(54.*cmath.pi**2)) )'}, |
4654 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0,-(ee**2*Ncol)/(108.*cmath.pi**2)) )', |
4655 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee**2*Ncol*(reglog(MB) - reglog(MU_R)))/(54.*cmath.pi**2)) )'}, |
4656 | texname = '\delta Z_{AA}^{EW,MB}') |
4657 | |
4658 | |
4659 | dMB_eCoup_UV_EW = CTParameter(name = 'dMB_eCoup_UV_EW', |
4660 | type = 'complex', |
4661 | - value = { 0:'( 0 if MB == 0 else re((ee**2*Ncol*(reglog(256.) - 8*reglog(MB) + 4*reglog(cmath.pi) + 8*reglog(MU_R)))/(864.*cmath.pi**2) + (ee**2*(2*Ncol*((12*MB**2)/MZ**2 - reglog(64.) - 3*reglog(cmath.pi)) - (6*(2*MB**2 + MZ**2)*Ncol*reglog(MU_R**2/MB**2))/MZ**2 - (6*(2*MB**2 + MZ**2)*Ncol*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 + 6*(27 + 10*Ncol)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 6*(27 + 11*Ncol)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (6*(2*MB**2 + MZ**2)*Ncol*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (3*(2*MB**2 + MZ**2)*Ncol*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (6*(2*MB**2 + MZ**2)*Ncol*reglog(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (3*(2*MB**2 + MZ**2)*Ncol*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(1296.*cmath.pi**2)) )'}, |
4662 | + value = { 0:'( 0 if MB == 0 else recms(CMSParam==1.0,(ee**2*Ncol*(reglog(256.) - 8*reglog(MB) + 4*reglog(cmath.pi) + 8*reglog(MU_R)))/(864.*cmath.pi**2) + (ee**2*(2*Ncol*((12*MB**2)/MZ**2 - reglog(64.) - 3*reglog(cmath.pi)) - (6*(2*MB**2 + MZ**2)*Ncol*(-reglog(MB**2/MU_R**2)))/MZ**2 - (6*(2*MB**2 + MZ**2)*Ncol*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 + 6*(27 + 10*Ncol)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 6*(27 + 11*Ncol)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (6*(2*MB**2 + MZ**2)*Ncol*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (3*(2*MB**2 + MZ**2)*Ncol*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (6*(2*MB**2 + MZ**2)*Ncol*reglogm(-(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (3*(2*MB**2 + MZ**2)*Ncol*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(1296.*cmath.pi**2)) )'}, |
4663 | texname = '\delta e^{MB}') |
4664 | |
4665 | |
4666 | dMB_SWCoup_UV_EW = CTParameter(name = 'dMB_SWCoup_UV_EW', |
4667 | type = 'complex', |
4668 | - value = {-1:'( 0 if MB == 0 else re(-(ee**2*MB**2*(MW - cw*MZ)*(MW + cw*MZ)*Ncol)/(64.*MW**2*MZ**2*cmath.pi**2*sw**3)) )', |
4669 | - 0:'( 0 if MB == 0 else re((ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol*reglog(4*cmath.pi))/(64.*MW**2*MZ**2*cmath.pi**2*sw**3) + (cw**2*(-(ee**2*Ncol*(-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*reglog(MU_R**2/MB**2) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1)))))))/(192.*MW**6*cmath.pi**2*sw**2) + (ee**2*(2*MB**2*Ncol*(-18 - 48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 27*reglog(cmath.pi)) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*reglog(MU_R**2/MB**2) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*MZ**2*cmath.pi**2*sw**2)))/(2.*sw)) )'}, |
4670 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and (WW != 0 or WZ != 0),-(ee**2*MB**2*(MW - cw*MZ)*(MW + cw*MZ)*Ncol)/(64.*MW**2*MZ**2*cmath.pi**2*sw**3)) )', |
4671 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and (WW != 0 or WZ != 0),(ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol*reglog(4*cmath.pi))/(64.*MW**2*MZ**2*cmath.pi**2*sw**3) + (cw**2*(-(ee**2*Ncol*(-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*(-reglog(MB**2/MU_R**2)) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglogm((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1)))))))/(192.*MW**6*cmath.pi**2*sw**2) + (ee**2*(2*MB**2*Ncol*(-18 - 48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 27*reglog(cmath.pi)) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*(-reglog(MB**2/MU_R**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*MZ**2*cmath.pi**2*sw**2)))/(2.*sw)) )'}, |
4672 | texname = '\delta SW^{MB}') |
4673 | |
4674 | |
4675 | dMB_CWCoup_UV_EW = CTParameter(name = 'dMB_CWCoup_UV_EW', |
4676 | type = 'complex', |
4677 | - value = {-1:'( 0 if MB == 0 else re((ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol)/(64.*cw*MW**2*MZ**2*cmath.pi**2*sw**2)) )', |
4678 | - 0:'( 0 if MB == 0 else re(-(ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol*reglog(4*cmath.pi))/(64.*cw*MW**2*MZ**2*cmath.pi**2*sw**2) + (cw*((ee**2*Ncol*(-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*reglog(MU_R**2/MB**2) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglog((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1)))))))/(192.*MW**6*cmath.pi**2*sw**2) - (ee**2*(2*MB**2*Ncol*(-18 - 48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 27*reglog(cmath.pi)) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*reglog(MU_R**2/MB**2) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*MZ**2*cmath.pi**2*sw**2)))/2.) )'}, |
4679 | + value = {-1:'( 0 if MB == 0 else recms(CMSParam==1.0 and (WW != 0 or WZ != 0),(ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol)/(64.*cw*MW**2*MZ**2*cmath.pi**2*sw**2)) )', |
4680 | + 0:'( 0 if MB == 0 else recms(CMSParam==1.0 and (WW != 0 or WZ != 0),-(ee**2*MB**2*(MW**2 - cw**2*MZ**2)*Ncol*reglog(4*cmath.pi))/(64.*cw*MW**2*MZ**2*cmath.pi**2*sw**2) + (cw*((ee**2*Ncol*(-2*MB**2*MW**2*(MB**2 - 2*MT**2 + MW**2*(2 + reglog(64.) + 3*reglog(cmath.pi))) + 2*MB**2*MW**2*(MB**2 - MT**2 - 2*MW**2)*(-reglog(MB**2/MU_R**2)) + 2*MW**2*(-(MB**2*MT**2) + MT**4 + MT**2*MW**2 - 2*MW**4)*reglog(MU_R**2/MT**2) + 2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglogm((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm((MB**2 - MT**2 - MW**2 - cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - 2*MW**2*(-MB**4 - MT**4 - MT**2*MW**2 + 2*MW**4 + MB**2*(2*MT**2 - MW**2))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(2.*MW**2)) - (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((MB**2 - MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(MB**2 - MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))) + (MB**4 + MT**4 + MT**2*MW**2 - 2*MW**4 + MB**2*(-2*MT**2 + MW**2))*(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))*reglogm((-MB**2 + MT**2 + MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1))))/(-MB**2 + MT**2 - MW**2 + cmath.sqrt((MB**2 - MT**2 + MW**2)**2 - 4*MW**2*(MB**2 + vep*complex(0,-1)))))))/(192.*MW**6*cmath.pi**2*sw**2) - (ee**2*(2*MB**2*Ncol*(-18 - 48*sw**2 + 32*sw**4 - reglog(18014398509481984.) - 27*reglog(cmath.pi)) - 4*MB**2*Ncol*(9 - 12*sw**2 + 8*sw**4)*(-reglog(MB**2/MU_R**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2) + 4*MZ**2*(27*(1 - 2*sw**2 + 4*sw**4) + 2*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 2*Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (Ncol*(MZ**2*(9 - 12*sw**2 + 8*sw**4) + MB**2*(-9 - 24*sw**2 + 16*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))*reglogm((MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MB**2 + MZ**2 + vep*complex(0,4))))))/MZ**2))/(1728.*cw**2*MZ**2*cmath.pi**2*sw**2)))/2.) )'}, |
4681 | texname = '\delta CW^{MB}') |
4682 | |
4683 | |
4684 | @@ -318,33 +318,40 @@ |
4685 | |
4686 | tMass_UV_EW = CTParameter(name = 'tMass_UV_EW', |
4687 | type = 'complex', |
4688 | - value = {-1:'re((ee**2*MT*(MW**2*(3 + 24*sw**2 - 32*sw**4) + cw**2*(9*MT**2 + 2*MW**2*(3 - 16*sw**2))))/(384.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tMass_UV_EW.value[-1], |
4689 | - 0:'re(-(ee**2*(9*cw**2*MH**2*MT**2 - 72*cw**2*MT**4 - 18*MT**2*MW**2 - 9*cw**2*MT**2*MW**2 + 18*cw**2*MW**4 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 96*MT**2*MW**2*sw**2 + 128*cw**2*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 128*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4 - 9*cw**2*MT**4*reglog(16) + 9*cw**2*MT**4*reglog(1/(4.*cmath.pi)) + 9*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 24*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 16*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 18*cw**2*MT**4*reglog(cmath.pi) + 96*MT**2*MW**2*sw**2*reglog(cmath.pi) - 112*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 128*MT**2*MW**2*sw**4*reglog(cmath.pi) - 192*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 224*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 256*MT**2*MW**2*sw**4*reglog(2*cmath.pi) + 27*cw**2*MT**4*reglog(4*cmath.pi) + 9*MT**2*MW**2*reglog(4*cmath.pi) + 72*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 112*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 112*MT**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*MH**2*MT*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(18*cw**2*MT**2 + 9*MW**2 - 24*MW**2*sw**2 + 96*cw**2*MW**2*sw**2 + 32*MW**2*sw**4)*reglog(MU_R**2/MT**2))/(1152.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*MT*(MT**2 + 2*MW**2)*reglog(MU_R**2/MW**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MZ**2*(9*cw**2*MT**2 + 9*MW**2 - 24*MW**2*sw**2 + 32*MW**2*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(-9*cw**2*MH**2*MT**2 + 36*cw**2*MT**4 + 18*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 9*MW**2*MZ**2 + 48*MT**2*MW**2*sw**2 + 24*MW**2*MZ**2*sw**2 - 64*MT**2*MW**2*sw**4 - 32*MW**2*MZ**2*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(128.*MT**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*(2*MT**2 - MZ**2 - cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(-MH + 2*MT)*(MH + 2*MT)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(-MH + 2*MT)*(MH + 2*MT)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*(-MH + 2*MT)*(MH + 2*MT)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(-MH + 2*MT)*(MH + 2*MT)*(MH**2 - cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tMass_UV_EW.value[0]}, |
4690 | + value = {-1:'recms(CMSParam==1.0 and WT != 0,(ee**2*MT*(MW**2*(3 + 24*sw**2 - 32*sw**4) + cw**2*(9*MT**2 + 2*MW**2*(3 - 16*sw**2))))/(384.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tMass_UV_EW.value[-1], |
4691 | + 0:'recms(CMSParam==1.0 and WT != 0,-(ee**2*(9*cw**2*MH**2*MT**2 - 72*cw**2*MT**4 - 18*MT**2*MW**2 - 9*cw**2*MT**2*MW**2 + 18*cw**2*MW**4 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 96*MT**2*MW**2*sw**2 + 128*cw**2*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 128*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4 - 9*cw**2*MT**4*reglog(16) + 9*cw**2*MT**4*reglog(1/(4.*cmath.pi)) + 9*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 24*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 16*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 18*cw**2*MT**4*reglog(cmath.pi) + 96*MT**2*MW**2*sw**2*reglog(cmath.pi) - 112*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 128*MT**2*MW**2*sw**4*reglog(cmath.pi) - 192*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 224*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 256*MT**2*MW**2*sw**4*reglog(2*cmath.pi) + 27*cw**2*MT**4*reglog(4*cmath.pi) + 9*MT**2*MW**2*reglog(4*cmath.pi) + 72*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 112*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 112*MT**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*MH**2*MT*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(18*cw**2*MT**2 + 9*MW**2 - 24*MW**2*sw**2 + 96*cw**2*MW**2*sw**2 + 32*MW**2*sw**4)*reglog(MU_R**2/MT**2))/(1152.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*MT*(MT**2 + 2*MW**2)*reglog(MU_R**2/MW**2))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*MZ**2*(9*cw**2*MT**2 + 9*MW**2 - 24*MW**2*sw**2 + 32*MW**2*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(-9*cw**2*MH**2*MT**2 + 36*cw**2*MT**4 + 18*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 9*MW**2*MZ**2 + 48*MT**2*MW**2*sw**2 + 24*MW**2*MZ**2*sw**2 - 64*MT**2*MW**2*sw**4 - 32*MW**2*MZ**2*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(128.*MT**3*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(1152.*cw**2*MT*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*(-18*MT**2*MW**2 + 9*cw**2*MT**2*MZ**2 + 9*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 - 24*MW**2*MZ**2*sw**2 + 64*MT**2*MW**2*sw**4 + 32*MW**2*MZ**2*sw**4)*(2*MT**2 - MZ**2 - cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(2304.*cw**2*MT**3*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(-MH + 2*MT)*(MH + 2*MT)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*MT*(-MH + 2*MT)*(MH + 2*MT)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (ee**2*(-MH + 2*MT)*(MH + 2*MT)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT*MW**2*cmath.pi**2*sw**2) + (ee**2*(-MH + 2*MT)*(MH + 2*MT)*(MH**2 - cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tMass_UV_EW.value[0]}, |
4692 | texname = '\delta m_t^{EW}') |
4693 | |
4694 | HMass2_UV_EW = CTParameter(name = 'HMass2_UV_EW', |
4695 | type = 'complex', |
4696 | - value = {-1:'re((ee**2*(16*MW**4 + 2*cw**2*MW**2*(-2*MH**2 + MZ**2) + cw**4*(15*MH**4 + 36*MW**4 - 24*MT**4*Ncol + MH**2*(-6*MW**2 + MZ**2 + 4*MT**2*Ncol))))/(128.*cw**4*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_HMass2_UV_EW.value[-1], |
4697 | - 0:'re(-(ee**2*(16*MW**4 + 2*cw**2*MW**2*(-2*MH**2 + MZ**2) + cw**4*(15*MH**4 + 36*MW**4 - 24*MT**4*Ncol + MH**2*(-6*MW**2 + MZ**2 + 4*MT**2*Ncol)))*reglog(4*cmath.pi))/(128.*cw**4*MW**2*cmath.pi**2*sw**2) + (ee**2*((-2*(8*MW**4*(-3 - reglog(16) - 2*reglog(cmath.pi)) + 2*cw**2*MW**2*(MZ**2*(3 + reglog(1/(4.*cmath.pi))) + MH**2*(4 + reglog(16) + 2*reglog(cmath.pi))) + cw**4*(4*(9*MW**4*(-1 + reglog(1/(4.*cmath.pi))) + 2*MT**4*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi))) + 3*MH**4*(-9 + 5*reglog(cmath.pi) - 10*reglog(2*cmath.pi)) - MH**2*(MW**2*(-14 - reglog(4096) - 6*reglog(cmath.pi)) + MT**2*Ncol*(8 + reglog(256) + 4*reglog(cmath.pi)) + MZ**2*(1 + reglog(4*cmath.pi))))))/(cw**4*MW**2) + (6*MH**4*reglog(MU_R**2/MH**2))/MW**2 - (16*MT**4*Ncol*reglog(MU_R**2/MT**2))/MW**2 + 4*(MH**2 + 6*MW**2)*reglog(MU_R**2/MW**2) + (2*(cw**2*MH**2 + 6*MW**2)*MZ**2*reglog(MU_R**2/MZ**2))/(cw**2*MW**2) - (8*(4*MW**4 - cw**2*MW**2*(MH**2 + MZ**2) + cw**4*(3*MH**4 + 6*MW**4 - 4*MT**4*Ncol + MH**2*(-2*MW**2 + MT**2*Ncol)))*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/(cw**4*MW**2) + (8*MT**2*(-MH + 2*MT)*(MH + 2*MT)*Ncol*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (8*MT**2*(-MH + 2*MT)*(MH + 2*MT)*Ncol*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (4*(MH - 2*MT)*MT**2*(MH + 2*MT)*Ncol*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**2*MW**2) + (4*(MH - 2*MT)*MT**2*(MH + 2*MT)*Ncol*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**2*MW**2) - (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 - (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**2*MW**2) + (2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**2*MW**2) - (2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MW**2) - (2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MW**2) + ((cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**2*MW**2) + ((cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**2*MW**2) + (9*MH**2*(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 + (9*MH**2*(MH**2 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (18*MH**4*reglog(-0.5 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2 - (18*MH**4*reglog(-0.5 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2))/(256.*cmath.pi**2*sw**2))'+'+'+dMB_HMass2_UV_EW.value[0]}, |
4698 | + value = {-1:'recms(CMSParam==1.0 and WH != 0,(ee**2*(16*MW**4 + 2*cw**2*MW**2*(-2*MH**2 + MZ**2) + cw**4*(15*MH**4 + 36*MW**4 - 24*MT**4*Ncol + MH**2*(-6*MW**2 + MZ**2 + 4*MT**2*Ncol))))/(128.*cw**4*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_HMass2_UV_EW.value[-1], |
4699 | + 0:'recms(CMSParam==1.0 and WH != 0,-(ee**2*(16*MW**4 + 2*cw**2*MW**2*(-2*MH**2 + MZ**2) + cw**4*(15*MH**4 + 36*MW**4 - 24*MT**4*Ncol + MH**2*(-6*MW**2 + MZ**2 + 4*MT**2*Ncol)))*reglog(4*cmath.pi))/(128.*cw**4*MW**2*cmath.pi**2*sw**2) + (ee**2*((-2*(8*MW**4*(-3 - reglog(16) - 2*reglog(cmath.pi)) + 2*cw**2*MW**2*(MZ**2*(3 + reglog(1/(4.*cmath.pi))) + MH**2*(4 + reglog(16) + 2*reglog(cmath.pi))) + cw**4*(4*(9*MW**4*(-1 + reglog(1/(4.*cmath.pi))) + 2*MT**4*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi))) + 3*MH**4*(-9 + 5*reglog(cmath.pi) - 10*reglog(2*cmath.pi)) - MH**2*(MW**2*(-14 - reglog(4096) - 6*reglog(cmath.pi)) + MT**2*Ncol*(8 + reglog(256) + 4*reglog(cmath.pi)) + MZ**2*(1 + reglog(4*cmath.pi))))))/(cw**4*MW**2) + (6*MH**4*reglog(MU_R**2/MH**2))/MW**2 - (16*MT**4*Ncol*reglog(MU_R**2/MT**2))/MW**2 + 4*(MH**2 + 6*MW**2)*reglog(MU_R**2/MW**2) + (2*(cw**2*MH**2 + 6*MW**2)*MZ**2*reglog(MU_R**2/MZ**2))/(cw**2*MW**2) - (8*(4*MW**4 - cw**2*MW**2*(MH**2 + MZ**2) + cw**4*(3*MH**4 + 6*MW**4 - 4*MT**4*Ncol + MH**2*(-2*MW**2 + MT**2*Ncol)))*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/(cw**4*MW**2) + (8*MT**2*(-MH + 2*MT)*(MH + 2*MT)*Ncol*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (8*MT**2*(-MH + 2*MT)*(MH + 2*MT)*Ncol*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (4*(MH - 2*MT)*MT**2*(MH + 2*MT)*Ncol*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**2*MW**2) + (4*(MH - 2*MT)*MT**2*(MH + 2*MT)*Ncol*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**2*MW**2) - (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 - (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/MW**2 + (2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**2*MW**2) + (2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**2*MW**2) - (2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MW**2) - (2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MW**2) + ((cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**2*MW**2) + ((cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**2*MW**2) + (9*MH**2*(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 + (9*MH**2*(MH**2 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (18*MH**4*reglog(-0.5 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2 - (18*MH**4*reglog(-0.5 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2))/(256.*cmath.pi**2*sw**2))'+'+'+dMB_HMass2_UV_EW.value[0]}, |
4700 | texname = '\delta m2_H^{EW}') |
4701 | |
4702 | +# adding term of B0[MW^2-iGW*MW,0,MW^2-iGW*MW]-B0[s,0,MW^2-iGW*MW] |
4703 | + |
4704 | +#WMass2_UV_EW_add = CTParameter(name = 'WMass2_UV_EW_add', |
4705 | +# type = 'complex', |
4706 | +# value = {0:'-lhv*ee**2*MW**2*complex(0,1)*im(MW**2)*reglog(complex(0,1)*im(MW**2)/MW**2)/(4.*cmath.pi**2*re(MW**2))'}, |
4707 | +# texname = '\delta m2_W^{EW,add}') |
4708 | + |
4709 | WMass2_UV_EW = CTParameter(name = 'WMass2_UV_EW', |
4710 | type = 'complex', |
4711 | - value = {-1:'re(-(ee**2*(cw**4*(44*MW**2 + 6*MZ**2) - 6*MW**2*sw**4 + cw**2*(3*MT**2*Ncol + MW**2*(-31 - 6*Ncol + 38*sw**2))))/(96.*cw**2*cmath.pi**2*sw**2))'+'+'+dMB_WMass2_UV_EW.value[-1], |
4712 | - 0:'re((ee**2*(cw**4*(44*MW**2 + 6*MZ**2) - 6*MW**2*sw**4 + cw**2*(3*MT**2*Ncol + MW**2*(-31 - 6*Ncol + 38*sw**2)))*reglog(4*cmath.pi))/(96.*cw**2*cmath.pi**2*sw**2) + (ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglog(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*cmath.pi**2*sw**2))'+'+'+dMB_WMass2_UV_EW.value[0]}, |
4713 | + value = {-1:'recms(CMSParam==1.0 and WW != 0,-(ee**2*(cw**4*(44*MW**2 + 6*MZ**2) - 6*MW**2*sw**4 + cw**2*(3*MT**2*Ncol + MW**2*(-31 - 6*Ncol + 38*sw**2))))/(96.*cw**2*cmath.pi**2*sw**2))'+'+'+dMB_WMass2_UV_EW.value[-1], |
4714 | + 0:'recms(CMSParam==1.0 and WW != 0,(ee**2*(cw**4*(44*MW**2 + 6*MZ**2) - 6*MW**2*sw**4 + cw**2*(3*MT**2*Ncol + MW**2*(-31 - 6*Ncol + 38*sw**2)))*reglog(4*cmath.pi))/(96.*cw**2*cmath.pi**2*sw**2) + (ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglogp(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*cmath.pi**2*sw**2))'+'+'+dMB_WMass2_UV_EW.value[0]}, |
4715 | texname = '\delta m2_W^{EW}') |
4716 | |
4717 | ZMass2_UV_EW = CTParameter(name = 'ZMass2_UV_EW', |
4718 | type = 'complex', |
4719 | - value = {-1:'re(-(ee**2*(36*MW**2*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*(18*MT**2*Ncol + MZ**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(576.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZMass2_UV_EW.value[-1], |
4720 | - 0:'re((ee**2*(36*MW**2*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*(18*MT**2*Ncol + MZ**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(576.*cw**4*cmath.pi**2*sw**2) + (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4 - (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4))/(3456.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZMass2_UV_EW.value[0]}, |
4721 | + value = {-1:'recms(CMSParam==1.0 and WZ != 0,-(ee**2*(36*MW**2*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*(18*MT**2*Ncol + MZ**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(576.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZMass2_UV_EW.value[-1], |
4722 | + 0:'recms(CMSParam==1.0 and WZ != 0,(ee**2*(36*MW**2*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*(18*MT**2*Ncol + MZ**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(576.*cw**4*cmath.pi**2*sw**2) + (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4 - (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4))/(3456.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZMass2_UV_EW.value[0]}, |
4723 | texname = '\delta m2_Z^{EW}') |
4724 | |
4725 | |
4726 | tWcft_UV_EW_R = CTParameter(name = 'tWcft_UV_EW_R', |
4727 | type = 'complex', |
4728 | - value = {-1:'re(-(ee**2*(8*MW**2*sw**4 + 3*cw**2*(3*MT**2 + 8*MW**2*sw**2)))/(288.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4729 | - 0:'re(-(ee**2*(27*cw**2*MH**2*MT**2 - 36*cw**2*MT**4 - 54*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 72*cw**2*MW**4 + 27*cw**2*MT**2*MZ**2 + 36*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 + 128*cw**2*MT**2*MW**2*sw**2 - 96*MW**2*MZ**2*sw**2 + 128*MT**2*MW**2*sw**4 + 96*MW**2*MZ**2*sw**4 + 18*cw**2*MT**4*reglog(16) + 64*cw**2*MT**2*MW**2*sw**2*reglog(16) + 36*cw**2*MT**4*reglog(cmath.pi) + 128*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 36*cw**2*MT**4*reglog(4*cmath.pi) - 128*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MT**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(3*MH**2 - 4*MT**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MT**4 + 18*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 6*MW**2*MZ**2 - 16*MT**2*MW**2*sw**2 + 64*cw**2*MT**2*MW**2*sw**2 + 16*MW**2*MZ**2*sw**2 - 16*cw**2*MW**2*MZ**2*sw**2 - 16*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MT**2))/(192.*cw**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*MT**2*reglog(MU_R**2/MW**2))/(64.*MW**2*cmath.pi**2*sw**2) + (ee**2*(-72*MT**4*MW**2 + 72*cw**2*MT**4*MZ**2 + 144*MT**2*MW**2*MZ**2 - 27*cw**2*MT**2*MZ**4 - 36*MW**2*MZ**4 - 192*MT**4*MW**2*sw**2 - 192*MT**2*MW**2*MZ**2*sw**2 + 96*MW**2*MZ**4*sw**2 + 256*MT**4*MW**2*sw**4 + 128*MT**2*MW**2*MZ**2*sw**4 - 96*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-36*cw**2*MH**2*MT**4 + 72*cw**2*MT**6 + 60*MT**4*MW**2 + 9*cw**2*MH**2*MT**2*MZ**2 - 48*cw**2*MT**4*MZ**2 - 60*MT**2*MW**2*MZ**2 + 9*cw**2*MT**2*MZ**4 + 12*MW**2*MZ**4 + 32*MT**4*MW**2*sw**2 + 96*MT**2*MW**2*MZ**2*sw**2 - 32*MW**2*MZ**4*sw**2 - 128*MT**4*MW**2*sw**4 - 64*MT**2*MW**2*MZ**2*sw**4 + 32*MW**2*MZ**4*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(MT - MW)*(MT + MW)*(MT**4 + MT**2*MW**2 + 4*MW**4)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(64.*MT**4*MW**2*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(-2*MT**2 + MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(MH**2 - 2*MT**2)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_R.value[0]}, |
4730 | + value = {-1:'recms(CMSParam==1.0 and WT != 0,-(ee**2*(8*MW**2*sw**4 + 3*cw**2*(3*MT**2 + 8*MW**2*sw**2)))/(288.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4731 | + 0:'recms(CMSParam==1.0 and WT != 0,-(ee**2*(27*cw**2*MH**2*MT**2 - 36*cw**2*MT**4 - 54*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 72*cw**2*MW**4 + 27*cw**2*MT**2*MZ**2 + 36*MW**2*MZ**2 - 48*MT**2*MW**2*sw**2 + 128*cw**2*MT**2*MW**2*sw**2 - 96*MW**2*MZ**2*sw**2 + 128*MT**2*MW**2*sw**4 + 96*MW**2*MZ**2*sw**4 + 18*cw**2*MT**4*reglog(16) + 64*cw**2*MT**2*MW**2*sw**2*reglog(16) + 36*cw**2*MT**4*reglog(cmath.pi) + 128*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) - 36*cw**2*MT**4*reglog(4*cmath.pi) - 128*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi)))/(1152.*cw**2*MT**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(3*MH**2 - 4*MT**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MT**4 + 18*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 6*MW**2*MZ**2 - 16*MT**2*MW**2*sw**2 + 64*cw**2*MT**2*MW**2*sw**2 + 16*MW**2*MZ**2*sw**2 - 16*cw**2*MW**2*MZ**2*sw**2 - 16*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MT**2))/(192.*cw**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*MT**2*reglog(MU_R**2/MW**2))/(64.*MW**2*cmath.pi**2*sw**2) + (ee**2*(-72*MT**4*MW**2 + 72*cw**2*MT**4*MZ**2 + 144*MT**2*MW**2*MZ**2 - 27*cw**2*MT**2*MZ**4 - 36*MW**2*MZ**4 - 192*MT**4*MW**2*sw**2 - 192*MT**2*MW**2*MZ**2*sw**2 + 96*MW**2*MZ**4*sw**2 + 256*MT**4*MW**2*sw**4 + 128*MT**2*MW**2*MZ**2*sw**4 - 96*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-36*cw**2*MH**2*MT**4 + 72*cw**2*MT**6 + 60*MT**4*MW**2 + 9*cw**2*MH**2*MT**2*MZ**2 - 48*cw**2*MT**4*MZ**2 - 60*MT**2*MW**2*MZ**2 + 9*cw**2*MT**2*MZ**4 + 12*MW**2*MZ**4 + 32*MT**4*MW**2*sw**2 + 96*MT**2*MW**2*MZ**2*sw**2 - 32*MW**2*MZ**4*sw**2 - 128*MT**4*MW**2*sw**4 - 64*MT**2*MW**2*MZ**2*sw**4 + 32*MW**2*MZ**4*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(MT - MW)*(MT + MW)*(MT**4 + MT**2*MW**2 + 4*MW**4)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(64.*MT**4*MW**2*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-60*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 60*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 12*MW**2*MZ**4 - 32*MT**4*MW**2*sw**2 - 96*MT**2*MW**2*MZ**2*sw**2 + 32*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(-2*MT**2 + MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(MH**2 - 2*MT**2)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_R.value[0]}, |
4732 | texname = '\delta ZR_t^{EW}') |
4733 | |
4734 | |
4735 | @@ -352,181 +359,181 @@ |
4736 | |
4737 | cWcft_UV_EW_R = CTParameter(name = 'cWcft_UV_EW_R', |
4738 | type = 'complex', |
4739 | - value = {-1:'re(-(ee**2*sw**2)/(36.*cw**2*cmath.pi**2))', |
4740 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(72.*cw**2*cmath.pi**2))'}, |
4741 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(36.*cw**2*cmath.pi**2))', |
4742 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(72.*cw**2*cmath.pi**2))'}, |
4743 | texname = '\delta ZR_c^{EW}') |
4744 | |
4745 | |
4746 | uWcft_UV_EW_R = CTParameter(name = 'uWcft_UV_EW_R', |
4747 | type = 'complex', |
4748 | - value = {-1:'re(-(ee**2*sw**2)/(36.*cw**2*cmath.pi**2))', |
4749 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(72.*cw**2*cmath.pi**2))'}, |
4750 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(36.*cw**2*cmath.pi**2))', |
4751 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(72.*cw**2*cmath.pi**2))'}, |
4752 | texname = '\delta ZR_u^{EW}') |
4753 | |
4754 | |
4755 | |
4756 | bWcft_UV_EW_R = CTParameter(name = 'bWcft_UV_EW_R', |
4757 | type = 'complex', |
4758 | - value = {-1:'re(-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))'+'+'+dMB_bWcft_UV_EW_R.value[-1], |
4759 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'+'+'+dMB_bWcft_UV_EW_R.value[0]}, |
4760 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))'+'+'+dMB_bWcft_UV_EW_R.value[-1], |
4761 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'+'+'+dMB_bWcft_UV_EW_R.value[0]}, |
4762 | texname = '\delta ZR_b^{EW}') |
4763 | |
4764 | |
4765 | sWcft_UV_EW_R = CTParameter(name = 'sWcft_UV_EW_R', |
4766 | type = 'complex', |
4767 | - value = {-1:'re(-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))', |
4768 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'}, |
4769 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))', |
4770 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'}, |
4771 | texname = '\delta ZR_s^{EW}') |
4772 | |
4773 | |
4774 | dWcft_UV_EW_R = CTParameter(name = 'dWcft_UV_EW_R', |
4775 | type = 'complex', |
4776 | - value = {-1:'re(-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))', |
4777 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'}, |
4778 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(144.*cw**2*cmath.pi**2))', |
4779 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(288.*cw**2*cmath.pi**2))'}, |
4780 | texname = '\delta ZR_d^{EW}') |
4781 | |
4782 | |
4783 | tauWcft_UV_EW_R = CTParameter(name = 'tauWcft_UV_EW_R', |
4784 | type = 'complex', |
4785 | - value = {-1:'re(-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4786 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4787 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4788 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4789 | texname = '\delta ZR_tau^{EW}') |
4790 | |
4791 | |
4792 | muWcft_UV_EW_R = CTParameter(name = 'muWcft_UV_EW_R', |
4793 | type = 'complex', |
4794 | - value = {-1:'re(-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4795 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4796 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4797 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4798 | texname = '\delta ZR_mu^{EW}') |
4799 | |
4800 | |
4801 | eWcft_UV_EW_R = CTParameter(name = 'eWcft_UV_EW_R', |
4802 | type = 'complex', |
4803 | - value = {-1:'re(-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4804 | - 0:'re(-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4805 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*sw**2)/(16.*cw**2*cmath.pi**2))', |
4806 | + 0:'recms(CMSParam==1.0,-(ee**2*sw**2*(-1 + 2*reglog(MU_R**2/MZ**2)))/(32.*cw**2*cmath.pi**2))'}, |
4807 | texname = '\delta ZR_e^{EW}') |
4808 | |
4809 | tWcft_UV_EW_L = CTParameter(name = 'tWcft_UV_EW_L', |
4810 | type = 'complex', |
4811 | - value = {-1:'re(-(ee**2*(MW**2*(3 - 4*sw**2)**2 + 3*cw**2*(3*MT**2 + 2*MW**2*(3 + 8*sw**2))))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_L.value[-1], |
4812 | - 0:'re((ee**2*(-27*cw**2*MH**2*MT**2 + 72*cw**2*MT**4 + 18*MT**2*MW**2 - 36*cw**2*MT**2*MW**2 - 36*cw**2*MW**4 - 27*cw**2*MT**2*MZ**2 - 18*MW**2*MZ**2 + 144*MT**2*MW**2*sw**2 - 128*cw**2*MT**2*MW**2*sw**2 + 48*MW**2*MZ**2*sw**2 - 128*MT**2*MW**2*sw**4 - 96*MW**2*MZ**2*sw**4 - 64*cw**2*MT**2*MW**2*sw**2*reglog(16) + 18*cw**2*MT**4*reglog(1/(4.*cmath.pi)) + 18*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 48*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 32*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 160*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) + 64*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 18*cw**2*MT**4*reglog(4*cmath.pi) + 18*MT**2*MW**2*reglog(4*cmath.pi) - 48*MT**2*MW**2*sw**2*reglog(4*cmath.pi) + 96*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) + 32*MT**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MT**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(3*MH**2 - 4*MT**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MT**4 + 6*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 3*MW**2*MZ**2 + 16*MT**2*MW**2*sw**2 + 64*cw**2*MT**2*MW**2*sw**2 + 8*MW**2*MZ**2*sw**2 - 16*cw**2*MW**2*MZ**2*sw**2 - 16*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MT**2))/(192.*cw**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*reglog(MU_R**2/MW**2))/(32.*cmath.pi**2*sw**2) + (ee**2*(-72*MT**4*MW**2 + 72*cw**2*MT**4*MZ**2 + 72*MT**2*MW**2*MZ**2 - 27*cw**2*MT**2*MZ**4 - 18*MW**2*MZ**4 - 192*MT**4*MW**2*sw**2 + 48*MW**2*MZ**4*sw**2 + 256*MT**4*MW**2*sw**4 + 128*MT**2*MW**2*MZ**2*sw**4 - 96*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-36*cw**2*MH**2*MT**4 + 72*cw**2*MT**6 + 12*MT**4*MW**2 + 9*cw**2*MH**2*MT**2*MZ**2 - 48*cw**2*MT**4*MZ**2 - 24*MT**2*MW**2*MZ**2 + 9*cw**2*MT**2*MZ**4 + 6*MW**2*MZ**4 + 160*MT**4*MW**2*sw**2 - 16*MW**2*MZ**4*sw**2 - 128*MT**4*MW**2*sw**4 - 64*MT**2*MW**2*MZ**2*sw**4 + 32*MW**2*MZ**4*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(MT - MW)*(MT + MW)*(2*MT**2 + MW**2)*reglog((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(32.*MT**4*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(-2*MT**2 + MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(MH**2 - 2*MT**2)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_L.value[0]}, |
4813 | + value = {-1:'recms(CMSParam==1.0 and WT != 0,-(ee**2*(MW**2*(3 - 4*sw**2)**2 + 3*cw**2*(3*MT**2 + 2*MW**2*(3 + 8*sw**2))))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_L.value[-1], |
4814 | + 0:'recms(CMSParam==1.0 and WT != 0,(ee**2*(-27*cw**2*MH**2*MT**2 + 72*cw**2*MT**4 + 18*MT**2*MW**2 - 36*cw**2*MT**2*MW**2 - 36*cw**2*MW**4 - 27*cw**2*MT**2*MZ**2 - 18*MW**2*MZ**2 + 144*MT**2*MW**2*sw**2 - 128*cw**2*MT**2*MW**2*sw**2 + 48*MW**2*MZ**2*sw**2 - 128*MT**2*MW**2*sw**4 - 96*MW**2*MZ**2*sw**4 - 64*cw**2*MT**2*MW**2*sw**2*reglog(16) + 18*cw**2*MT**4*reglog(1/(4.*cmath.pi)) + 18*MT**2*MW**2*reglog(1/(4.*cmath.pi)) - 48*MT**2*MW**2*sw**2*reglog(1/(4.*cmath.pi)) + 32*MT**2*MW**2*sw**4*reglog(1/(4.*cmath.pi)) - 160*cw**2*MT**2*MW**2*sw**2*reglog(cmath.pi) + 64*cw**2*MT**2*MW**2*sw**2*reglog(2*cmath.pi) + 18*cw**2*MT**4*reglog(4*cmath.pi) + 18*MT**2*MW**2*reglog(4*cmath.pi) - 48*MT**2*MW**2*sw**2*reglog(4*cmath.pi) + 96*cw**2*MT**2*MW**2*sw**2*reglog(4*cmath.pi) + 32*MT**2*MW**2*sw**4*reglog(4*cmath.pi)))/(1152.*cw**2*MT**2*MW**2*cmath.pi**2*sw**2) + (ee**2*(3*MH**2 - 4*MT**2)*reglog(MU_R**2/MH**2))/(128.*MW**2*cmath.pi**2*sw**2) - (ee**2*(24*cw**2*MT**4 + 6*MT**2*MW**2 - 9*cw**2*MT**2*MZ**2 - 3*MW**2*MZ**2 + 16*MT**2*MW**2*sw**2 + 64*cw**2*MT**2*MW**2*sw**2 + 8*MW**2*MZ**2*sw**2 - 16*cw**2*MW**2*MZ**2*sw**2 - 16*MW**2*MZ**2*sw**4)*reglog(MU_R**2/MT**2))/(192.*cw**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*reglog(MU_R**2/MW**2))/(32.*cmath.pi**2*sw**2) + (ee**2*(-72*MT**4*MW**2 + 72*cw**2*MT**4*MZ**2 + 72*MT**2*MW**2*MZ**2 - 27*cw**2*MT**2*MZ**4 - 18*MW**2*MZ**4 - 192*MT**4*MW**2*sw**2 + 48*MW**2*MZ**4*sw**2 + 256*MT**4*MW**2*sw**4 + 128*MT**2*MW**2*MZ**2*sw**4 - 96*MW**2*MZ**4*sw**4)*reglog(MU_R**2/MZ**2))/(1152.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-36*cw**2*MH**2*MT**4 + 72*cw**2*MT**6 + 12*MT**4*MW**2 + 9*cw**2*MH**2*MT**2*MZ**2 - 48*cw**2*MT**4*MZ**2 - 24*MT**2*MW**2*MZ**2 + 9*cw**2*MT**2*MZ**4 + 6*MW**2*MZ**4 + 160*MT**4*MW**2*sw**2 - 16*MW**2*MZ**4*sw**2 - 128*MT**4*MW**2*sw**4 - 64*MT**2*MW**2*MZ**2*sw**4 + 32*MW**2*MZ**4*sw**4)*reglog((MT**2 + vep*complex(0,-1))/MU_R**2))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(MT - MW)*(MT + MW)*(2*MT**2 + MW**2)*reglogm((-MT**2 + MW**2 + vep*complex(0,-1))/MW**2))/(32.*MT**4*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2.*MT**2)))/(384.*cw**2*MT**2*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) - (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(2*MT**2 - MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(2*MT**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (ee**2*(-12*MT**4*MW**2 + 30*cw**2*MT**4*MZ**2 + 24*MT**2*MW**2*MZ**2 - 9*cw**2*MT**2*MZ**4 - 6*MW**2*MZ**4 - 160*MT**4*MW**2*sw**2 + 16*MW**2*MZ**4*sw**2 + 128*MT**4*MW**2*sw**4 + 64*MT**2*MW**2*MZ**2*sw**4 - 32*MW**2*MZ**4*sw**4)*(-2*MT**2 + MZ**2 + cmath.sqrt(-4*MT**2*MZ**2 + MZ**4 + MT**2*vep*complex(0,4)))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))/(-2*MT**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MT**2*(MZ**2 + vep*complex(0,-1))))))/(768.*cw**2*MT**4*MW**2*(2*MT - MZ)*(2*MT + MZ)*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MT**2*(MH**2 + vep*complex(0,-1))))/(2.*MT**2)))/(128.*MW**2*cmath.pi**2*sw**2) - (3*ee**2*(MH**2 - 2*MT**2)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((MH**2 - 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2) + (3*ee**2*(MH**2 - 2*MT**2)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MT**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MT**2 + MT**2*vep*complex(0,4)))))/(256.*MT**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_tWcft_UV_EW_L.value[0]}, |
4815 | texname = '\delta ZL_t^{EW}') |
4816 | |
4817 | |
4818 | cWcft_UV_EW_L = CTParameter(name = 'cWcft_UV_EW_L', |
4819 | type = 'complex', |
4820 | - value = {-1:'re(-(ee**2*(18*cw**2 + (3 - 4*sw**2)**2))/(576.*cw**2*cmath.pi**2*sw**2))', |
4821 | - 0:'re(-(ee**2*(-9 - 18*cw**2 + 24*sw**2 - 16*sw**4 + 36*cw**2*reglog(MU_R**2/MW**2) + 2*(3 - 4*sw**2)**2*reglog(MU_R**2/MZ**2)))/(1152.*cw**2*cmath.pi**2*sw**2))'}, |
4822 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(18*cw**2 + (3 - 4*sw**2)**2))/(576.*cw**2*cmath.pi**2*sw**2))', |
4823 | + 0:'recms(CMSParam==1.0,-(ee**2*(-9 - 18*cw**2 + 24*sw**2 - 16*sw**4 + 36*cw**2*reglog(MU_R**2/MW**2) + 2*(3 - 4*sw**2)**2*reglog(MU_R**2/MZ**2)))/(1152.*cw**2*cmath.pi**2*sw**2))'}, |
4824 | texname = '\delta ZL_c^{EW}') |
4825 | |
4826 | |
4827 | uWcft_UV_EW_L = CTParameter(name = 'uWcft_UV_EW_L', |
4828 | type = 'complex', |
4829 | - value = {-1:'re(-(ee**2*(18*cw**2 + (3 - 4*sw**2)**2))/(576.*cw**2*cmath.pi**2*sw**2))', |
4830 | - 0:'re(-(ee**2*(-9 - 18*cw**2 + 24*sw**2 - 16*sw**4 + 36*cw**2*reglog(MU_R**2/MW**2) + 2*(3 - 4*sw**2)**2*reglog(MU_R**2/MZ**2)))/(1152.*cw**2*cmath.pi**2*sw**2))'}, |
4831 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(18*cw**2 + (3 - 4*sw**2)**2))/(576.*cw**2*cmath.pi**2*sw**2))', |
4832 | + 0:'recms(CMSParam==1.0,-(ee**2*(-9 - 18*cw**2 + 24*sw**2 - 16*sw**4 + 36*cw**2*reglog(MU_R**2/MW**2) + 2*(3 - 4*sw**2)**2*reglog(MU_R**2/MZ**2)))/(1152.*cw**2*cmath.pi**2*sw**2))'}, |
4833 | texname = '\delta ZL_u^{EW}') |
4834 | |
4835 | |
4836 | |
4837 | bWcft_UV_EW_L = CTParameter(name = 'bWcft_UV_EW_L', |
4838 | type = 'complex', |
4839 | - value = {-1:'re(-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM33*complexconjugate(CKM33)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_bWcft_UV_EW_L.value[-1], |
4840 | - 0:'re(-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM33*complexconjugate(CKM33) + 27*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM33*complexconjugate(CKM33)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM33*complexconjugate(CKM33) - MT**2*MW**2*CKM33*complexconjugate(CKM33))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'+'+'+dMB_bWcft_UV_EW_L.value[0]}, |
4841 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM33*complexconjugate(CKM33)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_bWcft_UV_EW_L.value[-1], |
4842 | + 0:'recms(CMSParam==1.0,-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM33*complexconjugate(CKM33) + 27*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM33*complexconjugate(CKM33)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM33*complexconjugate(CKM33)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM33*complexconjugate(CKM33)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM33*complexconjugate(CKM33) - MT**2*MW**2*CKM33*complexconjugate(CKM33))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'+'+'+dMB_bWcft_UV_EW_L.value[0]}, |
4843 | texname = '\delta ZL_b^{EW}') |
4844 | |
4845 | |
4846 | sWcft_UV_EW_L = CTParameter(name = 'sWcft_UV_EW_L', |
4847 | type = 'complex', |
4848 | - value = {-1:'re(-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM32*complexconjugate(CKM32)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4849 | - 0:'re(-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM32*complexconjugate(CKM32) + 27*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM32*complexconjugate(CKM32)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM32*complexconjugate(CKM32) - MT**2*MW**2*CKM32*complexconjugate(CKM32))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'}, |
4850 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM32*complexconjugate(CKM32)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4851 | + 0:'recms(CMSParam==1.0,-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM32*complexconjugate(CKM32) + 27*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM32*complexconjugate(CKM32)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM32*complexconjugate(CKM32)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM32*complexconjugate(CKM32)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM32*complexconjugate(CKM32) - MT**2*MW**2*CKM32*complexconjugate(CKM32))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'}, |
4852 | texname = '\delta ZL_s^{EW}') |
4853 | |
4854 | |
4855 | dWcft_UV_EW_L = CTParameter(name = 'dWcft_UV_EW_L', |
4856 | type = 'complex', |
4857 | - value = {-1:'re(-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM31*complexconjugate(CKM31)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4858 | - 0:'re(-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM31*complexconjugate(CKM31) + 27*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM31*complexconjugate(CKM31)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM31*complexconjugate(CKM31) - MT**2*MW**2*CKM31*complexconjugate(CKM31))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'}, |
4859 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(MW**2*(18*cw**2 + (3 - 2*sw**2)**2) + 9*cw**2*MT**2*CKM31*complexconjugate(CKM31)))/(576.*cw**2*MW**2*cmath.pi**2*sw**2))', |
4860 | + 0:'recms(CMSParam==1.0,-(ee**2*(-9*MT**2*MW**2 - 18*cw**2*MT**2*MW**2 + 9*MW**4 + 18*cw**2*MW**4 + 12*MT**2*MW**2*sw**2 - 12*MW**4*sw**2 - 4*MT**2*MW**2*sw**4 + 4*MW**4*sw**4 + 27*cw**2*MT**4*CKM31*complexconjugate(CKM31) + 27*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31) + 9*MT**2*MW**2*reglog(16) + 18*cw**2*MT**2*MW**2*reglog(16) - 9*MW**4*reglog(16) - 18*cw**2*MW**4*reglog(16) - 12*MT**2*MW**2*sw**2*reglog(16) + 12*MW**4*sw**2*reglog(16) + 4*MT**2*MW**2*sw**4*reglog(16) - 4*MW**4*sw**4*reglog(16) + 9*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(16) - 9*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(16) + 18*MT**2*MW**2*reglog(cmath.pi) + 36*cw**2*MT**2*MW**2*reglog(cmath.pi) - 18*MW**4*reglog(cmath.pi) - 36*cw**2*MW**4*reglog(cmath.pi) - 24*MT**2*MW**2*sw**2*reglog(cmath.pi) + 24*MW**4*sw**2*reglog(cmath.pi) + 8*MT**2*MW**2*sw**4*reglog(cmath.pi) - 8*MW**4*sw**4*reglog(cmath.pi) + 18*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(cmath.pi) - 18*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(cmath.pi) - 18*MT**2*MW**2*reglog(4*cmath.pi) - 36*cw**2*MT**2*MW**2*reglog(4*cmath.pi) + 18*MW**4*reglog(4*cmath.pi) + 36*cw**2*MW**4*reglog(4*cmath.pi) + 24*MT**2*MW**2*sw**2*reglog(4*cmath.pi) - 24*MW**4*sw**2*reglog(4*cmath.pi) - 8*MT**2*MW**2*sw**4*reglog(4*cmath.pi) + 8*MW**4*sw**4*reglog(4*cmath.pi) - 18*cw**2*MT**4*CKM31*complexconjugate(CKM31)*reglog(4*cmath.pi) + 18*cw**2*MT**2*MW**2*CKM31*complexconjugate(CKM31)*reglog(4*cmath.pi)))/(1152.*cw**2*(MT - MW)*MW**2*(MT + MW)*cmath.pi**2*sw**2) - (ee**2*MT**4*(MT**2 + 2*MW**2)*CKM31*complexconjugate(CKM31)*reglog(MU_R**2/MT**2))/(64.*(MT - MW)**2*MW**2*(MT + MW)**2*cmath.pi**2*sw**2) + (ee**2*(-2*MT**4 + 4*MT**2*MW**2 - 2*MW**4 + 4*MT**4*CKM31*complexconjugate(CKM31) - MT**2*MW**2*CKM31*complexconjugate(CKM31))*reglog(MU_R**2/MW**2))/(64.*(MT - MW)**2*(MT + MW)**2*cmath.pi**2*sw**2) - (ee**2*(-3 + 2*sw**2)**2*reglog(MU_R**2/MZ**2))/(576.*cw**2*cmath.pi**2*sw**2))'}, |
4861 | texname = '\delta ZL_d^{EW}') |
4862 | |
4863 | |
4864 | tauWcft_UV_EW_L = CTParameter(name = 'tauWcft_UV_EW_L', |
4865 | type = 'complex', |
4866 | - value = {-1:'re(-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4867 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4868 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4869 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4870 | texname = '\delta ZL_tau^{EW}') |
4871 | |
4872 | |
4873 | muWcft_UV_EW_L = CTParameter(name = 'muWcft_UV_EW_L', |
4874 | type = 'complex', |
4875 | - value = {-1:'re(-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4876 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4877 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4878 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4879 | texname = '\delta ZL_mu^{EW}') |
4880 | |
4881 | |
4882 | eWcft_UV_EW_L = CTParameter(name = 'eWcft_UV_EW_L', |
4883 | type = 'complex', |
4884 | - value = {-1:'re(-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4885 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4886 | + value = {-1:'recms(CMSParam==1.0,-(ee**2*(2*cw**2 + (1 - 2*sw**2)**2))/(64.*cw**2*cmath.pi**2*sw**2))', |
4887 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*sw**2 - 4*sw**4 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*(1 - 2*sw**2)**2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4888 | texname = '\delta ZL_e^{EW}') |
4889 | |
4890 | |
4891 | vtWcft_UV_EW_L = CTParameter(name = 'vtWcft_UV_EW_L', |
4892 | type = 'complex', |
4893 | - value = {-1:'re(-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4894 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4895 | + value = {-1:'recms(CMSParam==1.0,-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4896 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4897 | texname = '\delta ZL_vt^{EW}') |
4898 | |
4899 | |
4900 | vmWcft_UV_EW_L = CTParameter(name = 'vmWcft_UV_EW_L', |
4901 | type = 'complex', |
4902 | - value = {-1:'re(-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4903 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4904 | + value = {-1:'recms(CMSParam==1.0,-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4905 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4906 | texname = '\delta ZL_vm^{EW}') |
4907 | |
4908 | |
4909 | veWcft_UV_EW_L = CTParameter(name = 'veWcft_UV_EW_L', |
4910 | type = 'complex', |
4911 | - value = {-1:'re(-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4912 | - 0:'re(-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4913 | + value = {-1:'recms(CMSParam==1.0,-((1 + 2*cw**2)*ee**2)/(64.*cw**2*cmath.pi**2*sw**2))', |
4914 | + 0:'recms(CMSParam==1.0,-(ee**2*(-1 - 2*cw**2 + 4*cw**2*reglog(MU_R**2/MW**2) + 2*reglog(MU_R**2/MZ**2)))/(128.*cw**2*cmath.pi**2*sw**2))'}, |
4915 | texname = '\delta ZL_ve^{EW}') |
4916 | |
4917 | HWcft_UV_EW = CTParameter(name = 'HWcft_UV_EW', |
4918 | type = 'complex', |
4919 | - value = {-1:'re((ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_HWcft_UV_EW.value[-1], |
4920 | - 0:'re(-(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol)*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((4*(4*MW**4 + cw**4*(3*MH**4 + 6*MW**4 - 4*MT**4*Ncol + MH**2*(MW**2*(2 + reglog(16) + 2*reglog(cmath.pi)) + MT**2*Ncol*(-1 - reglog(4*cmath.pi)))) + cw**2*MW**2*(-MZ**2 + MH**2*(1 + reglog(4*cmath.pi)))))/(cw**4*MH**2*MW**2) - (6*MH**2*reglog(MU_R**2/MH**2))/MW**2 + (8*MT**4*Ncol*reglog(MU_R**2/MT**2))/(MH**2*MW**2) + (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(MU_R**2/MW**2))/(MH**4 - 4*MH**2*MW**2) + (2*MZ**2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog(MU_R**2/MZ**2))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) - (2*(16*MW**4*(-MH**2 + 4*MW**2)*MZ**2 + 2*cw**2*MW**2*(MH**2 - 4*MW**2)*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4) + cw**4*(3*MH**8 - MH**6*(10*MW**2 + 13*MZ**2 + 2*MT**2*Ncol) + 32*MW**2*MZ**2*(3*MW**4 - 2*MT**4*Ncol) - 8*MH**2*(3*MW**6 - 4*MW**4*MZ**2 - 2*MT**4*MZ**2*Ncol - 2*MT**2*MW**2*(MT**2 - 2*MZ**2)*Ncol) + MH**4*(-8*MW**4 - 4*MT**2*(MT**2 - 2*MZ**2)*Ncol + MW**2*(44*MZ**2 + 8*MT**2*Ncol))))*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/(cw**4*MH**2*(MH - 2*MW)*MW**2*(MH + 2*MW)*(MH - 2*MZ)*(MH + 2*MZ)) + (4*MT**2*(MH**2 + 2*MT**2)*Ncol*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**2*MW**2) + (4*MT**2*(MH**2 + 2*MT**2)*Ncol*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**2*MW**2) - (2*MT**2*(MH**2 + 2*MT**2)*Ncol*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**4*MW**2) - (2*MT**2*(MH**2 + 2*MT**2)*Ncol*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**4*MW**2) - (4*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**4 - 4*MH**2*MW**2) - (4*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**4 - 4*MH**2*MW**2) + (2*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**6 - 4*MH**4*MW**2) + (2*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**6 - 4*MH**4*MW**2) + (2*(cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) + (2*(cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) - ((cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**4*MW**2*(MH**2 - 4*MZ**2)) + ((cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**4*MW**2*(MH**2 - 4*MZ**2)) + (3*(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (3*(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (6*MH**2*reglog(-0.5 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2 - (6*MH**2*reglog(-0.5 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2))/(128.*cmath.pi**2*sw**2))'+'+'+dMB_HWcft_UV_EW.value[0]}, |
4921 | + value = {-1:'recms(CMSParam==1.0 and WH != 0,(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_HWcft_UV_EW.value[-1], |
4922 | + 0:'recms(CMSParam==1.0 and WH != 0,-(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol)*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((4*(4*MW**4 + cw**4*(3*MH**4 + 6*MW**4 - 4*MT**4*Ncol + MH**2*(MW**2*(2 + reglog(16) + 2*reglog(cmath.pi)) + MT**2*Ncol*(-1 - reglog(4*cmath.pi)))) + cw**2*MW**2*(-MZ**2 + MH**2*(1 + reglog(4*cmath.pi)))))/(cw**4*MH**2*MW**2) - (6*MH**2*reglog(MU_R**2/MH**2))/MW**2 + (8*MT**4*Ncol*reglog(MU_R**2/MT**2))/(MH**2*MW**2) + (4*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(MU_R**2/MW**2))/(MH**4 - 4*MH**2*MW**2) + (2*MZ**2*(cw**4*MH**4 + 16*MW**4 - 4*cw**2*MW**2*(MH**2 + MZ**2))*reglog(MU_R**2/MZ**2))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) - (2*(16*MW**4*(-MH**2 + 4*MW**2)*MZ**2 + 2*cw**2*MW**2*(MH**2 - 4*MW**2)*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4) + cw**4*(3*MH**8 - MH**6*(10*MW**2 + 13*MZ**2 + 2*MT**2*Ncol) + 32*MW**2*MZ**2*(3*MW**4 - 2*MT**4*Ncol) - 8*MH**2*(3*MW**6 - 4*MW**4*MZ**2 - 2*MT**4*MZ**2*Ncol - 2*MT**2*MW**2*(MT**2 - 2*MZ**2)*Ncol) + MH**4*(-8*MW**4 - 4*MT**2*(MT**2 - 2*MZ**2)*Ncol + MW**2*(44*MZ**2 + 8*MT**2*Ncol))))*reglog((MH**2 + vep*complex(0,-1))/MU_R**2))/(cw**4*MH**2*(MH - 2*MW)*MW**2*(MH + 2*MW)*(MH - 2*MZ)*(MH + 2*MZ)) + (4*MT**2*(MH**2 + 2*MT**2)*Ncol*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**2*MW**2) + (4*MT**2*(MH**2 + 2*MT**2)*Ncol*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**2*MW**2) - (2*MT**2*(MH**2 + 2*MT**2)*Ncol*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**4*MW**2) - (2*MT**2*(MH**2 + 2*MT**2)*Ncol*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MT**2 + vep*complex(0,4))))))/(MH**4*MW**2) - (4*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**4 - 4*MH**2*MW**2) - (4*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(2.*MH**2)))/(MH**4 - 4*MH**2*MW**2) + (2*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**6 - 4*MH**4*MW**2) + (2*(MH**2 - 6*MW**2)*(MH**2 + 2*MW**2)*(MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MW**2 + vep*complex(0,4))))))/(MH**6 - 4*MH**4*MW**2) + (2*(cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*reglog((-MH**2 - cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) + (2*(cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(2.*MH**2)))/(cw**4*MH**2*MW**2*(MH**2 - 4*MZ**2)) - ((cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**4*MW**2*(MH**2 - 4*MZ**2)) + ((cw**4*MH**4*MZ**2 + 16*MW**4*MZ**2 - 2*cw**2*MW**2*(MH**4 - 2*MH**2*MZ**2 + 2*MZ**4))*(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))*reglog((MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))/(-MH**2 + cmath.sqrt(MH**2*(MH**2 - 4*MZ**2 + vep*complex(0,4))))))/(cw**4*MH**4*MW**2*(MH**2 - 4*MZ**2)) + (3*(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (3*(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))*reglog((MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4)))))/MW**2 - (6*MH**2*reglog(-0.5 - cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2 - (6*MH**2*reglog(-0.5 + cmath.sqrt(-3*MH**4 + MH**2*vep*complex(0,4))/(2.*MH**2)))/MW**2))/(128.*cmath.pi**2*sw**2))'+'+'+dMB_HWcft_UV_EW.value[0]}, |
4923 | texname = '\delta Z_{H}^{EW}') |
4924 | |
4925 | G0Wcft_UV_EW = CTParameter(name = 'G0Wcft_UV_EW', |
4926 | type = 'complex', |
4927 | - value = {-1:'re((ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_G0Wcft_UV_EW.value[-1], |
4928 | - 0:'re(-(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol)*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*(MW**2*(-2*MH**2 + MZ**2*(3 + reglog(16) + 2*reglog(cmath.pi))) + cw**2*(MH**4 + MZ**2*(MT**2*Ncol*(-2 - reglog(16) - 2*reglog(cmath.pi)) + MW**2*(4 + reglog(256) + 4*reglog(cmath.pi))))))/(cw**2*MW**2*MZ**2) - (2*(MH**2 - 2*MZ**2)*(cw**2*MH**4 - MW**2*(2*MH**2 + MZ**2))*reglog(MU_R**2/MH**2))/(cw**2*MW**2*MZ**2*(MH**2 - 4*MZ**2)) - (8*MT**4*Ncol*reglog(MU_R**2/MT**2))/(MW**2*(4*MT**2 - MZ**2)) + (16*MW**2*reglog(MU_R**2/MW**2))/(4*MW**2 - MZ**2) + (2*(cw**2*MH**4 - MW**2*(2*MH**2 + MZ**2))*reglog(MU_R**2/MZ**2))/(cw**2*MW**2*(MH**2 - 4*MZ**2)) - (2*(MW**2*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2)*(2*MH**4 - 7*MH**2*MZ**2 + 5*MZ**4) + cw**2*(-(MH**6*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2)) - 3*MH**4*MZ**2*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) - 2*MH**2*MZ**2*(4*MW**4*MZ**2 - 2*MW**2*MZ**4 + MT**4*(8*MW**2*Ncol - 2*MZ**2*Ncol) + MT**2*(-16*MW**4 - 4*MW**2*MZ**2*(-2 + Ncol) + MZ**4*Ncol)) + 8*MZ**4*(4*MW**4*MZ**2 - 2*MW**2*MZ**4 + MT**4*(8*MW**2*Ncol - 2*MZ**2*Ncol) + MT**2*(-16*MW**4 - 4*MW**2*MZ**2*(-2 + Ncol) + MZ**4*Ncol))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2*(2*MW - MZ)*MZ**2*(-2*MT + MZ)*(2*MT + MZ)*(2*MW + MZ)*(-MH + 2*MZ)*(MH + 2*MZ)) + (2*(cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(cw**2*MW**2*MZ**2*(-MH**2 + 4*MZ**2)) + (2*(cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(cw**2*MW**2*MZ**2*(-MH**2 + 4*MZ**2)) + (4*MT**2*(2*MT**2 - MZ**2)*Ncol*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(MW**2*(4*MT**2 - MZ**2)) + (4*MT**2*(2*MT**2 - MZ**2)*Ncol*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(MW**2*(4*MT**2 - MZ**2)) + (2*MT**2*(2*MT**2 - MZ**2)*Ncol*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(MW**2*MZ**2*(-4*MT**2 + MZ**2)) + (2*MT**2*(2*MT**2 - MZ**2)*Ncol*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(MW**2*MZ**2*(-4*MT**2 + MZ**2)) - (8*(2*MW**2 - MZ**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2 - MZ**2) - (8*(2*MW**2 - MZ**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2 - MZ**2) + (4*(-2*MW**2 + MZ**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(-4*MW**2*MZ**2 + MZ**4) + (4*(-2*MW**2 + MZ**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(-4*MW**2*MZ**2 + MZ**4) + ((cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(cw**2*MW**2*MZ**4*(MH**2 - 4*MZ**2)) - ((cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(cw**2*MW**2*MZ**4*(MH**2 - 4*MZ**2))))/(128.*cmath.pi**2*sw**2))'+'+'+dMB_G0Wcft_UV_EW.value[0]}, |
4929 | + value = {-1:'recms(CMSParam==1.0 and WZ != 0,(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_G0Wcft_UV_EW.value[-1], |
4930 | + 0:'recms(CMSParam==1.0 and WZ != 0,-(ee**2*((1 + 2*cw**2)*MW**2 - cw**2*MT**2*Ncol)*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*(MW**2*(-2*MH**2 + MZ**2*(3 + reglog(16) + 2*reglog(cmath.pi))) + cw**2*(MH**4 + MZ**2*(MT**2*Ncol*(-2 - reglog(16) - 2*reglog(cmath.pi)) + MW**2*(4 + reglog(256) + 4*reglog(cmath.pi))))))/(cw**2*MW**2*MZ**2) - (2*(MH**2 - 2*MZ**2)*(cw**2*MH**4 - MW**2*(2*MH**2 + MZ**2))*reglog(MU_R**2/MH**2))/(cw**2*MW**2*MZ**2*(MH**2 - 4*MZ**2)) - (8*MT**4*Ncol*reglog(MU_R**2/MT**2))/(MW**2*(4*MT**2 - MZ**2)) + (16*MW**2*reglog(MU_R**2/MW**2))/(4*MW**2 - MZ**2) + (2*(cw**2*MH**4 - MW**2*(2*MH**2 + MZ**2))*reglog(MU_R**2/MZ**2))/(cw**2*MW**2*(MH**2 - 4*MZ**2)) - (2*(MW**2*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2)*(2*MH**4 - 7*MH**2*MZ**2 + 5*MZ**4) + cw**2*(-(MH**6*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2)) - 3*MH**4*MZ**2*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) - 2*MH**2*MZ**2*(4*MW**4*MZ**2 - 2*MW**2*MZ**4 + MT**4*(8*MW**2*Ncol - 2*MZ**2*Ncol) + MT**2*(-16*MW**4 - 4*MW**2*MZ**2*(-2 + Ncol) + MZ**4*Ncol)) + 8*MZ**4*(4*MW**4*MZ**2 - 2*MW**2*MZ**4 + MT**4*(8*MW**2*Ncol - 2*MZ**2*Ncol) + MT**2*(-16*MW**4 - 4*MW**2*MZ**2*(-2 + Ncol) + MZ**4*Ncol))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2*(2*MW - MZ)*MZ**2*(-2*MT + MZ)*(2*MT + MZ)*(2*MW + MZ)*(-MH + 2*MZ)*(MH + 2*MZ)) + (2*(cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(cw**2*MW**2*MZ**2*(-MH**2 + 4*MZ**2)) + (2*(cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(cw**2*MW**2*MZ**2*(-MH**2 + 4*MZ**2)) + (4*MT**2*(2*MT**2 - MZ**2)*Ncol*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(MW**2*(4*MT**2 - MZ**2)) + (4*MT**2*(2*MT**2 - MZ**2)*Ncol*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(MW**2*(4*MT**2 - MZ**2)) + (2*MT**2*(2*MT**2 - MZ**2)*Ncol*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(MW**2*MZ**2*(-4*MT**2 + MZ**2)) + (2*MT**2*(2*MT**2 - MZ**2)*Ncol*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(MW**2*MZ**2*(-4*MT**2 + MZ**2)) - (8*(2*MW**2 - MZ**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2 - MZ**2) - (8*(2*MW**2 - MZ**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2 - MZ**2) + (4*(-2*MW**2 + MZ**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(-4*MW**2*MZ**2 + MZ**4) + (4*(-2*MW**2 + MZ**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(-4*MW**2*MZ**2 + MZ**4) + ((cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(cw**2*MW**2*MZ**4*(MH**2 - 4*MZ**2)) - ((cw**2*(MH**6 - 3*MH**4*MZ**2) + MW**2*(-2*MH**4 + 7*MH**2*MZ**2 - 5*MZ**4))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(cw**2*MW**2*MZ**4*(MH**2 - 4*MZ**2))))/(128.*cmath.pi**2*sw**2))'+'+'+dMB_G0Wcft_UV_EW.value[0]}, |
4931 | texname = '\delta Z_{G0}^{EW}') |
4932 | |
4933 | GpWcft_UV_EW = CTParameter(name = 'GpWcft_UV_EW', |
4934 | type = 'complex', |
4935 | - value = {-1:'re((ee**2*(cw**4*MW**2 + MW**2*sw**4 + cw**2*(-(MT**2*Ncol) + 2*MW**2*(1 + sw**2))))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_GpWcft_UV_EW.value[-1], |
4936 | - 0:'re(-(ee**2*(cw**4*MW**2 + MW**2*sw**4 + cw**2*(-(MT**2*Ncol) + 2*MW**2*(1 + sw**2)))*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*MW**2*(2*cw**3*MW**3*MZ - 2*cw*MW**3*MZ*sw**2 + cw**4*MW**2*(MZ**2 + MW**2*(reglog(16) + 2*reglog(cmath.pi))) + MW**2*sw**4*(MZ**2 + MW**2*(16 + reglog(16) + 2*reglog(cmath.pi))) + cw**2*(MH**4 - 2*MH**2*MW**2 - 2*MT**4*Ncol - MW**2*(2*MZ**2*(1 + sw**2) + MT**2*Ncol*(2 + reglog(16) + 2*reglog(cmath.pi))) + MW**4*(6 + reglog(256) + 4*reglog(cmath.pi) + sw**2*(12 + reglog(256) + 4*reglog(cmath.pi))))))/cw**2 - (2*MW**2*(MH**2 - 2*MW**2)*(MH**4 - 2*MH**2*MW**2 - MW**4)*reglog(MU_R**2/MH**2))/(MH**2 - 4*MW**2) - 4*MT**2*MW**4*Ncol*reglog(MU_R**2/MT**2) - (2*MW**4*(2*cw**3*MW**3*(MH**2 - 4*MW**2)*MZ + cw**4*MW**2*(-MH**2 + 4*MW**2)*(4*MW**2 - MZ**2) + 2*cw*MW**3*(-MH**2 + 4*MW**2)*MZ*sw**2 + MW**2*(MH**2 - 4*MW**2)*(12*MW**2 + MZ**2)*sw**4 + cw**2*(MH**4*(-4*MW**2 + MZ**2) + MH**2*MW**2*(MW**2*(7 - 24*sw**2) + 2*MZ**2*(-2 + 3*sw**2)) + MW**4*(MZ**2*(7 - 24*sw**2) + MW**2*(8 + 96*sw**2))))*reglog(MU_R**2/MW**2))/(cw**2*(MH - 2*MW)*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (2*MW**4*(2*MW**2 - MZ**2)*(-2*cw**3*MW*MZ + cw**4*(4*MW**2 - MZ**2) + 2*cw*MW*MZ*sw**2 - (12*MW**2 + MZ**2)*sw**4 + cw**2*(MW**2*(1 - 8*sw**2) + 2*MZ**2*(1 + sw**2)))*reglog(MU_R**2/MZ**2))/(cw**2*(4*MW**2 - MZ**2)) - 4*MT**2*(MT - MW)*(MT + MW)*(MT**2 + MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) + (2*MW**2*(-2*cw**3*MW**3*(MH**2 - 4*MW**2)*(3*MW**2*MZ - MZ**3) + cw**4*MW**2*(MH**2 - 4*MW**2)*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW**3*(MH**2 - 4*MW**2)*MZ*(3*MW**2 - MZ**2)*sw**2 + MW**2*(-MH**2 + 4*MW**2)*(44*MW**4 - 11*MW**2*MZ**2 - MZ**4)*sw**4 + cw**2*(MH**6*(-4*MW**2 + MZ**2) + 5*MH**4*(4*MW**4 - MW**2*MZ**2) - MH**2*MW**2*(2*MZ**4*(1 + sw**2) - 2*MW**2*MZ**2*(7 + 5*sw**2) + MW**4*(33 + 8*sw**2)) + MW**4*(8*MZ**4*(1 + sw**2) + 8*MW**4*(5 + 4*sw**2) - MW**2*MZ**2*(33 + 40*sw**2))))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*(MH - 2*MW)*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (2*MW**4*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*(4*MW**2 - MZ**2)) + (2*MW**4*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*(4*MW**2 - MZ**2)) - (MW**2*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*(4*MW**2 - MZ**2)) - (MW**2*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*(2*MW**2 - MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*(4*MW**2 - MZ**2)) - (2*MW**2*(-MH**6 + 5*MH**4*MW**2 - 7*MH**2*MW**4 + 5*MW**6)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(-MH**2 + 4*MW**2) - (2*MW**2*(-MH**6 + 5*MH**4*MW**2 - 7*MH**2*MW**4 + 5*MW**6)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(-MH**2 + 4*MW**2) + ((MH**6 - 5*MH**4*MW**2 + 7*MH**2*MW**4 - 5*MW**6)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MH**2 - 4*MW**2) - ((MH**6 - 5*MH**4*MW**2 + 7*MH**2*MW**4 - 5*MW**6)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MH**2 - 4*MW**2)))/(128.*MW**6*cmath.pi**2*sw**2))'+'+'+dMB_GpWcft_UV_EW.value[0]}, |
4937 | + value = {-1:'recms(CMSParam==1.0 and WW != 0,(ee**2*(cw**4*MW**2 + MW**2*sw**4 + cw**2*(-(MT**2*Ncol) + 2*MW**2*(1 + sw**2))))/(32.*cw**2*MW**2*cmath.pi**2*sw**2))'+'+'+dMB_GpWcft_UV_EW.value[-1], |
4938 | + 0:'recms(CMSParam==1.0 and WW != 0,-(ee**2*(cw**4*MW**2 + MW**2*sw**4 + cw**2*(-(MT**2*Ncol) + 2*MW**2*(1 + sw**2)))*reglog(4*cmath.pi))/(32.*cw**2*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*MW**2*(2*cw**3*MW**3*MZ - 2*cw*MW**3*MZ*sw**2 + cw**4*MW**2*(MZ**2 + MW**2*(reglog(16) + 2*reglog(cmath.pi))) + MW**2*sw**4*(MZ**2 + MW**2*(16 + reglog(16) + 2*reglog(cmath.pi))) + cw**2*(MH**4 - 2*MH**2*MW**2 - 2*MT**4*Ncol - MW**2*(2*MZ**2*(1 + sw**2) + MT**2*Ncol*(2 + reglog(16) + 2*reglog(cmath.pi))) + MW**4*(6 + reglog(256) + 4*reglog(cmath.pi) + sw**2*(12 + reglog(256) + 4*reglog(cmath.pi))))))/cw**2 - (2*MW**2*(MH**2 - 2*MW**2)*(MH**4 - 2*MH**2*MW**2 - MW**4)*reglog(MU_R**2/MH**2))/(MH**2 - 4*MW**2) - 4*MT**2*MW**4*Ncol*reglog(MU_R**2/MT**2) - (2*MW**4*(2*cw**3*MW**3*(MH**2 - 4*MW**2)*MZ + cw**4*MW**2*(-MH**2 + 4*MW**2)*(4*MW**2 - MZ**2) + 2*cw*MW**3*(-MH**2 + 4*MW**2)*MZ*sw**2 + MW**2*(MH**2 - 4*MW**2)*(12*MW**2 + MZ**2)*sw**4 + cw**2*(MH**4*(-4*MW**2 + MZ**2) + MH**2*MW**2*(MW**2*(7 - 24*sw**2) + 2*MZ**2*(-2 + 3*sw**2)) + MW**4*(MZ**2*(7 - 24*sw**2) + MW**2*(8 + 96*sw**2))))*reglog(MU_R**2/MW**2))/(cw**2*(MH - 2*MW)*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (2*MW**4*(2*MW**2 - MZ**2)*(-2*cw**3*MW*MZ + cw**4*(4*MW**2 - MZ**2) + 2*cw*MW*MZ*sw**2 - (12*MW**2 + MZ**2)*sw**4 + cw**2*(MW**2*(1 - 8*sw**2) + 2*MZ**2*(1 + sw**2)))*reglog(MU_R**2/MZ**2))/(cw**2*(4*MW**2 - MZ**2)) - 4*MT**2*(MT - MW)*(MT + MW)*(MT**2 + MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2) + (2*MW**2*(-2*cw**3*MW**3*(MH**2 - 4*MW**2)*(3*MW**2*MZ - MZ**3) + cw**4*MW**2*(MH**2 - 4*MW**2)*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW**3*(MH**2 - 4*MW**2)*MZ*(3*MW**2 - MZ**2)*sw**2 + MW**2*(-MH**2 + 4*MW**2)*(44*MW**4 - 11*MW**2*MZ**2 - MZ**4)*sw**4 + cw**2*(MH**6*(-4*MW**2 + MZ**2) + 5*MH**4*(4*MW**4 - MW**2*MZ**2) - MH**2*MW**2*(2*MZ**4*(1 + sw**2) - 2*MW**2*MZ**2*(7 + 5*sw**2) + MW**4*(33 + 8*sw**2)) + MW**4*(8*MZ**4*(1 + sw**2) + 8*MW**4*(5 + 4*sw**2) - MW**2*MZ**2*(33 + 40*sw**2))))*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*(MH - 2*MW)*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (2*MW**4*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*(4*MW**2 - MZ**2)) + (2*MW**4*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*(4*MW**2 - MZ**2)) - (MW**2*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*(4*MW**2 - MZ**2)) - (MW**2*(cw**3*(-6*MW**3*MZ + 2*MW*MZ**3) + cw**4*(4*MW**4 - 5*MW**2*MZ**2 + MZ**4) + 2*cw*MW*MZ*(3*MW**2 - MZ**2)*sw**2 + (-44*MW**4 + 11*MW**2*MZ**2 + MZ**4)*sw**4 - cw**2*(MW**2 - MZ**2)*(-2*MZ**2*(1 + sw**2) + MW**2*(5 + 8*sw**2)))*(2*MW**2 - MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*(4*MW**2 - MZ**2)) - (2*MW**2*(-MH**6 + 5*MH**4*MW**2 - 7*MH**2*MW**4 + 5*MW**6)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(-MH**2 + 4*MW**2) - (2*MW**2*(-MH**6 + 5*MH**4*MW**2 - 7*MH**2*MW**4 + 5*MW**6)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(-MH**2 + 4*MW**2) + ((MH**6 - 5*MH**4*MW**2 + 7*MH**2*MW**4 - 5*MW**6)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MH**2 - 4*MW**2) - ((MH**6 - 5*MH**4*MW**2 + 7*MH**2*MW**4 - 5*MW**6)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MH**2 - 4*MW**2)))/(128.*MW**6*cmath.pi**2*sw**2))'+'+'+dMB_GpWcft_UV_EW.value[0]}, |
4939 | texname = '\delta Z_{Gp}^{EW}') |
4940 | |
4941 | |
4942 | WWcft_UV_EW = CTParameter(name = 'WWcft_UV_EW', |
4943 | type = 'complex', |
4944 | - value = {-1:'re((ee**2*(-7 + 20*cw**2 - 6*Ncol + 8*sw**2))/(96.*cmath.pi**2*sw**2))', |
4945 | - 0:'re(-(ee**2*(-7 + 20*cw**2 - 6*Ncol + 8*sw**2)*reglog(4*cmath.pi))/(96.*cmath.pi**2*sw**2) + (ee**2*((-4*(-18*MW**4*sw**4 + 2*cw**4*(45*MW**2*MZ**2 - 12*MZ**4 + MW**4*(-23 + 30*reglog(cmath.pi) - 60*reglog(2*cmath.pi))) + cw**2*(-3*MH**4 + 9*MH**2*MW**2 - 3*MZ**4 + 6*MT**4*Ncol + 3*MW**2*(3*MZ**2 + MT**2*Ncol) + MW**4*(-1 - 64*sw**2 - 21*reglog(cmath.pi) + 24*sw**2*reglog(cmath.pi) + 6*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi)) + 42*reglog(2*cmath.pi) - 48*sw**2*reglog(2*cmath.pi)))))/(cw**2*MW**4) - (6*(2*MH**6 - 11*MH**4*MW**2 + 24*MH**2*MW**4 - 24*MW**6)*reglog(MU_R**2/MH**2))/(MW**4*(MH**2 - 4*MW**2)) - 24*Ncol*reglog(MU_R**2/MT**2) + (12*(2*cw**4*(MH**2 - 4*MW**2)*(7*MW**4 + 21*MW**2*MZ**2 - 4*MZ**4) + 6*MW**4*(-MH**2 + 4*MW**2)*sw**4 + cw**2*(4*MW**2 - MZ**2)*(MH**4 - 4*MW**2*MZ**2 + MW**4*(10 - 32*sw**2) + MH**2*(MZ**2 + MW**2*(-5 + 8*sw**2))))*reglog(MU_R**2/MW**2))/(cw**2*(MH - 2*MW)*MW**2*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (6*(cw**2*(12*MW**4*MZ**2 - 11*MW**2*MZ**4 + 2*MZ**6) + 4*cw**4*(30*MW**6 + 15*MW**4*MZ**2 - 25*MW**2*MZ**4 + 4*MZ**6) + 12*MW**4*(-2*MW**2 + MZ**2)*sw**4)*reglog(MU_R**2/MZ**2))/(cw**2*MW**4*(4*MW**2 - MZ**2)) + (24*(-MT + MW)*(MT + MW)*(MT**2 - MT*MW + MW**2)*(MT**2 + MT*MW + MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**6 - (6*(4*cw**4*(MH**2 - 4*MW**2)*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(4*MW**2 - MZ**2)*(2*MH**6 - 13*MH**4*MW**2 - 4*MW**2*(9*MW**4 - 5*MW**2*MZ**2 + 2*MZ**4) + MH**2*(32*MW**4 - 5*MW**2*MZ**2 + 2*MZ**4)) + 12*MW**4*(MH**2 - 4*MW**2)*(3*MW**2 - MZ**2)*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*(MH - 2*MW)*MW**4*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) - (6*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**4*(4*MW**2 - MZ**2)) - (6*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**4*(4*MW**2 - MZ**2)) + (3*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**6*(4*MW**2 - MZ**2)) - (3*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**6*(4*MW**2 - MZ**2)) - (6*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(MW**4*(MH**2 - 4*MW**2)) - (6*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(MW**4*(MH**2 - 4*MW**2)) - 24*(3 + 2*Ncol)*reglog(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MW**6*(MH**2 - 4*MW**2)) - (3*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MW**6*(MH**2 - 4*MW**2))))/(1152.*cmath.pi**2*sw**2))'+'+'+dMB_WWcft_UV_EW.value[0]}, |
4946 | + value = {-1:'recms(CMSParam==1.0 and WW != 0,(ee**2*(-7 + 20*cw**2 - 6*Ncol + 8*sw**2))/(96.*cmath.pi**2*sw**2))', |
4947 | + 0:'recms(CMSParam==1.0 and WW != 0, -(ee**2*(-7 + 20*cw**2 - 6*Ncol + 8*sw**2)*reglog(4*cmath.pi))/(96.*cmath.pi**2*sw**2) + (ee**2*((-4*(-18*MW**4*sw**4 + 2*cw**4*(45*MW**2*MZ**2 - 12*MZ**4 + MW**4*(-23 + 30*reglog(cmath.pi) - 60*reglog(2*cmath.pi))) + cw**2*(-3*MH**4 + 9*MH**2*MW**2 - 3*MZ**4 + 6*MT**4*Ncol + 3*MW**2*(3*MZ**2 + MT**2*Ncol) + MW**4*(-1 - 64*sw**2 - 21*reglog(cmath.pi) + 24*sw**2*reglog(cmath.pi) + 6*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi)) + 42*reglog(2*cmath.pi) - 48*sw**2*reglog(2*cmath.pi)))))/(cw**2*MW**4) - (6*(2*MH**6 - 11*MH**4*MW**2 + 24*MH**2*MW**4 - 24*MW**6)*reglog(MU_R**2/MH**2))/(MW**4*(MH**2 - 4*MW**2)) - 24*Ncol*reglog(MU_R**2/MT**2) + (12*(2*cw**4*(MH**2 - 4*MW**2)*(7*MW**4 + 21*MW**2*MZ**2 - 4*MZ**4) + 6*MW**4*(-MH**2 + 4*MW**2)*sw**4 + cw**2*(4*MW**2 - MZ**2)*(MH**4 - 4*MW**2*MZ**2 + MW**4*(10 - 32*sw**2) + MH**2*(MZ**2 + MW**2*(-5 + 8*sw**2))))*reglog(MU_R**2/MW**2))/(cw**2*(MH - 2*MW)*MW**2*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) + (6*(cw**2*(12*MW**4*MZ**2 - 11*MW**2*MZ**4 + 2*MZ**6) + 4*cw**4*(30*MW**6 + 15*MW**4*MZ**2 - 25*MW**2*MZ**4 + 4*MZ**6) + 12*MW**4*(-2*MW**2 + MZ**2)*sw**4)*reglog(MU_R**2/MZ**2))/(cw**2*MW**4*(4*MW**2 - MZ**2)) + (24*(-MT + MW)*(MT + MW)*(MT**2 - MT*MW + MW**2)*(MT**2 + MT*MW + MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**6 - (6*(4*cw**4*(MH**2 - 4*MW**2)*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(4*MW**2 - MZ**2)*(2*MH**6 - 13*MH**4*MW**2 - 4*MW**2*(9*MW**4 - 5*MW**2*MZ**2 + 2*MZ**4) + MH**2*(32*MW**4 - 5*MW**2*MZ**2 + 2*MZ**4)) + 12*MW**4*(MH**2 - 4*MW**2)*(3*MW**2 - MZ**2)*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*(MH - 2*MW)*MW**4*(MH + 2*MW)*(2*MW - MZ)*(2*MW + MZ)) - (6*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**4*(4*MW**2 - MZ**2)) - (6*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**4*(4*MW**2 - MZ**2)) + (3*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**6*(4*MW**2 - MZ**2)) - (3*(4*cw**4*(3*MW**6 - 46*MW**4*MZ**2 + 29*MW**2*MZ**4 - 4*MZ**6) + cw**2*(-20*MW**4*MZ**2 + 13*MW**2*MZ**4 - 2*MZ**6) + 12*MW**4*(3*MW**2 - MZ**2)*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**6*(4*MW**2 - MZ**2)) - (6*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(MW**4*(MH**2 - 4*MW**2)) - (6*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/(MW**4*(MH**2 - 4*MW**2)) - 24*(3 + 2*Ncol)*reglogp(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MW**6*(MH**2 - 4*MW**2)) - (3*(2*MH**6 - 13*MH**4*MW**2 + 32*MH**2*MW**4 - 36*MW**6)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/(MW**6*(MH**2 - 4*MW**2))))/(1152.*cmath.pi**2*sw**2))'+'+'+dMB_WWcft_UV_EW.value[0]}, |
4948 | texname = '\delta Z_{W}^{EW}') |
4949 | |
4950 | |
4951 | ZZWcft_UV_EW = CTParameter(name = 'ZZWcft_UV_EW', |
4952 | type = 'complex', |
4953 | - value = {-1:'re((ee**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))/(576.*cw**2*cmath.pi**2*sw**2))', |
4954 | - 0:'re(-(ee**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglog(4*cmath.pi))/(576.*cw**2*cmath.pi**2*sw**2) + (ee**2*((-2*(-108*MW**2*MZ**2 - 6*cw**4*MZ**2*sw**2*(12*MW**2 + MZ**2*(5 + reglog(64) + 3*reglog(cmath.pi))) + 9*cw**6*(60*MW**2*MZ**2 + MZ**4*(-41 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(-18*MH**4 + 54*MH**2*MZ**2 + MZ**2*(2*(-90*MW**2*sw**4 + MT**2*Ncol*(9 + 48*sw**2 - 64*sw**4)) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(2 + reglog(64) + 3*reglog(cmath.pi)) + 3*(29 - 39*reglog(cmath.pi) - 24*sw**2*(2 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(101 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**4 - (18*(12*MW**2*MZ**2*(MH**2 - 2*MZ**2) + cw**2*(2*MH**6 - 11*MH**4*MZ**2 + 12*MH**2*MZ**4))*reglog(MU_R**2/MH**2))/(MZ**4*(MH**2 - 4*MZ**2)) - (8*cw**2*MT**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog(MU_R**2/MT**2))/(4*MT**2*MZ**2 - MZ**4) + (36*cw**2*MW**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog(MU_R**2/MW**2))/(4*MW**2*MZ**2 - MZ**4) + (18*(12*MW**2*MZ**2 + cw**2*(2*MH**4 - 9*MH**2*MZ**2 + 4*MZ**4))*reglog(MU_R**2/MZ**2))/(MZ**2*(MH**2 - 4*MZ**2)) + (2*(-108*MW**2*MZ**2*(MH**2 - 3*MZ**2)*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) + 27*cw**6*MZ**2*(-4*MT**2 + MZ**2)*(-MH**2 + 4*MZ**2)*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 18*cw**4*MZ**2*(MH**2 - 4*MZ**2)*(-4*MT**2 + MZ**2)*(-8*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**2 - cw**2*(MH**2 - 4*MZ**2)*(-18*MH**4*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2) - 45*MH**2*MZ**2*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) + MZ**2*(-360*MW**4*MZ**2*sw**4 + 4*MT**4*(4*MW**2 - MZ**2)*Ncol*(-9 - 48*sw**2 + 64*sw**4) - MZ**6*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)) + 2*MW**2*MZ**4*(9*sw**4 + 4*Ncol*(9 - 24*sw**2 + 32*sw**4)) + 4*MT**2*(360*MW**4*sw**4 + MZ**4*(9*sw**4 + Ncol*(9 - 24*sw**2 + 32*sw**4)) - 2*MW**2*MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4))))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/((MH - 2*MZ)*MZ**4*(-2*MT + MZ)*(2*MT + MZ)*(-2*MW + MZ)*(2*MW + MZ)*(MH + 2*MZ)) - (18*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(MZ**4*(MH**2 - 4*MZ**2)) - (18*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(MZ**4*(MH**2 - 4*MZ**2)) - 4*cw**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (4*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MT**2*MZ**2 - MZ**4) - (4*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MT**2*MZ**2 - MZ**4) + (2*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(4*MT**2*MZ**4 - MZ**6) + (2*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(4*MT**2*MZ**4 - MZ**6) + (18*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2*MZ**2 - MZ**4) + (18*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2*MZ**2 - MZ**4) - (9*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(4*MW**2*MZ**4 - MZ**6) + (9*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(4*MW**2*MZ**4 - MZ**6) + (9*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(MZ**6*(MH**2 - 4*MZ**2)) - (9*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(MZ**6*(MH**2 - 4*MZ**2))))/(3456.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZZWcft_UV_EW.value[0]}, |
4955 | + value = {-1:'recms(CMSParam==1.0 and WZ != 0, (ee**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))/(576.*cw**2*cmath.pi**2*sw**2))', |
4956 | + 0:'recms(CMSParam==1.0 and WZ != 0,-(ee**2*(-39 + 117*cw**4 + 72*sw**2 + 6*cw**2*sw**2 - 147*sw**4 - 4*Ncol*(9 - 18*sw**2 + 20*sw**4))*reglog(4*cmath.pi))/(576.*cw**2*cmath.pi**2*sw**2) + (ee**2*((-2*(-108*MW**2*MZ**2 - 6*cw**4*MZ**2*sw**2*(12*MW**2 + MZ**2*(5 + reglog(64) + 3*reglog(cmath.pi))) + 9*cw**6*(60*MW**2*MZ**2 + MZ**4*(-41 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(-18*MH**4 + 54*MH**2*MZ**2 + MZ**2*(2*(-90*MW**2*sw**4 + MT**2*Ncol*(9 + 48*sw**2 - 64*sw**4)) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(2 + reglog(64) + 3*reglog(cmath.pi)) + 3*(29 - 39*reglog(cmath.pi) - 24*sw**2*(2 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(101 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**4 - (18*(12*MW**2*MZ**2*(MH**2 - 2*MZ**2) + cw**2*(2*MH**6 - 11*MH**4*MZ**2 + 12*MH**2*MZ**4))*reglog(MU_R**2/MH**2))/(MZ**4*(MH**2 - 4*MZ**2)) - (8*cw**2*MT**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog(MU_R**2/MT**2))/(4*MT**2*MZ**2 - MZ**4) + (36*cw**2*MW**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog(MU_R**2/MW**2))/(4*MW**2*MZ**2 - MZ**4) + (18*(12*MW**2*MZ**2 + cw**2*(2*MH**4 - 9*MH**2*MZ**2 + 4*MZ**4))*reglog(MU_R**2/MZ**2))/(MZ**2*(MH**2 - 4*MZ**2)) + (2*(-108*MW**2*MZ**2*(MH**2 - 3*MZ**2)*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) + 27*cw**6*MZ**2*(-4*MT**2 + MZ**2)*(-MH**2 + 4*MZ**2)*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 18*cw**4*MZ**2*(MH**2 - 4*MZ**2)*(-4*MT**2 + MZ**2)*(-8*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**2 - cw**2*(MH**2 - 4*MZ**2)*(-18*MH**4*(4*MT**2 - MZ**2)*(-4*MW**2 + MZ**2) - 45*MH**2*MZ**2*(-4*MT**2 + MZ**2)*(-4*MW**2 + MZ**2) + MZ**2*(-360*MW**4*MZ**2*sw**4 + 4*MT**4*(4*MW**2 - MZ**2)*Ncol*(-9 - 48*sw**2 + 64*sw**4) - MZ**6*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)) + 2*MW**2*MZ**4*(9*sw**4 + 4*Ncol*(9 - 24*sw**2 + 32*sw**4)) + 4*MT**2*(360*MW**4*sw**4 + MZ**4*(9*sw**4 + Ncol*(9 - 24*sw**2 + 32*sw**4)) - 2*MW**2*MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4))))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/((MH - 2*MZ)*MZ**4*(-2*MT + MZ)*(2*MT + MZ)*(-2*MW + MZ)*(2*MW + MZ)*(MH + 2*MZ)) - (18*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(MZ**4*(MH**2 - 4*MZ**2)) - (18*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/(MZ**4*(MH**2 - 4*MZ**2)) - 4*cw**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - (4*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MT**2*MZ**2 - MZ**4) - (4*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MT**2*MZ**2 - MZ**4) + (2*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(4*MT**2*MZ**4 - MZ**6) + (2*cw**2*Ncol*(-2*MT**2*MZ**2*(9 - 24*sw**2 + 32*sw**4) + MZ**4*(9 - 24*sw**2 + 32*sw**4) + 2*MT**4*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/(4*MT**2*MZ**4 - MZ**6) + (18*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2*MZ**2 - MZ**4) + (18*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/(4*MW**2*MZ**2 - MZ**4) - (9*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(4*MW**2*MZ**4 - MZ**6) + (9*cw**2*(3*cw**4*(40*MW**4 - 26*MW**2*MZ**2 + 13*MZ**4) - 2*cw**2*(8*MW**4 + 2*MW**2*MZ**2 - MZ**4)*sw**2 - (40*MW**4 - 2*MW**2*MZ**2 + MZ**4)*sw**4)*(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/(4*MW**2*MZ**4 - MZ**6) + (9*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(MZ**6*(MH**2 - 4*MZ**2)) - (9*(12*MW**2*MZ**2*(MH**2 - 3*MZ**2) + cw**2*(2*MH**6 - 13*MH**4*MZ**2 + 20*MH**2*MZ**4))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/(MZ**6*(MH**2 - 4*MZ**2))))/(3456.*cw**4*cmath.pi**2*sw**2))'+'+'+dMB_ZZWcft_UV_EW.value[0]}, |
4957 | texname = '\delta Z_{ZZ}^{EW}') |
4958 | |
4959 | |
4960 | AZWcft_UV_EW = CTParameter(name = 'AZWcft_UV_EW', |
4961 | type = 'complex', |
4962 | - value = {-1:'re(-(ee**2*(cw**2*(36*MW**2 + 57*MZ**2) + 36*MW**2*sw**2 + MZ**2*(-18 - 18*Ncol + 75*sw**2 + 40*Ncol*sw**2)))/(144.*cw*MZ**2*cmath.pi**2*sw))', |
4963 | - 0:'re((ee**2*(cw**2*(36*MW**2 + 57*MZ**2) + 36*MW**2*sw**2 + MZ**2*(-18 - 18*Ncol + 75*sw**2 + 40*Ncol*sw**2))*reglog(4*cmath.pi))/(144.*cw*MZ**2*cmath.pi**2*sw) + (ee**2*((2*(4*(-4*MT**2*Ncol*(-3 + 8*sw**2) + 9*MW**2*sw**2*(-4 - reglog(64) - 3*reglog(cmath.pi))) + MZ**2*(-2*Ncol*(-9 + 20*sw**2)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(6*(5 + reglog(64) + 3*reglog(cmath.pi)) + sw**2*(-128 + 75*reglog(cmath.pi) - 150*reglog(2*cmath.pi)))) + 3*cw**2*(12*MW**2*(-16 - reglog(64) - 3*reglog(cmath.pi)) + MZ**2*(-116 + 57*reglog(cmath.pi) - 114*reglog(2*cmath.pi)))))/MZ**2 + (16*MT**2*Ncol*(-3 + 8*sw**2)*reglog(MU_R**2/MT**2))/MZ**2 + (72*MW**2*(5*cw**2 - sw**2)*reglog(MU_R**2/MW**2))/MZ**2 + (2*(9*cw**2*(32*MW**2 + 19*MZ**2) - 12*MZ**2*Ncol + 72*MW**2*sw**2 + 9*MZ**2*sw**2 + 32*MZ**2*Ncol*sw**2 + 8*MT**2*Ncol*(-3 + 8*sw**2))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - 4*(-27 - 21*Ncol + 108*sw**2 + 44*Ncol*sw**2)*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + (8*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (8*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (4*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (4*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 + (18*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (18*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (9*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (9*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(864.*cw*cmath.pi**2*sw))'+'+'+dMB_AZWcft_UV_EW.value[0]}, |
4964 | + value = {-1:'recms(CMSParam==1.0 and WZ != 0, -(ee**2*(cw**2*(36*MW**2 + 57*MZ**2) + 36*MW**2*sw**2 + MZ**2*(-18 - 18*Ncol + 75*sw**2 + 40*Ncol*sw**2)))/(144.*cw*MZ**2*cmath.pi**2*sw))', |
4965 | + 0:'recms(CMSParam==1.0 and WZ != 0,(ee**2*(cw**2*(36*MW**2 + 57*MZ**2) + 36*MW**2*sw**2 + MZ**2*(-18 - 18*Ncol + 75*sw**2 + 40*Ncol*sw**2))*reglog(4*cmath.pi))/(144.*cw*MZ**2*cmath.pi**2*sw) + (ee**2*((2*(4*(-4*MT**2*Ncol*(-3 + 8*sw**2) + 9*MW**2*sw**2*(-4 - reglog(64) - 3*reglog(cmath.pi))) + MZ**2*(-2*Ncol*(-9 + 20*sw**2)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(6*(5 + reglog(64) + 3*reglog(cmath.pi)) + sw**2*(-128 + 75*reglog(cmath.pi) - 150*reglog(2*cmath.pi)))) + 3*cw**2*(12*MW**2*(-16 - reglog(64) - 3*reglog(cmath.pi)) + MZ**2*(-116 + 57*reglog(cmath.pi) - 114*reglog(2*cmath.pi)))))/MZ**2 + (16*MT**2*Ncol*(-3 + 8*sw**2)*reglog(MU_R**2/MT**2))/MZ**2 + (72*MW**2*(5*cw**2 - sw**2)*reglog(MU_R**2/MW**2))/MZ**2 + (2*(9*cw**2*(32*MW**2 + 19*MZ**2) - 12*MZ**2*Ncol + 72*MW**2*sw**2 + 9*MZ**2*sw**2 + 32*MZ**2*Ncol*sw**2 + 8*MT**2*Ncol*(-3 + 8*sw**2))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - 4*(-27 - 21*Ncol + 108*sw**2 + 44*Ncol*sw**2)*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + (8*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (8*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (4*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (4*(2*MT**2 + MZ**2)*Ncol*(-3 + 8*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 + (18*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 + (18*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)))/MZ**2 - (9*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**4 - (9*(cw**2*(32*MW**2 + 19*MZ**2) + (8*MW**2 + MZ**2)*sw**2)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**4))/(864.*cw*cmath.pi**2*sw))'+'+'+dMB_AZWcft_UV_EW.value[0]}, |
4966 | texname = '\delta Z_{AZ}^{EW}') |
4967 | |
4968 | ZAWcft_UV_EW = CTParameter(name = 'ZAWcft_UV_EW', |
4969 | @@ -544,21 +551,21 @@ |
4970 | eCoup_UV_EW = CTParameter(name = 'eCoup_UV_EW', |
4971 | type = 'complex', |
4972 | value = {-1:'(ee**2*(cw**2*(-36*MW**2 + MZ**2*(9 + 20*Ncol)) - 36*MW**2*sw**2))/(288.*cw**2*MZ**2*cmath.pi**2)', |
4973 | - 0:'re((ee**2*(162*MW**2*(cw**2 + sw**2)*reglog(MW**2/MU_R**2) + cw**2*MZ**2*(243 + 110*Ncol - 48*Ncol*reglog(MT/MU_R) + 243*reglog(MW/MU_R) + 162*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + 66*Ncol*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))))))/(1296.*cw**2*MZ**2*cmath.pi**2))'+'+'+dMB_eCoup_UV_EW.value[0]}, |
4974 | + 0:'recms(CMSParam==1.0,(ee**2*(162*MW**2*(cw**2 + sw**2)*reglog(MW**2/MU_R**2) + cw**2*MZ**2*(243 + 110*Ncol - 48*Ncol*reglog(MT/MU_R) + 243*reglog(MW/MU_R) + 162*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) + 66*Ncol*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))))))/(1296.*cw**2*MZ**2*cmath.pi**2))'+'+'+dMB_eCoup_UV_EW.value[0]}, |
4975 | texname = '\delta e') |
4976 | |
4977 | |
4978 | SWCoup_UV_EW = CTParameter(name = 'SWCoup_UV_EW', |
4979 | type = 'complex', |
4980 | - value = {-1:'re(-(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(1152.*cw**2*MW**2*MZ**2*cmath.pi**2*sw**3))'+'+'+dMB_SWCoup_UV_EW.value[-1], |
4981 | - 0:'re((ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(1152.*cw**2*MW**2*MZ**2*cmath.pi**2*sw**3) + (cw**2*(-(ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglog(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4 - (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4))/(3456.*cw**4*MZ**2*cmath.pi**2*sw**2)))/(2.*sw))'+'+'+dMB_SWCoup_UV_EW.value[0]}, |
4982 | + value = {-1:'recms(CMSParam==1.0 and (WW != 0 or WZ != 0),-(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(1152.*cw**2*MW**2*MZ**2*cmath.pi**2*sw**3))'+'+'+dMB_SWCoup_UV_EW.value[-1], |
4983 | + 0:'recms(CMSParam==1.0 and (WW != 0 or WZ != 0),(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(1152.*cw**2*MW**2*MZ**2*cmath.pi**2*sw**3) + (cw**2*(-(ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglogp(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*MW**2*cmath.pi**2*sw**2) + (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4 - (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4))/(3456.*cw**4*MZ**2*cmath.pi**2*sw**2)))/(2.*sw))'+'+'+dMB_SWCoup_UV_EW.value[0]}, |
4984 | texname = '\delta SW') |
4985 | |
4986 | |
4987 | CWCoup_UV_EW = CTParameter(name = 'CWCoup_UV_EW', |
4988 | type = 'complex', |
4989 | - value = {-1:'re((ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(1152.*cw**3*MW**2*MZ**2*cmath.pi**2*sw**2))'+'+'+dMB_CWCoup_UV_EW.value[-1], |
4990 | - 0:'re(-(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(1152.*cw**3*MW**2*MZ**2*cmath.pi**2*sw**2) + (cw*((ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglog(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*MW**2*cmath.pi**2*sw**2) - (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglog(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + 18*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 - (9*cw**2*(cw**4*(60*MW**2 + 39*MZ**2) + 2*cw**2*(-4*MW**2 + MZ**2)*sw**2 - (20*MW**2 + MZ**2)*sw**4)*(MZ**2 - cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))*reglog((MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))/(-MZ**2 + cmath.sqrt(MZ**2*(-4*MW**2 + MZ**2 + vep*complex(0,4))))))/MZ**2 + (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((MH**2 - 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4 - (9*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MZ**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MZ**2 + MZ**2*vep*complex(0,4)))))/MZ**4))/(3456.*cw**4*MZ**2*cmath.pi**2*sw**2)))/2.)'+'+'+dMB_CWCoup_UV_EW.value[0]}, |
4991 | + value = {-1:'recms(CMSParam==1.0 and (WW != 0 or WZ != 0),(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4)))))/(1152.*cw**3*MW**2*MZ**2*cmath.pi**2*sw**2))'+'+'+dMB_CWCoup_UV_EW.value[-1], |
4992 | + 0:'recms(CMSParam==1.0 and (WW != 0 or WZ != 0),-(ee**2*(-18*(2*cw**6*MZ**4 + cw**4*MT**2*MZ**2*Ncol) + 36*MW**4*(-1 + 2*cw**6 - 2*cw**2*sw**4) + cw**2*MW**2*(18*MT**2*Ncol - MZ**2*(39 + 147*cw**4 - 72*sw**2 + 111*sw**4 - 6*cw**2*(31 + 6*Ncol - 37*sw**2) + 4*Ncol*(9 - 18*sw**2 + 20*sw**4))))*reglog(4*cmath.pi))/(1152.*cw**3*MW**2*MZ**2*cmath.pi**2*sw**2) + (cw*((ee**2*((2*(cw**2*(3*MH**4 - 18*MH**2*MW**2 + 3*(MZ**4 - 2*MT**4*Ncol) - 6*MW**2*(3*MZ**2 + MT**2*Ncol*(2 + reglog(64) + 3*reglog(cmath.pi))) - 2*MW**4*(-83 + 178*sw**2 + 93*reglog(cmath.pi) - 114*sw**2*reglog(cmath.pi) - 6*Ncol*(5 + reglog(64) + 3*reglog(cmath.pi)) - 186*reglog(2*cmath.pi) + 228*sw**2*reglog(2*cmath.pi))) + 4*cw**4*(6*MZ**4 + MW**4*(-107 + 66*reglog(cmath.pi) - 132*reglog(2*cmath.pi)) + 9*MW**2*MZ**2*(-6 - reglog(4*cmath.pi))) + 36*MW**4*sw**4*(2 + reglog(4*cmath.pi))))/(cw**2*MW**2) - (6*MH**2*(MH**2 - 3*MW**2)*reglog(MU_R**2/MH**2))/MW**2 - 12*(3*MT**2 - 2*MW**2)*Ncol*reglog(MU_R**2/MT**2) + 6*(MH**2 + (1 + 8*cw**2)*MZ**2 + MW**2*(38 - 28*cw**2 - 76*sw**2))*reglog(MU_R**2/MW**2) - (6*(1 + 8*cw**2)*MZ**2*(-3*MW**2 + MZ**2)*reglog(MU_R**2/MZ**2))/MW**2 - (12*(MT - MW)**2*(MT + MW)**2*(MT**2 + 2*MW**2)*Ncol*reglog((MT**2 - MW**2 + vep*complex(0,-1))/MT**2))/MW**4 + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) - cw**2*(MH**4 - 4*MH**2*MW**2 + 12*MW**4 - 4*MW**2*MZ**2 + MZ**4) - 12*MW**4*sw**4)*reglog((MW**2 + vep*complex(0,-1))/MU_R**2))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 - cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) + (6*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2.*MW**2)))/(cw**2*MW**2) - (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((-MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(2*MW**2 - MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) + (3*(cw**4*(60*MW**4 + 44*MW**2*MZ**2 - 8*MZ**4) + cw**2*(4*MW**2*MZ**2 - MZ**4) - 12*MW**4*sw**4)*(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))*reglog((MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))/(-2*MW**2 + MZ**2 + cmath.sqrt(MZ**4 - 4*MW**2*(MZ**2 + vep*complex(0,-1))))))/(cw**2*MW**4) - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 - (6*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MW**2*(MH**2 + vep*complex(0,-1))))/(2.*MW**2)))/MW**2 + 24*MW**2*(3 + 2*Ncol)*reglogp(-(MU_R**2/(MW**2 + vep*complex(0,1)))) + (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((MH**2 - 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4 - (3*(MH**4 - 4*MH**2*MW**2 + 12*MW**4)*(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))*reglog((-MH**2 + 2*MW**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))/(-MH**2 + cmath.sqrt(MH**4 - 4*MH**2*MW**2 + MW**2*vep*complex(0,4)))))/MW**4))/(1152.*MW**2*cmath.pi**2*sw**2) - (ee**2*((2*(-108*MW**2*MZ**2*(-2 + reglog(1/(4.*cmath.pi))) + 6*cw**4*MZ**2*sw**2*(24*MW**2 + MZ**2*(-8 - reglog(64) - 3*reglog(cmath.pi))) + 9*cw**6*MZ**2*(24*MW**2*(-5 + reglog(1/(4.*cmath.pi))) + MZ**2*(-80 + 39*reglog(cmath.pi) - 78*reglog(2*cmath.pi))) + cw**2*(9*MH**4 - 54*MH**2*MZ**2 + MZ**2*(2*(-36*MW**2*sw**4*(-5 - reglog(64) - 3*reglog(cmath.pi)) + MT**2*Ncol*(-96*sw**2 + 128*sw**4 - 9*(2 + reglog(64) + 3*reglog(cmath.pi)))) + MZ**2*(4*Ncol*(9 - 18*sw**2 + 20*sw**4)*(5 + reglog(64) + 3*reglog(cmath.pi)) + 3*(59 - 39*reglog(cmath.pi) - 24*sw**2*(5 + reglog(64) + 3*reglog(cmath.pi)) + 78*reglog(2*cmath.pi) + sw**4*(248 - 147*reglog(cmath.pi) + 294*reglog(2*cmath.pi))))))))/MZ**2 - (18*cw**2*MH**2*(MH**2 - 3*MZ**2)*reglog(MU_R**2/MH**2))/MZ**2 - 8*cw**2*MT**2*Ncol*(9 - 24*sw**2 + 32*sw**4)*reglog(MU_R**2/MT**2) + 72*cw**2*MW**2*(9*cw**4 - 2*cw**2*sw**2 + sw**4)*reglog(MU_R**2/MW**2) + 18*cw**2*(MH**2 + MZ**2)*reglog(MU_R**2/MZ**2) + (2*(-108*MW**2*MZ**2 + 27*cw**6*(20*MW**2*MZ**2 + 13*MZ**4) + 18*cw**4*MZ**2*(-4*MW**2 + MZ**2)*sw**2 - cw**2*(9*MH**4 - 36*MH**2*MZ**2 + MZ**2*(180*MW**2*sw**4 + 2*MT**2*Ncol*(-9 - 48*sw**2 + 64*sw**4) + MZ**2*(9*sw**4 + 2*Ncol*(9 - 24*sw**2 + 32*sw**4)))))*reglog((MZ**2 + vep*complex(0,-1))/MU_R**2))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 - cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 - (18*(12*MW**2*MZ**2 + cw**2*(MH**4 - 4*MH**2*MZ**2))*reglog(-1 + (MH**2 + cmath.sqrt(MH**4 - 4*MZ**2*(MH**2 + vep*complex(0,-1))))/(2.*MZ**2)))/MZ**2 + 4*cw**2*MZ**2*(54*(1 - 2*sw**2 + 4*sw**4) + Ncol*(45 - 84*sw**2 + 88*sw**4))*reglogp(-(MU_R**2/(MZ**2 + vep*complex(0,1)))) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 - cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) - 4*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(2.*MZ**2)) + (2*cw**2*Ncol*(MZ**2*(9 - 24*sw**2 + 32*sw**4) + MT**2*(-9 - 48*sw**2 + 64*sw**4))*(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))*reglog((-MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + vep*complex(0,4))))/(MZ**2 + cmath.sqrt(MZ**2*(-4*MT**2 + MZ**2 + |
will be for 2.3.3.