Merge lp:~maddevelopers/mg5amcnlo/new_sm_model_with_Wolfenstein into lp:~madteam/mg5amcnlo/trunk
- new_sm_model_with_Wolfenstein
- Merge into trunk
Status: | Merged |
---|---|
Merged at revision: | 159 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/new_sm_model_with_Wolfenstein |
Merge into: | lp:~madteam/mg5amcnlo/trunk |
Diff against target: |
49812 lines (+23464/-22026) 84 files modified
madgraph/core/base_objects.py (+171/-11) madgraph/core/diagram_generation.py (+83/-82) madgraph/iolibs/drawing_eps.py (+2/-1) madgraph/iolibs/import_v4.py (+1/-1) models/2HDM/__init__.py (+5/-3) models/2HDM/coupling_orders.py (+15/-0) models/2HDM/object_library.py (+13/-0) models/4Gen/__init__.py (+5/-3) models/4Gen/coupling_orders.py (+15/-0) models/4Gen/object_library.py (+13/-0) models/RS/__init__.py (+5/-3) models/RS/coupling_orders.py (+15/-0) models/RS/object_library.py (+245/-228) models/SMScalars/__init__.py (+5/-3) models/SMScalars/coupling_orders.py (+15/-0) models/SMScalars/object_library.py (+13/-0) models/heft/HEFT_UFO.log (+75/-0) models/heft/Higgs_Effective_Couplings_UFO.log (+0/-69) models/heft/__init__.py (+2/-0) models/heft/coupling_orders.py (+24/-0) models/heft/couplings.py (+24/-12) models/heft/lorentz.py (+2/-2) models/heft/object_library.py (+2/-2) models/heft/parameters.py (+93/-19) models/heft/particles.py (+48/-48) models/heft/restrict_ckm.dat (+53/-0) models/heft/restrict_default.dat (+9/-13) models/heft/restrict_no_b_mass.dat (+53/-0) models/heft/restrict_no_masses.dat (+53/-0) models/heft/restrict_no_tau_mass.dat (+53/-0) models/heft/restrict_zeromass_ckm.dat (+53/-0) models/heft/vertices.py (+53/-35) models/import_ufo.py (+27/-0) models/mssm/__init__.py (+5/-3) models/mssm/coupling_orders.py (+15/-0) models/mssm/object_library.py (+13/-0) models/nmssm/__init__.py (+5/-3) models/nmssm/coupling_orders.py (+15/-0) models/nmssm/object_library.py (+13/-0) models/sextet_diquarks/__init__.py (+7/-0) models/sextet_diquarks/coupling_orders.py (+15/-0) models/sextet_diquarks/object_library.py (+67/-16) models/sm/SM_Full_CKM_UFO.log (+67/-0) models/sm/__init__.py (+3/-1) models/sm/coupling_orders.py (+15/-0) models/sm/couplings.py (+67/-423) models/sm/lorentz.py (+3/-27) models/sm/object_library.py (+13/-0) models/sm/parameters.py (+122/-124) models/sm/particles.py (+51/-51) models/sm/restrict_ckm.dat (+53/-0) models/sm/restrict_default.dat (+27/-25) models/sm/restrict_no_b_mass.dat (+28/-25) models/sm/restrict_no_masses.dat (+28/-25) models/sm/restrict_no_tau_mass.dat (+28/-25) models/sm/restrict_zeromass_ckm.dat (+53/-0) models/sm/vertices.py (+259/-811) models/triplet_diquarks/__init__.py (+7/-0) models/triplet_diquarks/coupling_orders.py (+15/-0) models/triplet_diquarks/object_library.py (+67/-16) models/uutt_sch_4fermion/__init__.py (+7/-0) models/uutt_sch_4fermion/coupling_orders.py (+19/-0) models/uutt_sch_4fermion/object_library.py (+71/-17) models/uutt_tch_4fermion/__init__.py (+7/-0) models/uutt_tch_4fermion/coupling_orders.py (+19/-0) models/uutt_tch_4fermion/object_library.py (+71/-17) models/uutt_tch_scalar/__init__.py (+7/-0) models/uutt_tch_scalar/coupling_orders.py (+19/-0) models/uutt_tch_scalar/object_library.py (+71/-17) tests/acceptance_tests/test_model_equivalence.py (+6/-9) tests/input_files/e+e-_e+e-.pkl (+10943/-10928) tests/input_files/restrict_sm.dat (+34/-31) tests/input_files/sm.pkl (+9252/-8408) tests/unit_tests/core/test_base_objects.py (+2/-2) tests/unit_tests/core/test_diagram_generation.py (+307/-27) tests/unit_tests/core/test_helas_objects.py (+8/-8) tests/unit_tests/iolibs/test_export_cpp.py (+104/-276) tests/unit_tests/iolibs/test_export_v4.py (+2/-2) tests/unit_tests/iolibs/test_group_subprocs.py (+31/-31) tests/unit_tests/iolibs/test_import_v4.py (+13/-1) tests/unit_tests/various/test_aloha.py (+10/-13) tests/unit_tests/various/test_import_ufo.py (+84/-58) tests/unit_tests/various/test_process_checks.py (+1/-1) tests/unit_tests/various/test_write_param.py (+70/-70) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/new_sm_model_with_Wolfenstein |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Olivier Mattelaer | Approve | ||
Review via email: mp+68835@code.launchpad.net |
Commit message
Description of the change
- New SM and HEFT with CKM matrix parameterized through Wolfenstein parameters
- Added coupling hierarchy and maximum coupling expansion according to the new UFO format for all models
- Added support for new "coupling order": WEIGHTED which corresponds to the sum of couplings weighted by their hierarchies
- Added automatic detection of leading coupling orders for processes for any model, based on the coupling hierarchy, so e.g. in HEFT, p p > h j j will give only QCD+HEFT diagrams with only one HEFT coupling in each diagram.
- 166. By Johan Alwall
-
Read hierarchy and expansion_orders only if present in the UFO model (otherwise use default)
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
- 167. By Olivier Mattelaer
-
minor rewritting of function
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
I want to add that also we need to rethink the drawing.
(the part with the coupling)
Since for heft, this is not beautifull at all
(much too long to have QCD/QED/
for
p p > t t~ h
this is very limit
but for
p p > t t~ g h
this is so bad (for the small diagram)
I'll think about smtg...
Johan Alwall (johan-alwall) wrote : | # |
Thanks Olivier. I have addressed all your comments below:
> 1) Maybe change the comment in
> base_objects.
> That this is used for v4 model only.
Done.
> 3) in find_optimal_
>
> I'm worried about this comment:
> 193 + 2) Pick out the legs in the multiprocess according to the
> 194 + highest hierarchy represented (so don't mix particles from
> 195 + different hierarchy classes in the same multiparticles!)
>
> What does it mean? can I do this:
> define spinhalf = e+ e- u u~
> generate spinhalf spinhalf > spinhalf spinhalf
> ?
Exactly. We want to find the minimal coupling orders which give ANY
processes (e.g., in p p > j j, we don't want u d~ > c s~).
> 4) again in find_optimal_
>
> This function is very long (300 lines).
> Some refactoring might be done to simplify the structure.
Done.
> 5) at line 1485:
> # Now remove the two lowest orders to get maximum
> max_order_now = sorted(
> could you explain why? this is not clear to me
Nvertices = Nlegs-2
> Since for heft, this is not beautifull at all
> (much too long to have QCD/QED/
Ok I removed the WEIGHTED order in the drawing (but leave it in the
text-only diagrams).
Thanks for the review!
Johan
- 168. By Johan Alwall
-
Refactored find_optimal_
process_ orders - 169. By Johan Alwall
-
Remove WEIGHTED order in diagram drawing
- 170. By Johan Alwall
-
Use sorted coupling orders in all Process nice_string output
- 171. By Johan Alwall
-
Fixed coupling hierarchy of HEFT model - HIG and HIW should be 2, not 1
- 172. By Johan Alwall
-
Fixed test for HEFT order hierarchy
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Perfect !!!!
Preview Diff
1 | === modified file 'madgraph/core/base_objects.py' |
2 | --- madgraph/core/base_objects.py 2011-05-17 21:34:11 +0000 |
3 | +++ madgraph/core/base_objects.py 2011-07-22 20:26:18 +0000 |
4 | @@ -667,8 +667,10 @@ |
5 | self['ref_dict_to0'] = {} |
6 | self['ref_dict_to1'] = {} |
7 | self['got_majoranas'] = None |
8 | + self['order_hierarchy'] = {} |
9 | self['conserved_charge'] = set() |
10 | self['coupling_orders'] = None |
11 | + self['expansion_order'] = None |
12 | self['version_tag'] = None # position of the directory (for security) |
13 | |
14 | def filter(self, name, value): |
15 | @@ -758,6 +760,15 @@ |
16 | if self['interactions']: |
17 | self['coupling_orders'] = self.get_coupling_orders() |
18 | |
19 | + if (name == 'order_hierarchy') and not self[name]: |
20 | + if self['interactions']: |
21 | + self['order_hierarchy'] = self.get_order_hierarchy() |
22 | + |
23 | + if (name == 'expansion_order') and self[name] == None: |
24 | + if self['interactions']: |
25 | + self['expansion_order'] = \ |
26 | + dict([(order, -1) for order in self.get('coupling_orders')]) |
27 | + |
28 | return Model.__bases__[0].get(self, name) # call the mother routine |
29 | |
30 | def set(self, name, value): |
31 | @@ -781,6 +792,8 @@ |
32 | self['ref_dict_to0'] = {} |
33 | self['got_majoranas'] = None |
34 | self['coupling_orders'] = None |
35 | + self['order_hierarchy'] = {} |
36 | + self['expansion_order'] = None |
37 | |
38 | Model.__bases__[0].set(self, name, value) # call the mother routine |
39 | |
40 | @@ -817,6 +830,64 @@ |
41 | return set(sum([i.get('orders').keys() for i in \ |
42 | self.get('interactions')], [])) |
43 | |
44 | + def get_order_hierarchy(self): |
45 | + """Set a default order hierarchy for the model if not set by the UFO.""" |
46 | + # Set coupling hierachy |
47 | + hierarchy = dict([(order, 1) for order in self.get('coupling_orders')]) |
48 | + # Special case for only QCD and QED couplings, unless already set |
49 | + if self.get('coupling_orders') == set(['QCD', 'QED']): |
50 | + hierarchy['QED'] = 2 |
51 | + return hierarchy |
52 | + |
53 | + def get_particles_hierarchy(self): |
54 | + """Returns the order hierarchies of the model and the |
55 | + particles which have interactions in at least this hierarchy |
56 | + (used in find_optimal_process_orders in MultiProcess diagram |
57 | + generation): |
58 | + |
59 | + Check the coupling hierarchy of the model. Assign all |
60 | + particles to the different coupling hierarchies so that a |
61 | + particle is considered to be in the highest hierarchy (i.e., |
62 | + with lowest value) where it has an interaction. |
63 | + """ |
64 | + |
65 | + # Find coupling orders in model |
66 | + coupling_orders = self.get('coupling_orders') |
67 | + # Loop through the different coupling hierarchy values, so we |
68 | + # start with the most dominant and proceed to the least dominant |
69 | + hierarchy = sorted(list(set([self.get('order_hierarchy')[k] for \ |
70 | + k in coupling_orders]))) |
71 | + |
72 | + # orders is a rising list of the lists of orders with a given hierarchy |
73 | + orders = [] |
74 | + for value in hierarchy: |
75 | + orders.append([ k for (k, v) in \ |
76 | + self.get('order_hierarchy').items() if \ |
77 | + v == value ]) |
78 | + |
79 | + # Extract the interaction that correspond to the different |
80 | + # coupling hierarchies, and the corresponding particles |
81 | + interactions = [] |
82 | + particles = [] |
83 | + for iorder, order in enumerate(orders): |
84 | + sum_orders = sum(orders[:iorder+1], []) |
85 | + sum_interactions = sum(interactions[:iorder], []) |
86 | + sum_particles = sum([list(p) for p in particles[:iorder]], []) |
87 | + # Append all interactions that have only orders with at least |
88 | + # this hierarchy |
89 | + interactions.append([i for i in self.get('interactions') if \ |
90 | + not i in sum_interactions and \ |
91 | + not any([k not in sum_orders for k in \ |
92 | + i.get('orders').keys()])]) |
93 | + # Append the corresponding particles, excluding the |
94 | + # particles that have already been added |
95 | + particles.append(set(sum([[p.get_pdg_code() for p in \ |
96 | + inter.get('particles') if \ |
97 | + p.get_pdg_code() not in sum_particles] \ |
98 | + for inter in interactions[-1]], []))) |
99 | + |
100 | + return particles, hierarchy |
101 | + |
102 | def check_majoranas(self): |
103 | """Return True if there is fermion flow violation, False otherwise""" |
104 | |
105 | @@ -1323,22 +1394,27 @@ |
106 | mystr = mystr + 'id:' + str(vert['id']) + '),' |
107 | mystr = mystr[:-1] + ')' |
108 | mystr += " (%s)" % ",".join(["%s=%d" % (key, self['orders'][key]) \ |
109 | - for key in self['orders'].keys()]) |
110 | + for key in sorted(self['orders'].keys())]) |
111 | return mystr |
112 | else: |
113 | return '()' |
114 | |
115 | def calculate_orders(self, model): |
116 | - """Calculate the actual coupling orders of this diagram""" |
117 | + """Calculate the actual coupling orders of this diagram. Note |
118 | + that the special order WEIGTHED corresponds to the sum of |
119 | + hierarchys for the couplings.""" |
120 | |
121 | coupling_orders = dict([(c, 0) for c in model.get('coupling_orders')]) |
122 | + weight = 0 |
123 | for vertex in self['vertices']: |
124 | if vertex.get('id') == 0: continue |
125 | couplings = model.get('interaction_dict')[vertex.get('id')].\ |
126 | get('orders') |
127 | for coupling in couplings: |
128 | coupling_orders[coupling] += couplings[coupling] |
129 | - |
130 | + weight += sum([model.get('order_hierarchy')[c]*n for \ |
131 | + (c,n) in couplings.items()]) |
132 | + coupling_orders['WEIGHTED'] = weight |
133 | self.set('orders', coupling_orders) |
134 | |
135 | def renumber_legs(self, perm_map, leg_list): |
136 | @@ -1574,7 +1650,7 @@ |
137 | |
138 | if self['orders']: |
139 | mystr = mystr + " ".join([key + '=' + repr(self['orders'][key]) \ |
140 | - for key in self['orders']]) + ' ' |
141 | + for key in sorted(self['orders'])]) + ' ' |
142 | |
143 | # Remove last space |
144 | mystr = mystr[:-1] |
145 | @@ -1583,7 +1659,7 @@ |
146 | mystr += " @%d" % self.get('id') |
147 | if self.get('overall_orders'): |
148 | mystr += " " + " ".join([key + '=' + repr(self['orders'][key]) \ |
149 | - for key in self['orders']]) + ' ' |
150 | + for key in sorted(self['orders'])]) + ' ' |
151 | |
152 | if not self.get('decay_chains'): |
153 | return mystr |
154 | @@ -1636,7 +1712,7 @@ |
155 | |
156 | if self['orders']: |
157 | mystr = mystr + " ".join([key + '=' + repr(self['orders'][key]) \ |
158 | - for key in self['orders']]) + ' ' |
159 | + for key in sorted(self['orders'])]) + ' ' |
160 | |
161 | # Remove last space |
162 | mystr = mystr[:-1] |
163 | @@ -1645,7 +1721,7 @@ |
164 | mystr += " @%d" % self.get('id') |
165 | if self.get('overall_orders'): |
166 | mystr += " " + " ".join([key + '=' + repr(self['orders'][key]) \ |
167 | - for key in self['orders']]) + ' ' |
168 | + for key in sorted(self['orders'])]) + ' ' |
169 | |
170 | if not self.get('decay_chains'): |
171 | return mystr |
172 | @@ -1864,10 +1940,24 @@ |
173 | identical_indices[leg.get('id')] + 1 |
174 | else: |
175 | identical_indices[leg.get('id')] = 1 |
176 | - return reduce(lambda x, y: x * y, |
177 | - [ math.factorial(val) for val in \ |
178 | + return reduce(lambda x, y: x * y, [ math.factorial(val) for val in \ |
179 | identical_indices.values() ], 1) |
180 | |
181 | + def check_expansion_orders(self): |
182 | + """Ensure that maximum expansion orders from the model are |
183 | + properly taken into account in the process""" |
184 | + |
185 | + # Ensure that expansion orders are taken into account |
186 | + expansion_orders = self.get('model').get('expansion_order') |
187 | + orders = self.get('orders') |
188 | + |
189 | + tmp = [(k,v) for (k,v) in expansion_orders.items() if 0 < v < 99] |
190 | + for (k,v) in tmp: |
191 | + if k in orders: |
192 | + orders[k] = min(orders[k], v) |
193 | + else: |
194 | + orders[k] = v |
195 | + |
196 | def __eq__(self, other): |
197 | """Overloading the equality operator, so that only comparison |
198 | of process id and legs is being done, using compare_for_sort.""" |
199 | @@ -1940,6 +2030,76 @@ |
200 | |
201 | return super(ProcessDefinition, self).get_sorted_keys() |
202 | |
203 | + def get_minimum_WEIGHTED(self): |
204 | + """Retrieve the minimum starting guess for WEIGHTED order, to |
205 | + use in find_optimal_process_orders in MultiProcess diagram |
206 | + generation (as well as particles and hierarchy). The algorithm: |
207 | + |
208 | + 1) Pick out the legs in the multiprocess according to the |
209 | + highest hierarchy represented (so don't mix particles from |
210 | + different hierarchy classes in the same multiparticles!) |
211 | + |
212 | + 2) Find the starting maximum WEIGHTED order as the sum of the |
213 | + highest n-2 weighted orders |
214 | + |
215 | + 3) Pick out required s-channel particle hierarchies, and use |
216 | + the highest of the maximum WEIGHTED order from the legs and |
217 | + the minimum WEIGHTED order extracted from 2*s-channel |
218 | + hierarchys plus the n-2-2*(number of s-channels) lowest |
219 | + leg weighted orders. |
220 | + """ |
221 | + |
222 | + model = self.get('model') |
223 | + |
224 | + # Extract hierarchy and particles corresponding to the |
225 | + # different hierarchy levels from the model |
226 | + particles, hierarchy = model.get_particles_hierarchy() |
227 | + |
228 | + # Find legs corresponding to the different orders |
229 | + # making sure we look at lowest hierarchy first for each leg |
230 | + max_order_now = [] |
231 | + new_legs = copy.copy(self.get('legs')) |
232 | + for parts, value in zip(particles, hierarchy): |
233 | + ileg = 0 |
234 | + while ileg < len(new_legs): |
235 | + if any([id in parts for id in new_legs[ileg].get('ids')]): |
236 | + max_order_now.append(value) |
237 | + new_legs.pop(ileg) |
238 | + else: |
239 | + ileg += 1 |
240 | + |
241 | + # Now remove the two lowest orders to get maximum (since the |
242 | + # number of interactions is n-2) |
243 | + max_order_now = sorted(max_order_now)[2:] |
244 | + |
245 | + # Find s-channel propagators corresponding to the different orders |
246 | + max_order_prop = [] |
247 | + for idlist in self.get('required_s_channels'): |
248 | + max_order_prop.append([0,0]) |
249 | + for id in idlist: |
250 | + for parts, value in zip(particles, hierarchy): |
251 | + if id in parts: |
252 | + max_order_prop[-1][0] += 2*value |
253 | + max_order_prop[-1][1] += 1 |
254 | + break |
255 | + |
256 | + if max_order_prop: |
257 | + if len(max_order_prop) >1: |
258 | + max_order_prop = min(*max_order_prop, key=lambda x:x[0]) |
259 | + else: |
260 | + max_order_prop = max_order_prop[0] |
261 | + |
262 | + # Use either the max_order from the external legs or |
263 | + # the maximum order from the s-channel propagators, plus |
264 | + # the appropriate lowest orders from max_order_now |
265 | + max_order_now = max(sum(max_order_now), |
266 | + max_order_prop[0] + \ |
267 | + sum(max_order_now[:-2 * max_order_prop[1]])) |
268 | + else: |
269 | + max_order_now = sum(max_order_now) |
270 | + |
271 | + return max_order_now, particles, hierarchy |
272 | + |
273 | def nice_string(self, indent=0): |
274 | """Returns a nicely formated string about current process |
275 | content""" |
276 | @@ -1983,7 +2143,7 @@ |
277 | |
278 | if self['orders']: |
279 | mystr = mystr + " ".join([key + '=' + repr(self['orders'][key]) \ |
280 | - for key in self['orders']]) + ' ' |
281 | + for key in sorted(self['orders'])]) + ' ' |
282 | |
283 | # Remove last space |
284 | mystr = mystr[:-1] |
285 | @@ -1992,7 +2152,7 @@ |
286 | mystr += " @%d" % self.get('id') |
287 | if self.get('overall_orders'): |
288 | mystr += " " + " ".join([key + '=' + repr(self['orders'][key]) \ |
289 | - for key in self['orders']]) + ' ' |
290 | + for key in sorted(self['orders'])]) + ' ' |
291 | |
292 | if not self.get('decay_chains'): |
293 | return mystr |
294 | |
295 | === modified file 'madgraph/core/diagram_generation.py' |
296 | --- madgraph/core/diagram_generation.py 2011-06-01 21:18:40 +0000 |
297 | +++ madgraph/core/diagram_generation.py 2011-07-22 20:26:18 +0000 |
298 | @@ -686,7 +686,9 @@ |
299 | """Return False if the coupling orders for any coupling is < |
300 | 0, otherwise return the new coupling orders with the vertex |
301 | orders subtracted. If coupling_orders is not given, return |
302 | - None (which counts as success)""" |
303 | + None (which counts as success). |
304 | + WEIGHTED is a special order, which corresponds to the sum of |
305 | + order hierarchys for the couplings.""" |
306 | |
307 | if not coupling_orders: |
308 | return None |
309 | @@ -702,13 +704,20 @@ |
310 | # constraint |
311 | if coupling in present_couplings: |
312 | # Reduce the number of couplings that are left |
313 | - present_couplings[coupling] = \ |
314 | - present_couplings[coupling] - \ |
315 | + present_couplings[coupling] -= \ |
316 | inter.get('orders')[coupling] |
317 | if present_couplings[coupling] < 0: |
318 | # We have too many couplings of this type |
319 | return False |
320 | - |
321 | + # Now check for WEIGHTED, i.e. the sum of coupling hierarchy values |
322 | + if 'WEIGHTED' in present_couplings: |
323 | + weight = sum([model.get('order_hierarchy')[c]*n for \ |
324 | + (c,n) in inter.get('orders').items()]) |
325 | + present_couplings['WEIGHTED'] -= weight |
326 | + if present_couplings['WEIGHTED'] < 0: |
327 | + # Total coupling weight too large |
328 | + return False |
329 | + |
330 | return present_couplings |
331 | |
332 | def combine_legs(self, list_legs, ref_dict_to1, max_multi_to1): |
333 | @@ -1199,8 +1208,10 @@ |
334 | |
335 | # Set automatic coupling orders |
336 | process_definition.set('orders', MultiProcess.\ |
337 | - find_maximal_non_qcd_order(process_definition)) |
338 | - |
339 | + find_optimal_process_orders(process_definition)) |
340 | + # Check for maximum orders from the model |
341 | + process_definition.check_expansion_orders() |
342 | + |
343 | processes = base_objects.ProcessList() |
344 | amplitudes = AmplitudeList() |
345 | |
346 | @@ -1363,25 +1374,40 @@ |
347 | return amplitudes |
348 | |
349 | @staticmethod |
350 | - def find_maximal_non_qcd_order(process_definition): |
351 | - """Find the maximal QCD order for this set of processes. |
352 | + def find_optimal_process_orders(process_definition): |
353 | + """Find the minimal WEIGHTED order for this set of processes. |
354 | + |
355 | The algorithm: |
356 | |
357 | - 1) Check that there is only one non-QCD coupling in model. |
358 | + 1) Check the coupling hierarchy of the model. Assign all |
359 | + particles to the different coupling hierarchies so that a |
360 | + particle is considered to be in the highest hierarchy (i.e., |
361 | + with lowest value) where it has an interaction. |
362 | |
363 | - 2) Find number of non-QCD-charged legs. This is the starting |
364 | - non-QCD order. If non-QCD required s-channel particles are |
365 | - specified, use the maximum of non-QCD legs and 2*number of |
366 | - non-QCD s-channel particles as starting non-QCD order. |
367 | - |
368 | - 3) Run process generation with the maximal non-QCD order with |
369 | - all gluons removed from the final state, until we find a |
370 | - process which passes. Return that order. |
371 | - |
372 | - 4) If no processes pass with the given order, increase order |
373 | - by one and repeat from 3) until we order #final - 1. |
374 | - |
375 | - 5) If no processes found, return non-QCD order = #final. |
376 | + 2) Pick out the legs in the multiprocess according to the |
377 | + highest hierarchy represented (so don't mix particles from |
378 | + different hierarchy classes in the same multiparticles!) |
379 | + |
380 | + 3) Find the starting maximum WEIGHTED order as the sum of the |
381 | + highest n-2 weighted orders |
382 | + |
383 | + 4) Pick out required s-channel particle hierarchies, and use |
384 | + the highest of the maximum WEIGHTED order from the legs and |
385 | + the minimum WEIGHTED order extracted from 2*s-channel |
386 | + hierarchys plus the n-2-2*(number of s-channels) lowest |
387 | + leg weighted orders. |
388 | + |
389 | + 5) Run process generation with the WEIGHTED order determined |
390 | + in 3)-4) - # final state gluons, with all gluons removed from |
391 | + the final state |
392 | + |
393 | + 6) If no process is found, increase WEIGHTED order by 1 and go |
394 | + back to 5), until we find a process which passes. Return that |
395 | + order. |
396 | + |
397 | + 7) Continue 5)-6) until we reach (n-2)*(highest hierarchy)-1. |
398 | + If still no process has passed, return |
399 | + WEIGHTED = (n-2)*(highest hierarchy) |
400 | """ |
401 | |
402 | assert isinstance(process_definition, base_objects.ProcessDefinition), \ |
403 | @@ -1396,72 +1422,38 @@ |
404 | process_definition.get('overall_orders'): |
405 | return process_definition.get('orders') |
406 | |
407 | - temp_process_definition = copy.copy(process_definition) |
408 | - |
409 | - model = process_definition['model'] |
410 | + logger.info("Checking for minimal orders which gives processes.") |
411 | + logger.info("Please specify coupling orders to bypass this step.") |
412 | + |
413 | + # Calculate minimum starting guess for WEIGHTED order |
414 | + max_order_now, particles, hierarchy = \ |
415 | + process_definition.get_minimum_WEIGHTED() |
416 | + coupling = 'WEIGHTED' |
417 | + |
418 | + model = process_definition.get('model') |
419 | |
420 | + # Extract the initial and final leg ids |
421 | isids = [leg['ids'] for leg in \ |
422 | filter(lambda leg: leg['state'] == False, process_definition['legs'])] |
423 | fsids = [leg['ids'] for leg in \ |
424 | filter(lambda leg: leg['state'] == True, process_definition['legs'])] |
425 | |
426 | - # Find coupling orders in model |
427 | - orders = list(set(sum([i.get('orders').keys() for i in \ |
428 | - model.get('interactions')], []))) |
429 | - non_QCD_orders = [order for order in orders if order != 'QCD'] |
430 | - if len(non_QCD_orders) != 1 or len(orders)-len(non_QCD_orders) != 1: |
431 | - # Too many or few orders |
432 | - logger.info("Automatic coupling order check not possible " + \ |
433 | - "for this model.") |
434 | - logger.info("Please specify coupling orders by hand.") |
435 | - return {} |
436 | - |
437 | - coupling = non_QCD_orders[0] |
438 | - |
439 | - logger.info("Checking for minimal non-QCD order which gives processes.") |
440 | - logger.info("Please specify coupling orders to bypass this step.") |
441 | - |
442 | - # Find number of non-QCD-charged legs |
443 | - max_order_now = 0 |
444 | - for l in process_definition.get('legs'): |
445 | - if any([model.get_particle(id).get('color') > 1 for id in \ |
446 | - l.get('ids')]): |
447 | - continue |
448 | - max_order_now += 1 |
449 | - |
450 | - # Check for non-QCD-charged s-channel propagators |
451 | - max_order_prop = [] |
452 | - for idlist in process_definition.get('required_s_channels'): |
453 | - max_order_prop.append(0) |
454 | - for id in idlist: |
455 | - if model.get_particle(id).get('color') > 1: |
456 | - continue |
457 | - max_order_prop[-1] += 2 |
458 | - |
459 | - if max_order_prop: |
460 | - if len(max_order_prop) >1: |
461 | - max_order_prop = min(*max_order_prop) |
462 | - else: |
463 | - max_order_prop = max_order_prop[0] |
464 | - |
465 | - max_order_now = max(max_order_now, max_order_prop) |
466 | - |
467 | - # Generate all combinations for the initial state |
468 | - |
469 | - while max_order_now < len(fsids): |
470 | - |
471 | - logger.info("Trying coupling order %s=%d" % (coupling, |
472 | - max_order_now)) |
473 | + # Run diagram generation with increasing max_order_now until |
474 | + # we manage to get diagrams |
475 | + while max_order_now < len(fsids)*max(hierarchy): |
476 | + |
477 | + logger.info("Trying coupling order WEIGHTED=%d" % max_order_now) |
478 | + |
479 | oldloglevel = logger.getEffectiveLevel() |
480 | logger.setLevel(logging.WARNING) |
481 | |
482 | # failed_procs are processes that have already failed |
483 | # based on crossing symmetry |
484 | failed_procs = [] |
485 | - |
486 | + |
487 | + # Generate all combinations for the initial state |
488 | for prod in apply(itertools.product, isids): |
489 | - islegs = [\ |
490 | - base_objects.Leg({'id':id, 'state': False}) \ |
491 | + islegs = [ base_objects.Leg({'id':id, 'state': False}) \ |
492 | for id in prod] |
493 | |
494 | # Generate all combinations for the final state, and make |
495 | @@ -1477,8 +1469,12 @@ |
496 | |
497 | red_fsidlist.append(tuple(sorted(prod))); |
498 | |
499 | - # Remove gluons from final state |
500 | - prod = [id for id in prod if id != 21] |
501 | + # Remove gluons from final state if QCD is among |
502 | + # the highest coupling hierarchy |
503 | + nglue = 0 |
504 | + if 21 in particles[0]: |
505 | + nglue = len([id for id in prod if id == 21]) |
506 | + prod = [id for id in prod if id != 21] |
507 | |
508 | # Generate leg list for process |
509 | leg_list = [copy.copy(leg) for leg in islegs] |
510 | @@ -1489,13 +1485,15 @@ |
511 | |
512 | legs = base_objects.LegList(leg_list) |
513 | |
514 | - # Set coupling order |
515 | - coupling_orders_now = {coupling: max_order_now} |
516 | + # Set summed coupling order according to max_order_now |
517 | + # subtracting the removed gluons |
518 | + coupling_orders_now = {coupling: max_order_now - \ |
519 | + nglue} |
520 | |
521 | # Setup process |
522 | process = base_objects.Process({\ |
523 | 'legs':legs, |
524 | - 'model':process_definition.get('model'), |
525 | + 'model':model, |
526 | 'id': process_definition.get('id'), |
527 | 'orders': coupling_orders_now, |
528 | 'required_s_channels': \ |
529 | @@ -1509,6 +1507,9 @@ |
530 | 'overall_orders': \ |
531 | process_definition.get('overall_orders')}) |
532 | |
533 | + # Check for couplings with given expansion orders |
534 | + process.check_expansion_orders() |
535 | + |
536 | # Check for crossed processes |
537 | sorted_legs = sorted(legs.get_outgoing_id_list(model)) |
538 | # Check if crossed process has already failed |
539 | @@ -1533,8 +1534,8 @@ |
540 | max_order_now += 1 |
541 | logger.setLevel(oldloglevel) |
542 | |
543 | - # If no valid processes found with nfinal-1 couplings, return nfinal |
544 | - return {coupling: len(fsids)} |
545 | + # If no valid processes found with nfinal-1 couplings, return maximal |
546 | + return {coupling: len(fsids)*max(hierarchy)} |
547 | |
548 | @staticmethod |
549 | def cross_amplitude(amplitude, process, org_perm, new_perm): |
550 | |
551 | === modified file 'madgraph/iolibs/drawing_eps.py' |
552 | --- madgraph/iolibs/drawing_eps.py 2011-06-15 18:49:22 +0000 |
553 | +++ madgraph/iolibs/drawing_eps.py 2011-07-22 20:26:18 +0000 |
554 | @@ -239,7 +239,8 @@ |
555 | #zero. |
556 | |
557 | mystr = " (%s)" % ", ".join(["%s=%d" % (key, self.diagram.diagram['orders'][key]) \ |
558 | - for key in self.diagram.diagram['orders'].keys()]) |
559 | + for key in sorted(self.diagram.diagram['orders'].keys()) \ |
560 | + if key != 'WEIGHTED']) |
561 | |
562 | x = 0.6 |
563 | y = -0.17 |
564 | |
565 | === modified file 'madgraph/iolibs/import_v4.py' |
566 | --- madgraph/iolibs/import_v4.py 2011-05-08 07:27:55 +0000 |
567 | +++ madgraph/iolibs/import_v4.py 2011-07-22 20:26:18 +0000 |
568 | @@ -70,7 +70,7 @@ |
569 | model['particles'])) |
570 | |
571 | model.set('name', os.path.split(model_path)[-1]) |
572 | - |
573 | + |
574 | # save in a pickle files to fasten future usage |
575 | save_load_object.save_to_file(os.path.join(model_path, 'model.pkl'), model) |
576 | |
577 | |
578 | === modified file 'models/2HDM/__init__.py' |
579 | --- models/2HDM/__init__.py 2011-04-11 23:28:30 +0000 |
580 | +++ models/2HDM/__init__.py 2011-07-22 20:26:18 +0000 |
581 | @@ -4,6 +4,7 @@ |
582 | import lorentz |
583 | import parameters |
584 | import vertices |
585 | +import coupling_orders |
586 | import write_param_card |
587 | |
588 | |
589 | @@ -12,9 +13,10 @@ |
590 | all_couplings = couplings.all_couplings |
591 | all_lorentz = lorentz.all_lorentz |
592 | all_parameters = parameters.all_parameters |
593 | +all_orders = coupling_orders.all_orders |
594 | all_functions = function_library.all_functions |
595 | |
596 | |
597 | -__author__ = "C. Duhr, M. Herquet" |
598 | -__version__ = "1.0" |
599 | -__email__ = "claude.duhr@uclouvain.be, mherquet@nikhef.nl" |
600 | +__author__ = "N. Christensen, C. Duhr" |
601 | +__version__ = "1.3" |
602 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
603 | |
604 | === added file 'models/2HDM/coupling_orders.py' |
605 | --- models/2HDM/coupling_orders.py 1970-01-01 00:00:00 +0000 |
606 | +++ models/2HDM/coupling_orders.py 2011-07-22 20:26:18 +0000 |
607 | @@ -0,0 +1,15 @@ |
608 | +# This file was automatically created by FeynRules $Revision: 634 $ |
609 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
610 | +# Date: Tue 19 Jul 2011 18:23:49 |
611 | + |
612 | + |
613 | +from object_library import all_orders, CouplingOrder |
614 | + |
615 | + |
616 | +QCD = CouplingOrder(name = 'QCD', |
617 | + expansion_order = -1, |
618 | + hierarchy = 1) |
619 | + |
620 | +QED = CouplingOrder(name = 'QED', |
621 | + expansion_order = -1, |
622 | + hierarchy = 2) |
623 | |
624 | === modified file 'models/2HDM/object_library.py' |
625 | --- models/2HDM/object_library.py 2011-04-11 23:28:30 +0000 |
626 | +++ models/2HDM/object_library.py 2011-07-22 20:26:18 +0000 |
627 | @@ -228,5 +228,18 @@ |
628 | |
629 | return eval(self.expr) |
630 | |
631 | +all_orders = [] |
632 | + |
633 | +class CouplingOrder(object): |
634 | + |
635 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
636 | + |
637 | + global all_orders |
638 | + all_orders.append(self) |
639 | + |
640 | + self.name = name |
641 | + self.expansion_order = expansion_order |
642 | + self.hierarchy = hierarchy |
643 | + |
644 | |
645 | |
646 | |
647 | === modified file 'models/4Gen/__init__.py' |
648 | --- models/4Gen/__init__.py 2011-04-10 15:43:51 +0000 |
649 | +++ models/4Gen/__init__.py 2011-07-22 20:26:18 +0000 |
650 | @@ -4,6 +4,7 @@ |
651 | import lorentz |
652 | import parameters |
653 | import vertices |
654 | +import coupling_orders |
655 | import write_param_card |
656 | |
657 | |
658 | @@ -12,9 +13,10 @@ |
659 | all_couplings = couplings.all_couplings |
660 | all_lorentz = lorentz.all_lorentz |
661 | all_parameters = parameters.all_parameters |
662 | +all_orders = coupling_orders.all_orders |
663 | all_functions = function_library.all_functions |
664 | |
665 | |
666 | -__author__ = "C. Duhr" |
667 | -__version__ = "1.1" |
668 | -__email__ = "claude.duhr@durham.ac.uk" |
669 | +__author__ = "N. Christensen, C. Duhr" |
670 | +__version__ = "1.3" |
671 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
672 | |
673 | === added file 'models/4Gen/coupling_orders.py' |
674 | --- models/4Gen/coupling_orders.py 1970-01-01 00:00:00 +0000 |
675 | +++ models/4Gen/coupling_orders.py 2011-07-22 20:26:18 +0000 |
676 | @@ -0,0 +1,15 @@ |
677 | +# This file was automatically created by FeynRules $Revision: 634 $ |
678 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
679 | +# Date: Tue 19 Jul 2011 18:23:49 |
680 | + |
681 | + |
682 | +from object_library import all_orders, CouplingOrder |
683 | + |
684 | + |
685 | +QCD = CouplingOrder(name = 'QCD', |
686 | + expansion_order = -1, |
687 | + hierarchy = 1) |
688 | + |
689 | +QED = CouplingOrder(name = 'QED', |
690 | + expansion_order = -1, |
691 | + hierarchy = 2) |
692 | |
693 | === modified file 'models/4Gen/object_library.py' |
694 | --- models/4Gen/object_library.py 2011-04-10 15:43:51 +0000 |
695 | +++ models/4Gen/object_library.py 2011-07-22 20:26:18 +0000 |
696 | @@ -228,5 +228,18 @@ |
697 | |
698 | return eval(self.expr) |
699 | |
700 | +all_orders = [] |
701 | + |
702 | +class CouplingOrder(object): |
703 | + |
704 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
705 | + |
706 | + global all_orders |
707 | + all_orders.append(self) |
708 | + |
709 | + self.name = name |
710 | + self.expansion_order = expansion_order |
711 | + self.hierarchy = hierarchy |
712 | + |
713 | |
714 | |
715 | |
716 | === modified file 'models/RS/__init__.py' |
717 | --- models/RS/__init__.py 2011-04-10 15:43:51 +0000 |
718 | +++ models/RS/__init__.py 2011-07-22 20:26:18 +0000 |
719 | @@ -4,6 +4,7 @@ |
720 | import lorentz |
721 | import parameters |
722 | import vertices |
723 | +import coupling_orders |
724 | import write_param_card |
725 | |
726 | |
727 | @@ -12,9 +13,10 @@ |
728 | all_couplings = couplings.all_couplings |
729 | all_lorentz = lorentz.all_lorentz |
730 | all_parameters = parameters.all_parameters |
731 | +all_orders = coupling_orders.all_orders |
732 | all_functions = function_library.all_functions |
733 | |
734 | |
735 | -__author__ = "Priscila de Aquino" |
736 | -__version__ = "2.0" |
737 | -__email__ = "priscila@itf.kuleuven.be" |
738 | +__author__ = "N. Christensen, C. Duhr" |
739 | +__version__ = "1.3" |
740 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
741 | |
742 | === added file 'models/RS/coupling_orders.py' |
743 | --- models/RS/coupling_orders.py 1970-01-01 00:00:00 +0000 |
744 | +++ models/RS/coupling_orders.py 2011-07-22 20:26:18 +0000 |
745 | @@ -0,0 +1,15 @@ |
746 | +# This file was automatically created by FeynRules $Revision: 634 $ |
747 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
748 | +# Date: Tue 19 Jul 2011 18:23:49 |
749 | + |
750 | + |
751 | +from object_library import all_orders, CouplingOrder |
752 | + |
753 | + |
754 | +QCD = CouplingOrder(name = 'QCD', |
755 | + expansion_order = -1, |
756 | + hierarchy = 1) |
757 | + |
758 | +QED = CouplingOrder(name = 'QED', |
759 | + expansion_order = -1, |
760 | + hierarchy = 2) |
761 | |
762 | === modified file 'models/RS/object_library.py' |
763 | --- models/RS/object_library.py 2011-04-10 15:43:51 +0000 |
764 | +++ models/RS/object_library.py 2011-07-22 20:26:18 +0000 |
765 | @@ -1,228 +1,245 @@ |
766 | -## |
767 | -## |
768 | -## Feynrules Header |
769 | -## |
770 | -## |
771 | -## |
772 | -## |
773 | -## |
774 | - |
775 | -import cmath |
776 | - |
777 | - |
778 | -class FRBaseClass(object): |
779 | - """The class from which all FeynRules classes are derived.""" |
780 | - |
781 | - require_args = [] |
782 | - |
783 | - def __init__(self, *args, **options): |
784 | - assert(len(self.require_args) == len (args)) |
785 | - |
786 | - for i, name in enumerate(self.require_args): |
787 | - setattr(self, name, args[i]) |
788 | - |
789 | - for (option, value) in options.items(): |
790 | - setattr(self, option, value) |
791 | - |
792 | - def get(self, name): |
793 | - return getattr(self, name) |
794 | - |
795 | - def set(self, name, value): |
796 | - setattr(self, name, value) |
797 | - |
798 | - def get_all(self): |
799 | - """Return a dictionary containing all the information of the object""" |
800 | - return self.__dict__ |
801 | - |
802 | - def __str__(self): |
803 | - return self.name |
804 | - |
805 | - def nice_string(self): |
806 | - """ return string with the full information """ |
807 | - return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()]) |
808 | - |
809 | - def __repr__(self): |
810 | - replacements = [ |
811 | - ('+','__plus__'), |
812 | - ('-','__minus__'), |
813 | - ('@','__at__'), |
814 | - ('!','__exclam__'), |
815 | - ('?','__quest__'), |
816 | - ('*','__star__'), |
817 | - ('~','__tilde__') |
818 | - ] |
819 | - text = self.name |
820 | - for orig,sub in replacements: |
821 | - text = text.replace(orig,sub) |
822 | - return text |
823 | - |
824 | - |
825 | - |
826 | -all_particles = [] |
827 | - |
828 | - |
829 | - |
830 | -class Particle(FRBaseClass): |
831 | - """A standard Particle""" |
832 | - |
833 | - require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge'] |
834 | - |
835 | - require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge', 'line', 'propagating', 'goldstoneboson'] |
836 | - |
837 | - def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname, |
838 | - antitexname, charge , line=None, propagating=True, goldstoneboson=False, **options): |
839 | - |
840 | - args= (pdg_code, name, antiname, spin, color, mass, width, texname, |
841 | - antitexname, float(charge)) |
842 | - |
843 | - FRBaseClass.__init__(self, *args, **options) |
844 | - |
845 | - global all_particles |
846 | - all_particles.append(self) |
847 | - |
848 | - self.propagating = propagating |
849 | - self.goldstoneboson= goldstoneboson |
850 | - |
851 | - self.selfconjugate = (name == antiname) |
852 | - if not line: |
853 | - self.line = self.find_line_type() |
854 | - else: |
855 | - self.line = line |
856 | - |
857 | - |
858 | - def find_line_type(self): |
859 | - """ find how we draw a line if not defined |
860 | - valid output: dashed/straight/wavy/curly/double/swavy/scurly |
861 | - """ |
862 | - |
863 | - spin = self.spin |
864 | - color = self.color |
865 | - |
866 | - #use default |
867 | - if spin == 1: |
868 | - return 'dashed' |
869 | - elif spin == 2: |
870 | - if not self.selfconjugate: |
871 | - return 'straight' |
872 | - elif color == 1: |
873 | - return 'swavy' |
874 | - else: |
875 | - return 'scurly' |
876 | - elif spin == 3: |
877 | - if color == 1: |
878 | - return 'wavy' |
879 | - |
880 | - else: |
881 | - return 'curly' |
882 | - elif spin == 5: |
883 | - return 'double' |
884 | - else: |
885 | - return 'dashed' # not supported yet |
886 | - |
887 | - def anti(self): |
888 | - if self.selfconjugate: |
889 | - raise Exception('%s has no anti particle.' % self.name) |
890 | - outdic = {} |
891 | - for k,v in self.__dict__.iteritems(): |
892 | - if k not in self.require_args_all: |
893 | - outdic[k] = -v |
894 | - if self.color in [1,8]: |
895 | - newcolor = self.color |
896 | - else: |
897 | - newcolor = -self.color |
898 | - |
899 | - return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width, |
900 | - self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic) |
901 | - |
902 | - |
903 | - |
904 | -all_parameters = [] |
905 | - |
906 | -class Parameter(FRBaseClass): |
907 | - |
908 | - require_args=['name', 'nature', 'type', 'value', 'texname'] |
909 | - |
910 | - def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None): |
911 | - |
912 | - args = (name,nature,type,value,texname) |
913 | - |
914 | - FRBaseClass.__init__(self, *args) |
915 | - |
916 | - args=(name,nature,type,value,texname) |
917 | - |
918 | - global all_parameters |
919 | - all_parameters.append(self) |
920 | - |
921 | - if (lhablock is None or lhacode is None) and nature == 'external': |
922 | - raise Exception('Need LHA information for external parameter "%s".' % name) |
923 | - self.lhablock = lhablock |
924 | - self.lhacode = lhacode |
925 | - |
926 | -all_vertices = [] |
927 | - |
928 | -class Vertex(FRBaseClass): |
929 | - |
930 | - require_args=['name', 'particles', 'color', 'lorentz', 'couplings'] |
931 | - |
932 | - def __init__(self, name, particles, color, lorentz, couplings, **opt): |
933 | - |
934 | - args = (name, particles, color, lorentz, couplings) |
935 | - |
936 | - FRBaseClass.__init__(self, *args, **opt) |
937 | - |
938 | - args=(particles,color,lorentz,couplings) |
939 | - |
940 | - global all_vertices |
941 | - all_vertices.append(self) |
942 | - |
943 | -all_couplings = [] |
944 | - |
945 | -class Coupling(FRBaseClass): |
946 | - |
947 | - require_args=['name', 'value', 'order'] |
948 | - |
949 | - def __init__(self, name, value, order, **opt): |
950 | - |
951 | - args =(name, value, order) |
952 | - FRBaseClass.__init__(self, *args, **opt) |
953 | - global all_couplings |
954 | - all_couplings.append(self) |
955 | - |
956 | - |
957 | - |
958 | -all_lorentz = [] |
959 | - |
960 | -class Lorentz(FRBaseClass): |
961 | - |
962 | - require_args=['name','spins','structure'] |
963 | - |
964 | - def __init__(self, name, spins, structure='external', **opt): |
965 | - args = (name, spins, structure) |
966 | - FRBaseClass.__init__(self, *args, **opt) |
967 | - |
968 | - global all_lorentz |
969 | - all_lorentz.append(self) |
970 | - |
971 | - |
972 | -all_functions = [] |
973 | - |
974 | -class Function(object): |
975 | - |
976 | - def __init__(self, name, arguments, expression): |
977 | - |
978 | - global all_functions |
979 | - all_functions.append(self) |
980 | - |
981 | - self.name = name |
982 | - self.arguments = arguments |
983 | - self.expr = expression |
984 | - |
985 | - def __call__(self, *opt): |
986 | - |
987 | - for i, arg in enumerate(self.arguments): |
988 | - exec('%s = %s' % (arg, opt[i] )) |
989 | - |
990 | - return eval(self.expr) |
991 | - |
992 | - |
993 | - |
994 | +## |
995 | +## |
996 | +## Feynrules Header |
997 | +## |
998 | +## |
999 | +## |
1000 | +## |
1001 | +## |
1002 | + |
1003 | +import cmath |
1004 | + |
1005 | + |
1006 | +class UFOBaseClass(object): |
1007 | + """The class from which all FeynRules classes are derived.""" |
1008 | + |
1009 | + require_args = [] |
1010 | + |
1011 | + def __init__(self, *args, **options): |
1012 | + assert(len(self.require_args) == len (args)) |
1013 | + |
1014 | + for i, name in enumerate(self.require_args): |
1015 | + setattr(self, name, args[i]) |
1016 | + |
1017 | + for (option, value) in options.items(): |
1018 | + setattr(self, option, value) |
1019 | + |
1020 | + def get(self, name): |
1021 | + return getattr(self, name) |
1022 | + |
1023 | + def set(self, name, value): |
1024 | + setattr(self, name, value) |
1025 | + |
1026 | + def get_all(self): |
1027 | + """Return a dictionary containing all the information of the object""" |
1028 | + return self.__dict__ |
1029 | + |
1030 | + def __str__(self): |
1031 | + return self.name |
1032 | + |
1033 | + def nice_string(self): |
1034 | + """ return string with the full information """ |
1035 | + return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()]) |
1036 | + |
1037 | + def __repr__(self): |
1038 | + replacements = [ |
1039 | + ('+','__plus__'), |
1040 | + ('-','__minus__'), |
1041 | + ('@','__at__'), |
1042 | + ('!','__exclam__'), |
1043 | + ('?','__quest__'), |
1044 | + ('*','__star__'), |
1045 | + ('~','__tilde__') |
1046 | + ] |
1047 | + text = self.name |
1048 | + for orig,sub in replacements: |
1049 | + text = text.replace(orig,sub) |
1050 | + return text |
1051 | + |
1052 | + |
1053 | + |
1054 | +all_particles = [] |
1055 | + |
1056 | + |
1057 | + |
1058 | +class Particle(UFOBaseClass): |
1059 | + """A standard Particle""" |
1060 | + |
1061 | + require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge'] |
1062 | + |
1063 | + require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge', 'line', 'propagating', 'goldstoneboson'] |
1064 | + |
1065 | + def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname, |
1066 | + antitexname, charge , line=None, propagating=True, goldstoneboson=False, **options): |
1067 | + |
1068 | + args= (pdg_code, name, antiname, spin, color, mass, width, texname, |
1069 | + antitexname, float(charge)) |
1070 | + |
1071 | + UFOBaseClass.__init__(self, *args, **options) |
1072 | + |
1073 | + global all_particles |
1074 | + all_particles.append(self) |
1075 | + |
1076 | + self.propagating = propagating |
1077 | + self.goldstoneboson= goldstoneboson |
1078 | + |
1079 | + self.selfconjugate = (name == antiname) |
1080 | + if 1: #not line: |
1081 | + self.line = self.find_line_type() |
1082 | + else: |
1083 | + self.line = line |
1084 | + |
1085 | + |
1086 | + |
1087 | + |
1088 | + def find_line_type(self): |
1089 | + """ find how we draw a line if not defined |
1090 | + valid output: dashed/straight/wavy/curly/double/swavy/scurly |
1091 | + """ |
1092 | + |
1093 | + spin = self.spin |
1094 | + color = self.color |
1095 | + |
1096 | + #use default |
1097 | + if spin == 1: |
1098 | + return 'dashed' |
1099 | + elif spin == 2: |
1100 | + if not self.selfconjugate: |
1101 | + return 'straight' |
1102 | + elif color == 1: |
1103 | + return 'swavy' |
1104 | + else: |
1105 | + return 'scurly' |
1106 | + elif spin == 3: |
1107 | + if color == 1: |
1108 | + return 'wavy' |
1109 | + |
1110 | + else: |
1111 | + return 'curly' |
1112 | + elif spin == 5: |
1113 | + return 'double' |
1114 | + elif spin == -1: |
1115 | + return 'dotted' |
1116 | + else: |
1117 | + return 'dashed' # not supported yet |
1118 | + |
1119 | + def anti(self): |
1120 | + if self.selfconjugate: |
1121 | + raise Exception('%s has no anti particle.' % self.name) |
1122 | + outdic = {} |
1123 | + for k,v in self.__dict__.iteritems(): |
1124 | + if k not in self.require_args_all: |
1125 | + outdic[k] = -v |
1126 | + if self.color in [1,8]: |
1127 | + newcolor = self.color |
1128 | + else: |
1129 | + newcolor = -self.color |
1130 | + |
1131 | + return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width, |
1132 | + self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic) |
1133 | + |
1134 | + |
1135 | + |
1136 | +all_parameters = [] |
1137 | + |
1138 | +class Parameter(UFOBaseClass): |
1139 | + |
1140 | + require_args=['name', 'nature', 'type', 'value', 'texname'] |
1141 | + |
1142 | + def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None): |
1143 | + |
1144 | + args = (name,nature,type,value,texname) |
1145 | + |
1146 | + UFOBaseClass.__init__(self, *args) |
1147 | + |
1148 | + args=(name,nature,type,value,texname) |
1149 | + |
1150 | + global all_parameters |
1151 | + all_parameters.append(self) |
1152 | + |
1153 | + if (lhablock is None or lhacode is None) and nature == 'external': |
1154 | + raise Exception('Need LHA information for external parameter "%s".' % name) |
1155 | + self.lhablock = lhablock |
1156 | + self.lhacode = lhacode |
1157 | + |
1158 | +all_vertices = [] |
1159 | + |
1160 | +class Vertex(UFOBaseClass): |
1161 | + |
1162 | + require_args=['name', 'particles', 'color', 'lorentz', 'couplings'] |
1163 | + |
1164 | + def __init__(self, name, particles, color, lorentz, couplings, **opt): |
1165 | + |
1166 | + args = (name, particles, color, lorentz, couplings) |
1167 | + |
1168 | + UFOBaseClass.__init__(self, *args, **opt) |
1169 | + |
1170 | + args=(particles,color,lorentz,couplings) |
1171 | + |
1172 | + global all_vertices |
1173 | + all_vertices.append(self) |
1174 | + |
1175 | +all_couplings = [] |
1176 | + |
1177 | +class Coupling(UFOBaseClass): |
1178 | + |
1179 | + require_args=['name', 'value', 'order'] |
1180 | + |
1181 | + def __init__(self, name, value, order, **opt): |
1182 | + |
1183 | + args =(name, value, order) |
1184 | + UFOBaseClass.__init__(self, *args, **opt) |
1185 | + global all_couplings |
1186 | + all_couplings.append(self) |
1187 | + |
1188 | + |
1189 | + |
1190 | +all_lorentz = [] |
1191 | + |
1192 | +class Lorentz(UFOBaseClass): |
1193 | + |
1194 | + require_args=['name','spins','structure'] |
1195 | + |
1196 | + def __init__(self, name, spins, structure='external', **opt): |
1197 | + args = (name, spins, structure) |
1198 | + UFOBaseClass.__init__(self, *args, **opt) |
1199 | + |
1200 | + global all_lorentz |
1201 | + all_lorentz.append(self) |
1202 | + |
1203 | + |
1204 | +all_functions = [] |
1205 | + |
1206 | +class Function(object): |
1207 | + |
1208 | + def __init__(self, name, arguments, expression): |
1209 | + |
1210 | + global all_functions |
1211 | + all_functions.append(self) |
1212 | + |
1213 | + self.name = name |
1214 | + self.arguments = arguments |
1215 | + self.expr = expression |
1216 | + |
1217 | + def __call__(self, *opt): |
1218 | + |
1219 | + for i, arg in enumerate(self.arguments): |
1220 | + exec('%s = %s' % (arg, opt[i] )) |
1221 | + |
1222 | + return eval(self.expr) |
1223 | + |
1224 | +all_orders = [] |
1225 | + |
1226 | +class CouplingOrder(object): |
1227 | + |
1228 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
1229 | + |
1230 | + global all_orders |
1231 | + all_orders.append(self) |
1232 | + |
1233 | + self.name = name |
1234 | + self.expansion_order = expansion_order |
1235 | + self.hierarchy = hierarchy |
1236 | + |
1237 | + |
1238 | + |
1239 | |
1240 | === modified file 'models/SMScalars/__init__.py' |
1241 | --- models/SMScalars/__init__.py 2011-04-10 15:43:51 +0000 |
1242 | +++ models/SMScalars/__init__.py 2011-07-22 20:26:18 +0000 |
1243 | @@ -4,6 +4,7 @@ |
1244 | import lorentz |
1245 | import parameters |
1246 | import vertices |
1247 | +import coupling_orders |
1248 | import write_param_card |
1249 | |
1250 | |
1251 | @@ -12,9 +13,10 @@ |
1252 | all_couplings = couplings.all_couplings |
1253 | all_lorentz = lorentz.all_lorentz |
1254 | all_parameters = parameters.all_parameters |
1255 | +all_orders = coupling_orders.all_orders |
1256 | all_functions = function_library.all_functions |
1257 | |
1258 | |
1259 | -__author__ = "C. Duhr" |
1260 | -__version__ = "1.0" |
1261 | -__email__ = "claude.duhr@uclouvain.be" |
1262 | +__author__ = "N. Christensen, C. Duhr" |
1263 | +__version__ = "1.3" |
1264 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
1265 | |
1266 | === added file 'models/SMScalars/coupling_orders.py' |
1267 | --- models/SMScalars/coupling_orders.py 1970-01-01 00:00:00 +0000 |
1268 | +++ models/SMScalars/coupling_orders.py 2011-07-22 20:26:18 +0000 |
1269 | @@ -0,0 +1,15 @@ |
1270 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1271 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1272 | +# Date: Tue 19 Jul 2011 18:23:49 |
1273 | + |
1274 | + |
1275 | +from object_library import all_orders, CouplingOrder |
1276 | + |
1277 | + |
1278 | +QCD = CouplingOrder(name = 'QCD', |
1279 | + expansion_order = -1, |
1280 | + hierarchy = 1) |
1281 | + |
1282 | +QED = CouplingOrder(name = 'QED', |
1283 | + expansion_order = -1, |
1284 | + hierarchy = 2) |
1285 | |
1286 | === modified file 'models/SMScalars/object_library.py' |
1287 | --- models/SMScalars/object_library.py 2011-04-10 15:43:51 +0000 |
1288 | +++ models/SMScalars/object_library.py 2011-07-22 20:26:18 +0000 |
1289 | @@ -228,5 +228,18 @@ |
1290 | |
1291 | return eval(self.expr) |
1292 | |
1293 | +all_orders = [] |
1294 | + |
1295 | +class CouplingOrder(object): |
1296 | + |
1297 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
1298 | + |
1299 | + global all_orders |
1300 | + all_orders.append(self) |
1301 | + |
1302 | + self.name = name |
1303 | + self.expansion_order = expansion_order |
1304 | + self.hierarchy = hierarchy |
1305 | + |
1306 | |
1307 | |
1308 | |
1309 | === added file 'models/heft/HEFT_UFO.log' |
1310 | --- models/heft/HEFT_UFO.log 1970-01-01 00:00:00 +0000 |
1311 | +++ models/heft/HEFT_UFO.log 2011-07-22 20:26:18 +0000 |
1312 | @@ -0,0 +1,75 @@ |
1313 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1314 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1315 | +# Date: Wed 20 Jul 2011 12:57:52 |
1316 | + |
1317 | + |
1318 | +# |
1319 | +# This is the logfile for the model Higgs_Effective_Couplings |
1320 | + |
1321 | +# Authors: N. Christensen, C. Duhr |
1322 | +# Model version: 1.3 |
1323 | +# Checking the Lagrangians |
1324 | + * All Lagrangians are ok. |
1325 | +# |
1326 | +# Particle definitions |
1327 | +# |
1328 | + |
1329 | + * No particles removed. All particles correspond to GenInt setup. |
1330 | + |
1331 | +# Automatically assigned PDG numbers |
1332 | + * Assigned PDG number 9000001 to particle ghA |
1333 | + * Assigned PDG number 9000002 to particle ghZ |
1334 | + * Assigned PDG number 9000003 to particle ghWp |
1335 | + * Assigned PDG number 9000004 to particle ghWm |
1336 | + * Assigned PDG number 9000005 to particle ghG |
1337 | + * Assigned PDG number 9000006 to particle h1 |
1338 | + |
1339 | + |
1340 | +# Compulsory PDG codes: |
1341 | + * Class SM leptons complete. |
1342 | + * Class SM neutrinos complete. |
1343 | + * Class SM quarks complete. |
1344 | + * Class SM gauge bosons complete. |
1345 | +# |
1346 | +# Parameter definitions |
1347 | +# |
1348 | + |
1349 | + * All parameters are ok. |
1350 | + |
1351 | + |
1352 | +# Vertices |
1353 | + * Calling FeynmanRules for 1 Lagrangians. |
1354 | + * Number of classes vertices: 36 |
1355 | + * Number of flavored vertices: 77 |
1356 | + * Saved vertices in InterfaceRun[ 1 ]. |
1357 | + * Removing all ghosts and Goldstone bosons form the output. |
1358 | + * Checked QNumber conservation. |
1359 | + - Quantum number GhostNumber conserved in all vertices. |
1360 | + - Quantum number LeptonNumber conserved in all vertices. |
1361 | + - Quantum number Q conserved in all vertices. |
1362 | + * particles.py written. |
1363 | + * parameters.py written. |
1364 | +# |
1365 | +# Vertex definitions |
1366 | +# |
1367 | + |
1368 | + * 76 vertices written. |
1369 | + * vertices.py written. |
1370 | +# |
1371 | +# Lorentz structure definitions |
1372 | +# |
1373 | + |
1374 | + * 22 lorentz structures written. |
1375 | + * lorentz.py written. |
1376 | +# |
1377 | +# Coupling definitions |
1378 | +# |
1379 | + |
1380 | + * 53 couplings written. |
1381 | + * couplings.py written. |
1382 | +# |
1383 | +# Coupling order definitions |
1384 | +# |
1385 | + |
1386 | + * 0 couplings orders written. |
1387 | + * coupling_orders.py written. |
1388 | |
1389 | === removed file 'models/heft/Higgs_Effective_Couplings_UFO.log' |
1390 | --- models/heft/Higgs_Effective_Couplings_UFO.log 2011-05-28 20:11:29 +0000 |
1391 | +++ models/heft/Higgs_Effective_Couplings_UFO.log 1970-01-01 00:00:00 +0000 |
1392 | @@ -1,69 +0,0 @@ |
1393 | -# This file was automatically created by FeynRules $Revision: 623 $ |
1394 | -# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1395 | -# Date: Sat 28 May 2011 18:07:33 |
1396 | - |
1397 | - |
1398 | -# |
1399 | -# This is the logfile for the model Higgs_Effective_Couplings |
1400 | - |
1401 | -# Authors: N. Christensen, C. Duhr |
1402 | -# Model version: 1.3 |
1403 | -# Checking the Lagrangians |
1404 | - * All Lagrangians are ok. |
1405 | -# |
1406 | -# Particle definitions |
1407 | -# |
1408 | - |
1409 | - * No particles removed. All particles correspond to GenInt setup. |
1410 | - |
1411 | -# Automatically assigned PDG numbers |
1412 | - * Assigned PDG number 9000001 to particle ghA |
1413 | - * Assigned PDG number 9000002 to particle ghZ |
1414 | - * Assigned PDG number 9000003 to particle ghWp |
1415 | - * Assigned PDG number 9000004 to particle ghWm |
1416 | - * Assigned PDG number 9000005 to particle ghG |
1417 | - * Assigned PDG number 9000006 to particle h1 |
1418 | - |
1419 | - |
1420 | -# Compulsory PDG codes: |
1421 | - * Class SM leptons complete. |
1422 | - * Class SM neutrinos complete. |
1423 | - * Class SM quarks complete. |
1424 | - * Class SM gauge bosons complete. |
1425 | -# |
1426 | -# Parameter definitions |
1427 | -# |
1428 | - |
1429 | - * All parameters are ok. |
1430 | - |
1431 | - |
1432 | -# Vertices |
1433 | - * Calling FeynmanRules for 1 Lagrangians. |
1434 | - * Number of classes vertices: 36 |
1435 | - * Number of flavored vertices: 74 |
1436 | - * Saved vertices in InterfaceRun[ 1 ]. |
1437 | - * Removing all ghosts and Goldstone bosons form the output. |
1438 | - * Checked QNumber conservation. |
1439 | - - Quantum number GhostNumber conserved in all vertices. |
1440 | - - Quantum number LeptonNumber conserved in all vertices. |
1441 | - - Quantum number Q conserved in all vertices. |
1442 | - * particles.py written. |
1443 | - * parameters.py written. |
1444 | -# |
1445 | -# Vertex definitions |
1446 | -# |
1447 | - |
1448 | - * 73 vertices written. |
1449 | - * vertices.py written. |
1450 | -# |
1451 | -# Lorentz structure definitions |
1452 | -# |
1453 | - |
1454 | - * 22 lorentz structures written. |
1455 | - * lorentz.py written. |
1456 | -# |
1457 | -# Coupling definitions |
1458 | -# |
1459 | - |
1460 | - * 50 couplings written. |
1461 | - * couplings.py written. |
1462 | |
1463 | === modified file 'models/heft/__init__.py' |
1464 | --- models/heft/__init__.py 2011-04-10 15:43:51 +0000 |
1465 | +++ models/heft/__init__.py 2011-07-22 20:26:18 +0000 |
1466 | @@ -4,6 +4,7 @@ |
1467 | import lorentz |
1468 | import parameters |
1469 | import vertices |
1470 | +import coupling_orders |
1471 | import write_param_card |
1472 | |
1473 | |
1474 | @@ -12,6 +13,7 @@ |
1475 | all_couplings = couplings.all_couplings |
1476 | all_lorentz = lorentz.all_lorentz |
1477 | all_parameters = parameters.all_parameters |
1478 | +all_orders = coupling_orders.all_orders |
1479 | all_functions = function_library.all_functions |
1480 | |
1481 | |
1482 | |
1483 | === added file 'models/heft/coupling_orders.py' |
1484 | --- models/heft/coupling_orders.py 1970-01-01 00:00:00 +0000 |
1485 | +++ models/heft/coupling_orders.py 2011-07-22 20:26:18 +0000 |
1486 | @@ -0,0 +1,24 @@ |
1487 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1488 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1489 | +# Date: Wed 20 Jul 2011 12:58:03 |
1490 | + |
1491 | + |
1492 | +from object_library import all_orders, CouplingOrder |
1493 | + |
1494 | + |
1495 | +QCD = CouplingOrder(name = 'QCD', |
1496 | + expansion_order = 99, |
1497 | + hierarchy = 1) |
1498 | + |
1499 | +QED = CouplingOrder(name = 'QED', |
1500 | + expansion_order = 99, |
1501 | + hierarchy = 2) |
1502 | + |
1503 | +HIG = CouplingOrder(name = 'HIG', |
1504 | + expansion_order = 1, |
1505 | + hierarchy = 2) |
1506 | + |
1507 | +HIW = CouplingOrder(name = 'HIW', |
1508 | + expansion_order = 1, |
1509 | + hierarchy = 2) |
1510 | + |
1511 | |
1512 | === modified file 'models/heft/couplings.py' |
1513 | --- models/heft/couplings.py 2011-05-28 20:11:29 +0000 |
1514 | +++ models/heft/couplings.py 2011-07-22 20:26:18 +0000 |
1515 | @@ -1,6 +1,6 @@ |
1516 | -# This file was automatically created by FeynRules $Revision: 623 $ |
1517 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1518 | # Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1519 | -# Date: Sat 28 May 2011 18:07:45 |
1520 | +# Date: Wed 20 Jul 2011 12:58:03 |
1521 | |
1522 | |
1523 | from object_library import all_couplings, Coupling |
1524 | @@ -166,46 +166,58 @@ |
1525 | order = {'QED':1}) |
1526 | |
1527 | GC_40 = Coupling(name = 'GC_40', |
1528 | + value = '-((complex(0,1)*yc)/cmath.sqrt(2))', |
1529 | + order = {'QED':1}) |
1530 | + |
1531 | +GC_41 = Coupling(name = 'GC_41', |
1532 | + value = '-((complex(0,1)*ye)/cmath.sqrt(2))', |
1533 | + order = {'QED':1}) |
1534 | + |
1535 | +GC_42 = Coupling(name = 'GC_42', |
1536 | + value = '-((complex(0,1)*ym)/cmath.sqrt(2))', |
1537 | + order = {'QED':1}) |
1538 | + |
1539 | +GC_43 = Coupling(name = 'GC_43', |
1540 | value = '-((complex(0,1)*yt)/cmath.sqrt(2))', |
1541 | order = {'QED':1}) |
1542 | |
1543 | -GC_41 = Coupling(name = 'GC_41', |
1544 | +GC_44 = Coupling(name = 'GC_44', |
1545 | value = '-((complex(0,1)*ytau)/cmath.sqrt(2))', |
1546 | order = {'QED':1}) |
1547 | |
1548 | -GC_42 = Coupling(name = 'GC_42', |
1549 | +GC_45 = Coupling(name = 'GC_45', |
1550 | value = '(ee*complex(0,1)*complexconjugate(CKM11))/(sw*cmath.sqrt(2))', |
1551 | order = {'QED':1}) |
1552 | |
1553 | -GC_43 = Coupling(name = 'GC_43', |
1554 | +GC_46 = Coupling(name = 'GC_46', |
1555 | value = '(ee*complex(0,1)*complexconjugate(CKM12))/(sw*cmath.sqrt(2))', |
1556 | order = {'QED':1}) |
1557 | |
1558 | -GC_44 = Coupling(name = 'GC_44', |
1559 | +GC_47 = Coupling(name = 'GC_47', |
1560 | value = '(ee*complex(0,1)*complexconjugate(CKM13))/(sw*cmath.sqrt(2))', |
1561 | order = {'QED':1}) |
1562 | |
1563 | -GC_45 = Coupling(name = 'GC_45', |
1564 | +GC_48 = Coupling(name = 'GC_48', |
1565 | value = '(ee*complex(0,1)*complexconjugate(CKM21))/(sw*cmath.sqrt(2))', |
1566 | order = {'QED':1}) |
1567 | |
1568 | -GC_46 = Coupling(name = 'GC_46', |
1569 | +GC_49 = Coupling(name = 'GC_49', |
1570 | value = '(ee*complex(0,1)*complexconjugate(CKM22))/(sw*cmath.sqrt(2))', |
1571 | order = {'QED':1}) |
1572 | |
1573 | -GC_47 = Coupling(name = 'GC_47', |
1574 | +GC_50 = Coupling(name = 'GC_50', |
1575 | value = '(ee*complex(0,1)*complexconjugate(CKM23))/(sw*cmath.sqrt(2))', |
1576 | order = {'QED':1}) |
1577 | |
1578 | -GC_48 = Coupling(name = 'GC_48', |
1579 | +GC_51 = Coupling(name = 'GC_51', |
1580 | value = '(ee*complex(0,1)*complexconjugate(CKM31))/(sw*cmath.sqrt(2))', |
1581 | order = {'QED':1}) |
1582 | |
1583 | -GC_49 = Coupling(name = 'GC_49', |
1584 | +GC_52 = Coupling(name = 'GC_52', |
1585 | value = '(ee*complex(0,1)*complexconjugate(CKM32))/(sw*cmath.sqrt(2))', |
1586 | order = {'QED':1}) |
1587 | |
1588 | -GC_50 = Coupling(name = 'GC_50', |
1589 | +GC_53 = Coupling(name = 'GC_53', |
1590 | value = '(ee*complex(0,1)*complexconjugate(CKM33))/(sw*cmath.sqrt(2))', |
1591 | order = {'QED':1}) |
1592 | |
1593 | |
1594 | === modified file 'models/heft/lorentz.py' |
1595 | --- models/heft/lorentz.py 2011-05-28 20:11:29 +0000 |
1596 | +++ models/heft/lorentz.py 2011-07-22 20:26:18 +0000 |
1597 | @@ -1,6 +1,6 @@ |
1598 | -# This file was automatically created by FeynRules $Revision: 623 $ |
1599 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1600 | # Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1601 | -# Date: Sat 28 May 2011 18:07:45 |
1602 | +# Date: Wed 20 Jul 2011 12:58:03 |
1603 | |
1604 | |
1605 | from object_library import all_lorentz, Lorentz |
1606 | |
1607 | === modified file 'models/heft/object_library.py' |
1608 | --- models/heft/object_library.py 2011-05-28 20:11:29 +0000 |
1609 | +++ models/heft/object_library.py 2011-07-22 20:26:18 +0000 |
1610 | @@ -230,9 +230,9 @@ |
1611 | |
1612 | all_orders = [] |
1613 | |
1614 | -class Order(object): |
1615 | +class CouplingOrder(object): |
1616 | |
1617 | - def __init__(self, name, expansion_order, hierarchy): |
1618 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
1619 | |
1620 | global all_orders |
1621 | all_orders.append(self) |
1622 | |
1623 | === modified file 'models/heft/parameters.py' |
1624 | --- models/heft/parameters.py 2011-05-28 20:11:29 +0000 |
1625 | +++ models/heft/parameters.py 2011-07-22 20:26:18 +0000 |
1626 | @@ -1,6 +1,6 @@ |
1627 | -# This file was automatically created by FeynRules $Revision: 623 $ |
1628 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1629 | # Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1630 | -# Date: Sat 28 May 2011 18:07:45 |
1631 | +# Date: Wed 20 Jul 2011 12:58:03 |
1632 | |
1633 | |
1634 | |
1635 | @@ -44,7 +44,7 @@ |
1636 | lamWS = Parameter(name = 'lamWS', |
1637 | nature = 'external', |
1638 | type = 'real', |
1639 | - value = 0, |
1640 | + value = 0.2253, |
1641 | texname = '\\text{lamWS}', |
1642 | lhablock = 'Wolfenstein', |
1643 | lhacode = [ 1 ]) |
1644 | @@ -52,7 +52,7 @@ |
1645 | AWS = Parameter(name = 'AWS', |
1646 | nature = 'external', |
1647 | type = 'real', |
1648 | - value = 0, |
1649 | + value = 0.808, |
1650 | texname = '\\text{AWS}', |
1651 | lhablock = 'Wolfenstein', |
1652 | lhacode = [ 2 ]) |
1653 | @@ -60,7 +60,7 @@ |
1654 | rhoWS = Parameter(name = 'rhoWS', |
1655 | nature = 'external', |
1656 | type = 'real', |
1657 | - value = 0, |
1658 | + value = 0.132, |
1659 | texname = '\\text{rhoWS}', |
1660 | lhablock = 'Wolfenstein', |
1661 | lhacode = [ 3 ]) |
1662 | @@ -68,15 +68,23 @@ |
1663 | etaWS = Parameter(name = 'etaWS', |
1664 | nature = 'external', |
1665 | type = 'real', |
1666 | - value = 0, |
1667 | + value = 0.341, |
1668 | texname = '\\text{etaWS}', |
1669 | lhablock = 'Wolfenstein', |
1670 | lhacode = [ 4 ]) |
1671 | |
1672 | +ymc = Parameter(name = 'ymc', |
1673 | + nature = 'external', |
1674 | + type = 'real', |
1675 | + value = 1.27, |
1676 | + texname = '\\text{ymc}', |
1677 | + lhablock = 'YUKAWA', |
1678 | + lhacode = [ 4 ]) |
1679 | + |
1680 | ymb = Parameter(name = 'ymb', |
1681 | nature = 'external', |
1682 | type = 'real', |
1683 | - value = 4.7, |
1684 | + value = 4.2, |
1685 | texname = '\\text{ymb}', |
1686 | lhablock = 'YUKAWA', |
1687 | lhacode = [ 5 ]) |
1688 | @@ -84,11 +92,27 @@ |
1689 | ymt = Parameter(name = 'ymt', |
1690 | nature = 'external', |
1691 | type = 'real', |
1692 | - value = 172., |
1693 | + value = 164.5, |
1694 | texname = '\\text{ymt}', |
1695 | lhablock = 'YUKAWA', |
1696 | lhacode = [ 6 ]) |
1697 | |
1698 | +yme = Parameter(name = 'yme', |
1699 | + nature = 'external', |
1700 | + type = 'real', |
1701 | + value = 0.0005110000000000001, |
1702 | + texname = '\\text{yme}', |
1703 | + lhablock = 'YUKAWA', |
1704 | + lhacode = [ 11 ]) |
1705 | + |
1706 | +ymm = Parameter(name = 'ymm', |
1707 | + nature = 'external', |
1708 | + type = 'real', |
1709 | + value = 0.10566, |
1710 | + texname = '\\text{ymm}', |
1711 | + lhablock = 'YUKAWA', |
1712 | + lhacode = [ 13 ]) |
1713 | + |
1714 | ymtau = Parameter(name = 'ymtau', |
1715 | nature = 'external', |
1716 | type = 'real', |
1717 | @@ -97,18 +121,18 @@ |
1718 | lhablock = 'YUKAWA', |
1719 | lhacode = [ 15 ]) |
1720 | |
1721 | -MTA = Parameter(name = 'MTA', |
1722 | - nature = 'external', |
1723 | - type = 'real', |
1724 | - value = 1.777, |
1725 | - texname = '\\text{MTA}', |
1726 | - lhablock = 'MASS', |
1727 | - lhacode = [ 15 ]) |
1728 | +MC = Parameter(name = 'MC', |
1729 | + nature = 'external', |
1730 | + type = 'real', |
1731 | + value = 1.42, |
1732 | + texname = '\\text{MC}', |
1733 | + lhablock = 'MASS', |
1734 | + lhacode = [ 4 ]) |
1735 | |
1736 | MT = Parameter(name = 'MT', |
1737 | nature = 'external', |
1738 | type = 'real', |
1739 | - value = 172, |
1740 | + value = 172., |
1741 | texname = '\\text{MT}', |
1742 | lhablock = 'MASS', |
1743 | lhacode = [ 6 ]) |
1744 | @@ -132,11 +156,35 @@ |
1745 | MH = Parameter(name = 'MH', |
1746 | nature = 'external', |
1747 | type = 'real', |
1748 | - value = 120, |
1749 | + value = 120., |
1750 | texname = '\\text{MH}', |
1751 | lhablock = 'MASS', |
1752 | lhacode = [ 25 ]) |
1753 | |
1754 | +Me = Parameter(name = 'Me', |
1755 | + nature = 'external', |
1756 | + type = 'real', |
1757 | + value = 0.0005110000000000001, |
1758 | + texname = '\\text{Me}', |
1759 | + lhablock = 'MASS', |
1760 | + lhacode = [ 11 ]) |
1761 | + |
1762 | +MM = Parameter(name = 'MM', |
1763 | + nature = 'external', |
1764 | + type = 'real', |
1765 | + value = 0.10566, |
1766 | + texname = '\\text{MM}', |
1767 | + lhablock = 'MASS', |
1768 | + lhacode = [ 13 ]) |
1769 | + |
1770 | +MTA = Parameter(name = 'MTA', |
1771 | + nature = 'external', |
1772 | + type = 'real', |
1773 | + value = 1.777, |
1774 | + texname = '\\text{MTA}', |
1775 | + lhablock = 'MASS', |
1776 | + lhacode = [ 15 ]) |
1777 | + |
1778 | MP = Parameter(name = 'MP', |
1779 | nature = 'external', |
1780 | type = 'real', |
1781 | @@ -148,7 +196,7 @@ |
1782 | WT = Parameter(name = 'WT', |
1783 | nature = 'external', |
1784 | type = 'real', |
1785 | - value = 1.4611, |
1786 | + value = 1.50833649, |
1787 | texname = '\\text{WT}', |
1788 | lhablock = 'DECAY', |
1789 | lhacode = [ 6 ]) |
1790 | @@ -177,6 +225,14 @@ |
1791 | lhablock = 'DECAY', |
1792 | lhacode = [ 25 ]) |
1793 | |
1794 | +WTau = Parameter(name = 'WTau', |
1795 | + nature = 'external', |
1796 | + type = 'real', |
1797 | + value = 2.27e-12, |
1798 | + texname = '\\text{WTau}', |
1799 | + lhablock = 'DECAY', |
1800 | + lhacode = [ 15 ]) |
1801 | + |
1802 | WH1 = Parameter(name = 'WH1', |
1803 | nature = 'external', |
1804 | type = 'real', |
1805 | @@ -200,7 +256,7 @@ |
1806 | CKM13 = Parameter(name = 'CKM13', |
1807 | nature = 'internal', |
1808 | type = 'complex', |
1809 | - value = 'AWS*lamWS*(-(etaWS*complex(0,1)) + rhoWS)', |
1810 | + value = 'AWS*lamWS**3*(-(etaWS*complex(0,1)) + rhoWS)', |
1811 | texname = '\\text{CKM13}') |
1812 | |
1813 | CKM21 = Parameter(name = 'CKM21', |
1814 | @@ -329,6 +385,24 @@ |
1815 | value = '(ymb*cmath.sqrt(2))/v', |
1816 | texname = '\\text{yb}') |
1817 | |
1818 | +yc = Parameter(name = 'yc', |
1819 | + nature = 'internal', |
1820 | + type = 'real', |
1821 | + value = '(ymc*cmath.sqrt(2))/v', |
1822 | + texname = '\\text{yc}') |
1823 | + |
1824 | +ye = Parameter(name = 'ye', |
1825 | + nature = 'internal', |
1826 | + type = 'real', |
1827 | + value = '(yme*cmath.sqrt(2))/v', |
1828 | + texname = '\\text{ye}') |
1829 | + |
1830 | +ym = Parameter(name = 'ym', |
1831 | + nature = 'internal', |
1832 | + type = 'real', |
1833 | + value = '(ymm*cmath.sqrt(2))/v', |
1834 | + texname = '\\text{ym}') |
1835 | + |
1836 | yt = Parameter(name = 'yt', |
1837 | nature = 'internal', |
1838 | type = 'real', |
1839 | |
1840 | === modified file 'models/heft/particles.py' |
1841 | --- models/heft/particles.py 2011-05-28 20:11:29 +0000 |
1842 | +++ models/heft/particles.py 2011-07-22 20:26:18 +0000 |
1843 | @@ -1,6 +1,6 @@ |
1844 | -# This file was automatically created by FeynRules $Revision: 623 $ |
1845 | +# This file was automatically created by FeynRules $Revision: 634 $ |
1846 | # Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
1847 | -# Date: Sat 28 May 2011 18:07:45 |
1848 | +# Date: Wed 20 Jul 2011 12:58:03 |
1849 | |
1850 | |
1851 | from __future__ import division |
1852 | @@ -52,51 +52,6 @@ |
1853 | |
1854 | vt__tilde__ = vt.anti() |
1855 | |
1856 | -e__minus__ = Particle(pdg_code = 11, |
1857 | - name = 'e-', |
1858 | - antiname = 'e+', |
1859 | - spin = 2, |
1860 | - color = 1, |
1861 | - mass = Param.ZERO, |
1862 | - width = Param.ZERO, |
1863 | - texname = 'e-', |
1864 | - antitexname = 'e-', |
1865 | - charge = -1, |
1866 | - LeptonNumber = 1, |
1867 | - GhostNumber = 0) |
1868 | - |
1869 | -e__plus__ = e__minus__.anti() |
1870 | - |
1871 | -m__minus__ = Particle(pdg_code = 13, |
1872 | - name = 'm-', |
1873 | - antiname = 'm+', |
1874 | - spin = 2, |
1875 | - color = 1, |
1876 | - mass = Param.ZERO, |
1877 | - width = Param.ZERO, |
1878 | - texname = 'm-', |
1879 | - antitexname = 'm-', |
1880 | - charge = -1, |
1881 | - LeptonNumber = 1, |
1882 | - GhostNumber = 0) |
1883 | - |
1884 | -m__plus__ = m__minus__.anti() |
1885 | - |
1886 | -tt__minus__ = Particle(pdg_code = 15, |
1887 | - name = 'tt-', |
1888 | - antiname = 'tt+', |
1889 | - spin = 2, |
1890 | - color = 1, |
1891 | - mass = Param.MTA, |
1892 | - width = Param.ZERO, |
1893 | - texname = 'tt-', |
1894 | - antitexname = 'tt-', |
1895 | - charge = -1, |
1896 | - LeptonNumber = 1, |
1897 | - GhostNumber = 0) |
1898 | - |
1899 | -tt__plus__ = tt__minus__.anti() |
1900 | - |
1901 | u = Particle(pdg_code = 2, |
1902 | name = 'u', |
1903 | antiname = 'u~', |
1904 | @@ -117,7 +72,7 @@ |
1905 | antiname = 'c~', |
1906 | spin = 2, |
1907 | color = 3, |
1908 | - mass = Param.ZERO, |
1909 | + mass = Param.MC, |
1910 | width = Param.ZERO, |
1911 | texname = 'c', |
1912 | antitexname = 'c', |
1913 | @@ -254,6 +209,51 @@ |
1914 | LeptonNumber = 0, |
1915 | GhostNumber = 0) |
1916 | |
1917 | +e__minus__ = Particle(pdg_code = 11, |
1918 | + name = 'e-', |
1919 | + antiname = 'e+', |
1920 | + spin = 2, |
1921 | + color = 1, |
1922 | + mass = Param.Me, |
1923 | + width = Param.ZERO, |
1924 | + texname = 'e-', |
1925 | + antitexname = 'e-', |
1926 | + charge = -1, |
1927 | + LeptonNumber = 1, |
1928 | + GhostNumber = 0) |
1929 | + |
1930 | +e__plus__ = e__minus__.anti() |
1931 | + |
1932 | +m__minus__ = Particle(pdg_code = 13, |
1933 | + name = 'm-', |
1934 | + antiname = 'm+', |
1935 | + spin = 2, |
1936 | + color = 1, |
1937 | + mass = Param.MM, |
1938 | + width = Param.ZERO, |
1939 | + texname = 'm-', |
1940 | + antitexname = 'm-', |
1941 | + charge = -1, |
1942 | + LeptonNumber = 1, |
1943 | + GhostNumber = 0) |
1944 | + |
1945 | +m__plus__ = m__minus__.anti() |
1946 | + |
1947 | +tt__minus__ = Particle(pdg_code = 15, |
1948 | + name = 'tt-', |
1949 | + antiname = 'tt+', |
1950 | + spin = 2, |
1951 | + color = 1, |
1952 | + mass = Param.MTA, |
1953 | + width = Param.WTau, |
1954 | + texname = 'tt-', |
1955 | + antitexname = 'tt-', |
1956 | + charge = -1, |
1957 | + LeptonNumber = 1, |
1958 | + GhostNumber = 0) |
1959 | + |
1960 | +tt__plus__ = tt__minus__.anti() |
1961 | + |
1962 | h1 = Particle(pdg_code = 9000006, |
1963 | name = 'h1', |
1964 | antiname = 'h1', |
1965 | |
1966 | === added file 'models/heft/restrict_ckm.dat' |
1967 | --- models/heft/restrict_ckm.dat 1970-01-01 00:00:00 +0000 |
1968 | +++ models/heft/restrict_ckm.dat 2011-07-22 20:26:18 +0000 |
1969 | @@ -0,0 +1,53 @@ |
1970 | +###################################################################### |
1971 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
1972 | +###################################################################### |
1973 | + |
1974 | +################################### |
1975 | +## INFORMATION FOR SMINPUTS |
1976 | +################################### |
1977 | +Block SMINPUTS |
1978 | + 1 1.325070e+02 # aEWM1 |
1979 | + 2 1.166390e-05 # Gf |
1980 | + 3 1.180000e-01 # aS |
1981 | + |
1982 | +################################### |
1983 | +## INFORMATION FOR MASS |
1984 | +################################### |
1985 | +Block MASS |
1986 | + 4 0.000000e+00 # MC |
1987 | + 5 4.700000e+00 # MB |
1988 | + 6 1.730000e+02 # MT |
1989 | + 11 0.000000e+00 # Me |
1990 | + 13 0.000000e+00 # MM |
1991 | + 15 1.777000e+00 # MTA |
1992 | + 23 9.118800e+01 # MZ |
1993 | + 25 1.200000e+02 # MH |
1994 | + |
1995 | +################################### |
1996 | +## INFORMATION FOR DECAY |
1997 | +################################### |
1998 | +DECAY 6 1.491500E+00 |
1999 | +DECAY 15 0.000000e+00 |
2000 | +DECAY 23 2.441404e+00 |
2001 | +DECAY 24 2.047600e+00 |
2002 | +DECAY 25 5.753088e-03 |
2003 | + |
2004 | +################################### |
2005 | +## INFORMATION FOR WOLFENSTEIN |
2006 | +################################### |
2007 | +Block Wolfenstein |
2008 | + 1 2.253000e-01 # lamWS |
2009 | + 2 8.080000e-01 # AWS |
2010 | + 3 1.320000e-01 # rhoWS |
2011 | + 4 3.410000e-01 # etaWS |
2012 | + |
2013 | +################################### |
2014 | +## INFORMATION FOR YUKAWA |
2015 | +################################### |
2016 | +Block YUKAWA |
2017 | + 4 0.000000e+00 # ymc |
2018 | + 5 4.200000e+00 # ymb |
2019 | + 6 1.645000e+02 # ymt |
2020 | + 11 0.000000e+00 # yme |
2021 | + 13 0.000000e+00 # ymm |
2022 | + 15 1.777000e+00 # ymtau |
2023 | |
2024 | === modified file 'models/heft/restrict_default.dat' |
2025 | --- models/heft/restrict_default.dat 2011-06-02 00:11:53 +0000 |
2026 | +++ models/heft/restrict_default.dat 2011-07-22 20:26:18 +0000 |
2027 | @@ -14,21 +14,23 @@ |
2028 | ## INFORMATION FOR MASS |
2029 | ################################### |
2030 | Block MASS |
2031 | + 4 0.000000e+00 # MC |
2032 | 5 4.700000e+00 # MB |
2033 | - 6 1.720000e+02 # MT |
2034 | + 6 1.730000e+02 # MT |
2035 | + 11 0.000000e+00 # Me |
2036 | + 13 0.000000e+00 # MM |
2037 | 15 1.777000e+00 # MTA |
2038 | 23 9.118800e+01 # MZ |
2039 | 25 1.200000e+02 # MH |
2040 | - 9000006 1.200000e+02 # MP |
2041 | |
2042 | ################################### |
2043 | ## INFORMATION FOR DECAY |
2044 | ################################### |
2045 | -DECAY 6 1.439478E+00 |
2046 | +DECAY 6 1.491500E+00 |
2047 | +DECAY 15 0.000000e+00 |
2048 | DECAY 23 2.441404e+00 |
2049 | DECAY 24 2.047600e+00 |
2050 | DECAY 25 5.753088e-03 |
2051 | -DECAY 9000006 5.753088e-03 |
2052 | |
2053 | ################################### |
2054 | ## INFORMATION FOR WOLFENSTEIN |
2055 | @@ -43,15 +45,9 @@ |
2056 | ## INFORMATION FOR YUKAWA |
2057 | ################################### |
2058 | Block YUKAWA |
2059 | + 4 0.000000e+00 # ymc |
2060 | 5 4.200000e+00 # ymb |
2061 | 6 1.645000e+02 # ymt |
2062 | + 11 0.000000e+00 # yme |
2063 | + 13 0.000000e+00 # ymm |
2064 | 15 1.777000e+00 # ymtau |
2065 | -#=========================================================== |
2066 | -# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE) |
2067 | -#=========================================================== |
2068 | - |
2069 | -Block QNUMBERS 9000006 # h1 |
2070 | - 1 0 # 3 times electric charge |
2071 | - 2 3 # number of spin states (2S+1) |
2072 | - 3 1 # colour rep (1: singlet, 3: triplet, 8: octet) |
2073 | - 4 0 # Particle/Antiparticle distinction (0=own anti) |
2074 | |
2075 | === added file 'models/heft/restrict_no_b_mass.dat' |
2076 | --- models/heft/restrict_no_b_mass.dat 1970-01-01 00:00:00 +0000 |
2077 | +++ models/heft/restrict_no_b_mass.dat 2011-07-22 20:26:18 +0000 |
2078 | @@ -0,0 +1,53 @@ |
2079 | +###################################################################### |
2080 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
2081 | +###################################################################### |
2082 | + |
2083 | +################################### |
2084 | +## INFORMATION FOR SMINPUTS |
2085 | +################################### |
2086 | +Block SMINPUTS |
2087 | + 1 1.325070e+02 # aEWM1 |
2088 | + 2 1.166390e-05 # Gf |
2089 | + 3 1.180000e-01 # aS |
2090 | + |
2091 | +################################### |
2092 | +## INFORMATION FOR MASS |
2093 | +################################### |
2094 | +Block MASS |
2095 | + 4 0.000000e+00 # MC |
2096 | + 5 0.000000e+00 # MB |
2097 | + 6 1.730000e+02 # MT |
2098 | + 11 0.000000e+00 # Me |
2099 | + 13 0.000000e+00 # MM |
2100 | + 15 1.777000e+00 # MTA |
2101 | + 23 9.118800e+01 # MZ |
2102 | + 25 1.200000e+02 # MH |
2103 | + |
2104 | +################################### |
2105 | +## INFORMATION FOR DECAY |
2106 | +################################### |
2107 | +DECAY 6 1.491500E+00 |
2108 | +DECAY 15 0.000000e+00 |
2109 | +DECAY 23 2.441404e+00 |
2110 | +DECAY 24 2.047600e+00 |
2111 | +DECAY 25 5.753088e-03 |
2112 | + |
2113 | +################################### |
2114 | +## INFORMATION FOR WOLFENSTEIN |
2115 | +################################### |
2116 | +Block Wolfenstein |
2117 | + 1 0.000000e+00 # lamWS |
2118 | + 2 0.000000e+00 # AWS |
2119 | + 3 0.000000e+00 # rhoWS |
2120 | + 4 0.000000e+00 # etaWS |
2121 | + |
2122 | +################################### |
2123 | +## INFORMATION FOR YUKAWA |
2124 | +################################### |
2125 | +Block YUKAWA |
2126 | + 4 0.000000e+00 # ymc |
2127 | + 5 0.000000e+00 # ymb |
2128 | + 6 1.645000e+02 # ymt |
2129 | + 11 0.000000e+00 # yme |
2130 | + 13 0.000000e+00 # ymm |
2131 | + 15 1.777000e+00 # ymtau |
2132 | |
2133 | === added file 'models/heft/restrict_no_masses.dat' |
2134 | --- models/heft/restrict_no_masses.dat 1970-01-01 00:00:00 +0000 |
2135 | +++ models/heft/restrict_no_masses.dat 2011-07-22 20:26:18 +0000 |
2136 | @@ -0,0 +1,53 @@ |
2137 | +###################################################################### |
2138 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
2139 | +###################################################################### |
2140 | + |
2141 | +################################### |
2142 | +## INFORMATION FOR SMINPUTS |
2143 | +################################### |
2144 | +Block SMINPUTS |
2145 | + 1 1.325070e+02 # aEWM1 |
2146 | + 2 1.166390e-05 # Gf |
2147 | + 3 1.180000e-01 # aS |
2148 | + |
2149 | +################################### |
2150 | +## INFORMATION FOR MASS |
2151 | +################################### |
2152 | +Block MASS |
2153 | + 4 0.000000e+00 # MC |
2154 | + 5 0.000000e+00 # MB |
2155 | + 6 1.730000e+02 # MT |
2156 | + 11 0.000000e+00 # Me |
2157 | + 13 0.000000e+00 # MM |
2158 | + 15 0.000000e+00 # MTA |
2159 | + 23 9.118800e+01 # MZ |
2160 | + 25 1.200000e+02 # MH |
2161 | + |
2162 | +################################### |
2163 | +## INFORMATION FOR DECAY |
2164 | +################################### |
2165 | +DECAY 6 1.491500E+00 |
2166 | +DECAY 15 0.000000e+00 |
2167 | +DECAY 23 2.441404e+00 |
2168 | +DECAY 24 2.047600e+00 |
2169 | +DECAY 25 5.753088e-03 |
2170 | + |
2171 | +################################### |
2172 | +## INFORMATION FOR WOLFENSTEIN |
2173 | +################################### |
2174 | +Block Wolfenstein |
2175 | + 1 0.000000e+00 # lamWS |
2176 | + 2 0.000000e+00 # AWS |
2177 | + 3 0.000000e+00 # rhoWS |
2178 | + 4 0.000000e+00 # etaWS |
2179 | + |
2180 | +################################### |
2181 | +## INFORMATION FOR YUKAWA |
2182 | +################################### |
2183 | +Block YUKAWA |
2184 | + 4 0.000000e+00 # ymc |
2185 | + 5 0.000000e+00 # ymb |
2186 | + 6 1.645000e+02 # ymt |
2187 | + 11 0.000000e+00 # yme |
2188 | + 13 0.000000e+00 # ymm |
2189 | + 15 0.000000e+00 # ymtau |
2190 | |
2191 | === added file 'models/heft/restrict_no_tau_mass.dat' |
2192 | --- models/heft/restrict_no_tau_mass.dat 1970-01-01 00:00:00 +0000 |
2193 | +++ models/heft/restrict_no_tau_mass.dat 2011-07-22 20:26:18 +0000 |
2194 | @@ -0,0 +1,53 @@ |
2195 | +###################################################################### |
2196 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
2197 | +###################################################################### |
2198 | + |
2199 | +################################### |
2200 | +## INFORMATION FOR SMINPUTS |
2201 | +################################### |
2202 | +Block SMINPUTS |
2203 | + 1 1.325070e+02 # aEWM1 |
2204 | + 2 1.166390e-05 # Gf |
2205 | + 3 1.180000e-01 # aS |
2206 | + |
2207 | +################################### |
2208 | +## INFORMATION FOR MASS |
2209 | +################################### |
2210 | +Block MASS |
2211 | + 4 0.000000e+00 # MC |
2212 | + 5 4.700000e+00 # MB |
2213 | + 6 1.730000e+02 # MT |
2214 | + 11 0.000000e+00 # Me |
2215 | + 13 0.000000e+00 # MM |
2216 | + 15 0.000000e+00 # MTA |
2217 | + 23 9.118800e+01 # MZ |
2218 | + 25 1.200000e+02 # MH |
2219 | + |
2220 | +################################### |
2221 | +## INFORMATION FOR DECAY |
2222 | +################################### |
2223 | +DECAY 6 1.491500E+00 |
2224 | +DECAY 15 0.000000e+00 |
2225 | +DECAY 23 2.441404e+00 |
2226 | +DECAY 24 2.047600e+00 |
2227 | +DECAY 25 5.753088e-03 |
2228 | + |
2229 | +################################### |
2230 | +## INFORMATION FOR WOLFENSTEIN |
2231 | +################################### |
2232 | +Block Wolfenstein |
2233 | + 1 0.000000e+00 # lamWS |
2234 | + 2 0.000000e+00 # AWS |
2235 | + 3 0.000000e+00 # rhoWS |
2236 | + 4 0.000000e+00 # etaWS |
2237 | + |
2238 | +################################### |
2239 | +## INFORMATION FOR YUKAWA |
2240 | +################################### |
2241 | +Block YUKAWA |
2242 | + 4 0.000000e+00 # ymc |
2243 | + 5 4.200000e+00 # ymb |
2244 | + 6 1.645000e+02 # ymt |
2245 | + 11 0.000000e+00 # yme |
2246 | + 13 0.000000e+00 # ymm |
2247 | + 15 0.000000e+00 # ymtau |
2248 | |
2249 | === added file 'models/heft/restrict_zeromass_ckm.dat' |
2250 | --- models/heft/restrict_zeromass_ckm.dat 1970-01-01 00:00:00 +0000 |
2251 | +++ models/heft/restrict_zeromass_ckm.dat 2011-07-22 20:26:18 +0000 |
2252 | @@ -0,0 +1,53 @@ |
2253 | +###################################################################### |
2254 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
2255 | +###################################################################### |
2256 | + |
2257 | +################################### |
2258 | +## INFORMATION FOR SMINPUTS |
2259 | +################################### |
2260 | +Block SMINPUTS |
2261 | + 1 1.325070e+02 # aEWM1 |
2262 | + 2 1.166390e-05 # Gf |
2263 | + 3 1.180000e-01 # aS |
2264 | + |
2265 | +################################### |
2266 | +## INFORMATION FOR MASS |
2267 | +################################### |
2268 | +Block MASS |
2269 | + 4 0.000000e+00 # MC |
2270 | + 5 0.000000e+00 # MB |
2271 | + 6 1.730000e+02 # MT |
2272 | + 11 0.000000e+00 # Me |
2273 | + 13 0.000000e+00 # MM |
2274 | + 15 0.000000e+00 # MTA |
2275 | + 23 9.118800e+01 # MZ |
2276 | + 25 1.200000e+02 # MH |
2277 | + |
2278 | +################################### |
2279 | +## INFORMATION FOR DECAY |
2280 | +################################### |
2281 | +DECAY 6 1.491500E+00 |
2282 | +DECAY 15 0.000000e+00 |
2283 | +DECAY 23 2.441404e+00 |
2284 | +DECAY 24 2.047600e+00 |
2285 | +DECAY 25 5.753088e-03 |
2286 | + |
2287 | +################################### |
2288 | +## INFORMATION FOR WOLFENSTEIN |
2289 | +################################### |
2290 | +Block Wolfenstein |
2291 | + 1 2.253000e-01 # lamWS |
2292 | + 2 8.080000e-01 # AWS |
2293 | + 3 1.320000e-01 # rhoWS |
2294 | + 4 3.410000e-01 # etaWS |
2295 | + |
2296 | +################################### |
2297 | +## INFORMATION FOR YUKAWA |
2298 | +################################### |
2299 | +Block YUKAWA |
2300 | + 4 0.000000e+00 # ymc |
2301 | + 5 0.000000e+00 # ymb |
2302 | + 6 1.645000e+02 # ymt |
2303 | + 11 0.000000e+00 # yme |
2304 | + 13 0.000000e+00 # ymm |
2305 | + 15 0.000000e+00 # ymtau |
2306 | |
2307 | === modified file 'models/heft/vertices.py' |
2308 | --- models/heft/vertices.py 2011-05-28 20:11:29 +0000 |
2309 | +++ models/heft/vertices.py 2011-07-22 20:26:18 +0000 |
2310 | @@ -1,6 +1,6 @@ |
2311 | -# This file was automatically created by FeynRules $Revision: 623 $ |
2312 | +# This file was automatically created by FeynRules $Revision: 634 $ |
2313 | # Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
2314 | -# Date: Sat 28 May 2011 18:07:45 |
2315 | +# Date: Wed 20 Jul 2011 12:58:03 |
2316 | |
2317 | |
2318 | from object_library import all_vertices, Vertex |
2319 | @@ -46,23 +46,23 @@ |
2320 | couplings = {(1,1):C.GC_7,(0,0):C.GC_7,(2,2):C.GC_7}) |
2321 | |
2322 | V_7 = Vertex(name = 'V_7', |
2323 | + particles = [ P.G, P.G, P.G, P.h1 ], |
2324 | + color = [ 'f(1,2,3)' ], |
2325 | + lorentz = [ L.VVVS1 ], |
2326 | + couplings = {(0,0):C.GC_12}) |
2327 | + |
2328 | +V_8 = Vertex(name = 'V_8', |
2329 | particles = [ P.G, P.G, P.G, P.H ], |
2330 | color = [ 'f(1,2,3)' ], |
2331 | lorentz = [ L.VVVS2 ], |
2332 | couplings = {(0,0):C.GC_9}) |
2333 | |
2334 | -V_8 = Vertex(name = 'V_8', |
2335 | +V_9 = Vertex(name = 'V_9', |
2336 | particles = [ P.G, P.G, P.G, P.G, P.H ], |
2337 | color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ], |
2338 | lorentz = [ L.VVVVS1, L.VVVVS2, L.VVVVS3 ], |
2339 | couplings = {(1,1):C.GC_10,(0,0):C.GC_10,(2,2):C.GC_10}) |
2340 | |
2341 | -V_9 = Vertex(name = 'V_9', |
2342 | - particles = [ P.G, P.G, P.G, P.h1 ], |
2343 | - color = [ 'f(1,2,3)' ], |
2344 | - lorentz = [ L.VVVS1 ], |
2345 | - couplings = {(0,0):C.GC_12}) |
2346 | - |
2347 | V_10 = Vertex(name = 'V_10', |
2348 | particles = [ P.A, P.W__minus__, P.W__plus__ ], |
2349 | color = [ '1' ], |
2350 | @@ -277,55 +277,55 @@ |
2351 | particles = [ P.u__tilde__, P.d, P.W__plus__ ], |
2352 | color = [ 'Identity(1,2)' ], |
2353 | lorentz = [ L.FFV2 ], |
2354 | - couplings = {(0,0):C.GC_42}) |
2355 | + couplings = {(0,0):C.GC_45}) |
2356 | |
2357 | V_46 = Vertex(name = 'V_46', |
2358 | particles = [ P.c__tilde__, P.d, P.W__plus__ ], |
2359 | color = [ 'Identity(1,2)' ], |
2360 | lorentz = [ L.FFV2 ], |
2361 | - couplings = {(0,0):C.GC_45}) |
2362 | + couplings = {(0,0):C.GC_48}) |
2363 | |
2364 | V_47 = Vertex(name = 'V_47', |
2365 | particles = [ P.t__tilde__, P.d, P.W__plus__ ], |
2366 | color = [ 'Identity(1,2)' ], |
2367 | lorentz = [ L.FFV2 ], |
2368 | - couplings = {(0,0):C.GC_48}) |
2369 | + couplings = {(0,0):C.GC_51}) |
2370 | |
2371 | V_48 = Vertex(name = 'V_48', |
2372 | particles = [ P.u__tilde__, P.s, P.W__plus__ ], |
2373 | color = [ 'Identity(1,2)' ], |
2374 | lorentz = [ L.FFV2 ], |
2375 | - couplings = {(0,0):C.GC_43}) |
2376 | + couplings = {(0,0):C.GC_46}) |
2377 | |
2378 | V_49 = Vertex(name = 'V_49', |
2379 | particles = [ P.c__tilde__, P.s, P.W__plus__ ], |
2380 | color = [ 'Identity(1,2)' ], |
2381 | lorentz = [ L.FFV2 ], |
2382 | - couplings = {(0,0):C.GC_46}) |
2383 | + couplings = {(0,0):C.GC_49}) |
2384 | |
2385 | V_50 = Vertex(name = 'V_50', |
2386 | particles = [ P.t__tilde__, P.s, P.W__plus__ ], |
2387 | color = [ 'Identity(1,2)' ], |
2388 | lorentz = [ L.FFV2 ], |
2389 | - couplings = {(0,0):C.GC_49}) |
2390 | + couplings = {(0,0):C.GC_52}) |
2391 | |
2392 | V_51 = Vertex(name = 'V_51', |
2393 | particles = [ P.u__tilde__, P.b, P.W__plus__ ], |
2394 | color = [ 'Identity(1,2)' ], |
2395 | lorentz = [ L.FFV2 ], |
2396 | - couplings = {(0,0):C.GC_44}) |
2397 | + couplings = {(0,0):C.GC_47}) |
2398 | |
2399 | V_52 = Vertex(name = 'V_52', |
2400 | particles = [ P.c__tilde__, P.b, P.W__plus__ ], |
2401 | color = [ 'Identity(1,2)' ], |
2402 | lorentz = [ L.FFV2 ], |
2403 | - couplings = {(0,0):C.GC_47}) |
2404 | + couplings = {(0,0):C.GC_50}) |
2405 | |
2406 | V_53 = Vertex(name = 'V_53', |
2407 | particles = [ P.t__tilde__, P.b, P.W__plus__ ], |
2408 | color = [ 'Identity(1,2)' ], |
2409 | lorentz = [ L.FFV2 ], |
2410 | - couplings = {(0,0):C.GC_50}) |
2411 | + couplings = {(0,0):C.GC_53}) |
2412 | |
2413 | V_54 = Vertex(name = 'V_54', |
2414 | particles = [ P.u__tilde__, P.u, P.G ], |
2415 | @@ -346,102 +346,120 @@ |
2416 | couplings = {(0,0):C.GC_6}) |
2417 | |
2418 | V_57 = Vertex(name = 'V_57', |
2419 | - particles = [ P.tt__plus__, P.tt__minus__, P.H ], |
2420 | + particles = [ P.e__plus__, P.e__minus__, P.H ], |
2421 | color = [ '1' ], |
2422 | lorentz = [ L.FFS1 ], |
2423 | couplings = {(0,0):C.GC_41}) |
2424 | |
2425 | V_58 = Vertex(name = 'V_58', |
2426 | + particles = [ P.m__plus__, P.m__minus__, P.H ], |
2427 | + color = [ '1' ], |
2428 | + lorentz = [ L.FFS1 ], |
2429 | + couplings = {(0,0):C.GC_42}) |
2430 | + |
2431 | +V_59 = Vertex(name = 'V_59', |
2432 | + particles = [ P.tt__plus__, P.tt__minus__, P.H ], |
2433 | + color = [ '1' ], |
2434 | + lorentz = [ L.FFS1 ], |
2435 | + couplings = {(0,0):C.GC_44}) |
2436 | + |
2437 | +V_60 = Vertex(name = 'V_60', |
2438 | + particles = [ P.c__tilde__, P.c, P.H ], |
2439 | + color = [ 'Identity(1,2)' ], |
2440 | + lorentz = [ L.FFS1 ], |
2441 | + couplings = {(0,0):C.GC_40}) |
2442 | + |
2443 | +V_61 = Vertex(name = 'V_61', |
2444 | particles = [ P.t__tilde__, P.t, P.H ], |
2445 | color = [ 'Identity(1,2)' ], |
2446 | lorentz = [ L.FFS1 ], |
2447 | - couplings = {(0,0):C.GC_40}) |
2448 | + couplings = {(0,0):C.GC_43}) |
2449 | |
2450 | -V_59 = Vertex(name = 'V_59', |
2451 | +V_62 = Vertex(name = 'V_62', |
2452 | particles = [ P.e__plus__, P.e__minus__, P.Z ], |
2453 | color = [ '1' ], |
2454 | lorentz = [ L.FFV2, L.FFV4 ], |
2455 | couplings = {(0,0):C.GC_27,(0,1):C.GC_30}) |
2456 | |
2457 | -V_60 = Vertex(name = 'V_60', |
2458 | +V_63 = Vertex(name = 'V_63', |
2459 | particles = [ P.m__plus__, P.m__minus__, P.Z ], |
2460 | color = [ '1' ], |
2461 | lorentz = [ L.FFV2, L.FFV4 ], |
2462 | couplings = {(0,0):C.GC_27,(0,1):C.GC_30}) |
2463 | |
2464 | -V_61 = Vertex(name = 'V_61', |
2465 | +V_64 = Vertex(name = 'V_64', |
2466 | particles = [ P.tt__plus__, P.tt__minus__, P.Z ], |
2467 | color = [ '1' ], |
2468 | lorentz = [ L.FFV2, L.FFV4 ], |
2469 | couplings = {(0,0):C.GC_27,(0,1):C.GC_30}) |
2470 | |
2471 | -V_62 = Vertex(name = 'V_62', |
2472 | +V_65 = Vertex(name = 'V_65', |
2473 | particles = [ P.e__plus__, P.ve, P.W__minus__ ], |
2474 | color = [ '1' ], |
2475 | lorentz = [ L.FFV2 ], |
2476 | couplings = {(0,0):C.GC_17}) |
2477 | |
2478 | -V_63 = Vertex(name = 'V_63', |
2479 | +V_66 = Vertex(name = 'V_66', |
2480 | particles = [ P.m__plus__, P.vm, P.W__minus__ ], |
2481 | color = [ '1' ], |
2482 | lorentz = [ L.FFV2 ], |
2483 | couplings = {(0,0):C.GC_17}) |
2484 | |
2485 | -V_64 = Vertex(name = 'V_64', |
2486 | +V_67 = Vertex(name = 'V_67', |
2487 | particles = [ P.tt__plus__, P.vt, P.W__minus__ ], |
2488 | color = [ '1' ], |
2489 | lorentz = [ L.FFV2 ], |
2490 | couplings = {(0,0):C.GC_17}) |
2491 | |
2492 | -V_65 = Vertex(name = 'V_65', |
2493 | +V_68 = Vertex(name = 'V_68', |
2494 | particles = [ P.ve__tilde__, P.e__minus__, P.W__plus__ ], |
2495 | color = [ '1' ], |
2496 | lorentz = [ L.FFV2 ], |
2497 | couplings = {(0,0):C.GC_17}) |
2498 | |
2499 | -V_66 = Vertex(name = 'V_66', |
2500 | +V_69 = Vertex(name = 'V_69', |
2501 | particles = [ P.vm__tilde__, P.m__minus__, P.W__plus__ ], |
2502 | color = [ '1' ], |
2503 | lorentz = [ L.FFV2 ], |
2504 | couplings = {(0,0):C.GC_17}) |
2505 | |
2506 | -V_67 = Vertex(name = 'V_67', |
2507 | +V_70 = Vertex(name = 'V_70', |
2508 | particles = [ P.vt__tilde__, P.tt__minus__, P.W__plus__ ], |
2509 | color = [ '1' ], |
2510 | lorentz = [ L.FFV2 ], |
2511 | couplings = {(0,0):C.GC_17}) |
2512 | |
2513 | -V_68 = Vertex(name = 'V_68', |
2514 | +V_71 = Vertex(name = 'V_71', |
2515 | particles = [ P.u__tilde__, P.u, P.Z ], |
2516 | color = [ 'Identity(1,2)' ], |
2517 | lorentz = [ L.FFV2, L.FFV5 ], |
2518 | couplings = {(0,0):C.GC_28,(0,1):C.GC_29}) |
2519 | |
2520 | -V_69 = Vertex(name = 'V_69', |
2521 | +V_72 = Vertex(name = 'V_72', |
2522 | particles = [ P.c__tilde__, P.c, P.Z ], |
2523 | color = [ 'Identity(1,2)' ], |
2524 | lorentz = [ L.FFV2, L.FFV5 ], |
2525 | couplings = {(0,0):C.GC_28,(0,1):C.GC_29}) |
2526 | |
2527 | -V_70 = Vertex(name = 'V_70', |
2528 | +V_73 = Vertex(name = 'V_73', |
2529 | particles = [ P.t__tilde__, P.t, P.Z ], |
2530 | color = [ 'Identity(1,2)' ], |
2531 | lorentz = [ L.FFV2, L.FFV5 ], |
2532 | couplings = {(0,0):C.GC_28,(0,1):C.GC_29}) |
2533 | |
2534 | -V_71 = Vertex(name = 'V_71', |
2535 | +V_74 = Vertex(name = 'V_74', |
2536 | particles = [ P.ve__tilde__, P.ve, P.Z ], |
2537 | color = [ '1' ], |
2538 | lorentz = [ L.FFV2 ], |
2539 | couplings = {(0,0):C.GC_34}) |
2540 | |
2541 | -V_72 = Vertex(name = 'V_72', |
2542 | +V_75 = Vertex(name = 'V_75', |
2543 | particles = [ P.vm__tilde__, P.vm, P.Z ], |
2544 | color = [ '1' ], |
2545 | lorentz = [ L.FFV2 ], |
2546 | couplings = {(0,0):C.GC_34}) |
2547 | |
2548 | -V_73 = Vertex(name = 'V_73', |
2549 | +V_76 = Vertex(name = 'V_76', |
2550 | particles = [ P.vt__tilde__, P.vt, P.Z ], |
2551 | color = [ '1' ], |
2552 | lorentz = [ L.FFV2 ], |
2553 | |
2554 | === modified file 'models/import_ufo.py' |
2555 | --- models/import_ufo.py 2011-05-08 07:27:55 +0000 |
2556 | +++ models/import_ufo.py 2011-07-22 20:26:18 +0000 |
2557 | @@ -202,6 +202,33 @@ |
2558 | self.add_interaction(interaction_info) |
2559 | |
2560 | self.model.set('conserved_charge', self.conservecharge) |
2561 | + |
2562 | + # If we deal with a Loop model here, the order hierarchy MUST be |
2563 | + # defined in the file coupling_orders.py and we import it from |
2564 | + # there. |
2565 | + |
2566 | + hierarchy={} |
2567 | + try: |
2568 | + all_orders = self.ufomodel.all_orders |
2569 | + for order in all_orders: |
2570 | + hierarchy[order.name]=order.hierarchy |
2571 | + except AttributeError: |
2572 | + pass |
2573 | + else: |
2574 | + self.model.set('order_hierarchy', hierarchy) |
2575 | + |
2576 | + # Also set expansion_order, i.e., maximum coupling order per process |
2577 | + |
2578 | + expansion_order={} |
2579 | + try: |
2580 | + all_orders = self.ufomodel.all_orders |
2581 | + for order in all_orders: |
2582 | + expansion_order[order.name]=order.expansion_order |
2583 | + except AttributeError: |
2584 | + pass |
2585 | + else: |
2586 | + self.model.set('expansion_order', expansion_order) |
2587 | + |
2588 | return self.model |
2589 | |
2590 | |
2591 | |
2592 | === modified file 'models/mssm/__init__.py' |
2593 | --- models/mssm/__init__.py 2011-03-09 11:08:59 +0000 |
2594 | +++ models/mssm/__init__.py 2011-07-22 20:26:18 +0000 |
2595 | @@ -4,6 +4,7 @@ |
2596 | import lorentz |
2597 | import parameters |
2598 | import vertices |
2599 | +import coupling_orders |
2600 | import write_param_card |
2601 | |
2602 | |
2603 | @@ -12,9 +13,10 @@ |
2604 | all_couplings = couplings.all_couplings |
2605 | all_lorentz = lorentz.all_lorentz |
2606 | all_parameters = parameters.all_parameters |
2607 | +all_orders = coupling_orders.all_orders |
2608 | all_functions = function_library.all_functions |
2609 | |
2610 | |
2611 | -__author__ = "Benjamin Fuks" |
2612 | -__version__ = "1.3.0" |
2613 | -__email__ = "fuks@cern.ch" |
2614 | +__author__ = "N. Christensen, C. Duhr" |
2615 | +__version__ = "1.3" |
2616 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
2617 | |
2618 | === added file 'models/mssm/coupling_orders.py' |
2619 | --- models/mssm/coupling_orders.py 1970-01-01 00:00:00 +0000 |
2620 | +++ models/mssm/coupling_orders.py 2011-07-22 20:26:18 +0000 |
2621 | @@ -0,0 +1,15 @@ |
2622 | +# This file was automatically created by FeynRules $Revision: 634 $ |
2623 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
2624 | +# Date: Tue 19 Jul 2011 18:23:49 |
2625 | + |
2626 | + |
2627 | +from object_library import all_orders, CouplingOrder |
2628 | + |
2629 | + |
2630 | +QCD = CouplingOrder(name = 'QCD', |
2631 | + expansion_order = -1, |
2632 | + hierarchy = 1) |
2633 | + |
2634 | +QED = CouplingOrder(name = 'QED', |
2635 | + expansion_order = -1, |
2636 | + hierarchy = 2) |
2637 | |
2638 | === modified file 'models/mssm/object_library.py' |
2639 | --- models/mssm/object_library.py 2011-03-09 13:58:28 +0000 |
2640 | +++ models/mssm/object_library.py 2011-07-22 20:26:18 +0000 |
2641 | @@ -228,5 +228,18 @@ |
2642 | |
2643 | return eval(self.expr) |
2644 | |
2645 | +all_orders = [] |
2646 | + |
2647 | +class CouplingOrder(object): |
2648 | + |
2649 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
2650 | + |
2651 | + global all_orders |
2652 | + all_orders.append(self) |
2653 | + |
2654 | + self.name = name |
2655 | + self.expansion_order = expansion_order |
2656 | + self.hierarchy = hierarchy |
2657 | + |
2658 | |
2659 | |
2660 | |
2661 | === modified file 'models/nmssm/__init__.py' |
2662 | --- models/nmssm/__init__.py 2011-04-12 16:11:45 +0000 |
2663 | +++ models/nmssm/__init__.py 2011-07-22 20:26:18 +0000 |
2664 | @@ -4,6 +4,7 @@ |
2665 | import lorentz |
2666 | import parameters |
2667 | import vertices |
2668 | +import coupling_orders |
2669 | import write_param_card |
2670 | |
2671 | |
2672 | @@ -12,9 +13,10 @@ |
2673 | all_couplings = couplings.all_couplings |
2674 | all_lorentz = lorentz.all_lorentz |
2675 | all_parameters = parameters.all_parameters |
2676 | +all_orders = coupling_orders.all_orders |
2677 | all_functions = function_library.all_functions |
2678 | |
2679 | |
2680 | -__author__ = "Benjamin Fuks" |
2681 | -__version__ = "1.0.0" |
2682 | -__email__ = "fuks@cern.ch" |
2683 | +__author__ = "N. Christensen, C. Duhr" |
2684 | +__version__ = "1.3" |
2685 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
2686 | |
2687 | === added file 'models/nmssm/coupling_orders.py' |
2688 | --- models/nmssm/coupling_orders.py 1970-01-01 00:00:00 +0000 |
2689 | +++ models/nmssm/coupling_orders.py 2011-07-22 20:26:18 +0000 |
2690 | @@ -0,0 +1,15 @@ |
2691 | +# This file was automatically created by FeynRules $Revision: 634 $ |
2692 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
2693 | +# Date: Tue 19 Jul 2011 18:23:49 |
2694 | + |
2695 | + |
2696 | +from object_library import all_orders, CouplingOrder |
2697 | + |
2698 | + |
2699 | +QCD = CouplingOrder(name = 'QCD', |
2700 | + expansion_order = -1, |
2701 | + hierarchy = 1) |
2702 | + |
2703 | +QED = CouplingOrder(name = 'QED', |
2704 | + expansion_order = -1, |
2705 | + hierarchy = 2) |
2706 | |
2707 | === modified file 'models/nmssm/object_library.py' |
2708 | --- models/nmssm/object_library.py 2011-04-12 16:11:45 +0000 |
2709 | +++ models/nmssm/object_library.py 2011-07-22 20:26:18 +0000 |
2710 | @@ -228,5 +228,18 @@ |
2711 | |
2712 | return eval(self.expr) |
2713 | |
2714 | +all_orders = [] |
2715 | + |
2716 | +class CouplingOrder(object): |
2717 | + |
2718 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
2719 | + |
2720 | + global all_orders |
2721 | + all_orders.append(self) |
2722 | + |
2723 | + self.name = name |
2724 | + self.expansion_order = expansion_order |
2725 | + self.hierarchy = hierarchy |
2726 | + |
2727 | |
2728 | |
2729 | |
2730 | === modified file 'models/sextet_diquarks/__init__.py' |
2731 | --- models/sextet_diquarks/__init__.py 2010-10-02 11:13:28 +0000 |
2732 | +++ models/sextet_diquarks/__init__.py 2011-07-22 20:26:18 +0000 |
2733 | @@ -4,6 +4,7 @@ |
2734 | import lorentz |
2735 | import parameters |
2736 | import vertices |
2737 | +import coupling_orders |
2738 | import write_param_card |
2739 | |
2740 | |
2741 | @@ -12,4 +13,10 @@ |
2742 | all_couplings = couplings.all_couplings |
2743 | all_lorentz = lorentz.all_lorentz |
2744 | all_parameters = parameters.all_parameters |
2745 | +all_orders = coupling_orders.all_orders |
2746 | all_functions = function_library.all_functions |
2747 | + |
2748 | + |
2749 | +__author__ = "N. Christensen, C. Duhr" |
2750 | +__version__ = "1.3" |
2751 | +__email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
2752 | |
2753 | === added file 'models/sextet_diquarks/coupling_orders.py' |
2754 | --- models/sextet_diquarks/coupling_orders.py 1970-01-01 00:00:00 +0000 |
2755 | +++ models/sextet_diquarks/coupling_orders.py 2011-07-22 20:26:18 +0000 |
2756 | @@ -0,0 +1,15 @@ |
2757 | +# This file was automatically created by FeynRules $Revision: 634 $ |
2758 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
2759 | +# Date: Tue 19 Jul 2011 18:23:49 |
2760 | + |
2761 | + |
2762 | +from object_library import all_orders, CouplingOrder |
2763 | + |
2764 | + |
2765 | +QCD = CouplingOrder(name = 'QCD', |
2766 | + expansion_order = -1, |
2767 | + hierarchy = 1) |
2768 | + |
2769 | +QED = CouplingOrder(name = 'QED', |
2770 | + expansion_order = -1, |
2771 | + hierarchy = 2) |
2772 | |
2773 | === modified file 'models/sextet_diquarks/object_library.py' |
2774 | --- models/sextet_diquarks/object_library.py 2010-10-20 18:43:22 +0000 |
2775 | +++ models/sextet_diquarks/object_library.py 2011-07-22 20:26:18 +0000 |
2776 | @@ -10,7 +10,7 @@ |
2777 | import cmath |
2778 | |
2779 | |
2780 | -class FRBaseClass(object): |
2781 | +class UFOBaseClass(object): |
2782 | """The class from which all FeynRules classes are derived.""" |
2783 | |
2784 | require_args = [] |
2785 | @@ -62,20 +62,20 @@ |
2786 | |
2787 | |
2788 | |
2789 | -class Particle(FRBaseClass): |
2790 | +class Particle(UFOBaseClass): |
2791 | """A standard Particle""" |
2792 | |
2793 | - require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'line', 'charge'] |
2794 | + require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge'] |
2795 | |
2796 | - require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'line', 'charge', 'propagating', 'goldstoneboson'] |
2797 | + require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge', 'line', 'propagating', 'goldstoneboson'] |
2798 | |
2799 | def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname, |
2800 | - antitexname, line, charge , propagating=True, goldstoneboson=False, **options): |
2801 | + antitexname, charge , line=None, propagating=True, goldstoneboson=False, **options): |
2802 | |
2803 | args= (pdg_code, name, antiname, spin, color, mass, width, texname, |
2804 | - antitexname, line, float(charge)) |
2805 | + antitexname, float(charge)) |
2806 | |
2807 | - FRBaseClass.__init__(self, *args, **options) |
2808 | + UFOBaseClass.__init__(self, *args, **options) |
2809 | |
2810 | global all_particles |
2811 | all_particles.append(self) |
2812 | @@ -84,6 +84,44 @@ |
2813 | self.goldstoneboson= goldstoneboson |
2814 | |
2815 | self.selfconjugate = (name == antiname) |
2816 | + if 1: #not line: |
2817 | + self.line = self.find_line_type() |
2818 | + else: |
2819 | + self.line = line |
2820 | + |
2821 | + |
2822 | + |
2823 | + |
2824 | + def find_line_type(self): |
2825 | + """ find how we draw a line if not defined |
2826 | + valid output: dashed/straight/wavy/curly/double/swavy/scurly |
2827 | + """ |
2828 | + |
2829 | + spin = self.spin |
2830 | + color = self.color |
2831 | + |
2832 | + #use default |
2833 | + if spin == 1: |
2834 | + return 'dashed' |
2835 | + elif spin == 2: |
2836 | + if not self.selfconjugate: |
2837 | + return 'straight' |
2838 | + elif color == 1: |
2839 | + return 'swavy' |
2840 | + else: |
2841 | + return 'scurly' |
2842 | + elif spin == 3: |
2843 | + if color == 1: |
2844 | + return 'wavy' |
2845 | + |
2846 | + else: |
2847 | + return 'curly' |
2848 | + elif spin == 5: |
2849 | + return 'double' |
2850 | + elif spin == -1: |
2851 | + return 'dotted' |
2852 | + else: |
2853 | + return 'dashed' # not supported yet |
2854 | |
2855 | def anti(self): |
2856 | if self.selfconjugate: |
2857 | @@ -98,13 +136,13 @@ |
2858 | newcolor = -self.color |
2859 | |
2860 | return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width, |
2861 | - self.antitexname, self.texname, self.line, -self.charge, self.propagating, self.goldstoneboson, **outdic) |
2862 | + self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic) |
2863 | |
2864 | |
2865 | |
2866 | all_parameters = [] |
2867 | |
2868 | -class Parameter(FRBaseClass): |
2869 | +class Parameter(UFOBaseClass): |
2870 | |
2871 | require_args=['name', 'nature', 'type', 'value', 'texname'] |
2872 | |
2873 | @@ -112,7 +150,7 @@ |
2874 | |
2875 | args = (name,nature,type,value,texname) |
2876 | |
2877 | - FRBaseClass.__init__(self, *args) |
2878 | + UFOBaseClass.__init__(self, *args) |
2879 | |
2880 | args=(name,nature,type,value,texname) |
2881 | |
2882 | @@ -126,7 +164,7 @@ |
2883 | |
2884 | all_vertices = [] |
2885 | |
2886 | -class Vertex(FRBaseClass): |
2887 | +class Vertex(UFOBaseClass): |
2888 | |
2889 | require_args=['name', 'particles', 'color', 'lorentz', 'couplings'] |
2890 | |
2891 | @@ -134,7 +172,7 @@ |
2892 | |
2893 | args = (name, particles, color, lorentz, couplings) |
2894 | |
2895 | - FRBaseClass.__init__(self, *args, **opt) |
2896 | + UFOBaseClass.__init__(self, *args, **opt) |
2897 | |
2898 | args=(particles,color,lorentz,couplings) |
2899 | |
2900 | @@ -143,14 +181,14 @@ |
2901 | |
2902 | all_couplings = [] |
2903 | |
2904 | -class Coupling(FRBaseClass): |
2905 | +class Coupling(UFOBaseClass): |
2906 | |
2907 | require_args=['name', 'value', 'order'] |
2908 | |
2909 | def __init__(self, name, value, order, **opt): |
2910 | |
2911 | args =(name, value, order) |
2912 | - FRBaseClass.__init__(self, *args, **opt) |
2913 | + UFOBaseClass.__init__(self, *args, **opt) |
2914 | global all_couplings |
2915 | all_couplings.append(self) |
2916 | |
2917 | @@ -158,13 +196,13 @@ |
2918 | |
2919 | all_lorentz = [] |
2920 | |
2921 | -class Lorentz(FRBaseClass): |
2922 | +class Lorentz(UFOBaseClass): |
2923 | |
2924 | require_args=['name','spins','structure'] |
2925 | |
2926 | def __init__(self, name, spins, structure='external', **opt): |
2927 | args = (name, spins, structure) |
2928 | - FRBaseClass.__init__(self, *args, **opt) |
2929 | + UFOBaseClass.__init__(self, *args, **opt) |
2930 | |
2931 | global all_lorentz |
2932 | all_lorentz.append(self) |
2933 | @@ -190,5 +228,18 @@ |
2934 | |
2935 | return eval(self.expr) |
2936 | |
2937 | +all_orders = [] |
2938 | + |
2939 | +class CouplingOrder(object): |
2940 | + |
2941 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
2942 | + |
2943 | + global all_orders |
2944 | + all_orders.append(self) |
2945 | + |
2946 | + self.name = name |
2947 | + self.expansion_order = expansion_order |
2948 | + self.hierarchy = hierarchy |
2949 | + |
2950 | |
2951 | |
2952 | |
2953 | === added file 'models/sm/SM_Full_CKM_UFO.log' |
2954 | --- models/sm/SM_Full_CKM_UFO.log 1970-01-01 00:00:00 +0000 |
2955 | +++ models/sm/SM_Full_CKM_UFO.log 2011-07-22 20:26:18 +0000 |
2956 | @@ -0,0 +1,67 @@ |
2957 | +# This file was automatically created by FeynRules $Revision: 634 $ |
2958 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
2959 | +# Date: Wed 6 Jul 2011 14:07:30 |
2960 | + |
2961 | + |
2962 | +# |
2963 | +# This is the logfile for the model Standard Model |
2964 | + |
2965 | +# Authors: N. Christensen, C. Duhr |
2966 | +# Model version: 1.3 |
2967 | +# Checking the Lagrangians |
2968 | + * All Lagrangians are ok. |
2969 | +# |
2970 | +# Particle definitions |
2971 | +# |
2972 | + |
2973 | + * No particles removed. All particles correspond to GenInt setup. |
2974 | + |
2975 | +# Automatically assigned PDG numbers |
2976 | + * Assigned PDG number 9000001 to particle ghA |
2977 | + * Assigned PDG number 9000002 to particle ghZ |
2978 | + * Assigned PDG number 9000003 to particle ghWp |
2979 | + * Assigned PDG number 9000004 to particle ghWm |
2980 | + * Assigned PDG number 9000005 to particle ghG |
2981 | + |
2982 | + |
2983 | +# Compulsory PDG codes: |
2984 | + * Class SM leptons complete. |
2985 | + * Class SM neutrinos complete. |
2986 | + * Class SM quarks complete. |
2987 | + * Class SM gauge bosons complete. |
2988 | +# |
2989 | +# Parameter definitions |
2990 | +# |
2991 | + |
2992 | + * All parameters are ok. |
2993 | + |
2994 | + |
2995 | +# Vertices |
2996 | + * Calling FeynmanRules for 1 Lagrangians. |
2997 | + * Number of classes vertices: 30 |
2998 | + * Number of flavored vertices: 71 |
2999 | + * Saved vertices in InterfaceRun[ 1 ]. |
3000 | + * Checked QNumber conservation. |
3001 | + - Quantum number GhostNumber conserved in all vertices. |
3002 | + - Quantum number LeptonNumber conserved in all vertices. |
3003 | + - Quantum number Q conserved in all vertices. |
3004 | + * particles.py written. |
3005 | + * parameters.py written. |
3006 | +# |
3007 | +# Vertex definitions |
3008 | +# |
3009 | + |
3010 | + * 71 vertices written. |
3011 | + * vertices.py written. |
3012 | +# |
3013 | +# Lorentz structure definitions |
3014 | +# |
3015 | + |
3016 | + * 16 lorentz structures written. |
3017 | + * lorentz.py written. |
3018 | +# |
3019 | +# Coupling definitions |
3020 | +# |
3021 | + |
3022 | + * 47 couplings written. |
3023 | + * couplings.py written. |
3024 | |
3025 | === modified file 'models/sm/__init__.py' |
3026 | --- models/sm/__init__.py 2011-03-18 18:04:05 +0000 |
3027 | +++ models/sm/__init__.py 2011-07-22 20:26:18 +0000 |
3028 | @@ -4,6 +4,7 @@ |
3029 | import lorentz |
3030 | import parameters |
3031 | import vertices |
3032 | +import coupling_orders |
3033 | import write_param_card |
3034 | |
3035 | |
3036 | @@ -12,9 +13,10 @@ |
3037 | all_couplings = couplings.all_couplings |
3038 | all_lorentz = lorentz.all_lorentz |
3039 | all_parameters = parameters.all_parameters |
3040 | +all_orders = coupling_orders.all_orders |
3041 | all_functions = function_library.all_functions |
3042 | |
3043 | |
3044 | __author__ = "N. Christensen, C. Duhr" |
3045 | -__version__ = "1.2" |
3046 | +__version__ = "1.3" |
3047 | __email__ = "neil@pa.msu.edu, claude.duhr@uclouvain.be" |
3048 | |
3049 | === added file 'models/sm/coupling_orders.py' |
3050 | --- models/sm/coupling_orders.py 1970-01-01 00:00:00 +0000 |
3051 | +++ models/sm/coupling_orders.py 2011-07-22 20:26:18 +0000 |
3052 | @@ -0,0 +1,15 @@ |
3053 | +# This file was automatically created by FeynRules $Revision: 634 $ |
3054 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
3055 | +# Date: Tue 19 Jul 2011 18:23:49 |
3056 | + |
3057 | + |
3058 | +from object_library import all_orders, CouplingOrder |
3059 | + |
3060 | + |
3061 | +QCD = CouplingOrder(name = 'QCD', |
3062 | + expansion_order = -1, |
3063 | + hierarchy = 1) |
3064 | + |
3065 | +QED = CouplingOrder(name = 'QED', |
3066 | + expansion_order = -1, |
3067 | + hierarchy = 2) |
3068 | |
3069 | === modified file 'models/sm/couplings.py' |
3070 | --- models/sm/couplings.py 2011-03-18 18:04:05 +0000 |
3071 | +++ models/sm/couplings.py 2011-07-22 20:26:18 +0000 |
3072 | @@ -1,6 +1,6 @@ |
3073 | -# This file was automatically created by FeynRules $Revision: 535 $ |
3074 | -# Mathematica version: 7.0 for Mac OS X x86 (64-bit) (November 11, 2008) |
3075 | -# Date: Fri 18 Mar 2011 18:40:51 |
3076 | +# This file was automatically created by FeynRules $Revision: 634 $ |
3077 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
3078 | +# Date: Wed 6 Jul 2011 14:07:37 |
3079 | |
3080 | |
3081 | from object_library import all_couplings, Coupling |
3082 | @@ -22,534 +22,178 @@ |
3083 | order = {'QED':1}) |
3084 | |
3085 | GC_4 = Coupling(name = 'GC_4', |
3086 | - value = 'ee*complex(0,1)', |
3087 | - order = {'QED':1}) |
3088 | + value = '-G', |
3089 | + order = {'QCD':1}) |
3090 | |
3091 | GC_5 = Coupling(name = 'GC_5', |
3092 | - value = '2*ee**2*complex(0,1)', |
3093 | - order = {'QED':2}) |
3094 | + value = 'complex(0,1)*G', |
3095 | + order = {'QCD':1}) |
3096 | |
3097 | GC_6 = Coupling(name = 'GC_6', |
3098 | - value = '-ee**2/(2.*cw)', |
3099 | - order = {'QED':2}) |
3100 | + value = 'complex(0,1)*G**2', |
3101 | + order = {'QCD':2}) |
3102 | |
3103 | GC_7 = Coupling(name = 'GC_7', |
3104 | - value = '(ee**2*complex(0,1))/(2.*cw)', |
3105 | - order = {'QED':2}) |
3106 | + value = 'cw*complex(0,1)*gw', |
3107 | + order = {'QED':1}) |
3108 | |
3109 | GC_8 = Coupling(name = 'GC_8', |
3110 | - value = 'ee**2/(2.*cw)', |
3111 | + value = '-(complex(0,1)*gw**2)', |
3112 | order = {'QED':2}) |
3113 | |
3114 | GC_9 = Coupling(name = 'GC_9', |
3115 | - value = '-G', |
3116 | - order = {'QCD':1}) |
3117 | + value = 'cw**2*complex(0,1)*gw**2', |
3118 | + order = {'QED':2}) |
3119 | |
3120 | GC_10 = Coupling(name = 'GC_10', |
3121 | - value = 'complex(0,1)*G', |
3122 | - order = {'QCD':1}) |
3123 | + value = '(ee**2*complex(0,1))/(2.*sw**2)', |
3124 | + order = {'QED':2}) |
3125 | |
3126 | GC_11 = Coupling(name = 'GC_11', |
3127 | - value = 'complex(0,1)*G**2', |
3128 | - order = {'QCD':2}) |
3129 | + value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3130 | + order = {'QED':1}) |
3131 | |
3132 | GC_12 = Coupling(name = 'GC_12', |
3133 | - value = 'cw*complex(0,1)*gw', |
3134 | + value = '(CKM11*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3135 | order = {'QED':1}) |
3136 | |
3137 | GC_13 = Coupling(name = 'GC_13', |
3138 | - value = '-(complex(0,1)*gw**2)', |
3139 | - order = {'QED':2}) |
3140 | + value = '(CKM12*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3141 | + order = {'QED':1}) |
3142 | |
3143 | GC_14 = Coupling(name = 'GC_14', |
3144 | - value = 'cw**2*complex(0,1)*gw**2', |
3145 | - order = {'QED':2}) |
3146 | + value = '(CKM13*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3147 | + order = {'QED':1}) |
3148 | |
3149 | GC_15 = Coupling(name = 'GC_15', |
3150 | - value = '-2*complex(0,1)*lam', |
3151 | - order = {'QED':2}) |
3152 | + value = '(CKM21*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3153 | + order = {'QED':1}) |
3154 | |
3155 | GC_16 = Coupling(name = 'GC_16', |
3156 | - value = '-4*complex(0,1)*lam', |
3157 | - order = {'QED':2}) |
3158 | + value = '(CKM22*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3159 | + order = {'QED':1}) |
3160 | |
3161 | GC_17 = Coupling(name = 'GC_17', |
3162 | - value = '-6*complex(0,1)*lam', |
3163 | - order = {'QED':2}) |
3164 | + value = '(CKM23*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3165 | + order = {'QED':1}) |
3166 | |
3167 | GC_18 = Coupling(name = 'GC_18', |
3168 | - value = '-(ee*MW)', |
3169 | + value = '(CKM31*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3170 | order = {'QED':1}) |
3171 | |
3172 | GC_19 = Coupling(name = 'GC_19', |
3173 | - value = 'ee*MW', |
3174 | + value = '(CKM32*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3175 | order = {'QED':1}) |
3176 | |
3177 | GC_20 = Coupling(name = 'GC_20', |
3178 | - value = '(ee**2*complex(0,1))/(2.*sw**2)', |
3179 | - order = {'QED':2}) |
3180 | + value = '(CKM33*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3181 | + order = {'QED':1}) |
3182 | |
3183 | GC_21 = Coupling(name = 'GC_21', |
3184 | - value = '-(ee*complex(0,1))/(2.*sw)', |
3185 | + value = '-(cw*ee*complex(0,1))/(2.*sw)', |
3186 | order = {'QED':1}) |
3187 | |
3188 | GC_22 = Coupling(name = 'GC_22', |
3189 | - value = '(ee*complex(0,1))/(2.*sw)', |
3190 | + value = '(cw*ee*complex(0,1))/(2.*sw)', |
3191 | order = {'QED':1}) |
3192 | |
3193 | GC_23 = Coupling(name = 'GC_23', |
3194 | - value = 'ee/(2.*sw)', |
3195 | + value = '-(ee*complex(0,1)*sw)/(6.*cw)', |
3196 | order = {'QED':1}) |
3197 | |
3198 | GC_24 = Coupling(name = 'GC_24', |
3199 | - value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3200 | + value = '(ee*complex(0,1)*sw)/(2.*cw)', |
3201 | order = {'QED':1}) |
3202 | |
3203 | GC_25 = Coupling(name = 'GC_25', |
3204 | - value = '(CKM11*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3205 | + value = 'complex(0,1)*gw*sw', |
3206 | order = {'QED':1}) |
3207 | |
3208 | GC_26 = Coupling(name = 'GC_26', |
3209 | - value = '(CKM12*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3210 | - order = {'QED':1}) |
3211 | + value = '-2*cw*complex(0,1)*gw**2*sw', |
3212 | + order = {'QED':2}) |
3213 | |
3214 | GC_27 = Coupling(name = 'GC_27', |
3215 | - value = '(CKM13*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3216 | - order = {'QED':1}) |
3217 | + value = 'complex(0,1)*gw**2*sw**2', |
3218 | + order = {'QED':2}) |
3219 | |
3220 | GC_28 = Coupling(name = 'GC_28', |
3221 | - value = '(CKM21*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3222 | + value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', |
3223 | order = {'QED':1}) |
3224 | |
3225 | GC_29 = Coupling(name = 'GC_29', |
3226 | - value = '(CKM22*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3227 | - order = {'QED':1}) |
3228 | + value = 'ee**2*complex(0,1) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)', |
3229 | + order = {'QED':2}) |
3230 | |
3231 | GC_30 = Coupling(name = 'GC_30', |
3232 | - value = '(CKM23*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3233 | + value = '-6*complex(0,1)*lam*v', |
3234 | order = {'QED':1}) |
3235 | |
3236 | GC_31 = Coupling(name = 'GC_31', |
3237 | - value = '(CKM31*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3238 | + value = '(ee**2*complex(0,1)*v)/(2.*sw**2)', |
3239 | order = {'QED':1}) |
3240 | |
3241 | GC_32 = Coupling(name = 'GC_32', |
3242 | - value = '(CKM32*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3243 | + value = 'ee**2*complex(0,1)*v + (cw**2*ee**2*complex(0,1)*v)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*v)/(2.*cw**2)', |
3244 | order = {'QED':1}) |
3245 | |
3246 | GC_33 = Coupling(name = 'GC_33', |
3247 | - value = '(CKM33*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
3248 | + value = '-((complex(0,1)*yb)/cmath.sqrt(2))', |
3249 | order = {'QED':1}) |
3250 | |
3251 | GC_34 = Coupling(name = 'GC_34', |
3252 | - value = '-(cw*ee*complex(0,1))/(2.*sw)', |
3253 | + value = '-((complex(0,1)*yc)/cmath.sqrt(2))', |
3254 | order = {'QED':1}) |
3255 | |
3256 | GC_35 = Coupling(name = 'GC_35', |
3257 | - value = '(cw*ee*complex(0,1))/(2.*sw)', |
3258 | + value = '-((complex(0,1)*ye)/cmath.sqrt(2))', |
3259 | order = {'QED':1}) |
3260 | |
3261 | GC_36 = Coupling(name = 'GC_36', |
3262 | - value = '-((cw*ee*complex(0,1))/sw)', |
3263 | + value = '-((complex(0,1)*ym)/cmath.sqrt(2))', |
3264 | order = {'QED':1}) |
3265 | |
3266 | GC_37 = Coupling(name = 'GC_37', |
3267 | - value = '(cw*ee*complex(0,1))/sw', |
3268 | + value = '-((complex(0,1)*yt)/cmath.sqrt(2))', |
3269 | order = {'QED':1}) |
3270 | |
3271 | GC_38 = Coupling(name = 'GC_38', |
3272 | - value = '-ee**2/(2.*sw)', |
3273 | - order = {'QED':2}) |
3274 | + value = '-((complex(0,1)*ytau)/cmath.sqrt(2))', |
3275 | + order = {'QED':1}) |
3276 | |
3277 | GC_39 = Coupling(name = 'GC_39', |
3278 | - value = '-(ee**2*complex(0,1))/(2.*sw)', |
3279 | - order = {'QED':2}) |
3280 | + value = '(ee*complex(0,1)*complexconjugate(CKM11))/(sw*cmath.sqrt(2))', |
3281 | + order = {'QED':1}) |
3282 | |
3283 | GC_40 = Coupling(name = 'GC_40', |
3284 | - value = 'ee**2/(2.*sw)', |
3285 | - order = {'QED':2}) |
3286 | + value = '(ee*complex(0,1)*complexconjugate(CKM12))/(sw*cmath.sqrt(2))', |
3287 | + order = {'QED':1}) |
3288 | |
3289 | GC_41 = Coupling(name = 'GC_41', |
3290 | - value = '-(ee*MW)/(2.*sw)', |
3291 | + value = '(ee*complex(0,1)*complexconjugate(CKM13))/(sw*cmath.sqrt(2))', |
3292 | order = {'QED':1}) |
3293 | |
3294 | GC_42 = Coupling(name = 'GC_42', |
3295 | - value = '-(ee*complex(0,1)*MW)/(2.*sw)', |
3296 | + value = '(ee*complex(0,1)*complexconjugate(CKM21))/(sw*cmath.sqrt(2))', |
3297 | order = {'QED':1}) |
3298 | |
3299 | GC_43 = Coupling(name = 'GC_43', |
3300 | - value = '(ee*MW)/(2.*sw)', |
3301 | + value = '(ee*complex(0,1)*complexconjugate(CKM22))/(sw*cmath.sqrt(2))', |
3302 | order = {'QED':1}) |
3303 | |
3304 | GC_44 = Coupling(name = 'GC_44', |
3305 | - value = '-(ee*MZ)/(2.*sw)', |
3306 | + value = '(ee*complex(0,1)*complexconjugate(CKM23))/(sw*cmath.sqrt(2))', |
3307 | order = {'QED':1}) |
3308 | |
3309 | GC_45 = Coupling(name = 'GC_45', |
3310 | - value = '(ee*MZ)/(2.*sw)', |
3311 | + value = '(ee*complex(0,1)*complexconjugate(CKM31))/(sw*cmath.sqrt(2))', |
3312 | order = {'QED':1}) |
3313 | |
3314 | GC_46 = Coupling(name = 'GC_46', |
3315 | - value = '-(ee*complex(0,1)*MZ)/(2.*cw*sw)', |
3316 | + value = '(ee*complex(0,1)*complexconjugate(CKM32))/(sw*cmath.sqrt(2))', |
3317 | order = {'QED':1}) |
3318 | |
3319 | GC_47 = Coupling(name = 'GC_47', |
3320 | - value = '-(ee*complex(0,1)*sw)/(6.*cw)', |
3321 | - order = {'QED':1}) |
3322 | - |
3323 | -GC_48 = Coupling(name = 'GC_48', |
3324 | - value = '(ee*complex(0,1)*sw)/(2.*cw)', |
3325 | - order = {'QED':1}) |
3326 | - |
3327 | -GC_49 = Coupling(name = 'GC_49', |
3328 | - value = 'complex(0,1)*gw*sw', |
3329 | - order = {'QED':1}) |
3330 | - |
3331 | -GC_50 = Coupling(name = 'GC_50', |
3332 | - value = '-2*cw*complex(0,1)*gw**2*sw', |
3333 | - order = {'QED':2}) |
3334 | - |
3335 | -GC_51 = Coupling(name = 'GC_51', |
3336 | - value = 'complex(0,1)*gw**2*sw**2', |
3337 | - order = {'QED':2}) |
3338 | - |
3339 | -GC_52 = Coupling(name = 'GC_52', |
3340 | - value = '-(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', |
3341 | - order = {'QED':1}) |
3342 | - |
3343 | -GC_53 = Coupling(name = 'GC_53', |
3344 | - value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', |
3345 | - order = {'QED':1}) |
3346 | - |
3347 | -GC_54 = Coupling(name = 'GC_54', |
3348 | - value = '(cw*ee)/(2.*sw) + (ee*sw)/(2.*cw)', |
3349 | - order = {'QED':1}) |
3350 | - |
3351 | -GC_55 = Coupling(name = 'GC_55', |
3352 | - value = '(cw*ee**2*complex(0,1))/sw - (ee**2*complex(0,1)*sw)/cw', |
3353 | - order = {'QED':2}) |
3354 | - |
3355 | -GC_56 = Coupling(name = 'GC_56', |
3356 | - value = '(cw*ee*MW)/(2.*sw) - (ee*MW*sw)/(2.*cw)', |
3357 | - order = {'QED':1}) |
3358 | - |
3359 | -GC_57 = Coupling(name = 'GC_57', |
3360 | - value = '-(cw*ee*MW)/(2.*sw) + (ee*MW*sw)/(2.*cw)', |
3361 | - order = {'QED':1}) |
3362 | - |
3363 | -GC_58 = Coupling(name = 'GC_58', |
3364 | - value = '-(ee**2*complex(0,1)) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)', |
3365 | - order = {'QED':2}) |
3366 | - |
3367 | -GC_59 = Coupling(name = 'GC_59', |
3368 | - value = 'ee**2*complex(0,1) + (cw**2*ee**2*complex(0,1))/(2.*sw**2) + (ee**2*complex(0,1)*sw**2)/(2.*cw**2)', |
3369 | - order = {'QED':2}) |
3370 | - |
3371 | -GC_60 = Coupling(name = 'GC_60', |
3372 | - value = '-(ee**2*v)/(2.*cw)', |
3373 | - order = {'QED':1}) |
3374 | - |
3375 | -GC_61 = Coupling(name = 'GC_61', |
3376 | - value = '(ee**2*v)/(2.*cw)', |
3377 | - order = {'QED':1}) |
3378 | - |
3379 | -GC_62 = Coupling(name = 'GC_62', |
3380 | - value = '-2*complex(0,1)*lam*v', |
3381 | - order = {'QED':1}) |
3382 | - |
3383 | -GC_63 = Coupling(name = 'GC_63', |
3384 | - value = '-6*complex(0,1)*lam*v', |
3385 | - order = {'QED':1}) |
3386 | - |
3387 | -GC_64 = Coupling(name = 'GC_64', |
3388 | - value = '(ee**2*complex(0,1)*v)/(2.*sw**2)', |
3389 | - order = {'QED':1}) |
3390 | - |
3391 | -GC_65 = Coupling(name = 'GC_65', |
3392 | - value = '-(ee**2*v)/(2.*sw)', |
3393 | - order = {'QED':1}) |
3394 | - |
3395 | -GC_66 = Coupling(name = 'GC_66', |
3396 | - value = '(ee**2*v)/(2.*sw)', |
3397 | - order = {'QED':1}) |
3398 | - |
3399 | -GC_67 = Coupling(name = 'GC_67', |
3400 | - value = 'ee**2*complex(0,1)*v + (cw**2*ee**2*complex(0,1)*v)/(2.*sw**2) + (ee**2*complex(0,1)*sw**2*v)/(2.*cw**2)', |
3401 | - order = {'QED':1}) |
3402 | - |
3403 | -GC_68 = Coupling(name = 'GC_68', |
3404 | - value = '-((complex(0,1)*yb)/cmath.sqrt(2))', |
3405 | - order = {'QED':1}) |
3406 | - |
3407 | -GC_69 = Coupling(name = 'GC_69', |
3408 | - value = 'yb/cmath.sqrt(2)', |
3409 | - order = {'QED':1}) |
3410 | - |
3411 | -GC_70 = Coupling(name = 'GC_70', |
3412 | - value = '-(CKM13*yb)', |
3413 | - order = {'QED':1}) |
3414 | - |
3415 | -GC_71 = Coupling(name = 'GC_71', |
3416 | - value = '-(CKM23*yb)', |
3417 | - order = {'QED':1}) |
3418 | - |
3419 | -GC_72 = Coupling(name = 'GC_72', |
3420 | - value = '-(CKM33*yb)', |
3421 | - order = {'QED':1}) |
3422 | - |
3423 | -GC_73 = Coupling(name = 'GC_73', |
3424 | - value = '-(yc/cmath.sqrt(2))', |
3425 | - order = {'QED':1}) |
3426 | - |
3427 | -GC_74 = Coupling(name = 'GC_74', |
3428 | - value = '-((complex(0,1)*yc)/cmath.sqrt(2))', |
3429 | - order = {'QED':1}) |
3430 | - |
3431 | -GC_75 = Coupling(name = 'GC_75', |
3432 | - value = 'CKM21*yc', |
3433 | - order = {'QED':1}) |
3434 | - |
3435 | -GC_76 = Coupling(name = 'GC_76', |
3436 | - value = 'CKM22*yc', |
3437 | - order = {'QED':1}) |
3438 | - |
3439 | -GC_77 = Coupling(name = 'GC_77', |
3440 | - value = 'CKM23*yc', |
3441 | - order = {'QED':1}) |
3442 | - |
3443 | -GC_78 = Coupling(name = 'GC_78', |
3444 | - value = '-((complex(0,1)*ydo)/cmath.sqrt(2))', |
3445 | - order = {'QED':1}) |
3446 | - |
3447 | -GC_79 = Coupling(name = 'GC_79', |
3448 | - value = 'ydo/cmath.sqrt(2)', |
3449 | - order = {'QED':1}) |
3450 | - |
3451 | -GC_80 = Coupling(name = 'GC_80', |
3452 | - value = '-(CKM11*ydo)', |
3453 | - order = {'QED':1}) |
3454 | - |
3455 | -GC_81 = Coupling(name = 'GC_81', |
3456 | - value = '-(CKM21*ydo)', |
3457 | - order = {'QED':1}) |
3458 | - |
3459 | -GC_82 = Coupling(name = 'GC_82', |
3460 | - value = '-(CKM31*ydo)', |
3461 | - order = {'QED':1}) |
3462 | - |
3463 | -GC_83 = Coupling(name = 'GC_83', |
3464 | - value = '-ye', |
3465 | - order = {'QED':1}) |
3466 | - |
3467 | -GC_84 = Coupling(name = 'GC_84', |
3468 | - value = 'ye', |
3469 | - order = {'QED':1}) |
3470 | - |
3471 | -GC_85 = Coupling(name = 'GC_85', |
3472 | - value = '-((complex(0,1)*ye)/cmath.sqrt(2))', |
3473 | - order = {'QED':1}) |
3474 | - |
3475 | -GC_86 = Coupling(name = 'GC_86', |
3476 | - value = 'ye/cmath.sqrt(2)', |
3477 | - order = {'QED':1}) |
3478 | - |
3479 | -GC_87 = Coupling(name = 'GC_87', |
3480 | - value = '-ym', |
3481 | - order = {'QED':1}) |
3482 | - |
3483 | -GC_88 = Coupling(name = 'GC_88', |
3484 | - value = 'ym', |
3485 | - order = {'QED':1}) |
3486 | - |
3487 | -GC_89 = Coupling(name = 'GC_89', |
3488 | - value = '-((complex(0,1)*ym)/cmath.sqrt(2))', |
3489 | - order = {'QED':1}) |
3490 | - |
3491 | -GC_90 = Coupling(name = 'GC_90', |
3492 | - value = 'ym/cmath.sqrt(2)', |
3493 | - order = {'QED':1}) |
3494 | - |
3495 | -GC_91 = Coupling(name = 'GC_91', |
3496 | - value = '-((complex(0,1)*ys)/cmath.sqrt(2))', |
3497 | - order = {'QED':1}) |
3498 | - |
3499 | -GC_92 = Coupling(name = 'GC_92', |
3500 | - value = 'ys/cmath.sqrt(2)', |
3501 | - order = {'QED':1}) |
3502 | - |
3503 | -GC_93 = Coupling(name = 'GC_93', |
3504 | - value = '-(CKM12*ys)', |
3505 | - order = {'QED':1}) |
3506 | - |
3507 | -GC_94 = Coupling(name = 'GC_94', |
3508 | - value = '-(CKM22*ys)', |
3509 | - order = {'QED':1}) |
3510 | - |
3511 | -GC_95 = Coupling(name = 'GC_95', |
3512 | - value = '-(CKM32*ys)', |
3513 | - order = {'QED':1}) |
3514 | - |
3515 | -GC_96 = Coupling(name = 'GC_96', |
3516 | - value = '-(yt/cmath.sqrt(2))', |
3517 | - order = {'QED':1}) |
3518 | - |
3519 | -GC_97 = Coupling(name = 'GC_97', |
3520 | - value = '-((complex(0,1)*yt)/cmath.sqrt(2))', |
3521 | - order = {'QED':1}) |
3522 | - |
3523 | -GC_98 = Coupling(name = 'GC_98', |
3524 | - value = 'CKM31*yt', |
3525 | - order = {'QED':1}) |
3526 | - |
3527 | -GC_99 = Coupling(name = 'GC_99', |
3528 | - value = 'CKM32*yt', |
3529 | - order = {'QED':1}) |
3530 | - |
3531 | -GC_100 = Coupling(name = 'GC_100', |
3532 | - value = 'CKM33*yt', |
3533 | - order = {'QED':1}) |
3534 | - |
3535 | -GC_101 = Coupling(name = 'GC_101', |
3536 | - value = '-ytau', |
3537 | - order = {'QED':1}) |
3538 | - |
3539 | -GC_102 = Coupling(name = 'GC_102', |
3540 | - value = 'ytau', |
3541 | - order = {'QED':1}) |
3542 | - |
3543 | -GC_103 = Coupling(name = 'GC_103', |
3544 | - value = '-((complex(0,1)*ytau)/cmath.sqrt(2))', |
3545 | - order = {'QED':1}) |
3546 | - |
3547 | -GC_104 = Coupling(name = 'GC_104', |
3548 | - value = 'ytau/cmath.sqrt(2)', |
3549 | - order = {'QED':1}) |
3550 | - |
3551 | -GC_105 = Coupling(name = 'GC_105', |
3552 | - value = '-(yup/cmath.sqrt(2))', |
3553 | - order = {'QED':1}) |
3554 | - |
3555 | -GC_106 = Coupling(name = 'GC_106', |
3556 | - value = '-((complex(0,1)*yup)/cmath.sqrt(2))', |
3557 | - order = {'QED':1}) |
3558 | - |
3559 | -GC_107 = Coupling(name = 'GC_107', |
3560 | - value = 'CKM11*yup', |
3561 | - order = {'QED':1}) |
3562 | - |
3563 | -GC_108 = Coupling(name = 'GC_108', |
3564 | - value = 'CKM12*yup', |
3565 | - order = {'QED':1}) |
3566 | - |
3567 | -GC_109 = Coupling(name = 'GC_109', |
3568 | - value = 'CKM13*yup', |
3569 | - order = {'QED':1}) |
3570 | - |
3571 | -GC_110 = Coupling(name = 'GC_110', |
3572 | - value = '(ee*complex(0,1)*complexconjugate(CKM11))/(sw*cmath.sqrt(2))', |
3573 | - order = {'QED':1}) |
3574 | - |
3575 | -GC_111 = Coupling(name = 'GC_111', |
3576 | - value = 'ydo*complexconjugate(CKM11)', |
3577 | - order = {'QED':1}) |
3578 | - |
3579 | -GC_112 = Coupling(name = 'GC_112', |
3580 | - value = '-(yup*complexconjugate(CKM11))', |
3581 | - order = {'QED':1}) |
3582 | - |
3583 | -GC_113 = Coupling(name = 'GC_113', |
3584 | - value = '(ee*complex(0,1)*complexconjugate(CKM12))/(sw*cmath.sqrt(2))', |
3585 | - order = {'QED':1}) |
3586 | - |
3587 | -GC_114 = Coupling(name = 'GC_114', |
3588 | - value = 'ys*complexconjugate(CKM12)', |
3589 | - order = {'QED':1}) |
3590 | - |
3591 | -GC_115 = Coupling(name = 'GC_115', |
3592 | - value = '-(yup*complexconjugate(CKM12))', |
3593 | - order = {'QED':1}) |
3594 | - |
3595 | -GC_116 = Coupling(name = 'GC_116', |
3596 | - value = '(ee*complex(0,1)*complexconjugate(CKM13))/(sw*cmath.sqrt(2))', |
3597 | - order = {'QED':1}) |
3598 | - |
3599 | -GC_117 = Coupling(name = 'GC_117', |
3600 | - value = 'yb*complexconjugate(CKM13)', |
3601 | - order = {'QED':1}) |
3602 | - |
3603 | -GC_118 = Coupling(name = 'GC_118', |
3604 | - value = '-(yup*complexconjugate(CKM13))', |
3605 | - order = {'QED':1}) |
3606 | - |
3607 | -GC_119 = Coupling(name = 'GC_119', |
3608 | - value = '(ee*complex(0,1)*complexconjugate(CKM21))/(sw*cmath.sqrt(2))', |
3609 | - order = {'QED':1}) |
3610 | - |
3611 | -GC_120 = Coupling(name = 'GC_120', |
3612 | - value = '-(yc*complexconjugate(CKM21))', |
3613 | - order = {'QED':1}) |
3614 | - |
3615 | -GC_121 = Coupling(name = 'GC_121', |
3616 | - value = 'ydo*complexconjugate(CKM21)', |
3617 | - order = {'QED':1}) |
3618 | - |
3619 | -GC_122 = Coupling(name = 'GC_122', |
3620 | - value = '(ee*complex(0,1)*complexconjugate(CKM22))/(sw*cmath.sqrt(2))', |
3621 | - order = {'QED':1}) |
3622 | - |
3623 | -GC_123 = Coupling(name = 'GC_123', |
3624 | - value = '-(yc*complexconjugate(CKM22))', |
3625 | - order = {'QED':1}) |
3626 | - |
3627 | -GC_124 = Coupling(name = 'GC_124', |
3628 | - value = 'ys*complexconjugate(CKM22)', |
3629 | - order = {'QED':1}) |
3630 | - |
3631 | -GC_125 = Coupling(name = 'GC_125', |
3632 | - value = '(ee*complex(0,1)*complexconjugate(CKM23))/(sw*cmath.sqrt(2))', |
3633 | - order = {'QED':1}) |
3634 | - |
3635 | -GC_126 = Coupling(name = 'GC_126', |
3636 | - value = 'yb*complexconjugate(CKM23)', |
3637 | - order = {'QED':1}) |
3638 | - |
3639 | -GC_127 = Coupling(name = 'GC_127', |
3640 | - value = '-(yc*complexconjugate(CKM23))', |
3641 | - order = {'QED':1}) |
3642 | - |
3643 | -GC_128 = Coupling(name = 'GC_128', |
3644 | - value = '(ee*complex(0,1)*complexconjugate(CKM31))/(sw*cmath.sqrt(2))', |
3645 | - order = {'QED':1}) |
3646 | - |
3647 | -GC_129 = Coupling(name = 'GC_129', |
3648 | - value = 'ydo*complexconjugate(CKM31)', |
3649 | - order = {'QED':1}) |
3650 | - |
3651 | -GC_130 = Coupling(name = 'GC_130', |
3652 | - value = '-(yt*complexconjugate(CKM31))', |
3653 | - order = {'QED':1}) |
3654 | - |
3655 | -GC_131 = Coupling(name = 'GC_131', |
3656 | - value = '(ee*complex(0,1)*complexconjugate(CKM32))/(sw*cmath.sqrt(2))', |
3657 | - order = {'QED':1}) |
3658 | - |
3659 | -GC_132 = Coupling(name = 'GC_132', |
3660 | - value = 'ys*complexconjugate(CKM32)', |
3661 | - order = {'QED':1}) |
3662 | - |
3663 | -GC_133 = Coupling(name = 'GC_133', |
3664 | - value = '-(yt*complexconjugate(CKM32))', |
3665 | - order = {'QED':1}) |
3666 | - |
3667 | -GC_134 = Coupling(name = 'GC_134', |
3668 | - value = '(ee*complex(0,1)*complexconjugate(CKM33))/(sw*cmath.sqrt(2))', |
3669 | - order = {'QED':1}) |
3670 | - |
3671 | -GC_135 = Coupling(name = 'GC_135', |
3672 | - value = 'yb*complexconjugate(CKM33)', |
3673 | - order = {'QED':1}) |
3674 | - |
3675 | -GC_136 = Coupling(name = 'GC_136', |
3676 | - value = '-(yt*complexconjugate(CKM33))', |
3677 | - order = {'QED':1}) |
3678 | + value = '(ee*complex(0,1)*complexconjugate(CKM33))/(sw*cmath.sqrt(2))', |
3679 | + order = {'QED':1}) |
3680 | |
3681 | |
3682 | === modified file 'models/sm/lorentz.py' |
3683 | --- models/sm/lorentz.py 2011-03-18 18:04:05 +0000 |
3684 | +++ models/sm/lorentz.py 2011-07-22 20:26:18 +0000 |
3685 | @@ -1,6 +1,6 @@ |
3686 | -# This file was automatically created by FeynRules $Revision: 535 $ |
3687 | -# Mathematica version: 7.0 for Mac OS X x86 (64-bit) (November 11, 2008) |
3688 | -# Date: Fri 18 Mar 2011 18:40:51 |
3689 | +# This file was automatically created by FeynRules $Revision: 634 $ |
3690 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
3691 | +# Date: Wed 6 Jul 2011 14:07:37 |
3692 | |
3693 | |
3694 | from object_library import all_lorentz, Lorentz |
3695 | @@ -9,10 +9,6 @@ |
3696 | |
3697 | |
3698 | |
3699 | -UUS1 = Lorentz(name = 'UUS1', |
3700 | - spins = [ -1, -1, 1 ], |
3701 | - structure = '1') |
3702 | - |
3703 | UUV1 = Lorentz(name = 'UUV1', |
3704 | spins = [ -1, -1, 3 ], |
3705 | structure = 'P(3,2) + P(3,3)') |
3706 | @@ -23,20 +19,8 @@ |
3707 | |
3708 | FFS1 = Lorentz(name = 'FFS1', |
3709 | spins = [ 2, 2, 1 ], |
3710 | - structure = 'Gamma5(2,1)') |
3711 | - |
3712 | -FFS2 = Lorentz(name = 'FFS2', |
3713 | - spins = [ 2, 2, 1 ], |
3714 | structure = 'Identity(2,1)') |
3715 | |
3716 | -FFS3 = Lorentz(name = 'FFS3', |
3717 | - spins = [ 2, 2, 1 ], |
3718 | - structure = 'ProjM(2,1)') |
3719 | - |
3720 | -FFS4 = Lorentz(name = 'FFS4', |
3721 | - spins = [ 2, 2, 1 ], |
3722 | - structure = 'ProjP(2,1)') |
3723 | - |
3724 | FFV1 = Lorentz(name = 'FFV1', |
3725 | spins = [ 2, 2, 3 ], |
3726 | structure = 'Gamma(3,2,1)') |
3727 | @@ -57,10 +41,6 @@ |
3728 | spins = [ 2, 2, 3 ], |
3729 | structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 4*Gamma(3,2,-1)*ProjP(-1,1)') |
3730 | |
3731 | -VSS1 = Lorentz(name = 'VSS1', |
3732 | - spins = [ 3, 1, 1 ], |
3733 | - structure = 'P(1,2) - P(1,3)') |
3734 | - |
3735 | VVS1 = Lorentz(name = 'VVS1', |
3736 | spins = [ 3, 3, 1 ], |
3737 | structure = 'Metric(1,2)') |
3738 | @@ -69,10 +49,6 @@ |
3739 | spins = [ 3, 3, 3 ], |
3740 | structure = 'P(3,1)*Metric(1,2) - P(3,2)*Metric(1,2) - P(2,1)*Metric(1,3) + P(2,3)*Metric(1,3) + P(1,2)*Metric(2,3) - P(1,3)*Metric(2,3)') |
3741 | |
3742 | -SSSS1 = Lorentz(name = 'SSSS1', |
3743 | - spins = [ 1, 1, 1, 1 ], |
3744 | - structure = '1') |
3745 | - |
3746 | VVSS1 = Lorentz(name = 'VVSS1', |
3747 | spins = [ 3, 3, 1, 1 ], |
3748 | structure = 'Metric(1,2)') |
3749 | |
3750 | === modified file 'models/sm/object_library.py' |
3751 | --- models/sm/object_library.py 2011-03-18 18:04:05 +0000 |
3752 | +++ models/sm/object_library.py 2011-07-22 20:26:18 +0000 |
3753 | @@ -228,5 +228,18 @@ |
3754 | |
3755 | return eval(self.expr) |
3756 | |
3757 | +all_orders = [] |
3758 | + |
3759 | +class CouplingOrder(object): |
3760 | + |
3761 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
3762 | + |
3763 | + global all_orders |
3764 | + all_orders.append(self) |
3765 | + |
3766 | + self.name = name |
3767 | + self.expansion_order = expansion_order |
3768 | + self.hierarchy = hierarchy |
3769 | + |
3770 | |
3771 | |
3772 | |
3773 | === modified file 'models/sm/parameters.py' |
3774 | --- models/sm/parameters.py 2011-04-02 05:34:20 +0000 |
3775 | +++ models/sm/parameters.py 2011-07-22 20:26:18 +0000 |
3776 | @@ -1,6 +1,6 @@ |
3777 | -# This file was automatically created by FeynRules $Revision: 535 $ |
3778 | -# Mathematica version: 7.0 for Mac OS X x86 (64-bit) (November 11, 2008) |
3779 | -# Date: Fri 18 Mar 2011 18:40:51 |
3780 | +# This file was automatically created by FeynRules $Revision: 634 $ |
3781 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
3782 | +# Date: Wed 6 Jul 2011 14:07:37 |
3783 | |
3784 | |
3785 | |
3786 | @@ -17,18 +17,10 @@ |
3787 | texname = '0') |
3788 | |
3789 | # User-defined parameters. |
3790 | -cabi = Parameter(name = 'cabi', |
3791 | - nature = 'external', |
3792 | - type = 'real', |
3793 | - value = 0.227736, |
3794 | - texname = '\\theta _c', |
3795 | - lhablock = 'CKMBLOCK', |
3796 | - lhacode = [ 1 ]) |
3797 | - |
3798 | aEWM1 = Parameter(name = 'aEWM1', |
3799 | nature = 'external', |
3800 | type = 'real', |
3801 | - value = 127.9, |
3802 | + value = 132.50698, |
3803 | texname = '\\text{aEWM1}', |
3804 | lhablock = 'SMINPUTS', |
3805 | lhacode = [ 1 ]) |
3806 | @@ -36,7 +28,7 @@ |
3807 | Gf = Parameter(name = 'Gf', |
3808 | nature = 'external', |
3809 | type = 'real', |
3810 | - value = 0.000011663900000000002, |
3811 | + value = 0.0000116639, |
3812 | texname = 'G_f', |
3813 | lhablock = 'SMINPUTS', |
3814 | lhacode = [ 2 ]) |
3815 | @@ -44,15 +36,47 @@ |
3816 | aS = Parameter(name = 'aS', |
3817 | nature = 'external', |
3818 | type = 'real', |
3819 | - value = 0.1172, |
3820 | + value = 0.118, |
3821 | texname = '\\text{aS}', |
3822 | lhablock = 'SMINPUTS', |
3823 | lhacode = [ 3 ]) |
3824 | |
3825 | +lamWS = Parameter(name = 'lamWS', |
3826 | + nature = 'external', |
3827 | + type = 'real', |
3828 | + value = 0.2253, |
3829 | + texname = '\\text{lamWS}', |
3830 | + lhablock = 'Wolfenstein', |
3831 | + lhacode = [ 1 ]) |
3832 | + |
3833 | +AWS = Parameter(name = 'AWS', |
3834 | + nature = 'external', |
3835 | + type = 'real', |
3836 | + value = 0.808, |
3837 | + texname = '\\text{AWS}', |
3838 | + lhablock = 'Wolfenstein', |
3839 | + lhacode = [ 2 ]) |
3840 | + |
3841 | +rhoWS = Parameter(name = 'rhoWS', |
3842 | + nature = 'external', |
3843 | + type = 'real', |
3844 | + value = 0.132, |
3845 | + texname = '\\text{rhoWS}', |
3846 | + lhablock = 'Wolfenstein', |
3847 | + lhacode = [ 3 ]) |
3848 | + |
3849 | +etaWS = Parameter(name = 'etaWS', |
3850 | + nature = 'external', |
3851 | + type = 'real', |
3852 | + value = 0.341, |
3853 | + texname = '\\text{etaWS}', |
3854 | + lhablock = 'Wolfenstein', |
3855 | + lhacode = [ 4 ]) |
3856 | + |
3857 | ymc = Parameter(name = 'ymc', |
3858 | nature = 'external', |
3859 | type = 'real', |
3860 | - value = 1.42, |
3861 | + value = 1.27, |
3862 | texname = '\\text{ymc}', |
3863 | lhablock = 'YUKAWA', |
3864 | lhacode = [ 4 ]) |
3865 | @@ -60,7 +84,7 @@ |
3866 | ymb = Parameter(name = 'ymb', |
3867 | nature = 'external', |
3868 | type = 'real', |
3869 | - value = 4.7, |
3870 | + value = 4.2, |
3871 | texname = '\\text{ymb}', |
3872 | lhablock = 'YUKAWA', |
3873 | lhacode = [ 5 ]) |
3874 | @@ -68,11 +92,27 @@ |
3875 | ymt = Parameter(name = 'ymt', |
3876 | nature = 'external', |
3877 | type = 'real', |
3878 | - value = 174.3, |
3879 | + value = 164.5, |
3880 | texname = '\\text{ymt}', |
3881 | lhablock = 'YUKAWA', |
3882 | lhacode = [ 6 ]) |
3883 | |
3884 | +yme = Parameter(name = 'yme', |
3885 | + nature = 'external', |
3886 | + type = 'real', |
3887 | + value = 0.0005110000000000001, |
3888 | + texname = '\\text{yme}', |
3889 | + lhablock = 'YUKAWA', |
3890 | + lhacode = [ 11 ]) |
3891 | + |
3892 | +ymm = Parameter(name = 'ymm', |
3893 | + nature = 'external', |
3894 | + type = 'real', |
3895 | + value = 0.10566, |
3896 | + texname = '\\text{ymm}', |
3897 | + lhablock = 'YUKAWA', |
3898 | + lhacode = [ 13 ]) |
3899 | + |
3900 | ymtau = Parameter(name = 'ymtau', |
3901 | nature = 'external', |
3902 | type = 'real', |
3903 | @@ -81,38 +121,6 @@ |
3904 | lhablock = 'YUKAWA', |
3905 | lhacode = [ 15 ]) |
3906 | |
3907 | -Me = Parameter(name = 'Me', |
3908 | - nature = 'external', |
3909 | - type = 'real', |
3910 | - value = 0.0005110000000000001, |
3911 | - texname = '\\text{Me}', |
3912 | - lhablock = 'MASS', |
3913 | - lhacode = [ 11 ]) |
3914 | - |
3915 | -MM = Parameter(name = 'MM', |
3916 | - nature = 'external', |
3917 | - type = 'real', |
3918 | - value = 0.10566, |
3919 | - texname = '\\text{MM}', |
3920 | - lhablock = 'MASS', |
3921 | - lhacode = [ 13 ]) |
3922 | - |
3923 | -MTA = Parameter(name = 'MTA', |
3924 | - nature = 'external', |
3925 | - type = 'real', |
3926 | - value = 1.777, |
3927 | - texname = '\\text{MTA}', |
3928 | - lhablock = 'MASS', |
3929 | - lhacode = [ 15 ]) |
3930 | - |
3931 | -MU = Parameter(name = 'MU', |
3932 | - nature = 'external', |
3933 | - type = 'real', |
3934 | - value = 0.0025499999999999997, |
3935 | - texname = 'M', |
3936 | - lhablock = 'MASS', |
3937 | - lhacode = [ 2 ]) |
3938 | - |
3939 | MC = Parameter(name = 'MC', |
3940 | nature = 'external', |
3941 | type = 'real', |
3942 | @@ -124,27 +132,11 @@ |
3943 | MT = Parameter(name = 'MT', |
3944 | nature = 'external', |
3945 | type = 'real', |
3946 | - value = 174.3, |
3947 | + value = 172., |
3948 | texname = '\\text{MT}', |
3949 | lhablock = 'MASS', |
3950 | lhacode = [ 6 ]) |
3951 | |
3952 | -MD = Parameter(name = 'MD', |
3953 | - nature = 'external', |
3954 | - type = 'real', |
3955 | - value = 0.00504, |
3956 | - texname = '\\text{MD}', |
3957 | - lhablock = 'MASS', |
3958 | - lhacode = [ 1 ]) |
3959 | - |
3960 | -MS = Parameter(name = 'MS', |
3961 | - nature = 'external', |
3962 | - type = 'real', |
3963 | - value = 0.104, |
3964 | - texname = '\\text{MS}', |
3965 | - lhablock = 'MASS', |
3966 | - lhacode = [ 3 ]) |
3967 | - |
3968 | MB = Parameter(name = 'MB', |
3969 | nature = 'external', |
3970 | type = 'real', |
3971 | @@ -164,18 +156,34 @@ |
3972 | MH = Parameter(name = 'MH', |
3973 | nature = 'external', |
3974 | type = 'real', |
3975 | - value = 120, |
3976 | + value = 120., |
3977 | texname = '\\text{MH}', |
3978 | lhablock = 'MASS', |
3979 | lhacode = [ 25 ]) |
3980 | |
3981 | -WTA = Parameter(name = 'WTA', |
3982 | - nature = 'external', |
3983 | - type = 'real', |
3984 | - value = 0, |
3985 | - texname = '\\text{WT}', |
3986 | - lhablock = 'DECAY', |
3987 | - lhacode = [ 15 ]) |
3988 | +Me = Parameter(name = 'Me', |
3989 | + nature = 'external', |
3990 | + type = 'real', |
3991 | + value = 0.0005110000000000001, |
3992 | + texname = '\\text{Me}', |
3993 | + lhablock = 'MASS', |
3994 | + lhacode = [ 11 ]) |
3995 | + |
3996 | +MM = Parameter(name = 'MM', |
3997 | + nature = 'external', |
3998 | + type = 'real', |
3999 | + value = 0.10566, |
4000 | + texname = '\\text{MM}', |
4001 | + lhablock = 'MASS', |
4002 | + lhacode = [ 13 ]) |
4003 | + |
4004 | +MTA = Parameter(name = 'MTA', |
4005 | + nature = 'external', |
4006 | + type = 'real', |
4007 | + value = 1.777, |
4008 | + texname = '\\text{MTA}', |
4009 | + lhablock = 'MASS', |
4010 | + lhacode = [ 15 ]) |
4011 | |
4012 | WT = Parameter(name = 'WT', |
4013 | nature = 'external', |
4014 | @@ -209,94 +217,60 @@ |
4015 | lhablock = 'DECAY', |
4016 | lhacode = [ 25 ]) |
4017 | |
4018 | -aEW = Parameter(name = 'aEW', |
4019 | - nature = 'internal', |
4020 | - type = 'real', |
4021 | - value = '1/aEWM1', |
4022 | - texname = '\\text{aEW}') |
4023 | - |
4024 | -G = Parameter(name = 'G', |
4025 | - nature = 'internal', |
4026 | - type = 'real', |
4027 | - value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)', |
4028 | - texname = 'G') |
4029 | - |
4030 | -ye = Parameter(name = 'ye', |
4031 | - nature = 'internal', |
4032 | - type = 'real', |
4033 | - value = '0', |
4034 | - texname = '\\text{ye}') |
4035 | - |
4036 | -ym = Parameter(name = 'ym', |
4037 | - nature = 'internal', |
4038 | - type = 'real', |
4039 | - value = '0', |
4040 | - texname = '\\text{ym}') |
4041 | - |
4042 | -yup = Parameter(name = 'yup', |
4043 | - nature = 'internal', |
4044 | - type = 'real', |
4045 | - value = '0', |
4046 | - texname = '\\text{yup}') |
4047 | - |
4048 | -ydo = Parameter(name = 'ydo', |
4049 | - nature = 'internal', |
4050 | - type = 'real', |
4051 | - value = '0', |
4052 | - texname = '\\text{ydo}') |
4053 | - |
4054 | -ys = Parameter(name = 'ys', |
4055 | - nature = 'internal', |
4056 | - type = 'real', |
4057 | - value = '0', |
4058 | - texname = '\\text{ys}') |
4059 | +WTau = Parameter(name = 'WTau', |
4060 | + nature = 'external', |
4061 | + type = 'real', |
4062 | + value = 2.27e-12, |
4063 | + texname = '\\text{WTau}', |
4064 | + lhablock = 'DECAY', |
4065 | + lhacode = [ 15 ]) |
4066 | |
4067 | CKM11 = Parameter(name = 'CKM11', |
4068 | nature = 'internal', |
4069 | type = 'complex', |
4070 | - value = 'cmath.cos(cabi)', |
4071 | + value = '1 - lamWS**2/2.', |
4072 | texname = '\\text{CKM11}') |
4073 | |
4074 | CKM12 = Parameter(name = 'CKM12', |
4075 | nature = 'internal', |
4076 | type = 'complex', |
4077 | - value = 'cmath.sin(cabi)', |
4078 | + value = 'lamWS', |
4079 | texname = '\\text{CKM12}') |
4080 | |
4081 | CKM13 = Parameter(name = 'CKM13', |
4082 | nature = 'internal', |
4083 | type = 'complex', |
4084 | - value = '0', |
4085 | + value = 'AWS*lamWS**3*(-(etaWS*complex(0,1)) + rhoWS)', |
4086 | texname = '\\text{CKM13}') |
4087 | |
4088 | CKM21 = Parameter(name = 'CKM21', |
4089 | nature = 'internal', |
4090 | type = 'complex', |
4091 | - value = '-cmath.sin(cabi)', |
4092 | + value = '-lamWS', |
4093 | texname = '\\text{CKM21}') |
4094 | |
4095 | CKM22 = Parameter(name = 'CKM22', |
4096 | nature = 'internal', |
4097 | type = 'complex', |
4098 | - value = 'cmath.cos(cabi)', |
4099 | + value = '1 - lamWS**2/2.', |
4100 | texname = '\\text{CKM22}') |
4101 | |
4102 | CKM23 = Parameter(name = 'CKM23', |
4103 | nature = 'internal', |
4104 | type = 'complex', |
4105 | - value = '0', |
4106 | + value = 'AWS*lamWS**2', |
4107 | texname = '\\text{CKM23}') |
4108 | |
4109 | CKM31 = Parameter(name = 'CKM31', |
4110 | nature = 'internal', |
4111 | type = 'complex', |
4112 | - value = '0', |
4113 | + value = 'AWS*lamWS**3*(1 - etaWS*complex(0,1) - rhoWS)', |
4114 | texname = '\\text{CKM31}') |
4115 | |
4116 | CKM32 = Parameter(name = 'CKM32', |
4117 | nature = 'internal', |
4118 | type = 'complex', |
4119 | - value = '0', |
4120 | + value = '-(AWS*lamWS**2)', |
4121 | texname = '\\text{CKM32}') |
4122 | |
4123 | CKM33 = Parameter(name = 'CKM33', |
4124 | @@ -305,6 +279,18 @@ |
4125 | value = '1', |
4126 | texname = '\\text{CKM33}') |
4127 | |
4128 | +aEW = Parameter(name = 'aEW', |
4129 | + nature = 'internal', |
4130 | + type = 'real', |
4131 | + value = '1/aEWM1', |
4132 | + texname = '\\text{aEW}') |
4133 | + |
4134 | +G = Parameter(name = 'G', |
4135 | + nature = 'internal', |
4136 | + type = 'real', |
4137 | + value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)', |
4138 | + texname = 'G') |
4139 | + |
4140 | MW = Parameter(name = 'MW', |
4141 | nature = 'internal', |
4142 | type = 'real', |
4143 | @@ -371,6 +357,18 @@ |
4144 | value = '(ymc*cmath.sqrt(2))/v', |
4145 | texname = '\\text{yc}') |
4146 | |
4147 | +ye = Parameter(name = 'ye', |
4148 | + nature = 'internal', |
4149 | + type = 'real', |
4150 | + value = '(yme*cmath.sqrt(2))/v', |
4151 | + texname = '\\text{ye}') |
4152 | + |
4153 | +ym = Parameter(name = 'ym', |
4154 | + nature = 'internal', |
4155 | + type = 'real', |
4156 | + value = '(ymm*cmath.sqrt(2))/v', |
4157 | + texname = '\\text{ym}') |
4158 | + |
4159 | yt = Parameter(name = 'yt', |
4160 | nature = 'internal', |
4161 | type = 'real', |
4162 | @@ -387,5 +385,5 @@ |
4163 | nature = 'internal', |
4164 | type = 'real', |
4165 | value = 'cmath.sqrt(lam*v**2)', |
4166 | - texname = '\\mu ') |
4167 | + texname = '\\mu') |
4168 | |
4169 | |
4170 | === modified file 'models/sm/particles.py' |
4171 | --- models/sm/particles.py 2011-04-02 05:34:20 +0000 |
4172 | +++ models/sm/particles.py 2011-07-22 20:26:18 +0000 |
4173 | @@ -1,6 +1,6 @@ |
4174 | -# This file was automatically created by FeynRules $Revision: 535 $ |
4175 | -# Mathematica version: 7.0 for Mac OS X x86 (64-bit) (November 11, 2008) |
4176 | -# Date: Fri 18 Mar 2011 18:40:51 |
4177 | +# This file was automatically created by FeynRules $Revision: 634 $ |
4178 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
4179 | +# Date: Wed 6 Jul 2011 14:07:37 |
4180 | |
4181 | |
4182 | from __future__ import division |
4183 | @@ -52,57 +52,12 @@ |
4184 | |
4185 | vt__tilde__ = vt.anti() |
4186 | |
4187 | -e__minus__ = Particle(pdg_code = 11, |
4188 | - name = 'e-', |
4189 | - antiname = 'e+', |
4190 | - spin = 2, |
4191 | - color = 1, |
4192 | - mass = Param.Me, |
4193 | - width = Param.ZERO, |
4194 | - texname = 'e-', |
4195 | - antitexname = 'e-', |
4196 | - charge = -1, |
4197 | - LeptonNumber = 1, |
4198 | - GhostNumber = 0) |
4199 | - |
4200 | -e__plus__ = e__minus__.anti() |
4201 | - |
4202 | -m__minus__ = Particle(pdg_code = 13, |
4203 | - name = 'm-', |
4204 | - antiname = 'm+', |
4205 | - spin = 2, |
4206 | - color = 1, |
4207 | - mass = Param.MM, |
4208 | - width = Param.ZERO, |
4209 | - texname = 'm-', |
4210 | - antitexname = 'm-', |
4211 | - charge = -1, |
4212 | - LeptonNumber = 1, |
4213 | - GhostNumber = 0) |
4214 | - |
4215 | -m__plus__ = m__minus__.anti() |
4216 | - |
4217 | -tt__minus__ = Particle(pdg_code = 15, |
4218 | - name = 'tt-', |
4219 | - antiname = 'tt+', |
4220 | - spin = 2, |
4221 | - color = 1, |
4222 | - mass = Param.MTA, |
4223 | - width = Param.WTA, |
4224 | - texname = 'tt-', |
4225 | - antitexname = 'tt-', |
4226 | - charge = -1, |
4227 | - LeptonNumber = 1, |
4228 | - GhostNumber = 0) |
4229 | - |
4230 | -tt__plus__ = tt__minus__.anti() |
4231 | - |
4232 | u = Particle(pdg_code = 2, |
4233 | name = 'u', |
4234 | antiname = 'u~', |
4235 | spin = 2, |
4236 | color = 3, |
4237 | - mass = Param.MU, |
4238 | + mass = Param.ZERO, |
4239 | width = Param.ZERO, |
4240 | texname = 'u', |
4241 | antitexname = 'u', |
4242 | @@ -147,7 +102,7 @@ |
4243 | antiname = 'd~', |
4244 | spin = 2, |
4245 | color = 3, |
4246 | - mass = Param.MD, |
4247 | + mass = Param.ZERO, |
4248 | width = Param.ZERO, |
4249 | texname = 'd', |
4250 | antitexname = 'd', |
4251 | @@ -162,7 +117,7 @@ |
4252 | antiname = 's~', |
4253 | spin = 2, |
4254 | color = 3, |
4255 | - mass = Param.MS, |
4256 | + mass = Param.ZERO, |
4257 | width = Param.ZERO, |
4258 | texname = 's', |
4259 | antitexname = 's', |
4260 | @@ -359,3 +314,48 @@ |
4261 | |
4262 | phi__minus__ = phi__plus__.anti() |
4263 | |
4264 | +e__minus__ = Particle(pdg_code = 11, |
4265 | + name = 'e-', |
4266 | + antiname = 'e+', |
4267 | + spin = 2, |
4268 | + color = 1, |
4269 | + mass = Param.Me, |
4270 | + width = Param.ZERO, |
4271 | + texname = 'e-', |
4272 | + antitexname = 'e-', |
4273 | + charge = -1, |
4274 | + LeptonNumber = 1, |
4275 | + GhostNumber = 0) |
4276 | + |
4277 | +e__plus__ = e__minus__.anti() |
4278 | + |
4279 | +m__minus__ = Particle(pdg_code = 13, |
4280 | + name = 'm-', |
4281 | + antiname = 'm+', |
4282 | + spin = 2, |
4283 | + color = 1, |
4284 | + mass = Param.MM, |
4285 | + width = Param.ZERO, |
4286 | + texname = 'm-', |
4287 | + antitexname = 'm-', |
4288 | + charge = -1, |
4289 | + LeptonNumber = 1, |
4290 | + GhostNumber = 0) |
4291 | + |
4292 | +m__plus__ = m__minus__.anti() |
4293 | + |
4294 | +tt__minus__ = Particle(pdg_code = 15, |
4295 | + name = 'tt-', |
4296 | + antiname = 'tt+', |
4297 | + spin = 2, |
4298 | + color = 1, |
4299 | + mass = Param.MTA, |
4300 | + width = Param.WTau, |
4301 | + texname = 'tt-', |
4302 | + antitexname = 'tt-', |
4303 | + charge = -1, |
4304 | + LeptonNumber = 1, |
4305 | + GhostNumber = 0) |
4306 | + |
4307 | +tt__plus__ = tt__minus__.anti() |
4308 | + |
4309 | |
4310 | === added file 'models/sm/restrict_ckm.dat' |
4311 | --- models/sm/restrict_ckm.dat 1970-01-01 00:00:00 +0000 |
4312 | +++ models/sm/restrict_ckm.dat 2011-07-22 20:26:18 +0000 |
4313 | @@ -0,0 +1,53 @@ |
4314 | +###################################################################### |
4315 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
4316 | +###################################################################### |
4317 | + |
4318 | +################################### |
4319 | +## INFORMATION FOR SMINPUTS |
4320 | +################################### |
4321 | +Block SMINPUTS |
4322 | + 1 1.325070e+02 # aEWM1 |
4323 | + 2 1.166390e-05 # Gf |
4324 | + 3 1.180000e-01 # aS |
4325 | + |
4326 | +################################### |
4327 | +## INFORMATION FOR MASS |
4328 | +################################### |
4329 | +Block MASS |
4330 | + 4 0.000000e+00 # MC |
4331 | + 5 4.700000e+00 # MB |
4332 | + 6 1.730000e+02 # MT |
4333 | + 11 0.000000e+00 # Me |
4334 | + 13 0.000000e+00 # MM |
4335 | + 15 1.777000e+00 # MTA |
4336 | + 23 9.118800e+01 # MZ |
4337 | + 25 1.200000e+02 # MH |
4338 | + |
4339 | +################################### |
4340 | +## INFORMATION FOR DECAY |
4341 | +################################### |
4342 | +DECAY 6 1.491500E+00 |
4343 | +DECAY 15 0.000000e+00 |
4344 | +DECAY 23 2.441404e+00 |
4345 | +DECAY 24 2.047600e+00 |
4346 | +DECAY 25 5.753088e-03 |
4347 | + |
4348 | +################################### |
4349 | +## INFORMATION FOR WOLFENSTEIN |
4350 | +################################### |
4351 | +Block Wolfenstein |
4352 | + 1 2.253000e-01 # lamWS |
4353 | + 2 8.080000e-01 # AWS |
4354 | + 3 1.320000e-01 # rhoWS |
4355 | + 4 3.410000e-01 # etaWS |
4356 | + |
4357 | +################################### |
4358 | +## INFORMATION FOR YUKAWA |
4359 | +################################### |
4360 | +Block YUKAWA |
4361 | + 4 0.000000e+00 # ymc |
4362 | + 5 4.200000e+00 # ymb |
4363 | + 6 1.645000e+02 # ymt |
4364 | + 11 0.000000e+00 # yme |
4365 | + 13 0.000000e+00 # ymm |
4366 | + 15 1.777000e+00 # ymtau |
4367 | |
4368 | === modified file 'models/sm/restrict_default.dat' |
4369 | --- models/sm/restrict_default.dat 2011-05-28 20:11:29 +0000 |
4370 | +++ models/sm/restrict_default.dat 2011-07-22 20:26:18 +0000 |
4371 | @@ -3,49 +3,51 @@ |
4372 | ###################################################################### |
4373 | |
4374 | ################################### |
4375 | +## INFORMATION FOR SMINPUTS |
4376 | +################################### |
4377 | +Block SMINPUTS |
4378 | + 1 1.325070e+02 # aEWM1 |
4379 | + 2 1.166390e-05 # Gf |
4380 | + 3 1.180000e-01 # aS |
4381 | + |
4382 | +################################### |
4383 | ## INFORMATION FOR MASS |
4384 | ################################### |
4385 | Block MASS |
4386 | - 11 0.000000e-00 # Me |
4387 | - 13 0.000000e-01 # MM |
4388 | - 15 1.777000e+00 # MTA |
4389 | - 2 0.000000e-03 # MU |
4390 | 4 0.000000e+00 # MC |
4391 | - 6 1.720000e+02 # MT |
4392 | - 1 0.000000e-03 # MD |
4393 | - 3 0.000000e-01 # MS |
4394 | 5 4.700000e+00 # MB |
4395 | + 6 1.730000e+02 # MT |
4396 | + 11 0.000000e+00 # Me |
4397 | + 13 0.000000e+00 # MM |
4398 | + 15 1.777000e+00 # MTA |
4399 | 23 9.118800e+01 # MZ |
4400 | 25 1.200000e+02 # MH |
4401 | |
4402 | ################################### |
4403 | -## INFORMATION FOR CKMBLOCK |
4404 | +## INFORMATION FOR DECAY |
4405 | ################################### |
4406 | -Block CKMBLOCK |
4407 | - 1 0.000000e-01 # cabi |
4408 | +DECAY 6 1.491500E+00 |
4409 | +DECAY 15 0.000000e+00 |
4410 | +DECAY 23 2.441404e+00 |
4411 | +DECAY 24 2.047600e+00 |
4412 | +DECAY 25 5.753088e-03 |
4413 | |
4414 | ################################### |
4415 | -## INFORMATION FOR SMINPUTS |
4416 | +## INFORMATION FOR WOLFENSTEIN |
4417 | ################################### |
4418 | -Block SMINPUTS |
4419 | - 1 1.325070e+02 # aEWM1 |
4420 | - 2 1.166390e-05 # Gf |
4421 | - 3 1.18000e-01 # aS |
4422 | +Block Wolfenstein |
4423 | + 1 0.000000e+00 # lamWS |
4424 | + 2 0.000000e+00 # AWS |
4425 | + 3 0.000000e+00 # rhoWS |
4426 | + 4 0.000000e+00 # etaWS |
4427 | |
4428 | ################################### |
4429 | ## INFORMATION FOR YUKAWA |
4430 | ################################### |
4431 | Block YUKAWA |
4432 | - 4 0.00000e+00 # ymc |
4433 | + 4 0.000000e+00 # ymc |
4434 | 5 4.200000e+00 # ymb |
4435 | 6 1.645000e+02 # ymt |
4436 | + 11 0.000000e+00 # yme |
4437 | + 13 0.000000e+00 # ymm |
4438 | 15 1.777000e+00 # ymtau |
4439 | - |
4440 | -################################### |
4441 | -## INFORMATION FOR DECAY |
4442 | -################################### |
4443 | -DECAY 6 1.439478E+00 # WT |
4444 | -DECAY 15 0.000000e+00 # WTA |
4445 | -DECAY 23 2.441404e+00 # WZ |
4446 | -DECAY 24 2.047600e+00 # WW |
4447 | -DECAY 25 5.753088e-03 # WH |
4448 | |
4449 | === modified file 'models/sm/restrict_no_b_mass.dat' |
4450 | --- models/sm/restrict_no_b_mass.dat 2011-04-18 19:06:57 +0000 |
4451 | +++ models/sm/restrict_no_b_mass.dat 2011-07-22 20:26:18 +0000 |
4452 | @@ -3,48 +3,51 @@ |
4453 | ###################################################################### |
4454 | |
4455 | ################################### |
4456 | +## INFORMATION FOR SMINPUTS |
4457 | +################################### |
4458 | +Block SMINPUTS |
4459 | + 1 1.325070e+02 # aEWM1 |
4460 | + 2 1.166390e-05 # Gf |
4461 | + 3 1.180000e-01 # aS |
4462 | + |
4463 | +################################### |
4464 | ## INFORMATION FOR MASS |
4465 | ################################### |
4466 | Block MASS |
4467 | - 11 0.000000e-00 # Me |
4468 | - 13 0.000000e-01 # MM |
4469 | - 15 1.777000e+00 # MTA |
4470 | - 2 0.000000e-03 # MU |
4471 | 4 0.000000e+00 # MC |
4472 | - 6 1.743000e+02 # MT |
4473 | - 1 0.000000e-03 # MD |
4474 | - 3 0.000000e-01 # MS |
4475 | 5 0.000000e+00 # MB |
4476 | + 6 1.730000e+02 # MT |
4477 | + 11 0.000000e+00 # Me |
4478 | + 13 0.000000e+00 # MM |
4479 | + 15 1.777000e+00 # MTA |
4480 | 23 9.118800e+01 # MZ |
4481 | 25 1.200000e+02 # MH |
4482 | |
4483 | ################################### |
4484 | -## INFORMATION FOR CKMBLOCK |
4485 | +## INFORMATION FOR DECAY |
4486 | ################################### |
4487 | -Block CKMBLOCK |
4488 | - 1 0.000000e-01 # cabi |
4489 | +DECAY 6 1.491500E+00 |
4490 | +DECAY 15 0.000000e+00 |
4491 | +DECAY 23 2.441404e+00 |
4492 | +DECAY 24 2.047600e+00 |
4493 | +DECAY 25 5.753088e-03 |
4494 | |
4495 | ################################### |
4496 | -## INFORMATION FOR SMINPUTS |
4497 | +## INFORMATION FOR WOLFENSTEIN |
4498 | ################################### |
4499 | -Block SMINPUTS |
4500 | - 1 1.325070e+02 # aEWM1 |
4501 | - 2 1.166390e-05 # Gf |
4502 | - 3 1.18000e-01 # aS |
4503 | +Block Wolfenstein |
4504 | + 1 0.000000e+00 # lamWS |
4505 | + 2 0.000000e+00 # AWS |
4506 | + 3 0.000000e+00 # rhoWS |
4507 | + 4 0.000000e+00 # etaWS |
4508 | |
4509 | ################################### |
4510 | ## INFORMATION FOR YUKAWA |
4511 | ################################### |
4512 | Block YUKAWA |
4513 | - 4 0.00000e+00 # ymc |
4514 | + 4 0.000000e+00 # ymc |
4515 | 5 0.000000e+00 # ymb |
4516 | - 6 1.743000e+02 # ymt |
4517 | + 6 1.645000e+02 # ymt |
4518 | + 11 0.000000e+00 # yme |
4519 | + 13 0.000000e+00 # ymm |
4520 | 15 1.777000e+00 # ymtau |
4521 | - |
4522 | -################################### |
4523 | -## INFORMATION FOR DECAY |
4524 | -################################### |
4525 | -DECAY 6 1.508336e+00 # WT |
4526 | -DECAY 23 2.441404e+00 # WZ |
4527 | -DECAY 24 2.047600e+00 # WW |
4528 | -DECAY 25 5.753088e-03 # WH |
4529 | |
4530 | === modified file 'models/sm/restrict_no_masses.dat' |
4531 | --- models/sm/restrict_no_masses.dat 2011-03-03 00:29:37 +0000 |
4532 | +++ models/sm/restrict_no_masses.dat 2011-07-22 20:26:18 +0000 |
4533 | @@ -3,48 +3,51 @@ |
4534 | ###################################################################### |
4535 | |
4536 | ################################### |
4537 | +## INFORMATION FOR SMINPUTS |
4538 | +################################### |
4539 | +Block SMINPUTS |
4540 | + 1 1.325070e+02 # aEWM1 |
4541 | + 2 1.166390e-05 # Gf |
4542 | + 3 1.180000e-01 # aS |
4543 | + |
4544 | +################################### |
4545 | ## INFORMATION FOR MASS |
4546 | ################################### |
4547 | Block MASS |
4548 | - 11 0.000000e-00 # Me |
4549 | - 13 0.000000e-01 # MM |
4550 | - 15 0.000000e+00 # MTA |
4551 | - 2 0.000000e-03 # MU |
4552 | 4 0.000000e+00 # MC |
4553 | - 6 1.743000e+02 # MT |
4554 | - 1 0.000000e-03 # MD |
4555 | - 3 0.000000e-01 # MS |
4556 | 5 0.000000e+00 # MB |
4557 | + 6 1.730000e+02 # MT |
4558 | + 11 0.000000e+00 # Me |
4559 | + 13 0.000000e+00 # MM |
4560 | + 15 0.000000e+00 # MTA |
4561 | 23 9.118800e+01 # MZ |
4562 | 25 1.200000e+02 # MH |
4563 | |
4564 | ################################### |
4565 | -## INFORMATION FOR CKMBLOCK |
4566 | +## INFORMATION FOR DECAY |
4567 | ################################### |
4568 | -Block CKMBLOCK |
4569 | - 1 0.000000e-01 # cabi |
4570 | +DECAY 6 1.491500E+00 |
4571 | +DECAY 15 0.000000e+00 |
4572 | +DECAY 23 2.441404e+00 |
4573 | +DECAY 24 2.047600e+00 |
4574 | +DECAY 25 5.753088e-03 |
4575 | |
4576 | ################################### |
4577 | -## INFORMATION FOR SMINPUTS |
4578 | +## INFORMATION FOR WOLFENSTEIN |
4579 | ################################### |
4580 | -Block SMINPUTS |
4581 | - 1 1.325070e+02 # aEWM1 |
4582 | - 2 1.166390e-05 # Gf |
4583 | - 3 1.18000e-01 # aS |
4584 | +Block Wolfenstein |
4585 | + 1 0.000000e+00 # lamWS |
4586 | + 2 0.000000e+00 # AWS |
4587 | + 3 0.000000e+00 # rhoWS |
4588 | + 4 0.000000e+00 # etaWS |
4589 | |
4590 | ################################### |
4591 | ## INFORMATION FOR YUKAWA |
4592 | ################################### |
4593 | Block YUKAWA |
4594 | - 4 0.00000e+00 # ymc |
4595 | + 4 0.000000e+00 # ymc |
4596 | 5 0.000000e+00 # ymb |
4597 | - 6 1.743000e+02 # ymt |
4598 | + 6 1.645000e+02 # ymt |
4599 | + 11 0.000000e+00 # yme |
4600 | + 13 0.000000e+00 # ymm |
4601 | 15 0.000000e+00 # ymtau |
4602 | - |
4603 | -################################### |
4604 | -## INFORMATION FOR DECAY |
4605 | -################################### |
4606 | -DECAY 6 1.508336e+00 # WT |
4607 | -DECAY 23 2.441404e+00 # WZ |
4608 | -DECAY 24 2.047600e+00 # WW |
4609 | -DECAY 25 5.753088e-03 # WH |
4610 | |
4611 | === modified file 'models/sm/restrict_no_tau_mass.dat' |
4612 | --- models/sm/restrict_no_tau_mass.dat 2011-04-18 19:06:57 +0000 |
4613 | +++ models/sm/restrict_no_tau_mass.dat 2011-07-22 20:26:18 +0000 |
4614 | @@ -3,48 +3,51 @@ |
4615 | ###################################################################### |
4616 | |
4617 | ################################### |
4618 | +## INFORMATION FOR SMINPUTS |
4619 | +################################### |
4620 | +Block SMINPUTS |
4621 | + 1 1.325070e+02 # aEWM1 |
4622 | + 2 1.166390e-05 # Gf |
4623 | + 3 1.180000e-01 # aS |
4624 | + |
4625 | +################################### |
4626 | ## INFORMATION FOR MASS |
4627 | ################################### |
4628 | Block MASS |
4629 | - 11 0.000000e-00 # Me |
4630 | - 13 0.000000e-01 # MM |
4631 | - 15 0.000000e-01 # MTA |
4632 | - 2 0.000000e-03 # MU |
4633 | 4 0.000000e+00 # MC |
4634 | - 6 1.743000e+02 # MT |
4635 | - 1 0.000000e-03 # MD |
4636 | - 3 0.000000e-01 # MS |
4637 | 5 4.700000e+00 # MB |
4638 | + 6 1.730000e+02 # MT |
4639 | + 11 0.000000e+00 # Me |
4640 | + 13 0.000000e+00 # MM |
4641 | + 15 0.000000e+00 # MTA |
4642 | 23 9.118800e+01 # MZ |
4643 | 25 1.200000e+02 # MH |
4644 | |
4645 | ################################### |
4646 | -## INFORMATION FOR CKMBLOCK |
4647 | +## INFORMATION FOR DECAY |
4648 | ################################### |
4649 | -Block CKMBLOCK |
4650 | - 1 0.000000e-01 # cabi |
4651 | +DECAY 6 1.491500E+00 |
4652 | +DECAY 15 0.000000e+00 |
4653 | +DECAY 23 2.441404e+00 |
4654 | +DECAY 24 2.047600e+00 |
4655 | +DECAY 25 5.753088e-03 |
4656 | |
4657 | ################################### |
4658 | -## INFORMATION FOR SMINPUTS |
4659 | +## INFORMATION FOR WOLFENSTEIN |
4660 | ################################### |
4661 | -Block SMINPUTS |
4662 | - 1 1.325070e+02 # aEWM1 |
4663 | - 2 1.166390e-05 # Gf |
4664 | - 3 1.18000e-01 # aS |
4665 | +Block Wolfenstein |
4666 | + 1 0.000000e+00 # lamWS |
4667 | + 2 0.000000e+00 # AWS |
4668 | + 3 0.000000e+00 # rhoWS |
4669 | + 4 0.000000e+00 # etaWS |
4670 | |
4671 | ################################### |
4672 | ## INFORMATION FOR YUKAWA |
4673 | ################################### |
4674 | Block YUKAWA |
4675 | - 4 0.00000e+00 # ymc |
4676 | + 4 0.000000e+00 # ymc |
4677 | 5 4.200000e+00 # ymb |
4678 | - 6 1.743000e+02 # ymt |
4679 | + 6 1.645000e+02 # ymt |
4680 | + 11 0.000000e+00 # yme |
4681 | + 13 0.000000e+00 # ymm |
4682 | 15 0.000000e+00 # ymtau |
4683 | - |
4684 | -################################### |
4685 | -## INFORMATION FOR DECAY |
4686 | -################################### |
4687 | -DECAY 6 1.508336e+00 # WT |
4688 | -DECAY 23 2.441404e+00 # WZ |
4689 | -DECAY 24 2.047600e+00 # WW |
4690 | -DECAY 25 5.753088e-03 # WH |
4691 | |
4692 | === added file 'models/sm/restrict_zeromass_ckm.dat' |
4693 | --- models/sm/restrict_zeromass_ckm.dat 1970-01-01 00:00:00 +0000 |
4694 | +++ models/sm/restrict_zeromass_ckm.dat 2011-07-22 20:26:18 +0000 |
4695 | @@ -0,0 +1,53 @@ |
4696 | +###################################################################### |
4697 | +## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO ##################### |
4698 | +###################################################################### |
4699 | + |
4700 | +################################### |
4701 | +## INFORMATION FOR SMINPUTS |
4702 | +################################### |
4703 | +Block SMINPUTS |
4704 | + 1 1.325070e+02 # aEWM1 |
4705 | + 2 1.166390e-05 # Gf |
4706 | + 3 1.180000e-01 # aS |
4707 | + |
4708 | +################################### |
4709 | +## INFORMATION FOR MASS |
4710 | +################################### |
4711 | +Block MASS |
4712 | + 4 0.000000e+00 # MC |
4713 | + 5 0.000000e+00 # MB |
4714 | + 6 1.730000e+02 # MT |
4715 | + 11 0.000000e+00 # Me |
4716 | + 13 0.000000e+00 # MM |
4717 | + 15 0.000000e+00 # MTA |
4718 | + 23 9.118800e+01 # MZ |
4719 | + 25 1.200000e+02 # MH |
4720 | + |
4721 | +################################### |
4722 | +## INFORMATION FOR DECAY |
4723 | +################################### |
4724 | +DECAY 6 1.491500E+00 |
4725 | +DECAY 15 0.000000e+00 |
4726 | +DECAY 23 2.441404e+00 |
4727 | +DECAY 24 2.047600e+00 |
4728 | +DECAY 25 5.753088e-03 |
4729 | + |
4730 | +################################### |
4731 | +## INFORMATION FOR WOLFENSTEIN |
4732 | +################################### |
4733 | +Block Wolfenstein |
4734 | + 1 2.253000e-01 # lamWS |
4735 | + 2 8.080000e-01 # AWS |
4736 | + 3 1.320000e-01 # rhoWS |
4737 | + 4 3.410000e-01 # etaWS |
4738 | + |
4739 | +################################### |
4740 | +## INFORMATION FOR YUKAWA |
4741 | +################################### |
4742 | +Block YUKAWA |
4743 | + 4 0.000000e+00 # ymc |
4744 | + 5 0.000000e+00 # ymb |
4745 | + 6 1.645000e+02 # ymt |
4746 | + 11 0.000000e+00 # yme |
4747 | + 13 0.000000e+00 # ymm |
4748 | + 15 0.000000e+00 # ymtau |
4749 | |
4750 | === modified file 'models/sm/vertices.py' |
4751 | --- models/sm/vertices.py 2011-03-18 18:04:05 +0000 |
4752 | +++ models/sm/vertices.py 2011-07-22 20:26:18 +0000 |
4753 | @@ -1,6 +1,6 @@ |
4754 | -# This file was automatically created by FeynRules $Revision: 535 $ |
4755 | -# Mathematica version: 7.0 for Mac OS X x86 (64-bit) (November 11, 2008) |
4756 | -# Date: Fri 18 Mar 2011 18:40:51 |
4757 | +# This file was automatically created by FeynRules $Revision: 634 $ |
4758 | +# Mathematica version: 8.0 for Mac OS X x86 (64-bit) (November 6, 2010) |
4759 | +# Date: Wed 6 Jul 2011 14:07:37 |
4760 | |
4761 | |
4762 | from object_library import all_vertices, Vertex |
4763 | @@ -10,980 +10,428 @@ |
4764 | |
4765 | |
4766 | V_1 = Vertex(name = 'V_1', |
4767 | - particles = [ P.H, P.H, P.H, P.H ], |
4768 | + particles = [ P.H, P.H, P.H ], |
4769 | color = [ '1' ], |
4770 | - lorentz = [ L.SSSS1 ], |
4771 | - couplings = {(0,0):C.GC_17}) |
4772 | + lorentz = [ L.SSS1 ], |
4773 | + couplings = {(0,0):C.GC_30}) |
4774 | |
4775 | V_2 = Vertex(name = 'V_2', |
4776 | - particles = [ P.H, P.H, P.phi0, P.phi0 ], |
4777 | - color = [ '1' ], |
4778 | - lorentz = [ L.SSSS1 ], |
4779 | - couplings = {(0,0):C.GC_15}) |
4780 | + particles = [ P.ghG, P.ghG__tilde__, P.G ], |
4781 | + color = [ 'f(3,1,2)' ], |
4782 | + lorentz = [ L.UUV1 ], |
4783 | + couplings = {(0,0):C.GC_4}) |
4784 | |
4785 | V_3 = Vertex(name = 'V_3', |
4786 | - particles = [ P.phi0, P.phi0, P.phi0, P.phi0 ], |
4787 | - color = [ '1' ], |
4788 | - lorentz = [ L.SSSS1 ], |
4789 | - couplings = {(0,0):C.GC_17}) |
4790 | + particles = [ P.G, P.G, P.G ], |
4791 | + color = [ 'f(1,2,3)' ], |
4792 | + lorentz = [ L.VVV1 ], |
4793 | + couplings = {(0,0):C.GC_4}) |
4794 | |
4795 | V_4 = Vertex(name = 'V_4', |
4796 | - particles = [ P.H, P.H, P.phi__minus__, P.phi__plus__ ], |
4797 | - color = [ '1' ], |
4798 | - lorentz = [ L.SSSS1 ], |
4799 | - couplings = {(0,0):C.GC_15}) |
4800 | + particles = [ P.G, P.G, P.G, P.G ], |
4801 | + color = [ 'f(-1,1,2)*f(3,4,-1)', 'f(-1,1,3)*f(2,4,-1)', 'f(-1,1,4)*f(2,3,-1)' ], |
4802 | + lorentz = [ L.VVVV1, L.VVVV3, L.VVVV4 ], |
4803 | + couplings = {(1,1):C.GC_6,(0,0):C.GC_6,(2,2):C.GC_6}) |
4804 | |
4805 | V_5 = Vertex(name = 'V_5', |
4806 | - particles = [ P.phi0, P.phi0, P.phi__minus__, P.phi__plus__ ], |
4807 | + particles = [ P.A, P.W__minus__, P.W__plus__ ], |
4808 | color = [ '1' ], |
4809 | - lorentz = [ L.SSSS1 ], |
4810 | - couplings = {(0,0):C.GC_15}) |
4811 | + lorentz = [ L.VVV1 ], |
4812 | + couplings = {(0,0):C.GC_25}) |
4813 | |
4814 | V_6 = Vertex(name = 'V_6', |
4815 | - particles = [ P.phi__minus__, P.phi__minus__, P.phi__plus__, P.phi__plus__ ], |
4816 | + particles = [ P.W__minus__, P.W__plus__, P.H, P.H ], |
4817 | color = [ '1' ], |
4818 | - lorentz = [ L.SSSS1 ], |
4819 | - couplings = {(0,0):C.GC_16}) |
4820 | + lorentz = [ L.VVSS1 ], |
4821 | + couplings = {(0,0):C.GC_10}) |
4822 | |
4823 | V_7 = Vertex(name = 'V_7', |
4824 | - particles = [ P.H, P.H, P.H ], |
4825 | + particles = [ P.W__minus__, P.W__plus__, P.H ], |
4826 | color = [ '1' ], |
4827 | - lorentz = [ L.SSS1 ], |
4828 | - couplings = {(0,0):C.GC_63}) |
4829 | + lorentz = [ L.VVS1 ], |
4830 | + couplings = {(0,0):C.GC_31}) |
4831 | |
4832 | V_8 = Vertex(name = 'V_8', |
4833 | - particles = [ P.H, P.phi0, P.phi0 ], |
4834 | + particles = [ P.A, P.A, P.W__minus__, P.W__plus__ ], |
4835 | color = [ '1' ], |
4836 | - lorentz = [ L.SSS1 ], |
4837 | - couplings = {(0,0):C.GC_62}) |
4838 | + lorentz = [ L.VVVV2 ], |
4839 | + couplings = {(0,0):C.GC_27}) |
4840 | |
4841 | V_9 = Vertex(name = 'V_9', |
4842 | - particles = [ P.H, P.phi__minus__, P.phi__plus__ ], |
4843 | + particles = [ P.W__minus__, P.W__plus__, P.Z ], |
4844 | color = [ '1' ], |
4845 | - lorentz = [ L.SSS1 ], |
4846 | - couplings = {(0,0):C.GC_62}) |
4847 | + lorentz = [ L.VVV1 ], |
4848 | + couplings = {(0,0):C.GC_7}) |
4849 | |
4850 | V_10 = Vertex(name = 'V_10', |
4851 | - particles = [ P.A, P.A, P.phi__minus__, P.phi__plus__ ], |
4852 | + particles = [ P.W__minus__, P.W__minus__, P.W__plus__, P.W__plus__ ], |
4853 | color = [ '1' ], |
4854 | - lorentz = [ L.VVSS1 ], |
4855 | - couplings = {(0,0):C.GC_5}) |
4856 | + lorentz = [ L.VVVV2 ], |
4857 | + couplings = {(0,0):C.GC_8}) |
4858 | |
4859 | V_11 = Vertex(name = 'V_11', |
4860 | - particles = [ P.A, P.phi__minus__, P.phi__plus__ ], |
4861 | + particles = [ P.A, P.W__minus__, P.W__plus__, P.Z ], |
4862 | color = [ '1' ], |
4863 | - lorentz = [ L.VSS1 ], |
4864 | - couplings = {(0,0):C.GC_3}) |
4865 | + lorentz = [ L.VVVV5 ], |
4866 | + couplings = {(0,0):C.GC_26}) |
4867 | |
4868 | V_12 = Vertex(name = 'V_12', |
4869 | - particles = [ P.ghA, P.ghWm__tilde__, P.W__minus__ ], |
4870 | + particles = [ P.Z, P.Z, P.H, P.H ], |
4871 | color = [ '1' ], |
4872 | - lorentz = [ L.UUV1 ], |
4873 | - couplings = {(0,0):C.GC_3}) |
4874 | + lorentz = [ L.VVSS1 ], |
4875 | + couplings = {(0,0):C.GC_29}) |
4876 | |
4877 | V_13 = Vertex(name = 'V_13', |
4878 | - particles = [ P.ghA, P.ghWp__tilde__, P.W__plus__ ], |
4879 | + particles = [ P.Z, P.Z, P.H ], |
4880 | color = [ '1' ], |
4881 | - lorentz = [ L.UUV1 ], |
4882 | - couplings = {(0,0):C.GC_4}) |
4883 | + lorentz = [ L.VVS1 ], |
4884 | + couplings = {(0,0):C.GC_32}) |
4885 | |
4886 | V_14 = Vertex(name = 'V_14', |
4887 | - particles = [ P.ghWm, P.ghA__tilde__, P.phi__plus__ ], |
4888 | + particles = [ P.W__minus__, P.W__plus__, P.Z, P.Z ], |
4889 | color = [ '1' ], |
4890 | - lorentz = [ L.UUS1 ], |
4891 | - couplings = {(0,0):C.GC_19}) |
4892 | + lorentz = [ L.VVVV2 ], |
4893 | + couplings = {(0,0):C.GC_9}) |
4894 | |
4895 | V_15 = Vertex(name = 'V_15', |
4896 | - particles = [ P.ghWm, P.ghA__tilde__, P.W__plus__ ], |
4897 | - color = [ '1' ], |
4898 | - lorentz = [ L.UUV1 ], |
4899 | - couplings = {(0,0):C.GC_3}) |
4900 | + particles = [ P.d__tilde__, P.d, P.A ], |
4901 | + color = [ 'Identity(1,2)' ], |
4902 | + lorentz = [ L.FFV1 ], |
4903 | + couplings = {(0,0):C.GC_1}) |
4904 | |
4905 | V_16 = Vertex(name = 'V_16', |
4906 | - particles = [ P.ghWm, P.ghWm__tilde__, P.H ], |
4907 | - color = [ '1' ], |
4908 | - lorentz = [ L.UUS1 ], |
4909 | - couplings = {(0,0):C.GC_42}) |
4910 | + particles = [ P.s__tilde__, P.s, P.A ], |
4911 | + color = [ 'Identity(1,2)' ], |
4912 | + lorentz = [ L.FFV1 ], |
4913 | + couplings = {(0,0):C.GC_1}) |
4914 | |
4915 | V_17 = Vertex(name = 'V_17', |
4916 | - particles = [ P.ghWm, P.ghWm__tilde__, P.phi0 ], |
4917 | - color = [ '1' ], |
4918 | - lorentz = [ L.UUS1 ], |
4919 | - couplings = {(0,0):C.GC_41}) |
4920 | + particles = [ P.b__tilde__, P.b, P.A ], |
4921 | + color = [ 'Identity(1,2)' ], |
4922 | + lorentz = [ L.FFV1 ], |
4923 | + couplings = {(0,0):C.GC_1}) |
4924 | |
4925 | V_18 = Vertex(name = 'V_18', |
4926 | - particles = [ P.ghWm, P.ghWm__tilde__, P.A ], |
4927 | + particles = [ P.e__plus__, P.e__minus__, P.A ], |
4928 | color = [ '1' ], |
4929 | - lorentz = [ L.UUV1 ], |
4930 | - couplings = {(0,0):C.GC_4}) |
4931 | + lorentz = [ L.FFV1 ], |
4932 | + couplings = {(0,0):C.GC_3}) |
4933 | |
4934 | V_19 = Vertex(name = 'V_19', |
4935 | - particles = [ P.ghWm, P.ghWm__tilde__, P.Z ], |
4936 | + particles = [ P.m__plus__, P.m__minus__, P.A ], |
4937 | color = [ '1' ], |
4938 | - lorentz = [ L.UUV1 ], |
4939 | - couplings = {(0,0):C.GC_37}) |
4940 | + lorentz = [ L.FFV1 ], |
4941 | + couplings = {(0,0):C.GC_3}) |
4942 | |
4943 | V_20 = Vertex(name = 'V_20', |
4944 | - particles = [ P.ghWm, P.ghZ__tilde__, P.phi__plus__ ], |
4945 | + particles = [ P.tt__plus__, P.tt__minus__, P.A ], |
4946 | color = [ '1' ], |
4947 | - lorentz = [ L.UUS1 ], |
4948 | - couplings = {(0,0):C.GC_56}) |
4949 | + lorentz = [ L.FFV1 ], |
4950 | + couplings = {(0,0):C.GC_3}) |
4951 | |
4952 | V_21 = Vertex(name = 'V_21', |
4953 | - particles = [ P.ghWm, P.ghZ__tilde__, P.W__plus__ ], |
4954 | - color = [ '1' ], |
4955 | - lorentz = [ L.UUV1 ], |
4956 | - couplings = {(0,0):C.GC_36}) |
4957 | + particles = [ P.u__tilde__, P.u, P.A ], |
4958 | + color = [ 'Identity(1,2)' ], |
4959 | + lorentz = [ L.FFV1 ], |
4960 | + couplings = {(0,0):C.GC_2}) |
4961 | |
4962 | V_22 = Vertex(name = 'V_22', |
4963 | - particles = [ P.ghWp, P.ghA__tilde__, P.phi__minus__ ], |
4964 | - color = [ '1' ], |
4965 | - lorentz = [ L.UUS1 ], |
4966 | - couplings = {(0,0):C.GC_18}) |
4967 | + particles = [ P.c__tilde__, P.c, P.A ], |
4968 | + color = [ 'Identity(1,2)' ], |
4969 | + lorentz = [ L.FFV1 ], |
4970 | + couplings = {(0,0):C.GC_2}) |
4971 | |
4972 | V_23 = Vertex(name = 'V_23', |
4973 | - particles = [ P.ghWp, P.ghA__tilde__, P.W__minus__ ], |
4974 | - color = [ '1' ], |
4975 | - lorentz = [ L.UUV1 ], |
4976 | - couplings = {(0,0):C.GC_4}) |
4977 | + particles = [ P.t__tilde__, P.t, P.A ], |
4978 | + color = [ 'Identity(1,2)' ], |
4979 | + lorentz = [ L.FFV1 ], |
4980 | + couplings = {(0,0):C.GC_2}) |
4981 | |
4982 | V_24 = Vertex(name = 'V_24', |
4983 | - particles = [ P.ghWp, P.ghWp__tilde__, P.H ], |
4984 | - color = [ '1' ], |
4985 | - lorentz = [ L.UUS1 ], |
4986 | - couplings = {(0,0):C.GC_42}) |
4987 | + particles = [ P.d__tilde__, P.d, P.G ], |
4988 | + color = [ 'T(3,2,1)' ], |
4989 | + lorentz = [ L.FFV1 ], |
4990 | + couplings = {(0,0):C.GC_5}) |
4991 | |
4992 | V_25 = Vertex(name = 'V_25', |
4993 | - particles = [ P.ghWp, P.ghWp__tilde__, P.phi0 ], |
4994 | - color = [ '1' ], |
4995 | - lorentz = [ L.UUS1 ], |
4996 | - couplings = {(0,0):C.GC_43}) |
4997 | + particles = [ P.s__tilde__, P.s, P.G ], |
4998 | + color = [ 'T(3,2,1)' ], |
4999 | + lorentz = [ L.FFV1 ], |
5000 | + couplings = {(0,0):C.GC_5}) |
Hi, very few comments in fact.
few comments:
1) Maybe change the comment in Model.get_ order_hierarchy
base_objects.
That this is used for v4 model only.
2) in base_objects. check_expansion _orders
I've made some basic rewritting of the function.
3) in find_optimal_ process_ orders( process_ definition) :
I'm worried about this comment:
193 + 2) Pick out the legs in the multiprocess according to the
194 + highest hierarchy represented (so don't mix particles from
195 + different hierarchy classes in the same multiparticles!)
What does it mean? can I do this:
define spinhalf = e+ e- u u~
generate spinhalf spinhalf > spinhalf spinhalf
?
4) again in find_optimal_ process_ orders
This function is very long (300 lines).
Some refactoring might be done to simplify the structure.
In particular they are two level:
1) The part which is only model dependent
line 1436 - 1469 might be factorize out.
5) at line 1485:
max_order_ now = sorted( max_order_ now)[2: ]
# Now remove the two lowest orders to get maximum
could you explain why? this is not clear to me