Merge lp:~maddevelopers/mg5amcnlo/fix_color_basis_sextet into lp:~madteam/mg5amcnlo/trunk
- fix_color_basis_sextet
- Merge into trunk
Status: | Merged |
---|---|
Merged at revision: | 175 |
Proposed branch: | lp:~maddevelopers/mg5amcnlo/fix_color_basis_sextet |
Merge into: | lp:~madteam/mg5amcnlo/trunk |
Diff against target: |
4761 lines (+4005/-102) 49 files modified
HELAS/hstlxx.F (+2/-1) HELAS/httaxx.F (+3/-3) HELAS/httsxx.F (+3/-3) HELAS/hvvhxx.F (+3/-3) HELAS/hvvshx.F (+3/-3) HELAS/hvvvxx.F (+3/-3) HELAS/iosxxx.F (+3/-0) HELAS/jioxxx.F (+0/-1) HELAS/jvshxx.F (+3/-3) HELAS/jvsshx.F (+3/-3) HELAS/jvtaxx.F (+3/-3) HELAS/jvvsxx.F (+3/-3) HELAS/jvvtlx.F (+3/-3) HELAS/sstlxx.F (+3/-1) HELAS/ttsaxx.F (+3/-3) HELAS/ttssxx.F (+3/-3) HELAS/usslxx.F (+4/-1) HELAS/utsaxx.F (+3/-3) HELAS/utssxx.F (+3/-3) HELAS/uvvaxx.F (+3/-3) HELAS/uvvvlx.F (+3/-3) HELAS/vvshxx.F (+3/-3) HELAS/vvsshx.F (+3/-3) HELAS/vvtaxx.F (+3/-3) HELAS/vvvsxx.F (+3/-3) HELAS/vvvtlx.F (+3/-3) Template/SubProcesses/cluster.f (+12/-2) Template/bin/plot (+2/-0) UpdateNotes.txt (+13/-0) aloha/aloha_writers.py (+6/-1) madgraph/VERSION (+2/-3) madgraph/core/color_algebra.py (+58/-0) madgraph/core/color_amp.py (+8/-0) madgraph/interface/cmd_interface.py (+175/-5) madgraph/iolibs/export_v4.py (+21/-0) models/TopEffTh/TopEffTh.log (+79/-0) models/TopEffTh/__init__.py (+22/-0) models/TopEffTh/coupling_orders.py (+20/-0) models/TopEffTh/couplings.py (+535/-0) models/TopEffTh/function_library.py (+54/-0) models/TopEffTh/lorentz.py (+367/-0) models/TopEffTh/object_library.py (+245/-0) models/TopEffTh/parameters.py (+705/-0) models/TopEffTh/particles.py (+449/-0) models/TopEffTh/vertices.py (+863/-0) models/TopEffTh/write_param_card.py (+181/-0) tests/acceptance_tests/test_cmd.py (+3/-2) tests/unit_tests/iolibs/test_export_v4.py (+64/-0) tests/unit_tests/various/test_diquark_models.py (+46/-22) |
To merge this branch: | bzr merge lp:~maddevelopers/mg5amcnlo/fix_color_basis_sextet |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Johan Alwall (community) | Approve | ||
Review via email: mp+78798@code.launchpad.net |
Commit message
Description of the change
Nature of the problem:
The decomposition into color subamplitudes is incorrect for most processes
in the diquark model
Origin of the problem:
Although the current implementation in the trunk gives the correct value for
the matrix element squared, there is a problem with the decomposition into
color subamplitudes: in some cases there are too many subamplitudes, and
and they are not gauge invariant.
One example: for g g > g six six~, the correct decomposition involves
only 13 subamplitudes, whereas the current version in the trunk returns
104 jamp's.
The origin of the problem is that the algorithm fails to recognize
identical color strings in some cases, because the summation
indices are named in a different way and/or the symmetry propeties of
the Clebsch Gordan coefficients K6 and K6Bar are not taken into account.
As a result, each color subamplitude in the correct decomposition appears
in many different formats in the current version of the code, and this
gives rise to a very large number of (non gauge-invariant) Jamp's.
In this branch the problem has been solved by forcing a specific convention
for the summation indices and for the i,j indices in K6 and K6Bar.
I added a test in the file tests/unit_
ATTENTION:
1. I had to change the previous tests in test_diquark_
because the color flow decomposition did not match exactly the
reference results after I modified color_amp.py and color_algebra.py.
The results before/after the modifications were consitent with each
other, but up to a re-labeling of indices (which is conventional).
So I had to use another convention for labeling the indices in the
reference color flow strucures in test_diquark_
Johan: can you confirm that it is ok I edited your own tests ?
2. The tests/test_
in the code. After the modifs, I got exactly the same error report.
I copy it below
3. The branch is originally a copy from the trunk, but it runs in the debbug mode
Pierre
Pierre Artoisenet (partois) wrote : | # |
Hi Johan,
Thank you for your prompt reaction on this.
Sorry, I forgot to copy the error report from tests/test_
Now it can be read below.
As you pointed out, the new routine may be generalized in the future, so following
your suggestion I have renamed the routine into "order_summation" and put
also some comments about the order that is chosen for the summation indices.
I commited the modifications using
bzr commit -m "description of the modifs"
but they do not appear on the webpage. Should I use again
bzr push lp:~maddevelopers/madgraph5/fix_color_basis_sextet
to force these modifications on the Launchpad (public version) ?
Sorry for these basic questions, and thank you for your help!
Cheers,
Pierre
F......
=======
ERROR: test_output_
Test command 'output' with path
-------
Traceback (most recent call last):
File "/localstore/
self.do('output standalone %s' % self.out_dir)
File "/localstore/
self.
File "/localstore/
stop = cmd.Cmd.
File "/localstore/
return func(arg)
File "/localstore/
self.
File "/localstore/
online)
File "/localstore/
self.make()
File "/localstore/
misc.
File "/localstore/
raise MadGraph5Error, error_text
MadGraph5Error: A compilation Error occurs when trying to compile /localstore/
The compilation fails with the following output message:
cd DHELAS; make
make[1]: Entering directory `/localstore/
g77 -O -w -ffixed-
httsxx.F: In subroutine `httsxx':
httsxx.F:24:
include "dimension.inc"
^
Unable to open INCLUDE file `dimension.inc' at (^)
httsxx.F:25:
double complex tc1(DIM)
- 175. By Pierre Artoisenet
-
Added first line of text
- 176. By mattelaer-olivier
-
fix the error in the acceptance test. A very stupid mistake
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
I've fix one of the error of the acceptance test.
The remaining three are fixed in the new_install_cmd branch.
So my proposal is to merge this branch in that one.
and merge both of them in the trunk.
Johan Alwall (johan-alwall) wrote : | # |
Hello Pierre,
Excellent work. I approve the merge.
To perform the merge, first merge with the latest trunk and new_install_command branch
bzr merge lp:madgraph5
Fix the conflicts (there should be in VERSION and UpdateNotes), and do
bzr resolve
bzr commit -m "Merged with latest version of trunk, v. 1.3.20"
Next, merge with the new_install_command branch:
bzr merge lp:~maddevelopers/madgraph5/new_install_command
Same thing, fix the conflicts (note that since we do both these branches together, you only need one version number, v. 1.3.21, and don't forget to set today's date in both VERSION and UpdateNotes), resolve and commit. Then push, and let us take a look before you merge with the trunk.
For the actual merge, do the following:
bzr branch lp:madgraph5
cd madgraph5
bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
bzr commit -m "Merged up to version 1.3.21 (the fix_color_
Now create a release:
bin/create_
Note that you need epydoc and gpg installed on your computer (and gpg set up) to do this.
Once this is done, and there are no errors, you can push to lp:madgraph5.
Now replace the download file on Launchpad (click on "All downloads"), add the new lines from UpdateNotes to the release info and the release 1.3.0 information (look through the page and you'll see where to make changes), and update both UIUC and UCL cluster. This step is crucial, since otherwise the download links won't work on the clusters.
Please let us know if you have any questions, and also let us know once it's all done so we can double-check.
Thanks!
Johan
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
> Note that you need epydoc and gpg installed on your computer (and
> gpg set up) to do this.
Concerning this point. gpg is not mandatory (I never succeed to make
it work due to compatibility issue with Mac10.5)
while epydoc is 100% require (you can install it from http://
Otherwise note that the script create_release test that
1) all your modification are committed.
2) that your version number has comment in the Update Note.
3) that the date is today.
And create a warning/crash if they are a problem.
As you will note, this script will also automatically test the full
set of unit test and acceptance test.
If a test fails, then the .tar.gz will not be created
Cheers,
Olivier
On 10-oct.-11, at 20:03, Johan Alwall wrote:
> Review: Approve
>
> Hello Pierre,
>
> Excellent work. I approve the merge.
>
> To perform the merge, first merge with the latest trunk and
> new_install_command branch
> bzr merge lp:madgraph5
> Fix the conflicts (there should be in VERSION and UpdateNotes), and do
> bzr resolve
> bzr commit -m "Merged with latest version of trunk, v. 1.3.20"
> Next, merge with the new_install_command branch:
> bzr merge lp:~maddevelopers/madgraph5/new_install_command
> Same thing, fix the conflicts (note that since we do both these
> branches together, you only need one version number, v. 1.3.21, and
> don't forget to set today's date in both VERSION and UpdateNotes),
> resolve and commit. Then push, and let us take a look before you
> merge with the trunk.
>
> For the actual merge, do the following:
> bzr branch lp:madgraph5
> cd madgraph5
> bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
> bzr commit -m "Merged up to version 1.3.21 (the
> fix_color_
> Now create a release:
> bin/create_
> Note that you need epydoc and gpg installed on your computer (and
> gpg set up) to do this.
> Once this is done, and there are no errors, you can push to
> lp:madgraph5.
>
> Now replace the download file on Launchpad (click on "All
> downloads"), add the new lines from UpdateNotes to the release info
> and the release 1.3.0 information (look through the page and you'll
> see where to make changes), and update both UIUC and UCL cluster.
> This step is crucial, since otherwise the download links won't work
> on the clusters.
>
> Please let us know if you have any questions, and also let us know
> once it's all done so we can double-check.
>
> Thanks!
> Johan
> --
> https:/
> fix_color_
> You are subscribed to branch lp:madgraph5.
Pierre Artoisenet (partois) wrote : | # |
Hi Johan, hi Olivier,
many thanks for the clear information below!
The merge with the version in the trunk (lp:madgraph5) went fine, I think,
but I have some problems for the merge with the new_install_command
branch:
The first problem is that I am not sure how to solve the conflict in
UpdateNotes, since there are 2 version 1.3.20 :
<<<<<<< TREE
1.3.21 (11/10/11) PA: fix the problem of degenerate color basis in the
1.3.20 (09/10/11) JA: Fixed bug in myamp.f that created a hard stop
=======
1.3.20 (07/10/11) OM: Add a new command: install.
available
pythia-
presence
>>>>>>> MERGE-SOURCE
The second problem is that "test_manager.py" is not working properly
after this second merge:
./tests/
Traceback (most recent call last):
File "./tests/
package=
File "./tests/
re_
File "./tests/
self.
File "./tests/
self.
File "./tests/
self.
File "./tests/
self.
File "./tests/
__
File
"/localstore/
line 23, in <module>
class TestValidCmd(
File
"/localstore/
line 26, in TestValidCmd
cmd = cmd.MadGraphCmd
File
"/localstore/
line 1507, in __init__
CmdExtende
File
"/localstore/
line 111, in __init__
info = misc.get_pkg_info()
File
"/localstore/
line 64, in get_pkg_info
parse_
File
"/localstore/
line 40, in read_from_file
except IOError, (errno, strerror):
ValueError: need more than 1 value to unpack
...
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Hi Pierre,
Concerning the conflict:
The main idea is the same as cvs
in your file you have
tag <<<<<
=====
>>>>>
delimitting conflict area.
In order to help you, you have three aditional file
NAME.this (your file before the merge)
NAM.other (the file with which you are doing the merge)
NAME.base (the common version of the file on which are done the
merging comparison)
Note that in 99% of the cases, you don't need those files.
The idea is to suppress from the file all tag
>>>>>> ===== and <<<<<
(as in cvs) and have replace the area with the correct part off course.
When this is done, you can do
bzr resolve
and if you done forget any conflict this will work. (otherwise, it
will indicate which files still contains conflict)
For the test, manager, that's a problem linked to the conflict, when
those will be resolve, the test manager should pass.
Cheers,
Olivier
On 11-oct.-11, at 02:43, Pierre Artoisenet wrote:
>
> Hi Johan, hi Olivier,
>
> many thanks for the clear information below!
>
> The merge with the version in the trunk (lp:madgraph5) went fine, I
> think,
> but I have some problems for the merge with the new_install_command
> branch:
>
> The first problem is that I am not sure how to solve the conflict in
> UpdateNotes, since there are 2 version 1.3.20 :
>
> <<<<<<< TREE
> 1.3.21 (11/10/11) PA: fix the problem of degenerate color basis in the
> diquark sextet model
>
> 1.3.20 (09/10/11) JA: Fixed bug in myamp.f that created a hard stop
> error for certain cases with many processes with
> different propagators in the same subprocess dir.
> =======
> 1.3.20 (07/10/11) OM: Add a new command: install.
> This allow to install quite easily different
> package
> devellop for Madgraph/MadEvent. The list of
> available
> package are
> pythia-
> OM: Adding TopEffth Model
> OM: Improve display particles and autocompletion in
> presence
> of nonpropagating particles
> OM: Fix Aloha bug linked to four fermion operator
>>>>>>>> MERGE-SOURCE
>
>
> The second problem is that "test_manager.py" is not working properly
> after this second merge:
>
> ./tests/
> Traceback (most recent call last):
> File "./tests/
> package=
> File "./tests/
> re_opt=re_opt):
> File "./tests/
> self._check_
> File "./tests/
> self.collect_
> File "./tests/
> self.collect_
> File "./tests/
> self.collect_
> File "./tests/
> __import__(pyname)
> File
> "/localstore/
> fix_color_
Pierre Artoisenet (partois) wrote : | # |
Hi Olivier,
Thanks for these info, now the tests are indeed running.
If I remove all tags >>>>>> ===== and <<<<<,
I will have two versions 1.3.20. Should I leave the UpdateNotes.txt
file with these two versions 1.3.20 ?
Also now I have got two error reports:
./tests/
.......
=======
FAIL: test_get_momenta
(tests.
Test the get_momenta function
-------
Traceback (most recent call last):
File
"/localstore/
line 76, in test_get_momenta
self.
File
"/localstore/
line 52, in assertAlmostEqual
unittest.
AssertionError: -6.83940015733e-09 != 0.0 within 8 digits
-------
Ran 473 tests in 37.643s
FAILED (failures=1)
./tests/
Traceback (most recent call last):
File "./tests/
package=
File "./tests/
re_
File "./tests/
self.
File "./tests/
self.
File "./tests/
for name in os.listdir(
OSError: [Errno 2] No such file or directory:
'/localstore/
[partois@clain fix_color_
F......
=======
FAIL: test_config (tests.
check that configuration file is at default value
-------
Traceback (most recent call last):
File
"/localstore/
line 127, in test_config
self.
AssertionError: 'firefox' != 'gv'
-------
Ran 25 tests in 71.081s
FAILED (failures=1)
Cheers,
Pierre
On Tue, 11 Oct 2011, Olivier Mattelaer wrote:
> Hi Pierre,
>
> Concerning the conflict:
> The main idea is th...
Johan Alwall (johan-alwall) wrote : | # |
Hello Pierre,
For the UpdateNotes: The only version which is released is (of course) the trunk. Any other version numbers are temporary and irrelevant. As I wrote in my explanation above, you should combine the two versions into one release:
1.3.21 (11/10/11) PA: fix the problem of degenerate color basis in the
available
pythia-
presence
1.3.20 (09/10/11) JA: Fixed bug in myamp.f that created a hard stop
...
Cheers,
Johan
Pierre Artoisenet (partois) wrote : | # |
Hi Johan,
Ok I understand now... I made the modifications in the
UpdateNotes.txt file, and the test ./tests/
successfully (magic!)
Unfortunately I still have a problem with the second test:
./tests/
F......
=======
FAIL: test_config (tests.
check that configuration file is at default value
-------
Traceback (most recent call last):
File
"/localstore/
line 127, in test_config
self.
AssertionError: 'firefox' != 'gv'
-------
Ran 25 tests in 73.986s
FAILED (failures=1)
Cheers,
Pierre
On Tue, 11 Oct 2011, Johan Alwall wrote:
> Hello Pierre,
>
> For the UpdateNotes: The only version which is released is (of course) the trunk. Any other version numbers are temporary and irrelevant. As I wrote in my explanation above, you should combine the two versions into one release:
>
> 1.3.21 (11/10/11) PA: fix the problem of degenerate color basis in the
> diquark sextet model
> OM: Add a new command: install.
> This allow to install quite easily different package
> devellop for Madgraph/MadEvent. The list of
> available
> package are
> pythia-
> OM: Adding TopEffth Model
> OM: Improve display particles and autocompletion in
> presence
> of nonpropagating particles
> OM: Fix Aloha bug linked to four fermion operator
>
> 1.3.20 (09/10/11) JA: Fixed bug in myamp.f that created a hard stop
> error for certain cases with many processes with
> different propagators in the same subprocess dir.
> ...
>
> Cheers,
> Johan
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/madgraph5/fix_color_basis_sextet.
>
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Concerning this error:
> Traceback (most recent call last):
> File
> "/localstore/
> fix_color_
> test_process_
> line 76, in test_get_momenta
> self.assertAlmo
> File
> "/localstore/
> fix_color_
> line 52, in assertAlmostEqual
> unittest.
> AssertionError: -6.83940015733e-09 != 0.0 within 8 digits
The test is in fact fine but probably just above the trigger of the
error. Since this test is base on a random number, this might be pass
the next time.
> =======
> FAIL: test_config (tests.
> check that configuration file is at default value
> -------
> Traceback (most recent call last):
> File
> "/localstore/
> fix_color_
> line 127, in test_config
> self.assertEqua
> AssertionError: 'firefox' != 'gv'
Did you pull my modifications on this test?
it looks not.
My advice is to do the following
a) bzr commit
b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
This one will probably fail, if so, you are then force to run
bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
and then see if the test pass.
Cheers,
olivier
On 11-oct.-11, at 03:38, Pierre Artoisenet wrote:
>
> Hi Olivier,
>
> Thanks for these info, now the tests are indeed running.
>
> If I remove all tags >>>>>> ===== and <<<<<,
> I will have two versions 1.3.20. Should I leave the UpdateNotes.txt
> file with these two versions 1.3.20 ?
>
>
> Also now I have got two error reports:
>
> ./tests/
> .......
> =======
> FAIL: test_get_momenta
> (tests
> .unit_tests.
> Test the get_momenta function
> -------
> Traceback (most recent call last):
> File
> "/localstore/
> fix_color_
> test_process_
> line 76, in test_get_momenta
> self.assertAlmo
> File
> "/localstore/
> fix_color_
> line 52, in assertAlmostEqual
> unittest.
> Asserti...
Johan Alwall (johan-alwall) wrote : | # |
> My advice is to do the following
> a) bzr commit
> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
> This one will probably fail, if so, you are then force to run
> bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
> and then see if the test pass.
If you do a merge, you lose all commit messages between the commit and the merge, which looks quite ugly.
In fact, the correct way of doing this is
a) do NOT commit but save all files if you have them open
b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
if this fails, do
bzr uncommit
try to pull again - if it still doesn't work, do another uncommit, etc. until the pull works.
Finally, commit (and make sure you retain all commit messages that you have uncommitted, as well as describe additional changes).
Cheers,
Johan
Pierre Artoisenet (partois) wrote : | # |
Ok, I eventually went through the merge procedure with the lattest trunk
and the new_install_command branch.
I am waiting for your green light to do the next step (update the version
in the trunk)
Cheers,
Pierre
On Tue, 11 Oct 2011, Johan Alwall wrote:
>> My advice is to do the following
>> a) bzr commit
>> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>> This one will probably fail, if so, you are then force to run
>> bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>> and then see if the test pass.
>
> If you do a merge, you lose all commit messages between the commit and the merge, which looks quite ugly.
>
> In fact, the correct way of doing this is
> a) do NOT commit but save all files if you have them open
> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
> if this fails, do
> bzr uncommit
> try to pull again - if it still doesn't work, do another uncommit, etc. until the pull works.
> Finally, commit (and make sure you retain all commit messages that you have uncommitted, as well as describe additional changes).
>
> Cheers,
> Johan
>
> --
> https:/
> Your team MadTeam is subscribed to branch lp:madgraph5.
>
Olivier Mattelaer (olivier-mattelaer) wrote : | # |
Ok for that we will need to see the last version.
So could you push it on the web.
(just make bzr push)
Cheers,
olivier
On Oct 11, 2011, at 4:37 AM, Pierre Artoisenet wrote:
>
> Ok, I eventually went through the merge procedure with the lattest
> trunk
> and the new_install_command branch.
>
> I am waiting for your green light to do the next step (update the
> version
> in the trunk)
>
> Cheers,
> Pierre
>
> On Tue, 11 Oct 2011, Johan Alwall wrote:
>
>>> My advice is to do the following
>>> a) bzr commit
>>> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>>> This one will probably fail, if so, you are then force to run
>>> bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>>> and then see if the test pass.
>>
>> If you do a merge, you lose all commit messages between the commit
>> and the merge, which looks quite ugly.
>>
>> In fact, the correct way of doing this is
>> a) do NOT commit but save all files if you have them open
>> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>> if this fails, do
>> bzr uncommit
>> try to pull again - if it still doesn't work, do another uncommit,
>> etc. until the pull works.
>> Finally, commit (and make sure you retain all commit messages that
>> you have uncommitted, as well as describe additional changes).
>>
>> Cheers,
>> Johan
>>
>> --
>> https:/
>> fix_color_
>> Your team MadTeam is subscribed to branch lp:madgraph5.
>>
>
> --
> https:/
> fix_color_
> You are subscribed to branch lp:madgraph5.
- 177. By Pierre Artoisenet
-
Merged with the new_install_command branch
Pierre Artoisenet (partois) wrote : | # |
ah yes, sorry, I have just done it
Cheers,
Pierre
On Tue, 11 Oct 2011, Olivier Mattelaer wrote:
> Ok for that we will need to see the last version.
> So could you push it on the web.
> (just make bzr push)
>
> Cheers,
>
> olivier
>
>
> On Oct 11, 2011, at 4:37 AM, Pierre Artoisenet wrote:
>
>>
>> Ok, I eventually went through the merge procedure with the lattest
>> trunk
>> and the new_install_command branch.
>>
>> I am waiting for your green light to do the next step (update the
>> version
>> in the trunk)
>>
>> Cheers,
>> Pierre
>>
>> On Tue, 11 Oct 2011, Johan Alwall wrote:
>>
>>>> My advice is to do the following
>>>> a) bzr commit
>>>> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>>>> This one will probably fail, if so, you are then force to run
>>>> bzr merge lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>>>> and then see if the test pass.
>>>
>>> If you do a merge, you lose all commit messages between the commit
>>> and the merge, which looks quite ugly.
>>>
>>> In fact, the correct way of doing this is
>>> a) do NOT commit but save all files if you have them open
>>> b) bzr pull lp:~maddevelopers/madgraph5/fix_color_basis_sextet
>>> if this fails, do
>>> bzr uncommit
>>> try to pull again - if it still doesn't work, do another uncommit,
>>> etc. until the pull works.
>>> Finally, commit (and make sure you retain all commit messages that
>>> you have uncommitted, as well as describe additional changes).
>>>
>>> Cheers,
>>> Johan
>>>
>>> --
>>> https:/
>>> fix_color_
>>> Your team MadTeam is subscribed to branch lp:madgraph5.
>>>
>>
>> --
>> https:/
>> fix_color_
>> You are subscribed to branch lp:madgraph5.
>
>
> --
> https:/
> Your team MadDevelopers is subscribed to branch lp:~maddevelopers/madgraph5/fix_color_basis_sextet.
>
Johan Alwall (johan-alwall) wrote : | # |
Hello Pierre,
Only one comment: Please put main modifs (such as new functionality) first in the UpdateNotes, and bug fixes at the end. The new install command is a pretty major thing, so it deserves to be first.
Cheers,
Johan
- 178. By Pierre Artoisenet
-
change the order of modifs in the UpdateNotes.txt
Pierre Artoisenet (partois) wrote : | # |
Hi Johan,
This is done, I have just made a "bzr push"
Cheers,
Pierre
On Wed, 12 Oct 2011, Johan Alwall wrote:
> Hello Pierre,
>
> Only one comment: Please put main modifs (such as new functionality) first in the UpdateNotes, and bug fixes at the end. The new install command is a pretty major thing, so it deserves to be first.
>
> Cheers,
> Johan
> --
> https:/
> Your team MadTeam is subscribed to branch lp:madgraph5.
>
- 179. By Johan Alwall
-
Merged with fix_bug_from_Benj: Fix bug in cluster.f in case of incompatible t-channel processes.
Preview Diff
1 | === modified file 'HELAS/hstlxx.F' |
2 | --- HELAS/hstlxx.F 2010-10-30 03:26:37 +0000 |
3 | +++ HELAS/hstlxx.F 2011-10-12 10:39:26 +0000 |
4 | @@ -15,7 +15,8 @@ |
5 | c complex hst(3) : scalar current j(s':s1,s2) |
6 | c |
7 | implicit none |
8 | - include "dimension.inc" |
9 | + INTEGER DIM |
10 | + PARAMETER(DIM=18) |
11 | |
12 | double complex s1(DIM),t2(DIM),hst(DIM),dg |
13 | double precision q(0:3),smass,swidth,q2,gc |
14 | |
15 | === modified file 'HELAS/httaxx.F' |
16 | --- HELAS/httaxx.F 2010-10-30 03:26:37 +0000 |
17 | +++ HELAS/httaxx.F 2011-10-12 10:39:26 +0000 |
18 | @@ -19,9 +19,9 @@ |
19 | |
20 | implicit none |
21 | c-- dimension of the current set to arbitrary length |
22 | -c INTEGER DIM |
23 | -c PARAMETER(DIM=18) |
24 | - include "dimension.inc" |
25 | + INTEGER DIM |
26 | + PARAMETER(DIM=18) |
27 | +c include "dimension.inc" |
28 | double complex tc1(DIM),tc2(DIM),jsc(DIM) |
29 | double complex vertex,dj,gc(2) |
30 | double precision mass,width,q2,q(4) |
31 | |
32 | === modified file 'HELAS/httsxx.F' |
33 | --- HELAS/httsxx.F 2010-10-30 03:26:37 +0000 |
34 | +++ HELAS/httsxx.F 2011-10-12 10:39:26 +0000 |
35 | @@ -19,9 +19,9 @@ |
36 | |
37 | implicit none |
38 | c-- dimension of the current set to arbitrary length |
39 | -c INTEGER DIM |
40 | -c PARAMETER(DIM=18) |
41 | - include "dimension.inc" |
42 | + INTEGER DIM |
43 | + PARAMETER(DIM=18) |
44 | +c include 'dimension.inc' |
45 | double complex tc1(DIM),htts(DIM),sc(DIM),tc2(DIM) |
46 | double complex dg,g1(2) |
47 | |
48 | |
49 | === modified file 'HELAS/hvvhxx.F' |
50 | --- HELAS/hvvhxx.F 2010-10-30 03:26:37 +0000 |
51 | +++ HELAS/hvvhxx.F 2011-10-12 10:39:26 +0000 |
52 | @@ -20,9 +20,9 @@ |
53 | c |
54 | implicit none |
55 | c-- dimension of the current set to arbitrary length |
56 | -c INTEGER DIM |
57 | -c PARAMETER(DIM=18) |
58 | - include "dimension.inc" |
59 | + INTEGER DIM |
60 | + PARAMETER(DIM=18) |
61 | +c include "dimension.inc" |
62 | double complex v1(DIM),v2(DIM),jsvv(DIM),vertex1,vertex2,dj |
63 | double complex v12,p2v1,p1v2 |
64 | double complex v13,v14,v23,v24,v34 |
65 | |
66 | === modified file 'HELAS/hvvshx.F' |
67 | --- HELAS/hvvshx.F 2010-10-30 03:26:37 +0000 |
68 | +++ HELAS/hvvshx.F 2011-10-12 10:39:26 +0000 |
69 | @@ -19,9 +19,9 @@ |
70 | c |
71 | implicit none |
72 | c-- dimension of the current set to arbitrary length |
73 | -c INTEGER DIM |
74 | -c PARAMETER(DIM=18) |
75 | - include "dimension.inc" |
76 | + INTEGER DIM |
77 | + PARAMETER(DIM=18) |
78 | +c include "dimension.inc" |
79 | double complex v1(DIM),v2(DIM),sc(DIM),hvvsh(DIM) |
80 | double complex hvvsh1,hvvsh2,dg,g1(2) |
81 | double complex v12,p2v1,p1v2,v13,v14,v23,v24,v34 |
82 | |
83 | === modified file 'HELAS/hvvvxx.F' |
84 | --- HELAS/hvvvxx.F 2010-10-30 03:26:37 +0000 |
85 | +++ HELAS/hvvvxx.F 2011-10-12 10:39:26 +0000 |
86 | @@ -22,9 +22,9 @@ |
87 | implicit none |
88 | |
89 | c-- dimension of the current set to arbitrary length |
90 | -c INTEGER DIM |
91 | -c PARAMETER(DIM=18) |
92 | - include "dimension.inc" |
93 | + INTEGER DIM |
94 | + PARAMETER(DIM=18) |
95 | +c include "dimension.inc" |
96 | double complex ga(DIM),gb(DIM),gc(DIM),jhvvv(DIM) |
97 | |
98 | double complex dvertx, vertex, vertex1, vertex2,dj |
99 | |
100 | === modified file 'HELAS/iosxxx.F' |
101 | --- HELAS/iosxxx.F 2010-10-30 03:26:37 +0000 |
102 | +++ HELAS/iosxxx.F 2011-10-12 10:39:26 +0000 |
103 | @@ -14,7 +14,10 @@ |
104 | c |
105 | implicit none |
106 | double complex fi(6),fo(6),sc(3),gc(2),vertex |
107 | + INTEGER DIM |
108 | + PARAMETER(DIM=18) |
109 | |
110 | +c include 'dimension.inc' |
111 | #ifdef HELAS_CHECK |
112 | double precision p0,p1,p2,p3,q0,q1,q2,q3,r0,r1,r2,r3,pm |
113 | double precision epsi |
114 | |
115 | === modified file 'HELAS/jioxxx.F' |
116 | --- HELAS/jioxxx.F 2010-10-30 03:26:37 +0000 |
117 | +++ HELAS/jioxxx.F 2011-10-12 10:39:26 +0000 |
118 | @@ -24,7 +24,6 @@ |
119 | parameter( rZero = 0.0d0, rOne = 1.0d0 ) |
120 | double complex cImag, cZero |
121 | parameter( cImag = ( 0.0d0, 1.0d0 ), cZero = ( 0.0d0, 0.0d0 ) ) |
122 | - |
123 | #ifdef HELAS_CHECK |
124 | integer stdo |
125 | parameter( stdo = 6 ) |
126 | |
127 | === modified file 'HELAS/jvshxx.F' |
128 | --- HELAS/jvshxx.F 2010-10-30 03:26:37 +0000 |
129 | +++ HELAS/jvshxx.F 2011-10-12 10:39:26 +0000 |
130 | @@ -19,9 +19,9 @@ |
131 | c |
132 | implicit none |
133 | c-- dimension of the current set to arbitrary length |
134 | -c INTEGER DIM |
135 | -c PARAMETER(DIM=18) |
136 | - include "dimension.inc" |
137 | + INTEGER DIM |
138 | + PARAMETER(DIM=18) |
139 | +c include "dimension.inc" |
140 | double complex vc(DIM),sc(DIM),jvs(DIM),jvs1(DIM),jvs2(DIM) |
141 | double complex qvc,dg |
142 | double precision qp1,p12,p13,p14,p23,p24,p34 |
143 | |
144 | === modified file 'HELAS/jvsshx.F' |
145 | --- HELAS/jvsshx.F 2010-10-30 03:26:37 +0000 |
146 | +++ HELAS/jvsshx.F 2011-10-12 10:39:26 +0000 |
147 | @@ -8,9 +8,9 @@ |
148 | c |
149 | implicit none |
150 | c-- dimension of the current set to arbitrary length |
151 | -c INTEGER DIM |
152 | -c PARAMETER(DIM=18) |
153 | - include "dimension.inc" |
154 | + INTEGER DIM |
155 | + PARAMETER(DIM=18) |
156 | +c include "dimension.inc" |
157 | double complex vc(DIM),sc1(DIM),sc2(DIM),jvs(DIM) |
158 | double complex jvs1(DIM),jvs2(DIM),dg,qvc |
159 | double precision qp1,p12,p13,p14,p23,p24,p34 |
160 | |
161 | === modified file 'HELAS/jvtaxx.F' |
162 | --- HELAS/jvtaxx.F 2010-10-30 03:26:37 +0000 |
163 | +++ HELAS/jvtaxx.F 2011-10-12 10:39:26 +0000 |
164 | @@ -20,9 +20,9 @@ |
165 | implicit none |
166 | |
167 | c dimension of the current set to arbitrary length |
168 | -c integer DIM |
169 | -c parameter (DIM=18) |
170 | - include "dimension.inc" |
171 | + integer DIM |
172 | + parameter (DIM=18) |
173 | +c include "dimension.inc" |
174 | double complex ga(DIM),jw(DIM),tc(DIM) |
175 | double complex gt1(4), gt2(4) |
176 | double precision q(0:3),g,q2,dv |
177 | |
178 | === modified file 'HELAS/jvvsxx.F' |
179 | --- HELAS/jvvsxx.F 2010-10-30 03:26:37 +0000 |
180 | +++ HELAS/jvvsxx.F 2011-10-12 10:39:26 +0000 |
181 | @@ -22,9 +22,9 @@ |
182 | |
183 | implicit none |
184 | c-- dimension of the current set to arbitrary length |
185 | -c INTEGER DIM |
186 | -c PARAMETER(DIM=18) |
187 | - include "dimension.inc" |
188 | + INTEGER DIM |
189 | + PARAMETER(DIM=18) |
190 | +c include "dimension.inc" |
191 | double complex ga(DIM),gb(DIM),jggs(DIM),sc(DIM) |
192 | double complex jggs1(DIM),jggs2(DIM) |
193 | double complex sva,svb,vab,j12(0:3) |
194 | |
195 | === modified file 'HELAS/jvvtlx.F' |
196 | --- HELAS/jvvtlx.F 2010-10-30 03:26:37 +0000 |
197 | +++ HELAS/jvvtlx.F 2011-10-12 10:39:26 +0000 |
198 | @@ -21,9 +21,9 @@ |
199 | |
200 | implicit none |
201 | c-- dimension of the current set to arbitrary length |
202 | -c INTEGER DIM |
203 | -c PARAMETER(DIM=18) |
204 | - include "dimension.inc" |
205 | + INTEGER DIM |
206 | + PARAMETER(DIM=18) |
207 | +c include "dimension.inc" |
208 | double complex ga(DIM),gb(DIM),jggs(DIM),sc(DIM),g2(2) |
209 | double complex jggs1(DIM),jggs2(DIM) |
210 | double complex sva,svb,vab,j12(0:3) |
211 | |
212 | === modified file 'HELAS/sstlxx.F' |
213 | --- HELAS/sstlxx.F 2010-10-30 03:26:37 +0000 |
214 | +++ HELAS/sstlxx.F 2011-10-12 10:39:26 +0000 |
215 | @@ -13,8 +13,10 @@ |
216 | c complex vertex : amplitude gamma(s1,s2,s3) |
217 | c |
218 | implicit none |
219 | + INTEGER DIM |
220 | + PARAMETER(DIM=18) |
221 | |
222 | - include "dimension.inc" |
223 | +c include "dimension.inc" |
224 | double complex s1(DIM),s2(DIM),t3(DIM),vertex |
225 | double precision gc |
226 | |
227 | |
228 | === modified file 'HELAS/ttsaxx.F' |
229 | --- HELAS/ttsaxx.F 2010-10-30 03:26:37 +0000 |
230 | +++ HELAS/ttsaxx.F 2011-10-12 10:39:26 +0000 |
231 | @@ -17,9 +17,9 @@ |
232 | |
233 | implicit none |
234 | c-- dimension of the current set to arbitrary length |
235 | -c INTEGER DIM |
236 | -c PARAMETER(DIM=18) |
237 | - include "dimension.inc" |
238 | + INTEGER DIM |
239 | + PARAMETER(DIM=18) |
240 | +c include "dimension.inc" |
241 | double complex tc1(DIM),tc2(DIM),sc(DIM) |
242 | double complex vertex, gc(2) |
243 | |
244 | |
245 | === modified file 'HELAS/ttssxx.F' |
246 | --- HELAS/ttssxx.F 2010-10-30 03:26:37 +0000 |
247 | +++ HELAS/ttssxx.F 2011-10-12 10:39:26 +0000 |
248 | @@ -18,9 +18,9 @@ |
249 | |
250 | implicit none |
251 | c-- dimension of the current set to arbitrary length |
252 | -c INTEGER DIM |
253 | -c PARAMETER(DIM=18) |
254 | - include "dimension.inc" |
255 | + INTEGER DIM |
256 | + PARAMETER(DIM=18) |
257 | +c include "dimension.inc" |
258 | double complex tc1(DIM),tc2(DIM),sc1(DIM),sc2(DIM) |
259 | |
260 | double complex vertex, g1(2) |
261 | |
262 | === modified file 'HELAS/usslxx.F' |
263 | --- HELAS/usslxx.F 2010-10-30 03:26:37 +0000 |
264 | +++ HELAS/usslxx.F 2011-10-12 10:39:26 +0000 |
265 | @@ -17,7 +17,10 @@ |
266 | c |
267 | |
268 | implicit none |
269 | - include "dimension.inc" |
270 | + INTEGER DIM |
271 | + PARAMETER(DIM=18) |
272 | + |
273 | +c include "dimension.inc" |
274 | double complex s1(DIM),s2(DIM),uss(DIM) |
275 | double precision xm,xw,gc |
276 | |
277 | |
278 | === modified file 'HELAS/utsaxx.F' |
279 | --- HELAS/utsaxx.F 2010-10-30 03:26:37 +0000 |
280 | +++ HELAS/utsaxx.F 2011-10-12 10:39:26 +0000 |
281 | @@ -19,9 +19,9 @@ |
282 | |
283 | implicit none |
284 | c-- dimension of the current set to arbitrary length |
285 | -c INTEGER DIM |
286 | -c PARAMETER(DIM=18) |
287 | - include "dimension.inc" |
288 | + INTEGER DIM |
289 | + PARAMETER(DIM=18) |
290 | +c include "dimension.inc" |
291 | double complex tc1(DIM),jts(DIM),sc(DIM), gt(2) |
292 | double precision xm, xw |
293 | |
294 | |
295 | === modified file 'HELAS/utssxx.F' |
296 | --- HELAS/utssxx.F 2010-10-30 03:26:37 +0000 |
297 | +++ HELAS/utssxx.F 2011-10-12 10:39:26 +0000 |
298 | @@ -20,9 +20,9 @@ |
299 | |
300 | implicit none |
301 | c-- dimension of the current set to arbitrary length |
302 | -c INTEGER DIM |
303 | -c PARAMETER(DIM=18) |
304 | - include "dimension.inc" |
305 | + INTEGER DIM |
306 | + PARAMETER(DIM=18) |
307 | +c include "dimension.inc" |
308 | double complex tc1(DIM),jts(DIM),sc1(DIM),sc2(DIM),g1(2) |
309 | double precision g2, xm, xw |
310 | |
311 | |
312 | === modified file 'HELAS/uvvaxx.F' |
313 | --- HELAS/uvvaxx.F 2010-10-30 03:26:37 +0000 |
314 | +++ HELAS/uvvaxx.F 2011-10-12 10:39:26 +0000 |
315 | @@ -19,9 +19,9 @@ |
316 | implicit none |
317 | |
318 | c dimension of the current set to arbitrary length |
319 | -c integer DIM |
320 | -c parameter (DIM=18) |
321 | - include "dimension.inc" |
322 | + integer DIM |
323 | + parameter (DIM=18) |
324 | +c include "dimension.inc" |
325 | double complex w1(DIM),w2(DIM),jt(DIM) |
326 | double precision xm1,xm2,xw,g,s2g |
327 | double precision sqrTwo |
328 | |
329 | === modified file 'HELAS/uvvvlx.F' |
330 | --- HELAS/uvvvlx.F 2010-10-30 03:26:37 +0000 |
331 | +++ HELAS/uvvvlx.F 2011-10-12 10:39:26 +0000 |
332 | @@ -22,9 +22,9 @@ |
333 | implicit none |
334 | |
335 | c-- dimension of the current set to arbitrary length |
336 | -c INTEGER DIM |
337 | -c PARAMETER(DIM=18) |
338 | - include "dimension.inc" |
339 | + INTEGER DIM |
340 | + PARAMETER(DIM=18) |
341 | +c include "dimension.inc" |
342 | double complex ga(DIM),gb(DIM),gc(DIM),jhvvv(DIM),g2(2) |
343 | |
344 | double complex dvertx, vertex, vertex1, vertex2 |
345 | |
346 | === modified file 'HELAS/vvshxx.F' |
347 | --- HELAS/vvshxx.F 2010-10-30 03:26:37 +0000 |
348 | +++ HELAS/vvshxx.F 2011-10-12 10:39:26 +0000 |
349 | @@ -18,9 +18,9 @@ |
350 | c |
351 | implicit none |
352 | c-- dimension of the current set to arbitrary length |
353 | -c INTEGER DIM |
354 | -c PARAMETER(DIM=18) |
355 | - include "dimension.inc" |
356 | + INTEGER DIM |
357 | + PARAMETER(DIM=18) |
358 | +c include "dimension.inc" |
359 | double complex v1(DIM),v2(DIM),sc(DIM),vertex,vertex1,vertex2 |
360 | double complex v12,p2v1,p1v2,v13,v14,v23,v24,v34 |
361 | double precision p12,p13,p14,p23,p24,p34 |
362 | |
363 | === modified file 'HELAS/vvsshx.F' |
364 | --- HELAS/vvsshx.F 2010-10-30 03:26:37 +0000 |
365 | +++ HELAS/vvsshx.F 2011-10-12 10:39:26 +0000 |
366 | @@ -18,9 +18,9 @@ |
367 | c |
368 | implicit none |
369 | c-- dimension of the current set to arbitrary length |
370 | -c INTEGER DIM |
371 | -c PARAMETER(DIM=18) |
372 | - include "dimension.inc" |
373 | + INTEGER DIM |
374 | + PARAMETER(DIM=18) |
375 | +c include "dimension.inc" |
376 | double complex v1(DIM),v2(DIM),sc1(DIM),sc2(DIM),vertex |
377 | double complex vertex1,vertex2,g1(2) |
378 | double complex v12,p2v1,p1v2,v13,v14,v23,v24,v34 |
379 | |
380 | === modified file 'HELAS/vvtaxx.F' |
381 | --- HELAS/vvtaxx.F 2010-10-30 03:26:37 +0000 |
382 | +++ HELAS/vvtaxx.F 2011-10-12 10:39:26 +0000 |
383 | @@ -19,9 +19,9 @@ |
384 | implicit none |
385 | |
386 | c dimension of the current set to arbitrary length |
387 | -c integer DIM |
388 | -c parameter (DIM=18) |
389 | - include "dimension.inc" |
390 | + integer DIM |
391 | + parameter (DIM=18) |
392 | +c include "dimension.inc" |
393 | double complex ga(DIM),gb(DIM),tc(DIM) |
394 | double precision xm,xw,g |
395 | double precision sqrTwo |
396 | |
397 | === modified file 'HELAS/vvvsxx.F' |
398 | --- HELAS/vvvsxx.F 2010-10-30 03:26:37 +0000 |
399 | +++ HELAS/vvvsxx.F 2011-10-12 10:39:26 +0000 |
400 | @@ -21,9 +21,9 @@ |
401 | implicit none |
402 | |
403 | c-- dimension of the current set to arbitrary length |
404 | -c INTEGER DIM |
405 | -c PARAMETER(DIM=18) |
406 | - include "dimension.inc" |
407 | + INTEGER DIM |
408 | + PARAMETER(DIM=18) |
409 | +c include "dimension.inc" |
410 | double complex ga(DIM),gb(DIM),gc(DIM),sc(DIM) |
411 | |
412 | double complex dvertx, vertex, vertex1, vertex2 |
413 | |
414 | === modified file 'HELAS/vvvtlx.F' |
415 | --- HELAS/vvvtlx.F 2010-10-30 03:26:37 +0000 |
416 | +++ HELAS/vvvtlx.F 2011-10-12 10:39:26 +0000 |
417 | @@ -20,9 +20,9 @@ |
418 | implicit none |
419 | |
420 | c-- dimension of the current set to arbitrary length |
421 | -c INTEGER DIM |
422 | -c PARAMETER(DIM=18) |
423 | - include "dimension.inc" |
424 | + INTEGER DIM |
425 | + PARAMETER(DIM=18) |
426 | +c include "dimension.inc" |
427 | double complex ga(DIM),gb(DIM),gc(DIM),sc(DIM) |
428 | double complex dvertx, vertex, vertex1, vertex2 |
429 | double complex vab, vbc, vca, v123, v124, v134, v234 |
430 | |
431 | === modified file 'Template/SubProcesses/cluster.f' |
432 | --- Template/SubProcesses/cluster.f 2011-09-29 11:31:12 +0000 |
433 | +++ Template/SubProcesses/cluster.f 2011-10-12 10:39:26 +0000 |
434 | @@ -174,6 +174,7 @@ |
435 | include 'nexternal.inc' |
436 | include 'maxamps.inc' |
437 | include 'cluster.inc' |
438 | + include 'message.inc' |
439 | integer ignum, idij, iproc, i |
440 | |
441 | if(idij.gt.n_max_cl) return |
442 | @@ -182,7 +183,8 @@ |
443 | enddo |
444 | id_cl(iproc,idij,0)=id_cl(iproc,idij,0)+1 |
445 | id_cl(iproc,idij,id_cl(iproc,idij,0))=ignum |
446 | -c print *,'Adding graph ',ignum,' to prop ',idij |
447 | + if(btest(mlevel,5)) |
448 | + $ write(*,*)'Adding graph ',ignum,' to prop ',idij,' for proc ',iproc |
449 | return |
450 | end |
451 | |
452 | @@ -226,6 +228,8 @@ |
453 | integer pow(-nexternal:0,lmaxconfigs) |
454 | logical first_time |
455 | save pmass,pwidth,pow |
456 | + INTEGER CONFSUB(MAXSPROC,LMAXCONFIGS) |
457 | + INCLUDE 'config_subproc_map.inc' |
458 | data first_time /.true./ |
459 | |
460 | integer combid |
461 | @@ -259,6 +263,7 @@ |
462 | c Set pdg code for propagator |
463 | do l=1,2 |
464 | do iproc=1,maxsproc |
465 | + if(confsub(iproc,ignum).eq.0) cycle |
466 | if(sprop(iproc,k,ignum).ne.0)then |
467 | ipdgcl(icmp(l),ignum,iproc)=sprop(iproc,k,ignum) |
468 | c If this is radiation off heavy FS particle, set heavyrad to true |
469 | @@ -276,7 +281,6 @@ |
470 | ipdgcl(icmp(l),ignum,iproc)=ipdgcl(2,ignum,iproc) |
471 | else |
472 | ipdgcl(icmp(l),ignum,iproc)=0 |
473 | - cycle |
474 | endif |
475 | if(btest(mlevel,4)) |
476 | $ write(*,*) 'add table entry for (',ipids(i,1,ipnum), |
477 | @@ -471,6 +475,7 @@ |
478 | include 'nexternal.inc' |
479 | include 'maxamps.inc' |
480 | include 'cluster.inc' |
481 | + include 'message.inc' |
482 | |
483 | integer idij,nbw,ibwlist(nexternal),icgs(0:n_max_cg) |
484 | logical foundbw |
485 | @@ -504,6 +509,9 @@ |
486 | if (icgs(0).gt.0)then |
487 | findmt=.true. |
488 | endif |
489 | + if (btest(mlevel,5)) |
490 | + $ write (*,*)'findmt: ',findmt,' IPROC=',IPROC,' icgs(0)=',icgs(0), |
491 | + $ ' icgs = ',(icgs(i),i=1,icgs(0)) |
492 | return |
493 | else |
494 | c Check for common graphs |
495 | @@ -578,6 +586,8 @@ |
496 | enddo |
497 | c Check if any resonances are on the BW, store results in to_checkbw |
498 | call checkbw(nbw,ibwlist,isbw) |
499 | + if(btest(mlevel,4).and.nbw.gt.0) |
500 | + $ write(*,*) 'Found BWs: ',(ibwlist(i),i=1,nbw) |
501 | |
502 | c initialize index map |
503 | do i=1,nexternal |
504 | |
505 | === modified file 'Template/bin/plot' |
506 | --- Template/bin/plot 2011-05-24 04:27:02 +0000 |
507 | +++ Template/bin/plot 2011-10-12 10:39:26 +0000 |
508 | @@ -20,6 +20,8 @@ |
509 | |
510 | if [[ -x $td/td ]]; then |
511 | echo 'topdrawer found' |
512 | + # This is needed for Mac OS X |
513 | + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$td |
514 | else |
515 | echo 'topdrawer not found' |
516 | exit |
517 | |
518 | === modified file 'UpdateNotes.txt' |
519 | --- UpdateNotes.txt 2011-10-10 07:34:37 +0000 |
520 | +++ UpdateNotes.txt 2011-10-12 10:39:26 +0000 |
521 | @@ -1,5 +1,18 @@ |
522 | Update notes for MadGraph 5 (in reverse time order) |
523 | |
524 | +1.3.21 (12/10/11) OM: Add a new command: install. |
525 | + This allow to install quite easily different package |
526 | + devellop for Madgraph/MadEvent. The list of available |
527 | + package are pythia-pgs/MadAnalysis/ExRootAnalysis/Delphes |
528 | + OM: Adding TopEffth Model |
529 | + OM: Improve display particles and autocompletion in |
530 | + presence of nonpropagating particles |
531 | + OM: Fix Aloha bug linked to four fermion operator |
532 | + PA: fix the problem of degenerate color basis in the |
533 | + diquark sextet model |
534 | + JA: Fixed bug in cluster.f that created a hard stop, |
535 | + introduced in 1.3.18. |
536 | + |
537 | 1.3.20 (09/10/11) JA: Fixed bug in myamp.f that created a hard stop |
538 | error for certain cases with many processes with |
539 | different propagators in the same subprocess dir. |
540 | |
541 | === modified file 'aloha/aloha_writers.py' |
542 | --- aloha/aloha_writers.py 2011-09-30 13:55:43 +0000 |
543 | +++ aloha/aloha_writers.py 2011-10-12 10:39:26 +0000 |
544 | @@ -517,11 +517,12 @@ |
545 | short_name, addon = name.split('C',1) |
546 | if addon.split('_')[0].isdigit(): |
547 | addon = 'C' +self.namestring.split('C',1)[1] |
548 | + elif all([n.isdigit() for n in addon.split('_')[0].split('C')]): |
549 | + addon = 'C' +self.namestring.split('C',1)[1] |
550 | else: |
551 | addon = '_%s' % self.offshell |
552 | else: |
553 | addon = '_%s' % self.offshell |
554 | - |
555 | # how to call the routine |
556 | if not offshell: |
557 | main = 'vertex' |
558 | @@ -907,6 +908,8 @@ |
559 | short_name, addon = name.split('C',1) |
560 | if addon.split('_')[0].isdigit(): |
561 | addon = 'C' +self.namestring.split('C',1)[1] |
562 | + elif all([n.isdigit() for n in addon.split('_')[0].split('C')]): |
563 | + addon = 'C' +self.namestring.split('C',1)[1] |
564 | else: |
565 | addon = '_%s' % self.offshell |
566 | else: |
567 | @@ -1239,6 +1242,8 @@ |
568 | short_name, addon = name.split('C',1) |
569 | if addon.split('_')[0].isdigit(): |
570 | addon = 'C' +self.namestring.split('C',1)[1] |
571 | + elif all([n.isdigit() for n in addon.split('_')[0].split('C')]): |
572 | + addon = 'C' +self.namestring.split('C',1)[1] |
573 | else: |
574 | addon = '_%s' % self.offshell |
575 | else: |
576 | |
577 | === modified file 'madgraph/VERSION' |
578 | --- madgraph/VERSION 2011-10-10 07:34:37 +0000 |
579 | +++ madgraph/VERSION 2011-10-12 10:39:26 +0000 |
580 | @@ -1,3 +1,2 @@ |
581 | -version = 1.3.20 |
582 | -date = 2011-10-09 |
583 | - |
584 | +version = 1.3.21 |
585 | +date = 2011-10-12 |
586 | |
587 | === modified file 'madgraph/core/color_algebra.py' |
588 | --- madgraph/core/color_algebra.py 2010-12-15 07:28:25 +0000 |
589 | +++ madgraph/core/color_algebra.py 2011-10-12 10:39:26 +0000 |
590 | @@ -757,6 +757,64 @@ |
591 | 1, int(Nc ** abs(self.Nc_power))), |
592 | self.is_imaginary) |
593 | |
594 | + def order_summation(self, immutable=None): |
595 | + """Force a specific order for the summation indices |
596 | + in case we have Clebsch Gordan coefficients K6's or K6Bar's |
597 | + This is necessary to correctly recognize later on the equivalent |
598 | + color strings (otherwise the color basis is degenerate) |
599 | + The new ordering is as follow: |
600 | + 1. put K and KBar Clebsch Gordan coefficients at the end of the list of color factors |
601 | + the other factors are re-arranged in the reversed order compared with immutable |
602 | + 2. rename the summation indices so that they are increasing (starting from 10000) |
603 | + from left to right |
604 | + 3. finally, after the summation indices have been renamed, replace |
605 | + K6(a,i,j) by K6(a,j,i) and K6Bar(a,i,j) by K6Bar(a,j,i) IF j>i |
606 | + """ |
607 | + |
608 | + if not immutable: |
609 | + immutable = self.to_immutable() |
610 | + |
611 | +# STEP 1: first scan to see whether there are some K's or KBar's, |
612 | +# and put them at the en |
613 | + immutable_order2=[] |
614 | + go_further=0 |
615 | + for elem in immutable: |
616 | + if elem[0]=="K6" or elem[0]=="K6Bar" : |
617 | + immutable_order2.append(elem) |
618 | + go_further=1 |
619 | + else: immutable_order2.insert(0,elem) |
620 | + |
621 | + if go_further==0: return |
622 | + |
623 | +# STEP 2: rename the summation indices so that they are increasing (starting from 10000) |
624 | +# from left to right |
625 | + replaced_indices = {} |
626 | + curr_ind = 10000 |
627 | + return_list = [] |
628 | + |
629 | + for elem in immutable_order2: |
630 | + can_elem = [elem[0], []] |
631 | + for index in elem[1]: |
632 | + if index>9999: # consider only summation indices |
633 | + try: |
634 | + new_index = replaced_indices[index] |
635 | + except KeyError: |
636 | + new_index = curr_ind |
637 | + curr_ind += 1 |
638 | + replaced_indices[index] = new_index |
639 | + else: new_index=index |
640 | + can_elem[1].append(new_index) |
641 | +# STEP 3. replace K6(a,i,j) by K6(a,j,i) and K6Bar(a,i,j) by K6Bar(a,j,i) IF j>i |
642 | + if (can_elem[0]=="K6" or can_elem[0]=="K6Bar"): |
643 | + if can_elem[1][2]>can_elem[1][1]: can_elem[1]=[can_elem[1][0], can_elem[1][2], can_elem[1][1] ] |
644 | + return_list.append((can_elem[0], tuple(can_elem[1]))) |
645 | + return_list.sort() |
646 | + |
647 | + self.from_immutable(return_list) |
648 | + self.immutable=None # don't use the information self.immutable later on in the code, |
649 | + # since the summation indices have been modified |
650 | + return |
651 | + |
652 | def to_canonical(self, immutable=None): |
653 | """Returns the canonical representation of the immutable representation |
654 | (i.e., first index is 1, ...). This allow for an easy comparison of |
655 | |
656 | === modified file 'madgraph/core/color_amp.py' |
657 | --- madgraph/core/color_amp.py 2011-05-16 19:41:08 +0000 |
658 | +++ madgraph/core/color_amp.py 2011-10-12 10:39:26 +0000 |
659 | @@ -229,6 +229,10 @@ |
660 | col_fact = color_algebra.ColorFactor([col_str]) |
661 | col_fact = col_fact.full_simplify() |
662 | |
663 | + # Here we need to force a specific order for the summed indices |
664 | + # in case we have K6 or K6bar Clebsch Gordan coefficients |
665 | + for colstr in col_fact: colstr.order_summation() |
666 | + |
667 | # Save the result for further use |
668 | canonical_col_fact = col_fact.create_copy() |
669 | canonical_col_fact.replace_indices(rep_dict) |
670 | @@ -250,6 +254,10 @@ |
671 | # Must simplify once to put traces in a canonical ordering |
672 | col_fact = col_fact.simplify() |
673 | |
674 | + # Here we need to force a specific order for the summed indices |
675 | + # in case we have K6 or K6bar Clebsch Gordan coefficients |
676 | + for colstr in col_fact: colstr.order_summation() |
677 | + |
678 | # loop over color strings in the resulting color factor |
679 | for col_str in col_fact: |
680 | immutable_col_str = col_str.to_immutable() |
681 | |
682 | === modified file 'madgraph/interface/cmd_interface.py' |
683 | --- madgraph/interface/cmd_interface.py 2011-08-27 02:01:27 +0000 |
684 | +++ madgraph/interface/cmd_interface.py 2011-10-12 10:39:26 +0000 |
685 | @@ -275,6 +275,13 @@ |
686 | logger.info("") |
687 | logger.info(" import command PATH :") |
688 | logger.info(" Execute the list of command in the file at PATH") |
689 | + |
690 | + def help_install(self): |
691 | + logger.info("syntax: install " + "|".join(self._install_opts)) |
692 | + logger.info("-- Download the last version of the program and install it") |
693 | + logger.info(" localy in the current Madgraph version. In order to have") |
694 | + logger.info(" a sucessfull instalation, you will need to have up-to-date") |
695 | + logger.info(" F77 and/or C and Root compiler.") |
696 | |
697 | def help_display(self): |
698 | logger.info("syntax: display " + "|".join(self._display_opts)) |
699 | @@ -634,6 +641,33 @@ |
700 | raise self.InvalidCmd('PATH is mandatory in the current context\n' + \ |
701 | 'Did you forget to run the \"output\" command') |
702 | |
703 | + def check_install(self, args): |
704 | + """check that the install command is valid""" |
705 | + |
706 | + if len(args) != 1: |
707 | + self.help_install() |
708 | + raise self.InvalidCmd('install command require at least one argument') |
709 | + |
710 | + if args[0] not in self._install_opts: |
711 | + if not args[0].startswith('td'): |
712 | + self.help_install() |
713 | + raise self.InvalidCmd('Not recognize program %s ' % args[0]) |
714 | + |
715 | + if args[0] in ["ExRootAnalysis", "Delphes"]: |
716 | + if not misc.which('root'): |
717 | + raise self.InvalidCmd( |
718 | +'''In order to install ExRootAnalysis, you need to install Root on your computer first. |
719 | +please follow information on http://root.cern.ch/drupal/content/downloading-root''') |
720 | + if 'ROOTSYS' not in os.environ: |
721 | + raise self.InvalidCmd( |
722 | +'''The environment variable ROOTSYS is not configured. |
723 | +You can set it by adding the following lines in your .bashrc [.bash_profile for mac]: |
724 | +export ROOTSYS=%s |
725 | +export PATH=$PATH:$ROOTSYS/bin |
726 | +This will take effect only in a NEW terminal |
727 | +''' % os.path.realpath(os.path.join(misc.which('root'), \ |
728 | + os.path.pardir, os.path.pardir))) |
729 | + |
730 | |
731 | def check_launch(self, args, options): |
732 | """check the validity of the line""" |
733 | @@ -922,6 +956,10 @@ |
734 | |
735 | CheckValidForCmd.check_import(self, args) |
736 | |
737 | + def check_install(self, args): |
738 | + """ No possibility to install new software on the web """ |
739 | + raise self.WebRestriction('Impossible to install program on the cluster') |
740 | + |
741 | def check_load(self, args): |
742 | """ check the validity of the line |
743 | No Path authorize for the Web""" |
744 | @@ -988,6 +1026,7 @@ |
745 | |
746 | def model_completion(self, text, process): |
747 | """ complete the line with model information """ |
748 | + |
749 | while ',' in process: |
750 | process = process[process.index(',')+1:] |
751 | args = split_arg(process) |
752 | @@ -1421,6 +1460,14 @@ |
753 | # return |
754 | return output |
755 | |
756 | + def complete_install(self, text, line, begidx, endidx): |
757 | + "Complete the import command" |
758 | + |
759 | + args = split_arg(line[0:begidx]) |
760 | + |
761 | + # Format |
762 | + if len(args) == 1: |
763 | + return self.list_completion(text, self._install_opts) |
764 | #=============================================================================== |
765 | # MadGraphCmd |
766 | #=============================================================================== |
767 | @@ -1436,6 +1483,7 @@ |
768 | _tutorial_opts = ['start', 'stop'] |
769 | _check_opts = ['full', 'permutation', 'gauge', 'lorentz_invariance'] |
770 | _import_formats = ['model_v4', 'model', 'proc_v4', 'command'] |
771 | + _install_opts = ['pythia-pgs', 'Delphes', 'MadAnalysis', 'ExRootAnalysis'] |
772 | _v4_export_formats = ['madevent', 'standalone', 'matrix'] |
773 | _export_formats = _v4_export_formats + ['standalone_cpp', 'pythia8'] |
774 | _set_options = ['group_subprocesses', |
775 | @@ -1595,11 +1643,19 @@ |
776 | self.draw(' '.join(args[1:])) |
777 | |
778 | if args[0] == 'particles' and len(args) == 1: |
779 | + propagating_particle = [] |
780 | + nb_unpropagating = 0 |
781 | + for particle in self._curr_model['particles']: |
782 | + if particle.get('propagating'): |
783 | + propagating_particle.append(particle) |
784 | + else: |
785 | + nb_unpropagating += 1 |
786 | + |
787 | print "Current model contains %i particles:" % \ |
788 | - len(self._curr_model['particles']) |
789 | - part_antipart = [part for part in self._curr_model['particles'] \ |
790 | + len(propagating_particle) |
791 | + part_antipart = [part for part in propagating_particle \ |
792 | if not part['self_antipart']] |
793 | - part_self = [part for part in self._curr_model['particles'] \ |
794 | + part_self = [part for part in propagating_particle \ |
795 | if part['self_antipart']] |
796 | for part in part_antipart: |
797 | print part['name'] + '/' + part['antiname'], |
798 | @@ -1607,6 +1663,9 @@ |
799 | for part in part_self: |
800 | print part['name'], |
801 | print '' |
802 | + if nb_unpropagating: |
803 | + print 'In addition of %s un-physical particle mediating new interactions.' \ |
804 | + % nb_unpropagating |
805 | |
806 | elif args[0] == 'particles': |
807 | for arg in args[1:]: |
808 | @@ -2316,6 +2375,7 @@ |
809 | |
810 | #convert and excecute the card |
811 | self.import_mg4_proc_card(proc_card) |
812 | + |
813 | |
814 | def import_ufo_model(self, model_name): |
815 | """ import the UFO model """ |
816 | @@ -2331,8 +2391,11 @@ |
817 | completion, define multiparticles""" |
818 | |
819 | # Set variables for autocomplete |
820 | - self._particle_names = [p.get('name') for p in self._curr_model.get('particles')] + \ |
821 | - [p.get('antiname') for p in self._curr_model.get('particles')] |
822 | + self._particle_names = [p.get('name') for p in self._curr_model.get('particles')\ |
823 | + if p.get('propagating')] + \ |
824 | + [p.get('antiname') for p in self._curr_model.get('particles') \ |
825 | + if p.get('propagating')] |
826 | + |
827 | self._couplings = list(set(sum([i.get('orders').keys() for i in \ |
828 | self._curr_model.get('interactions')], []))) |
829 | # Check if we can use case-independent particle names |
830 | @@ -2432,6 +2495,113 @@ |
831 | if removed_multiparticles: |
832 | logger.info("Removed obsolete multiparticles %s" % \ |
833 | " / ".join(removed_multiparticles)) |
834 | + |
835 | + def do_install(self, line): |
836 | + """Install optional package from the MG suite.""" |
837 | + |
838 | + args = split_arg(line) |
839 | + #check the validity of the arguments |
840 | + self.check_install(args) |
841 | + |
842 | + if sys.platform == "darwin": |
843 | + program = "curl" |
844 | + else: |
845 | + program = "wget" |
846 | + |
847 | + # Load file with path of the different program: |
848 | + import urllib |
849 | + path = {} |
850 | + try: |
851 | + data = urllib.urlopen('http://madgraph.phys.ucl.ac.be/package_info.dat') |
852 | + except: |
853 | + raise MadGraph5Error, '''Impossible to connect the server. |
854 | + Please check your internet connection or retry later''' |
855 | + for line in data: |
856 | + split = line.split() |
857 | + path[split[0]] = split[1] |
858 | + |
859 | + name = {'td_mac': 'td', 'td_linux':'td', 'Delphes':'Delphes', |
860 | + 'pythia-pgs':'pythia-pgs', 'ExRootAnalysis': 'ExRootAnalysis', |
861 | + 'MadAnalysis':'MadAnalysis'} |
862 | + name = name[args[0]] |
863 | + |
864 | + try: |
865 | + os.system('rm -rf %s' % name) |
866 | + except: |
867 | + pass |
868 | + |
869 | + # Load that path |
870 | + logger.info('Downloading %s' % path[args[0]]) |
871 | + if sys.platform == "darwin": |
872 | + subprocess.call(['curl', path[args[0]], '-o%s.tgz' % name], cwd=MG5DIR) |
873 | + else: |
874 | + subprocess.call(['wget', path[args[0]], '--output-document=%s.tgz'% name], cwd=MG5DIR) |
875 | + # Untar the file |
876 | + returncode = subprocess.call(['tar', '-xzpvf', '%s.tgz' % name], cwd=MG5DIR) |
877 | + if returncode: |
878 | + raise MadGraph5Error, 'Fail to download correctly the File. Stop' |
879 | + |
880 | + # Check that the directory has the correct name |
881 | + if not os.path.exists(os.path.join(MG5DIR, name)): |
882 | + created_name = [n for n in os.listdir(MG5DIR) if n.startswith(name) |
883 | + and not n.endswith('gz')] |
884 | + if not created_name: |
885 | + raise MadGraph5Error, 'The file was not loaded correctly. Stop' |
886 | + else: |
887 | + created_name = created_name[0] |
888 | + files.mv(os.path.join(MG5DIR, created_name), os.path.join(MG5DIR, name)) |
889 | + logger.info('compile %s. This might takes a while.' % name) |
890 | + |
891 | + # Modify Makefile for pythia-pgs on Mac 64 bit |
892 | + if args[0] == "pythia-pgs" and sys.maxsize > 2**32: |
893 | + for path in [os.path.join(MG5DIR, 'pythia-pgs', 'libraries', \ |
894 | + 'PGS4', 'src', 'stdhep-dir', 'src', 'stdhep_Arch'), |
895 | + os.path.join(MG5DIR, 'pythia-pgs', 'libraries', \ |
896 | + 'PGS4', 'src', 'stdhep-dir', 'mcfio', 'arch_mcfio')]: |
897 | + text = open(path).read() |
898 | + text = text.replace('-m32','-m64') |
899 | + open(path, 'w').writelines(text) |
900 | + |
901 | + # Compile the file |
902 | + # Check for F77 compiler |
903 | + if 'FC' not in os.environ or not os.environ['FC']: |
904 | + if misc.which('g77'): |
905 | + os.environ['FC'] = 'g77' |
906 | + elif misc.which('gfortran'): |
907 | + os.environ['FC'] = 'gfortran' |
908 | + else: |
909 | + raise self.InvalidCmd('Require g77 or Gfortran compiler') |
910 | + subprocess.call(['make', 'clean'], cwd = os.path.join(MG5DIR, name)) |
911 | + subprocess.call(['make'], cwd = os.path.join(MG5DIR, name)) |
912 | + |
913 | + |
914 | + # Special treatment for TD program (require by MadAnalysis) |
915 | + if args[0] == 'MadAnalysis': |
916 | + try: |
917 | + os.system('rm -rf td') |
918 | + os.mkdir(os.path.join(MG5DIR, 'td')) |
919 | + except Exception, error: |
920 | + print error |
921 | + pass |
922 | + |
923 | + if sys.platform == "darwin": |
924 | + logger.info('Downloading TD for Mac') |
925 | + target = 'http://theory.fnal.gov/people/parke/TD/td_mac_intel.tar.gz' |
926 | + subprocess.call(['curl', target, '-otd.tgz'], |
927 | + cwd=os.path.join(MG5DIR,'td')) |
928 | + subprocess.call(['tar', '-xzpvf', 'td.tgz'], |
929 | + cwd=os.path.join(MG5DIR,'td')) |
930 | + files.mv(MG5DIR + '/td/td_mac_intel',MG5DIR+'/td/td') |
931 | + else: |
932 | + logger.info('Downloading TD for Linux 32 bit') |
933 | + target = 'http://cp3wks05.fynu.ucl.ac.be/twiki/pub/Software/TopDrawer/td' |
934 | + subprocess.call(['wget', target], cwd=os.path.join(MG5DIR,'td')) |
935 | + |
936 | + if sys.maxsize > 2**32: |
937 | + logger.warning('''td program (needed by MadAnalysis) is not compile for 64 bit computer |
938 | + Please follow instruction in http://cp3wks05.fynu.ucl.ac.be/twiki/bin/view/Software/TopDrawer.''') |
939 | + |
940 | + |
941 | |
942 | def set_configuration(self, config_path=None): |
943 | """ assign all configuration variable from file |
944 | |
945 | === modified file 'madgraph/iolibs/export_v4.py' |
946 | --- madgraph/iolibs/export_v4.py 2011-10-04 04:15:47 +0000 |
947 | +++ madgraph/iolibs/export_v4.py 2011-10-12 10:39:26 +0000 |
948 | @@ -1001,6 +1001,10 @@ |
949 | writers.FortranWriter(filename), |
950 | matrix_element) |
951 | |
952 | + filename = 'config_subproc_map.inc' |
953 | + self.write_config_subproc_map_file(writers.FortranWriter(filename), |
954 | + s_and_t_channels) |
955 | + |
956 | filename = 'coloramps.inc' |
957 | self.write_coloramps_file(writers.FortranWriter(filename), |
958 | mapconfigs, |
959 | @@ -1640,6 +1644,23 @@ |
960 | return s_and_t_channels |
961 | |
962 | #=========================================================================== |
963 | + # write_config_subproc_map_file |
964 | + #=========================================================================== |
965 | + def write_config_subproc_map_file(self, writer, s_and_t_channels): |
966 | + """Write a dummy config_subproc.inc file for MadEvent""" |
967 | + |
968 | + lines = [] |
969 | + |
970 | + for iconfig in range(len(s_and_t_channels)): |
971 | + lines.append("DATA CONFSUB(1,%d)/1/" % \ |
972 | + (iconfig + 1)) |
973 | + |
974 | + # Write the file |
975 | + writer.writelines(lines) |
976 | + |
977 | + return True |
978 | + |
979 | + #=========================================================================== |
980 | # write_decayBW_file |
981 | #=========================================================================== |
982 | def write_decayBW_file(self, writer, s_and_t_channels): |
983 | |
984 | === added directory 'models/TopEffTh' |
985 | === added file 'models/TopEffTh/TopEffTh.log' |
986 | --- models/TopEffTh/TopEffTh.log 1970-01-01 00:00:00 +0000 |
987 | +++ models/TopEffTh/TopEffTh.log 2011-10-12 10:39:26 +0000 |
988 | @@ -0,0 +1,79 @@ |
989 | +# This file was automatically created by FeynRules $Revision: 821 $ |
990 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
991 | +# Date: Mon 3 Oct 2011 11:59:51 |
992 | + |
993 | + |
994 | +# |
995 | +# This is the logfile for the model TopEffTh |
996 | + |
997 | +# Authors: C. Degrande |
998 | +# Model version: 1.1 |
999 | +# Checking the Lagrangians |
1000 | + * All Lagrangians are ok. |
1001 | +# |
1002 | +# Particle definitions |
1003 | +# |
1004 | + |
1005 | + * No particles removed. All particles correspond to GenInt setup. |
1006 | + |
1007 | +# Automatically assigned PDG numbers |
1008 | + * Assigned PDG number 9000001 to particle ghA |
1009 | + * Assigned PDG number 9000002 to particle ghZ |
1010 | + * Assigned PDG number 9000003 to particle ghWp |
1011 | + * Assigned PDG number 9000004 to particle ghWm |
1012 | + * Assigned PDG number 9000005 to particle ghG |
1013 | + * Assigned PDG number 9000006 to particle Tri0 |
1014 | + * Assigned PDG number 9000007 to particle Tri |
1015 | + * Assigned PDG number 9000008 to particle Tri80 |
1016 | + * Assigned PDG number 9000009 to particle Tri8 |
1017 | + * Assigned PDG number 9000010 to particle V8t |
1018 | + * Assigned PDG number 9000011 to particle V8Q |
1019 | + |
1020 | + |
1021 | +# Compulsory PDG codes: |
1022 | + * Class SM leptons complete. |
1023 | + * Class SM neutrinos complete. |
1024 | + * Class SM quarks complete. |
1025 | + * Class SM gauge bosons complete. |
1026 | +# |
1027 | +# Parameter definitions |
1028 | +# |
1029 | + |
1030 | + * All parameters are ok. |
1031 | + |
1032 | + |
1033 | +# Vertices |
1034 | + * Calling FeynmanRules for 1 Lagrangians. |
1035 | + * Number of classes vertices: 106 |
1036 | + * Number of flavored vertices: 142 |
1037 | + * Saved vertices in InterfaceRun[ 1 ]. |
1038 | + * Checked QNumber conservation. |
1039 | + - Quantum number GhostNumber conserved in all vertices. |
1040 | + - Quantum number LeptonNumber conserved in all vertices. |
1041 | + - Quantum number Q conserved in all vertices. |
1042 | + * particles.py written. |
1043 | + * parameters.py written. |
1044 | +# |
1045 | +# Vertex definitions |
1046 | +# |
1047 | + |
1048 | + * 142 vertices written. |
1049 | + * vertices.py written. |
1050 | +# |
1051 | +# Lorentz structure definitions |
1052 | +# |
1053 | + |
1054 | + * 89 lorentz structures written. |
1055 | + * lorentz.py written. |
1056 | +# |
1057 | +# Coupling definitions |
1058 | +# |
1059 | + |
1060 | + * 131 couplings written. |
1061 | + * couplings.py written. |
1062 | +# |
1063 | +# Coupling order definitions |
1064 | +# |
1065 | + |
1066 | + * 0 couplings orders written. |
1067 | + * coupling_orders.py written. |
1068 | |
1069 | === added file 'models/TopEffTh/__init__.py' |
1070 | --- models/TopEffTh/__init__.py 1970-01-01 00:00:00 +0000 |
1071 | +++ models/TopEffTh/__init__.py 2011-10-12 10:39:26 +0000 |
1072 | @@ -0,0 +1,22 @@ |
1073 | + |
1074 | +import particles |
1075 | +import couplings |
1076 | +import lorentz |
1077 | +import parameters |
1078 | +import vertices |
1079 | +import coupling_orders |
1080 | +import write_param_card |
1081 | + |
1082 | + |
1083 | +all_particles = particles.all_particles |
1084 | +all_vertices = vertices.all_vertices |
1085 | +all_couplings = couplings.all_couplings |
1086 | +all_lorentz = lorentz.all_lorentz |
1087 | +all_parameters = parameters.all_parameters |
1088 | +all_orders = coupling_orders.all_orders |
1089 | +all_functions = function_library.all_functions |
1090 | + |
1091 | + |
1092 | +__author__ = "C. Degrande" |
1093 | +__version__ = "1.1" |
1094 | +__email__ = "celine.degrande@uclouvain.be" |
1095 | |
1096 | === added file 'models/TopEffTh/coupling_orders.py' |
1097 | --- models/TopEffTh/coupling_orders.py 1970-01-01 00:00:00 +0000 |
1098 | +++ models/TopEffTh/coupling_orders.py 2011-10-12 10:39:26 +0000 |
1099 | @@ -0,0 +1,20 @@ |
1100 | +# This file was automatically created by FeynRules $Revision: 821 $ |
1101 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
1102 | +# Date: Mon 3 Oct 2011 13:27:07 |
1103 | + |
1104 | + |
1105 | +from object_library import all_orders, CouplingOrder |
1106 | + |
1107 | + |
1108 | +NP = CouplingOrder(name = 'NP', |
1109 | + expansion_order = 2, |
1110 | + hierarchy = 1) |
1111 | + |
1112 | +QCD = CouplingOrder(name = 'QCD', |
1113 | + expansion_order = 99, |
1114 | + hierarchy = 2) |
1115 | + |
1116 | +QED = CouplingOrder(name = 'QED', |
1117 | + expansion_order = 99, |
1118 | + hierarchy = 4) |
1119 | + |
1120 | |
1121 | === added file 'models/TopEffTh/couplings.py' |
1122 | --- models/TopEffTh/couplings.py 1970-01-01 00:00:00 +0000 |
1123 | +++ models/TopEffTh/couplings.py 2011-10-12 10:39:26 +0000 |
1124 | @@ -0,0 +1,535 @@ |
1125 | +# This file was automatically created by FeynRules $Revision: 821 $ |
1126 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
1127 | +# Date: Mon 3 Oct 2011 13:27:06 |
1128 | + |
1129 | + |
1130 | +from object_library import all_couplings, Coupling |
1131 | + |
1132 | +from function_library import complexconjugate, re, im, csc, sec, acsc, asec |
1133 | + |
1134 | + |
1135 | + |
1136 | +GC_1 = Coupling(name = 'GC_1', |
1137 | + value = '-(ee*complex(0,1))/3.', |
1138 | + order = {'QED':1}) |
1139 | + |
1140 | +GC_2 = Coupling(name = 'GC_2', |
1141 | + value = '(2*ee*complex(0,1))/3.', |
1142 | + order = {'QED':1}) |
1143 | + |
1144 | +GC_3 = Coupling(name = 'GC_3', |
1145 | + value = '-(ee*complex(0,1))', |
1146 | + order = {'QED':1}) |
1147 | + |
1148 | +GC_4 = Coupling(name = 'GC_4', |
1149 | + value = '-G', |
1150 | + order = {'QCD':1}) |
1151 | + |
1152 | +GC_5 = Coupling(name = 'GC_5', |
1153 | + value = 'complex(0,1)*G', |
1154 | + order = {'QCD':1}) |
1155 | + |
1156 | +GC_6 = Coupling(name = 'GC_6', |
1157 | + value = 'complex(0,1)*G**2', |
1158 | + order = {'QCD':2}) |
1159 | + |
1160 | +GC_7 = Coupling(name = 'GC_7', |
1161 | + value = 'complex(0,1)*g8Q', |
1162 | + order = {'NP':1}) |
1163 | + |
1164 | +GC_8 = Coupling(name = 'GC_8', |
1165 | + value = 'complex(0,1)*g8Qd', |
1166 | + order = {'NP':1}) |
1167 | + |
1168 | +GC_9 = Coupling(name = 'GC_9', |
1169 | + value = 'complex(0,1)*g8Qq', |
1170 | + order = {'NP':1}) |
1171 | + |
1172 | +GC_10 = Coupling(name = 'GC_10', |
1173 | + value = 'complex(0,1)*g8Qu', |
1174 | + order = {'NP':1}) |
1175 | + |
1176 | +GC_11 = Coupling(name = 'GC_11', |
1177 | + value = 'complex(0,1)*g8t', |
1178 | + order = {'NP':1}) |
1179 | + |
1180 | +GC_12 = Coupling(name = 'GC_12', |
1181 | + value = 'complex(0,1)*g8td', |
1182 | + order = {'NP':1}) |
1183 | + |
1184 | +GC_13 = Coupling(name = 'GC_13', |
1185 | + value = 'complex(0,1)*g8tq', |
1186 | + order = {'NP':1}) |
1187 | + |
1188 | +GC_14 = Coupling(name = 'GC_14', |
1189 | + value = 'complex(0,1)*g8tu', |
1190 | + order = {'NP':1}) |
1191 | + |
1192 | +GC_15 = Coupling(name = 'GC_15', |
1193 | + value = '-(complex(0,1)*gT)', |
1194 | + order = {'NP':1}) |
1195 | + |
1196 | +GC_16 = Coupling(name = 'GC_16', |
1197 | + value = 'complex(0,1)*gT', |
1198 | + order = {'NP':1}) |
1199 | + |
1200 | +GC_17 = Coupling(name = 'GC_17', |
1201 | + value = 'complex(0,1)*gT*cmath.sqrt(2)', |
1202 | + order = {'NP':1}) |
1203 | + |
1204 | +GC_18 = Coupling(name = 'GC_18', |
1205 | + value = '-(complex(0,1)*gT8)', |
1206 | + order = {'NP':1}) |
1207 | + |
1208 | +GC_19 = Coupling(name = 'GC_19', |
1209 | + value = 'complex(0,1)*gT8', |
1210 | + order = {'NP':1}) |
1211 | + |
1212 | +GC_20 = Coupling(name = 'GC_20', |
1213 | + value = 'complex(0,1)*gT8*cmath.sqrt(2)', |
1214 | + order = {'NP':1}) |
1215 | + |
1216 | +GC_21 = Coupling(name = 'GC_21', |
1217 | + value = '-(complex(0,1)*gT8l)', |
1218 | + order = {'NP':1}) |
1219 | + |
1220 | +GC_22 = Coupling(name = 'GC_22', |
1221 | + value = 'complex(0,1)*gT8l', |
1222 | + order = {'NP':1}) |
1223 | + |
1224 | +GC_23 = Coupling(name = 'GC_23', |
1225 | + value = 'complex(0,1)*gT8l*cmath.sqrt(2)', |
1226 | + order = {'NP':1}) |
1227 | + |
1228 | +GC_24 = Coupling(name = 'GC_24', |
1229 | + value = '-(complex(0,1)*gTl)', |
1230 | + order = {'NP':1}) |
1231 | + |
1232 | +GC_25 = Coupling(name = 'GC_25', |
1233 | + value = 'complex(0,1)*gTl', |
1234 | + order = {'NP':1}) |
1235 | + |
1236 | +GC_26 = Coupling(name = 'GC_26', |
1237 | + value = 'complex(0,1)*gTl*cmath.sqrt(2)', |
1238 | + order = {'NP':1}) |
1239 | + |
1240 | +GC_27 = Coupling(name = 'GC_27', |
1241 | + value = 'cw*complex(0,1)*gw', |
1242 | + order = {'QED':1}) |
1243 | + |
1244 | +GC_28 = Coupling(name = 'GC_28', |
1245 | + value = '-(complex(0,1)*gw**2)', |
1246 | + order = {'QED':2}) |
1247 | + |
1248 | +GC_29 = Coupling(name = 'GC_29', |
1249 | + value = 'cw**2*complex(0,1)*gw**2', |
1250 | + order = {'QED':2}) |
1251 | + |
1252 | +GC_30 = Coupling(name = 'GC_30', |
1253 | + value = '-6*complex(0,1)*lam', |
1254 | + order = {'QED':2}) |
1255 | + |
1256 | +GC_31 = Coupling(name = 'GC_31', |
1257 | + value = '(-6*CG)/Lambda**2', |
1258 | + order = {'NP':2}) |
1259 | + |
1260 | +GC_32 = Coupling(name = 'GC_32', |
1261 | + value = '(2*CphiG*complex(0,1))/Lambda**2', |
1262 | + order = {'NP':2,'QED':1}) |
1263 | + |
1264 | +GC_33 = Coupling(name = 'GC_33', |
1265 | + value = '(-2*CtG*complex(0,1)*cmath.sqrt(2))/Lambda**2', |
1266 | + order = {'NP':2,'QED':1}) |
1267 | + |
1268 | +GC_34 = Coupling(name = 'GC_34', |
1269 | + value = '(-2*CtW*complex(0,1))/Lambda**2', |
1270 | + order = {'NP':2,'QED':1}) |
1271 | + |
1272 | +GC_35 = Coupling(name = 'GC_35', |
1273 | + value = '-((CtW*cw*complex(0,1)*cmath.sqrt(2))/Lambda**2)', |
1274 | + order = {'NP':2,'QED':1}) |
1275 | + |
1276 | +GC_36 = Coupling(name = 'GC_36', |
1277 | + value = '(6*CG*complex(0,1)*G)/Lambda**2', |
1278 | + order = {'NP':2,'QCD':1}) |
1279 | + |
1280 | +GC_37 = Coupling(name = 'GC_37', |
1281 | + value = '(2*CphiG*G)/Lambda**2', |
1282 | + order = {'NP':2,'QCD':1,'QED':1}) |
1283 | + |
1284 | +GC_38 = Coupling(name = 'GC_38', |
1285 | + value = '(-2*CtG*G*cmath.sqrt(2))/Lambda**2', |
1286 | + order = {'NP':2,'QCD':1,'QED':1}) |
1287 | + |
1288 | +GC_39 = Coupling(name = 'GC_39', |
1289 | + value = '(-3*CG*G**2)/Lambda**2', |
1290 | + order = {'NP':2,'QCD':2}) |
1291 | + |
1292 | +GC_40 = Coupling(name = 'GC_40', |
1293 | + value = '(3*CG*G**2)/Lambda**2', |
1294 | + order = {'NP':2,'QCD':2}) |
1295 | + |
1296 | +GC_41 = Coupling(name = 'GC_41', |
1297 | + value = '(-2*CphiG*complex(0,1)*G**2)/Lambda**2', |
1298 | + order = {'NP':2,'QCD':2,'QED':1}) |
1299 | + |
1300 | +GC_42 = Coupling(name = 'GC_42', |
1301 | + value = '-((CG*complex(0,1)*G**3)/Lambda**2)', |
1302 | + order = {'NP':2,'QCD':3}) |
1303 | + |
1304 | +GC_43 = Coupling(name = 'GC_43', |
1305 | + value = '(CG*complex(0,1)*G**3)/Lambda**2', |
1306 | + order = {'NP':2,'QCD':3}) |
1307 | + |
1308 | +GC_44 = Coupling(name = 'GC_44', |
1309 | + value = '(CtW*complex(0,1)*gw*cmath.sqrt(2))/Lambda**2', |
1310 | + order = {'NP':2,'QED':2}) |
1311 | + |
1312 | +GC_45 = Coupling(name = 'GC_45', |
1313 | + value = '(2*CtW*cw*complex(0,1)*gw)/Lambda**2', |
1314 | + order = {'NP':2,'QED':2}) |
1315 | + |
1316 | +GC_46 = Coupling(name = 'GC_46', |
1317 | + value = '(ee**2*complex(0,1))/(2.*sw**2)', |
1318 | + order = {'QED':2}) |
1319 | + |
1320 | +GC_47 = Coupling(name = 'GC_47', |
1321 | + value = '(ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1322 | + order = {'QED':1}) |
1323 | + |
1324 | +GC_48 = Coupling(name = 'GC_48', |
1325 | + value = '(CKM11*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1326 | + order = {'QED':1}) |
1327 | + |
1328 | +GC_49 = Coupling(name = 'GC_49', |
1329 | + value = '(CKM12*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1330 | + order = {'QED':1}) |
1331 | + |
1332 | +GC_50 = Coupling(name = 'GC_50', |
1333 | + value = '(CKM13*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1334 | + order = {'QED':1}) |
1335 | + |
1336 | +GC_51 = Coupling(name = 'GC_51', |
1337 | + value = '(CKM21*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1338 | + order = {'QED':1}) |
1339 | + |
1340 | +GC_52 = Coupling(name = 'GC_52', |
1341 | + value = '(CKM22*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1342 | + order = {'QED':1}) |
1343 | + |
1344 | +GC_53 = Coupling(name = 'GC_53', |
1345 | + value = '(CKM23*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1346 | + order = {'QED':1}) |
1347 | + |
1348 | +GC_54 = Coupling(name = 'GC_54', |
1349 | + value = '(CKM31*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1350 | + order = {'QED':1}) |
1351 | + |
1352 | +GC_55 = Coupling(name = 'GC_55', |
1353 | + value = '(CKM32*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1354 | + order = {'QED':1}) |
1355 | + |
1356 | +GC_56 = Coupling(name = 'GC_56', |
1357 | + value = '(CKM33*ee*complex(0,1))/(sw*cmath.sqrt(2))', |
1358 | + order = {'QED':1}) |
1359 | + |
1360 | +GC_57 = Coupling(name = 'GC_57', |
1361 | + value = '-(cw*ee*complex(0,1))/(2.*sw)', |
1362 | + order = {'QED':1}) |
1363 | + |
1364 | +GC_58 = Coupling(name = 'GC_58', |
1365 | + value = '(cw*ee*complex(0,1))/(2.*sw)', |
1366 | + order = {'QED':1}) |
1367 | + |
1368 | +GC_59 = Coupling(name = 'GC_59', |
1369 | + value = '(C3phiq*ee*complex(0,1)*cmath.sqrt(2))/(Lambda**2*sw)', |
1370 | + order = {'NP':2,'QED':2}) |
1371 | + |
1372 | +GC_60 = Coupling(name = 'GC_60', |
1373 | + value = '-(ee*complex(0,1)*sw)/(6.*cw)', |
1374 | + order = {'QED':1}) |
1375 | + |
1376 | +GC_61 = Coupling(name = 'GC_61', |
1377 | + value = '(ee*complex(0,1)*sw)/(2.*cw)', |
1378 | + order = {'QED':1}) |
1379 | + |
1380 | +GC_62 = Coupling(name = 'GC_62', |
1381 | + value = 'complex(0,1)*gw*sw', |
1382 | + order = {'QED':1}) |
1383 | + |
1384 | +GC_63 = Coupling(name = 'GC_63', |
1385 | + value = '-2*cw*complex(0,1)*gw**2*sw', |
1386 | + order = {'QED':2}) |
1387 | + |
1388 | +GC_64 = Coupling(name = 'GC_64', |
1389 | + value = '-((CtW*complex(0,1)*sw*cmath.sqrt(2))/Lambda**2)', |
1390 | + order = {'NP':2,'QED':1}) |
1391 | + |
1392 | +GC_65 = Coupling(name = 'GC_65', |
1393 | + value = '(-2*CtW*complex(0,1)*gw*sw)/Lambda**2', |
1394 | + order = {'NP':2,'QED':2}) |
1395 | + |
1396 | +GC_66 = Coupling(name = 'GC_66', |
1397 | + value = 'complex(0,1)*gw**2*sw**2', |
1398 | + order = {'QED':2}) |
1399 | + |
1400 | +GC_67 = Coupling(name = 'GC_67', |
1401 | + value = '(cw*ee*complex(0,1))/(2.*sw) + (ee*complex(0,1)*sw)/(2.*cw)', |
1402 | + order = {'QED':1}) |
1403 | + |
1404 | +GC_68 = Coupling(name = 'GC_68', |
1405 | + 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)', |
1406 | + order = {'QED':2}) |
1407 | + |
1408 | +GC_69 = Coupling(name = 'GC_69', |
1409 | + value = '-6*complex(0,1)*lam*v', |
1410 | + order = {'QED':1}) |
1411 | + |
1412 | +GC_70 = Coupling(name = 'GC_70', |
1413 | + value = '(2*CphiG*complex(0,1)*v)/Lambda**2', |
1414 | + order = {'NP':2}) |
1415 | + |
1416 | +GC_71 = Coupling(name = 'GC_71', |
1417 | + value = '(-2*CtG*complex(0,1)*v*cmath.sqrt(2))/Lambda**2', |
1418 | + order = {'NP':2}) |
1419 | + |
1420 | +GC_72 = Coupling(name = 'GC_72', |
1421 | + value = '(-2*CtW*complex(0,1)*v)/Lambda**2', |
1422 | + order = {'NP':2}) |
1423 | + |
1424 | +GC_73 = Coupling(name = 'GC_73', |
1425 | + value = '-((CtW*cw*complex(0,1)*v*cmath.sqrt(2))/Lambda**2)', |
1426 | + order = {'NP':2}) |
1427 | + |
1428 | +GC_74 = Coupling(name = 'GC_74', |
1429 | + value = '(2*CphiG*G*v)/Lambda**2', |
1430 | + order = {'NP':2,'QCD':1}) |
1431 | + |
1432 | +GC_75 = Coupling(name = 'GC_75', |
1433 | + value = '(-2*CtG*G*v*cmath.sqrt(2))/Lambda**2', |
1434 | + order = {'NP':2,'QCD':1}) |
1435 | + |
1436 | +GC_76 = Coupling(name = 'GC_76', |
1437 | + value = '(-2*CphiG*complex(0,1)*G**2*v)/Lambda**2', |
1438 | + order = {'NP':2,'QCD':2}) |
1439 | + |
1440 | +GC_77 = Coupling(name = 'GC_77', |
1441 | + value = '(CtW*complex(0,1)*gw*v*cmath.sqrt(2))/Lambda**2', |
1442 | + order = {'NP':2,'QED':1}) |
1443 | + |
1444 | +GC_78 = Coupling(name = 'GC_78', |
1445 | + value = '(2*CtW*cw*complex(0,1)*gw*v)/Lambda**2', |
1446 | + order = {'NP':2,'QED':1}) |
1447 | + |
1448 | +GC_79 = Coupling(name = 'GC_79', |
1449 | + value = '(ee**2*complex(0,1)*v)/(2.*sw**2)', |
1450 | + order = {'QED':1}) |
1451 | + |
1452 | +GC_80 = Coupling(name = 'GC_80', |
1453 | + value = '(C3phiq*ee*complex(0,1)*v*cmath.sqrt(2))/(Lambda**2*sw)', |
1454 | + order = {'NP':2,'QED':1}) |
1455 | + |
1456 | +GC_81 = Coupling(name = 'GC_81', |
1457 | + value = '-((CtW*complex(0,1)*sw*v*cmath.sqrt(2))/Lambda**2)', |
1458 | + order = {'NP':2}) |
1459 | + |
1460 | +GC_82 = Coupling(name = 'GC_82', |
1461 | + value = '(-2*CtW*complex(0,1)*gw*sw*v)/Lambda**2', |
1462 | + order = {'NP':2,'QED':1}) |
1463 | + |
1464 | +GC_83 = Coupling(name = 'GC_83', |
1465 | + value = '(C3phiq*ee*complex(0,1)*v**2)/(Lambda**2*sw*cmath.sqrt(2))', |
1466 | + order = {'NP':2}) |
1467 | + |
1468 | +GC_84 = Coupling(name = 'GC_84', |
1469 | + 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)', |
1470 | + order = {'QED':1}) |
1471 | + |
1472 | +GC_85 = Coupling(name = 'GC_85', |
1473 | + value = '-((complex(0,1)*yb)/cmath.sqrt(2))', |
1474 | + order = {'QED':1}) |
1475 | + |
1476 | +GC_86 = Coupling(name = 'GC_86', |
1477 | + value = '-((complex(0,1)*yc)/cmath.sqrt(2))', |
1478 | + order = {'QED':1}) |
1479 | + |
1480 | +GC_87 = Coupling(name = 'GC_87', |
1481 | + value = '-((complex(0,1)*ydo)/cmath.sqrt(2))', |
1482 | + order = {'QED':1}) |
1483 | + |
1484 | +GC_88 = Coupling(name = 'GC_88', |
1485 | + value = '-((complex(0,1)*ye)/cmath.sqrt(2))', |
1486 | + order = {'QED':1}) |
1487 | + |
1488 | +GC_89 = Coupling(name = 'GC_89', |
1489 | + value = '-((complex(0,1)*ym)/cmath.sqrt(2))', |
1490 | + order = {'QED':1}) |
1491 | + |
1492 | +GC_90 = Coupling(name = 'GC_90', |
1493 | + value = '-((complex(0,1)*ys)/cmath.sqrt(2))', |
1494 | + order = {'QED':1}) |
1495 | + |
1496 | +GC_91 = Coupling(name = 'GC_91', |
1497 | + value = '-((complex(0,1)*yt)/cmath.sqrt(2))', |
1498 | + order = {'QED':1}) |
1499 | + |
1500 | +GC_92 = Coupling(name = 'GC_92', |
1501 | + value = '-((complex(0,1)*ytau)/cmath.sqrt(2))', |
1502 | + order = {'QED':1}) |
1503 | + |
1504 | +GC_93 = Coupling(name = 'GC_93', |
1505 | + value = '-((complex(0,1)*yup)/cmath.sqrt(2))', |
1506 | + order = {'QED':1}) |
1507 | + |
1508 | +GC_94 = Coupling(name = 'GC_94', |
1509 | + value = '(ee*complex(0,1)*complexconjugate(C3phiq)*cmath.sqrt(2))/(Lambda**2*sw)', |
1510 | + order = {'NP':2,'QED':2}) |
1511 | + |
1512 | +GC_95 = Coupling(name = 'GC_95', |
1513 | + value = '(ee*complex(0,1)*v*complexconjugate(C3phiq)*cmath.sqrt(2))/(Lambda**2*sw)', |
1514 | + order = {'NP':2,'QED':1}) |
1515 | + |
1516 | +GC_96 = Coupling(name = 'GC_96', |
1517 | + value = '(ee*complex(0,1)*v**2*complexconjugate(C3phiq))/(Lambda**2*sw*cmath.sqrt(2))', |
1518 | + order = {'NP':2}) |
1519 | + |
1520 | +GC_97 = Coupling(name = 'GC_97', |
1521 | + value = '(C3phiq*complex(0,1))/(2.*Lambda**2) - (complex(0,1)*complexconjugate(C3phiq))/(2.*Lambda**2)', |
1522 | + order = {'NP':2,'QED':1}) |
1523 | + |
1524 | +GC_98 = Coupling(name = 'GC_98', |
1525 | + value = '-(C3phiq*complex(0,1))/(2.*Lambda**2) + (complex(0,1)*complexconjugate(C3phiq))/(2.*Lambda**2)', |
1526 | + order = {'NP':2,'QED':1}) |
1527 | + |
1528 | +GC_99 = Coupling(name = 'GC_99', |
1529 | + value = '-(C3phiq*cw*ee*complex(0,1))/(2.*Lambda**2*sw) - (C3phiq*ee*complex(0,1)*sw)/(2.*cw*Lambda**2) - (cw*ee*complex(0,1)*complexconjugate(C3phiq))/(2.*Lambda**2*sw) - (ee*complex(0,1)*sw*complexconjugate(C3phiq))/(2.*cw*Lambda**2)', |
1530 | + order = {'NP':2,'QED':2}) |
1531 | + |
1532 | +GC_100 = Coupling(name = 'GC_100', |
1533 | + value = '(C3phiq*cw*ee*complex(0,1))/(2.*Lambda**2*sw) + (C3phiq*ee*complex(0,1)*sw)/(2.*cw*Lambda**2) + (cw*ee*complex(0,1)*complexconjugate(C3phiq))/(2.*Lambda**2*sw) + (ee*complex(0,1)*sw*complexconjugate(C3phiq))/(2.*cw*Lambda**2)', |
1534 | + order = {'NP':2,'QED':2}) |
1535 | + |
1536 | +GC_101 = Coupling(name = 'GC_101', |
1537 | + value = '(C3phiq*complex(0,1)*v)/(2.*Lambda**2) - (complex(0,1)*v*complexconjugate(C3phiq))/(2.*Lambda**2)', |
1538 | + order = {'NP':2}) |
1539 | + |
1540 | +GC_102 = Coupling(name = 'GC_102', |
1541 | + value = '-(C3phiq*complex(0,1)*v)/(2.*Lambda**2) + (complex(0,1)*v*complexconjugate(C3phiq))/(2.*Lambda**2)', |
1542 | + order = {'NP':2}) |
1543 | + |
1544 | +GC_103 = Coupling(name = 'GC_103', |
1545 | + value = '-(C3phiq*cw*ee*complex(0,1)*v)/(2.*Lambda**2*sw) - (C3phiq*ee*complex(0,1)*sw*v)/(2.*cw*Lambda**2) - (cw*ee*complex(0,1)*v*complexconjugate(C3phiq))/(2.*Lambda**2*sw) - (ee*complex(0,1)*sw*v*complexconjugate(C3phiq))/(2.*cw*Lambda**2)', |
1546 | + order = {'NP':2,'QED':1}) |
1547 | + |
1548 | +GC_104 = Coupling(name = 'GC_104', |
1549 | + value = '(C3phiq*cw*ee*complex(0,1)*v)/(2.*Lambda**2*sw) + (C3phiq*ee*complex(0,1)*sw*v)/(2.*cw*Lambda**2) + (cw*ee*complex(0,1)*v*complexconjugate(C3phiq))/(2.*Lambda**2*sw) + (ee*complex(0,1)*sw*v*complexconjugate(C3phiq))/(2.*cw*Lambda**2)', |
1550 | + order = {'NP':2,'QED':1}) |
1551 | + |
1552 | +GC_105 = Coupling(name = 'GC_105', |
1553 | + value = '-(C3phiq*cw*ee*complex(0,1)*v**2)/(4.*Lambda**2*sw) - (C3phiq*ee*complex(0,1)*sw*v**2)/(4.*cw*Lambda**2) - (cw*ee*complex(0,1)*v**2*complexconjugate(C3phiq))/(4.*Lambda**2*sw) - (ee*complex(0,1)*sw*v**2*complexconjugate(C3phiq))/(4.*cw*Lambda**2)', |
1554 | + order = {'NP':2}) |
1555 | + |
1556 | +GC_106 = Coupling(name = 'GC_106', |
1557 | + value = '(C3phiq*cw*ee*complex(0,1)*v**2)/(4.*Lambda**2*sw) + (C3phiq*ee*complex(0,1)*sw*v**2)/(4.*cw*Lambda**2) + (cw*ee*complex(0,1)*v**2*complexconjugate(C3phiq))/(4.*Lambda**2*sw) + (ee*complex(0,1)*sw*v**2*complexconjugate(C3phiq))/(4.*cw*Lambda**2)', |
1558 | + order = {'NP':2}) |
1559 | + |
1560 | +GC_107 = Coupling(name = 'GC_107', |
1561 | + value = '(ee*complex(0,1)*complexconjugate(CKM11))/(sw*cmath.sqrt(2))', |
1562 | + order = {'QED':1}) |
1563 | + |
1564 | +GC_108 = Coupling(name = 'GC_108', |
1565 | + value = '(ee*complex(0,1)*complexconjugate(CKM12))/(sw*cmath.sqrt(2))', |
1566 | + order = {'QED':1}) |
1567 | + |
1568 | +GC_109 = Coupling(name = 'GC_109', |
1569 | + value = '(ee*complex(0,1)*complexconjugate(CKM13))/(sw*cmath.sqrt(2))', |
1570 | + order = {'QED':1}) |
1571 | + |
1572 | +GC_110 = Coupling(name = 'GC_110', |
1573 | + value = '(ee*complex(0,1)*complexconjugate(CKM21))/(sw*cmath.sqrt(2))', |
1574 | + order = {'QED':1}) |
1575 | + |
1576 | +GC_111 = Coupling(name = 'GC_111', |
1577 | + value = '(ee*complex(0,1)*complexconjugate(CKM22))/(sw*cmath.sqrt(2))', |
1578 | + order = {'QED':1}) |
1579 | + |
1580 | +GC_112 = Coupling(name = 'GC_112', |
1581 | + value = '(ee*complex(0,1)*complexconjugate(CKM23))/(sw*cmath.sqrt(2))', |
1582 | + order = {'QED':1}) |
1583 | + |
1584 | +GC_113 = Coupling(name = 'GC_113', |
1585 | + value = '(ee*complex(0,1)*complexconjugate(CKM31))/(sw*cmath.sqrt(2))', |
1586 | + order = {'QED':1}) |
1587 | + |
1588 | +GC_114 = Coupling(name = 'GC_114', |
1589 | + value = '(ee*complex(0,1)*complexconjugate(CKM32))/(sw*cmath.sqrt(2))', |
1590 | + order = {'QED':1}) |
1591 | + |
1592 | +GC_115 = Coupling(name = 'GC_115', |
1593 | + value = '(ee*complex(0,1)*complexconjugate(CKM33))/(sw*cmath.sqrt(2))', |
1594 | + order = {'QED':1}) |
1595 | + |
1596 | +GC_116 = Coupling(name = 'GC_116', |
1597 | + value = '(-2*complex(0,1)*complexconjugate(CtG)*cmath.sqrt(2))/Lambda**2', |
1598 | + order = {'NP':2,'QED':1}) |
1599 | + |
1600 | +GC_117 = Coupling(name = 'GC_117', |
1601 | + value = '(-2*G*complexconjugate(CtG)*cmath.sqrt(2))/Lambda**2', |
1602 | + order = {'NP':2,'QCD':1,'QED':1}) |
1603 | + |
1604 | +GC_118 = Coupling(name = 'GC_118', |
1605 | + value = '(-2*complex(0,1)*v*complexconjugate(CtG)*cmath.sqrt(2))/Lambda**2', |
1606 | + order = {'NP':2}) |
1607 | + |
1608 | +GC_119 = Coupling(name = 'GC_119', |
1609 | + value = '(-2*G*v*complexconjugate(CtG)*cmath.sqrt(2))/Lambda**2', |
1610 | + order = {'NP':2,'QCD':1}) |
1611 | + |
1612 | +GC_120 = Coupling(name = 'GC_120', |
1613 | + value = '(-2*complex(0,1)*complexconjugate(CtW))/Lambda**2', |
1614 | + order = {'NP':2,'QED':1}) |
1615 | + |
1616 | +GC_121 = Coupling(name = 'GC_121', |
1617 | + value = '-((cw*complex(0,1)*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2)', |
1618 | + order = {'NP':2,'QED':1}) |
1619 | + |
1620 | +GC_122 = Coupling(name = 'GC_122', |
1621 | + value = '(complex(0,1)*gw*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2', |
1622 | + order = {'NP':2,'QED':2}) |
1623 | + |
1624 | +GC_123 = Coupling(name = 'GC_123', |
1625 | + value = '(-2*cw*complex(0,1)*gw*complexconjugate(CtW))/Lambda**2', |
1626 | + order = {'NP':2,'QED':2}) |
1627 | + |
1628 | +GC_124 = Coupling(name = 'GC_124', |
1629 | + value = '-((complex(0,1)*sw*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2)', |
1630 | + order = {'NP':2,'QED':1}) |
1631 | + |
1632 | +GC_125 = Coupling(name = 'GC_125', |
1633 | + value = '(2*complex(0,1)*gw*sw*complexconjugate(CtW))/Lambda**2', |
1634 | + order = {'NP':2,'QED':2}) |
1635 | + |
1636 | +GC_126 = Coupling(name = 'GC_126', |
1637 | + value = '(-2*complex(0,1)*v*complexconjugate(CtW))/Lambda**2', |
1638 | + order = {'NP':2}) |
1639 | + |
1640 | +GC_127 = Coupling(name = 'GC_127', |
1641 | + value = '-((cw*complex(0,1)*v*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2)', |
1642 | + order = {'NP':2}) |
1643 | + |
1644 | +GC_128 = Coupling(name = 'GC_128', |
1645 | + value = '(complex(0,1)*gw*v*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2', |
1646 | + order = {'NP':2,'QED':1}) |
1647 | + |
1648 | +GC_129 = Coupling(name = 'GC_129', |
1649 | + value = '(-2*cw*complex(0,1)*gw*v*complexconjugate(CtW))/Lambda**2', |
1650 | + order = {'NP':2,'QED':1}) |
1651 | + |
1652 | +GC_130 = Coupling(name = 'GC_130', |
1653 | + value = '-((complex(0,1)*sw*v*complexconjugate(CtW)*cmath.sqrt(2))/Lambda**2)', |
1654 | + order = {'NP':2}) |
1655 | + |
1656 | +GC_131 = Coupling(name = 'GC_131', |
1657 | + value = '(2*complex(0,1)*gw*sw*v*complexconjugate(CtW))/Lambda**2', |
1658 | + order = {'NP':2,'QED':1}) |
1659 | + |
1660 | |
1661 | === added file 'models/TopEffTh/function_library.py' |
1662 | --- models/TopEffTh/function_library.py 1970-01-01 00:00:00 +0000 |
1663 | +++ models/TopEffTh/function_library.py 2011-10-12 10:39:26 +0000 |
1664 | @@ -0,0 +1,54 @@ |
1665 | +# This file is part of the UFO. |
1666 | +# |
1667 | +# This file contains definitions for functions that |
1668 | +# are extensions of the cmath library, and correspond |
1669 | +# either to functions that are in cmath, but inconvenient |
1670 | +# to access from there (e.g. z.conjugate()), |
1671 | +# or functions that are simply not defined. |
1672 | +# |
1673 | +# |
1674 | + |
1675 | +__date__ = "22 July 2010" |
1676 | +__author__ = "claude.duhr@durham.ac.uk" |
1677 | + |
1678 | +import cmath |
1679 | +from object_library import all_functions, Function |
1680 | + |
1681 | +# |
1682 | +# shortcuts for functions from cmath |
1683 | +# |
1684 | + |
1685 | +complexconjugate = Function(name = 'complexconjugate', |
1686 | + arguments = ('z',), |
1687 | + expression = 'z.conjugate()') |
1688 | + |
1689 | + |
1690 | +re = Function(name = 're', |
1691 | + arguments = ('z',), |
1692 | + expression = 'z.real') |
1693 | + |
1694 | +im = Function(name = 'im', |
1695 | + arguments = ('z',), |
1696 | + expression = 'z.imag') |
1697 | + |
1698 | +# New functions (trigonometric) |
1699 | + |
1700 | +sec = Function(name = 'sec', |
1701 | + arguments = ('z',), |
1702 | + expression = '1./cmath.cos(z)') |
1703 | + |
1704 | +asec = Function(name = 'asec', |
1705 | + arguments = ('z',), |
1706 | + expression = 'cmath.acos(1./z)') |
1707 | + |
1708 | +csc = Function(name = 'csc', |
1709 | + arguments = ('z',), |
1710 | + expression = '1./cmath.sin(z)') |
1711 | + |
1712 | +acsc = Function(name = 'acsc', |
1713 | + arguments = ('z',), |
1714 | + expression = 'cmath.asin(1./z)') |
1715 | + |
1716 | + |
1717 | + |
1718 | + |
1719 | |
1720 | === added file 'models/TopEffTh/lorentz.py' |
1721 | --- models/TopEffTh/lorentz.py 1970-01-01 00:00:00 +0000 |
1722 | +++ models/TopEffTh/lorentz.py 2011-10-12 10:39:26 +0000 |
1723 | @@ -0,0 +1,367 @@ |
1724 | +# This file was automatically created by FeynRules $Revision: 821 $ |
1725 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
1726 | +# Date: Mon 3 Oct 2011 13:27:06 |
1727 | + |
1728 | + |
1729 | +from object_library import all_lorentz, Lorentz |
1730 | + |
1731 | +from function_library import complexconjugate, re, im, csc, sec, acsc, asec |
1732 | + |
1733 | + |
1734 | + |
1735 | +UUV1 = Lorentz(name = 'UUV1', |
1736 | + spins = [ -1, -1, 3 ], |
1737 | + structure = 'P(3,2) + P(3,3)') |
1738 | + |
1739 | +SSS1 = Lorentz(name = 'SSS1', |
1740 | + spins = [ 1, 1, 1 ], |
1741 | + structure = '1') |
1742 | + |
1743 | +FFS1 = Lorentz(name = 'FFS1', |
1744 | + spins = [ 2, 2, 1 ], |
1745 | + structure = 'Identity(2,1)') |
1746 | + |
1747 | +FFS2 = Lorentz(name = 'FFS2', |
1748 | + spins = [ 2, 2, 1 ], |
1749 | + structure = 'P(-1,3)*Gamma(-1,2,-2)*ProjM(-2,1)') |
1750 | + |
1751 | +FFV1 = Lorentz(name = 'FFV1', |
1752 | + spins = [ 2, 2, 3 ], |
1753 | + structure = 'Gamma(3,2,1)') |
1754 | + |
1755 | +FFV2 = Lorentz(name = 'FFV2', |
1756 | + spins = [ 2, 2, 3 ], |
1757 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1)') |
1758 | + |
1759 | +FFV3 = Lorentz(name = 'FFV3', |
1760 | + spins = [ 2, 2, 3 ], |
1761 | + structure = '-(P(-1,3)*Gamma(-1,-3,-2)*Gamma(3,2,-3)*ProjM(-2,1)) + P(3,3)*ProjM(2,1)') |
1762 | + |
1763 | +FFV4 = Lorentz(name = 'FFV4', |
1764 | + spins = [ 2, 2, 3 ], |
1765 | + structure = 'Gamma(3,2,-1)*ProjP(-1,1)') |
1766 | + |
1767 | +FFV5 = Lorentz(name = 'FFV5', |
1768 | + spins = [ 2, 2, 3 ], |
1769 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1) - 2*Gamma(3,2,-1)*ProjP(-1,1)') |
1770 | + |
1771 | +FFV6 = Lorentz(name = 'FFV6', |
1772 | + spins = [ 2, 2, 3 ], |
1773 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 2*Gamma(3,2,-1)*ProjP(-1,1)') |
1774 | + |
1775 | +FFV7 = Lorentz(name = 'FFV7', |
1776 | + spins = [ 2, 2, 3 ], |
1777 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1) + 4*Gamma(3,2,-1)*ProjP(-1,1)') |
1778 | + |
1779 | +FFV8 = Lorentz(name = 'FFV8', |
1780 | + spins = [ 2, 2, 3 ], |
1781 | + structure = '-(P(-1,3)*Gamma(-1,-3,-2)*Gamma(3,2,-3)*ProjP(-2,1)) + P(3,3)*ProjP(2,1)') |
1782 | + |
1783 | +VVS1 = Lorentz(name = 'VVS1', |
1784 | + spins = [ 3, 3, 1 ], |
1785 | + structure = 'Metric(1,2)') |
1786 | + |
1787 | +VVS2 = Lorentz(name = 'VVS2', |
1788 | + spins = [ 3, 3, 1 ], |
1789 | + structure = 'P(1,2)*P(2,1) - P(-1,1)*P(-1,2)*Metric(1,2)') |
1790 | + |
1791 | +VVV1 = Lorentz(name = 'VVV1', |
1792 | + spins = [ 3, 3, 3 ], |
1793 | + 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)') |
1794 | + |
1795 | +VVV2 = Lorentz(name = 'VVV2', |
1796 | + spins = [ 3, 3, 3 ], |
1797 | + structure = '-(P(1,2)*P(2,3)*P(3,1)) + P(1,3)*P(2,1)*P(3,2) + P(-1,2)*P(-1,3)*P(3,1)*Metric(1,2) - P(-1,1)*P(-1,3)*P(3,2)*Metric(1,2) - P(-1,2)*P(-1,3)*P(2,1)*Metric(1,3) + P(-1,1)*P(-1,2)*P(2,3)*Metric(1,3) + P(-1,1)*P(-1,3)*P(1,2)*Metric(2,3) - P(-1,1)*P(-1,2)*P(1,3)*Metric(2,3)') |
1798 | + |
1799 | +SSSS1 = Lorentz(name = 'SSSS1', |
1800 | + spins = [ 1, 1, 1, 1 ], |
1801 | + structure = '1') |
1802 | + |
1803 | +FFSS1 = Lorentz(name = 'FFSS1', |
1804 | + spins = [ 2, 2, 1, 1 ], |
1805 | + structure = 'P(-1,3)*Gamma(-1,2,-2)*ProjM(-2,1) + P(-1,4)*Gamma(-1,2,-2)*ProjM(-2,1)') |
1806 | + |
1807 | +FFVS1 = Lorentz(name = 'FFVS1', |
1808 | + spins = [ 2, 2, 3, 1 ], |
1809 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1)') |
1810 | + |
1811 | +FFVS2 = Lorentz(name = 'FFVS2', |
1812 | + spins = [ 2, 2, 3, 1 ], |
1813 | + structure = '-(P(-1,3)*Gamma(-1,-3,-2)*Gamma(3,2,-3)*ProjM(-2,1)) + P(3,3)*ProjM(2,1)') |
1814 | + |
1815 | +FFVS3 = Lorentz(name = 'FFVS3', |
1816 | + spins = [ 2, 2, 3, 1 ], |
1817 | + structure = '-(P(-1,3)*Gamma(-1,-3,-2)*Gamma(3,2,-3)*ProjP(-2,1)) + P(3,3)*ProjP(2,1)') |
1818 | + |
1819 | +FFVV1 = Lorentz(name = 'FFVV1', |
1820 | + spins = [ 2, 2, 3, 3 ], |
1821 | + structure = 'Gamma(3,2,-2)*Gamma(4,-2,-1)*ProjM(-1,1) - Metric(3,4)*ProjM(2,1)') |
1822 | + |
1823 | +FFVV2 = Lorentz(name = 'FFVV2', |
1824 | + spins = [ 2, 2, 3, 3 ], |
1825 | + structure = 'Gamma(3,2,-2)*Gamma(4,-2,-1)*ProjP(-1,1) - Metric(3,4)*ProjP(2,1)') |
1826 | + |
1827 | +VVSS1 = Lorentz(name = 'VVSS1', |
1828 | + spins = [ 3, 3, 1, 1 ], |
1829 | + structure = 'Metric(1,2)') |
1830 | + |
1831 | +VVSS2 = Lorentz(name = 'VVSS2', |
1832 | + spins = [ 3, 3, 1, 1 ], |
1833 | + structure = 'P(1,2)*P(2,1) - P(-1,1)*P(-1,2)*Metric(1,2)') |
1834 | + |
1835 | +VVVS1 = Lorentz(name = 'VVVS1', |
1836 | + spins = [ 3, 3, 3, 1 ], |
1837 | + 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)') |
1838 | + |
1839 | +VVVV1 = Lorentz(name = 'VVVV1', |
1840 | + spins = [ 3, 3, 3, 3 ], |
1841 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)') |
1842 | + |
1843 | +VVVV2 = Lorentz(name = 'VVVV2', |
1844 | + spins = [ 3, 3, 3, 3 ], |
1845 | + structure = 'P(3,2)*P(4,1)*Metric(1,2) - P(3,1)*P(4,2)*Metric(1,2) + P(2,1)*P(4,2)*Metric(1,3) + P(2,4)*P(4,3)*Metric(1,3) - P(2,1)*P(3,2)*Metric(1,4) - P(2,3)*P(3,4)*Metric(1,4) - P(1,2)*P(4,1)*Metric(2,3) - P(1,4)*P(4,3)*Metric(2,3) + P(-1,1)*P(-1,2)*Metric(1,4)*Metric(2,3) + P(-1,3)*P(-1,4)*Metric(1,4)*Metric(2,3) + P(1,2)*P(3,1)*Metric(2,4) + P(1,3)*P(3,4)*Metric(2,4) - P(-1,1)*P(-1,2)*Metric(1,3)*Metric(2,4) - P(-1,3)*P(-1,4)*Metric(1,3)*Metric(2,4) + P(1,4)*P(2,3)*Metric(3,4) - P(1,3)*P(2,4)*Metric(3,4)') |
1846 | + |
1847 | +VVVV3 = Lorentz(name = 'VVVV3', |
1848 | + spins = [ 3, 3, 3, 3 ], |
1849 | + structure = 'Metric(1,4)*Metric(2,3) + Metric(1,3)*Metric(2,4) - 2*Metric(1,2)*Metric(3,4)') |
1850 | + |
1851 | +VVVV4 = Lorentz(name = 'VVVV4', |
1852 | + spins = [ 3, 3, 3, 3 ], |
1853 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)') |
1854 | + |
1855 | +VVVV5 = Lorentz(name = 'VVVV5', |
1856 | + spins = [ 3, 3, 3, 3 ], |
1857 | + structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)') |
1858 | + |
1859 | +VVVV6 = Lorentz(name = 'VVVV6', |
1860 | + spins = [ 3, 3, 3, 3 ], |
1861 | + structure = 'Metric(1,4)*Metric(2,3) - (Metric(1,3)*Metric(2,4))/2. - (Metric(1,2)*Metric(3,4))/2.') |
1862 | + |
1863 | +VVVV7 = Lorentz(name = 'VVVV7', |
1864 | + spins = [ 3, 3, 3, 3 ], |
1865 | + structure = 'P(3,4)*P(4,1)*Metric(1,2) + P(3,2)*P(4,3)*Metric(1,2) - P(2,4)*P(4,1)*Metric(1,3) - P(2,3)*P(4,2)*Metric(1,3) + P(2,4)*P(3,1)*Metric(1,4) - P(2,1)*P(3,4)*Metric(1,4) + P(1,3)*P(4,2)*Metric(2,3) - P(1,2)*P(4,3)*Metric(2,3) - P(1,4)*P(3,1)*Metric(2,4) - P(1,3)*P(3,2)*Metric(2,4) + P(-1,2)*P(-1,3)*Metric(1,3)*Metric(2,4) + P(-1,1)*P(-1,4)*Metric(1,3)*Metric(2,4) + P(1,4)*P(2,1)*Metric(3,4) + P(1,2)*P(2,3)*Metric(3,4) - P(-1,2)*P(-1,3)*Metric(1,2)*Metric(3,4) - P(-1,1)*P(-1,4)*Metric(1,2)*Metric(3,4)') |
1866 | + |
1867 | +VVVV8 = Lorentz(name = 'VVVV8', |
1868 | + spins = [ 3, 3, 3, 3 ], |
1869 | + structure = 'P(3,4)*P(4,2)*Metric(1,2) + P(3,1)*P(4,3)*Metric(1,2) + P(2,3)*P(4,1)*Metric(1,3) - P(2,1)*P(4,3)*Metric(1,3) - P(2,3)*P(3,1)*Metric(1,4) - P(2,4)*P(3,2)*Metric(1,4) - P(1,3)*P(4,1)*Metric(2,3) - P(1,4)*P(4,2)*Metric(2,3) + P(-1,1)*P(-1,3)*Metric(1,4)*Metric(2,3) + P(-1,2)*P(-1,4)*Metric(1,4)*Metric(2,3) + P(1,4)*P(3,2)*Metric(2,4) - P(1,2)*P(3,4)*Metric(2,4) + P(1,3)*P(2,1)*Metric(3,4) + P(1,2)*P(2,4)*Metric(3,4) - P(-1,1)*P(-1,3)*Metric(1,2)*Metric(3,4) - P(-1,2)*P(-1,4)*Metric(1,2)*Metric(3,4)') |
1870 | + |
1871 | +FFVSS1 = Lorentz(name = 'FFVSS1', |
1872 | + spins = [ 2, 2, 3, 1, 1 ], |
1873 | + structure = 'Gamma(3,2,-1)*ProjM(-1,1)') |
1874 | + |
1875 | +FFVVS1 = Lorentz(name = 'FFVVS1', |
1876 | + spins = [ 2, 2, 3, 3, 1 ], |
1877 | + structure = 'Gamma(3,2,-2)*Gamma(4,-2,-1)*ProjM(-1,1) - Metric(3,4)*ProjM(2,1)') |
1878 | + |
1879 | +FFVVS2 = Lorentz(name = 'FFVVS2', |
1880 | + spins = [ 2, 2, 3, 3, 1 ], |
1881 | + structure = 'Gamma(3,2,-2)*Gamma(4,-2,-1)*ProjP(-1,1) - Metric(3,4)*ProjP(2,1)') |
1882 | + |
1883 | +VVVSS1 = Lorentz(name = 'VVVSS1', |
1884 | + spins = [ 3, 3, 3, 1, 1 ], |
1885 | + 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)') |
1886 | + |
1887 | +VVVVS1 = Lorentz(name = 'VVVVS1', |
1888 | + spins = [ 3, 3, 3, 3, 1 ], |
1889 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)') |
1890 | + |
1891 | +VVVVS2 = Lorentz(name = 'VVVVS2', |
1892 | + spins = [ 3, 3, 3, 3, 1 ], |
1893 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)') |
1894 | + |
1895 | +VVVVS3 = Lorentz(name = 'VVVVS3', |
1896 | + spins = [ 3, 3, 3, 3, 1 ], |
1897 | + structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)') |
1898 | + |
1899 | +VVVVV1 = Lorentz(name = 'VVVVV1', |
1900 | + spins = [ 3, 3, 3, 3, 3 ], |
1901 | + structure = 'P(5,3)*Metric(1,4)*Metric(2,3) - P(4,3)*Metric(1,5)*Metric(2,3) - P(5,3)*Metric(1,3)*Metric(2,4) + P(4,3)*Metric(1,3)*Metric(2,5)') |
1902 | + |
1903 | +VVVVV2 = Lorentz(name = 'VVVVV2', |
1904 | + spins = [ 3, 3, 3, 3, 3 ], |
1905 | + structure = 'P(5,4)*Metric(1,4)*Metric(2,3) - P(5,4)*Metric(1,3)*Metric(2,4) + P(3,4)*Metric(1,5)*Metric(2,4) - P(3,4)*Metric(1,4)*Metric(2,5)') |
1906 | + |
1907 | +VVVVV3 = Lorentz(name = 'VVVVV3', |
1908 | + spins = [ 3, 3, 3, 3, 3 ], |
1909 | + structure = 'P(4,5)*Metric(1,5)*Metric(2,3) - P(3,5)*Metric(1,5)*Metric(2,4) - P(4,5)*Metric(1,3)*Metric(2,5) + P(3,5)*Metric(1,4)*Metric(2,5)') |
1910 | + |
1911 | +VVVVV4 = Lorentz(name = 'VVVVV4', |
1912 | + spins = [ 3, 3, 3, 3, 3 ], |
1913 | + structure = 'P(5,1)*Metric(1,3)*Metric(2,4) - P(4,1)*Metric(1,3)*Metric(2,5) - P(5,1)*Metric(1,2)*Metric(3,4) + P(4,1)*Metric(1,2)*Metric(3,5)') |
1914 | + |
1915 | +VVVVV5 = Lorentz(name = 'VVVVV5', |
1916 | + spins = [ 3, 3, 3, 3, 3 ], |
1917 | + structure = 'P(5,2)*Metric(1,4)*Metric(2,3) - P(4,2)*Metric(1,5)*Metric(2,3) - P(5,2)*Metric(1,2)*Metric(3,4) + P(4,2)*Metric(1,2)*Metric(3,5)') |
1918 | + |
1919 | +VVVVV6 = Lorentz(name = 'VVVVV6', |
1920 | + spins = [ 3, 3, 3, 3, 3 ], |
1921 | + structure = 'P(3,1)*Metric(1,5)*Metric(2,4) - P(3,1)*Metric(1,4)*Metric(2,5) - P(2,1)*Metric(1,5)*Metric(3,4) + P(2,1)*Metric(1,4)*Metric(3,5)') |
1922 | + |
1923 | +VVVVV7 = Lorentz(name = 'VVVVV7', |
1924 | + spins = [ 3, 3, 3, 3, 3 ], |
1925 | + structure = 'P(5,4)*Metric(1,4)*Metric(2,3) - P(5,4)*Metric(1,2)*Metric(3,4) + P(2,4)*Metric(1,5)*Metric(3,4) - P(2,4)*Metric(1,4)*Metric(3,5)') |
1926 | + |
1927 | +VVVVV8 = Lorentz(name = 'VVVVV8', |
1928 | + spins = [ 3, 3, 3, 3, 3 ], |
1929 | + structure = 'P(4,5)*Metric(1,5)*Metric(2,3) - P(2,5)*Metric(1,5)*Metric(3,4) - P(4,5)*Metric(1,2)*Metric(3,5) + P(2,5)*Metric(1,4)*Metric(3,5)') |
1930 | + |
1931 | +VVVVV9 = Lorentz(name = 'VVVVV9', |
1932 | + spins = [ 3, 3, 3, 3, 3 ], |
1933 | + structure = 'P(3,2)*Metric(1,5)*Metric(2,4) - P(3,2)*Metric(1,4)*Metric(2,5) + P(1,2)*Metric(2,5)*Metric(3,4) - P(1,2)*Metric(2,4)*Metric(3,5)') |
1934 | + |
1935 | +VVVVV10 = Lorentz(name = 'VVVVV10', |
1936 | + spins = [ 3, 3, 3, 3, 3 ], |
1937 | + structure = 'P(2,3)*Metric(1,5)*Metric(3,4) - P(1,3)*Metric(2,5)*Metric(3,4) - P(2,3)*Metric(1,4)*Metric(3,5) + P(1,3)*Metric(2,4)*Metric(3,5)') |
1938 | + |
1939 | +VVVVV11 = Lorentz(name = 'VVVVV11', |
1940 | + spins = [ 3, 3, 3, 3, 3 ], |
1941 | + structure = 'P(5,4)*Metric(1,3)*Metric(2,4) - P(5,4)*Metric(1,2)*Metric(3,4) + P(1,4)*Metric(2,5)*Metric(3,4) - P(1,4)*Metric(2,4)*Metric(3,5)') |
1942 | + |
1943 | +VVVVV12 = Lorentz(name = 'VVVVV12', |
1944 | + spins = [ 3, 3, 3, 3, 3 ], |
1945 | + structure = 'P(4,5)*Metric(1,3)*Metric(2,5) - P(1,5)*Metric(2,5)*Metric(3,4) - P(4,5)*Metric(1,2)*Metric(3,5) + P(1,5)*Metric(2,4)*Metric(3,5)') |
1946 | + |
1947 | +VVVVV13 = Lorentz(name = 'VVVVV13', |
1948 | + spins = [ 3, 3, 3, 3, 3 ], |
1949 | + structure = 'P(5,1)*Metric(1,4)*Metric(2,3) - P(3,1)*Metric(1,4)*Metric(2,5) - P(5,1)*Metric(1,2)*Metric(3,4) + P(3,1)*Metric(1,2)*Metric(4,5)') |
1950 | + |
1951 | +VVVVV14 = Lorentz(name = 'VVVVV14', |
1952 | + spins = [ 3, 3, 3, 3, 3 ], |
1953 | + structure = 'P(4,1)*Metric(1,5)*Metric(2,3) - P(3,1)*Metric(1,5)*Metric(2,4) - P(4,1)*Metric(1,2)*Metric(3,5) + P(3,1)*Metric(1,2)*Metric(4,5)') |
1954 | + |
1955 | +VVVVV15 = Lorentz(name = 'VVVVV15', |
1956 | + spins = [ 3, 3, 3, 3, 3 ], |
1957 | + structure = 'P(5,2)*Metric(1,3)*Metric(2,4) - P(3,2)*Metric(1,5)*Metric(2,4) - P(5,2)*Metric(1,2)*Metric(3,4) + P(3,2)*Metric(1,2)*Metric(4,5)') |
1958 | + |
1959 | +VVVVV16 = Lorentz(name = 'VVVVV16', |
1960 | + spins = [ 3, 3, 3, 3, 3 ], |
1961 | + structure = 'P(4,2)*Metric(1,3)*Metric(2,5) - P(3,2)*Metric(1,4)*Metric(2,5) - P(4,2)*Metric(1,2)*Metric(3,5) + P(3,2)*Metric(1,2)*Metric(4,5)') |
1962 | + |
1963 | +VVVVV17 = Lorentz(name = 'VVVVV17', |
1964 | + spins = [ 3, 3, 3, 3, 3 ], |
1965 | + structure = 'P(4,1)*Metric(1,5)*Metric(2,3) - P(4,1)*Metric(1,3)*Metric(2,5) - P(2,1)*Metric(1,5)*Metric(3,4) + P(2,1)*Metric(1,3)*Metric(4,5)') |
1966 | + |
1967 | +VVVVV18 = Lorentz(name = 'VVVVV18', |
1968 | + spins = [ 3, 3, 3, 3, 3 ], |
1969 | + structure = 'P(5,1)*Metric(1,4)*Metric(2,3) - P(5,1)*Metric(1,3)*Metric(2,4) - P(2,1)*Metric(1,4)*Metric(3,5) + P(2,1)*Metric(1,3)*Metric(4,5)') |
1970 | + |
1971 | +VVVVV19 = Lorentz(name = 'VVVVV19', |
1972 | + spins = [ 3, 3, 3, 3, 3 ], |
1973 | + structure = 'P(5,3)*Metric(1,3)*Metric(2,4) - P(5,3)*Metric(1,2)*Metric(3,4) + P(2,3)*Metric(1,5)*Metric(3,4) - P(2,3)*Metric(1,3)*Metric(4,5)') |
1974 | + |
1975 | +VVVVV20 = Lorentz(name = 'VVVVV20', |
1976 | + spins = [ 3, 3, 3, 3, 3 ], |
1977 | + structure = 'P(4,3)*Metric(1,3)*Metric(2,5) - P(4,3)*Metric(1,2)*Metric(3,5) + P(2,3)*Metric(1,4)*Metric(3,5) - P(2,3)*Metric(1,3)*Metric(4,5)') |
1978 | + |
1979 | +VVVVV21 = Lorentz(name = 'VVVVV21', |
1980 | + spins = [ 3, 3, 3, 3, 3 ], |
1981 | + structure = 'P(3,4)*Metric(1,4)*Metric(2,5) - P(2,4)*Metric(1,4)*Metric(3,5) - P(3,4)*Metric(1,2)*Metric(4,5) + P(2,4)*Metric(1,3)*Metric(4,5)') |
1982 | + |
1983 | +VVVVV22 = Lorentz(name = 'VVVVV22', |
1984 | + spins = [ 3, 3, 3, 3, 3 ], |
1985 | + structure = 'P(3,5)*Metric(1,5)*Metric(2,4) - P(2,5)*Metric(1,5)*Metric(3,4) - P(3,5)*Metric(1,2)*Metric(4,5) + P(2,5)*Metric(1,3)*Metric(4,5)') |
1986 | + |
1987 | +VVVVV23 = Lorentz(name = 'VVVVV23', |
1988 | + spins = [ 3, 3, 3, 3, 3 ], |
1989 | + structure = 'P(4,2)*Metric(1,5)*Metric(2,3) - P(4,2)*Metric(1,3)*Metric(2,5) + P(1,2)*Metric(2,5)*Metric(3,4) - P(1,2)*Metric(2,3)*Metric(4,5)') |
1990 | + |
1991 | +VVVVV24 = Lorentz(name = 'VVVVV24', |
1992 | + spins = [ 3, 3, 3, 3, 3 ], |
1993 | + structure = 'P(5,2)*Metric(1,4)*Metric(2,3) - P(5,2)*Metric(1,3)*Metric(2,4) + P(1,2)*Metric(2,4)*Metric(3,5) - P(1,2)*Metric(2,3)*Metric(4,5)') |
1994 | + |
1995 | +VVVVV25 = Lorentz(name = 'VVVVV25', |
1996 | + spins = [ 3, 3, 3, 3, 3 ], |
1997 | + structure = 'P(5,3)*Metric(1,4)*Metric(2,3) - P(5,3)*Metric(1,2)*Metric(3,4) + P(1,3)*Metric(2,5)*Metric(3,4) - P(1,3)*Metric(2,3)*Metric(4,5)') |
1998 | + |
1999 | +VVVVV26 = Lorentz(name = 'VVVVV26', |
2000 | + spins = [ 3, 3, 3, 3, 3 ], |
2001 | + structure = 'P(4,3)*Metric(1,5)*Metric(2,3) - P(4,3)*Metric(1,2)*Metric(3,5) + P(1,3)*Metric(2,4)*Metric(3,5) - P(1,3)*Metric(2,3)*Metric(4,5)') |
2002 | + |
2003 | +VVVVV27 = Lorentz(name = 'VVVVV27', |
2004 | + spins = [ 3, 3, 3, 3, 3 ], |
2005 | + structure = 'P(3,4)*Metric(1,5)*Metric(2,4) - P(1,4)*Metric(2,4)*Metric(3,5) - P(3,4)*Metric(1,2)*Metric(4,5) + P(1,4)*Metric(2,3)*Metric(4,5)') |
2006 | + |
2007 | +VVVVV28 = Lorentz(name = 'VVVVV28', |
2008 | + spins = [ 3, 3, 3, 3, 3 ], |
2009 | + structure = 'P(2,4)*Metric(1,5)*Metric(3,4) - P(1,4)*Metric(2,5)*Metric(3,4) - P(2,4)*Metric(1,3)*Metric(4,5) + P(1,4)*Metric(2,3)*Metric(4,5)') |
2010 | + |
2011 | +VVVVV29 = Lorentz(name = 'VVVVV29', |
2012 | + spins = [ 3, 3, 3, 3, 3 ], |
2013 | + structure = 'P(3,5)*Metric(1,4)*Metric(2,5) - P(1,5)*Metric(2,5)*Metric(3,4) - P(3,5)*Metric(1,2)*Metric(4,5) + P(1,5)*Metric(2,3)*Metric(4,5)') |
2014 | + |
2015 | +VVVVV30 = Lorentz(name = 'VVVVV30', |
2016 | + spins = [ 3, 3, 3, 3, 3 ], |
2017 | + structure = 'P(2,5)*Metric(1,4)*Metric(3,5) - P(1,5)*Metric(2,4)*Metric(3,5) - P(2,5)*Metric(1,3)*Metric(4,5) + P(1,5)*Metric(2,3)*Metric(4,5)') |
2018 | + |
2019 | +VVVVSS1 = Lorentz(name = 'VVVVSS1', |
2020 | + spins = [ 3, 3, 3, 3, 1, 1 ], |
2021 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,3)*Metric(2,4)') |
2022 | + |
2023 | +VVVVSS2 = Lorentz(name = 'VVVVSS2', |
2024 | + spins = [ 3, 3, 3, 3, 1, 1 ], |
2025 | + structure = 'Metric(1,4)*Metric(2,3) - Metric(1,2)*Metric(3,4)') |
2026 | + |
2027 | +VVVVSS3 = Lorentz(name = 'VVVVSS3', |
2028 | + spins = [ 3, 3, 3, 3, 1, 1 ], |
2029 | + structure = 'Metric(1,3)*Metric(2,4) - Metric(1,2)*Metric(3,4)') |
2030 | + |
2031 | +VVVVVV1 = Lorentz(name = 'VVVVVV1', |
2032 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2033 | + structure = 'Metric(1,6)*Metric(2,4)*Metric(3,5) - Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,5)*Metric(2,4)*Metric(3,6) + Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,3)*Metric(2,6)*Metric(4,5) + Metric(1,5)*Metric(2,3)*Metric(4,6) - Metric(1,3)*Metric(2,5)*Metric(4,6)') |
2034 | + |
2035 | +VVVVVV2 = Lorentz(name = 'VVVVVV2', |
2036 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2037 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,5)*Metric(2,6)*Metric(3,4) + Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,5)*Metric(2,3)*Metric(4,6) - Metric(1,2)*Metric(3,5)*Metric(4,6)') |
2038 | + |
2039 | +VVVVVV3 = Lorentz(name = 'VVVVVV3', |
2040 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2041 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,5)*Metric(2,6)*Metric(3,4) - Metric(1,6)*Metric(2,4)*Metric(3,5) + Metric(1,5)*Metric(2,4)*Metric(3,6) + Metric(1,3)*Metric(2,6)*Metric(4,5) - Metric(1,2)*Metric(3,6)*Metric(4,5) - Metric(1,3)*Metric(2,5)*Metric(4,6) + Metric(1,2)*Metric(3,5)*Metric(4,6)') |
2042 | + |
2043 | +VVVVVV4 = Lorentz(name = 'VVVVVV4', |
2044 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2045 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,5)*Metric(2,6)*Metric(3,4) + Metric(1,5)*Metric(2,4)*Metric(3,6) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,3)*Metric(2,6)*Metric(4,5) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,3)*Metric(2,4)*Metric(5,6)') |
2046 | + |
2047 | +VVVVVV5 = Lorentz(name = 'VVVVVV5', |
2048 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2049 | + structure = 'Metric(1,6)*Metric(2,4)*Metric(3,5) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,3)*Metric(2,5)*Metric(4,6) - Metric(1,2)*Metric(3,5)*Metric(4,6) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,3)*Metric(2,4)*Metric(5,6)') |
2050 | + |
2051 | +VVVVVV6 = Lorentz(name = 'VVVVVV6', |
2052 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2053 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,5)*Metric(2,6)*Metric(3,4) - Metric(1,6)*Metric(2,4)*Metric(3,5) + Metric(1,4)*Metric(2,6)*Metric(3,5) + Metric(1,5)*Metric(2,3)*Metric(4,6) - Metric(1,3)*Metric(2,5)*Metric(4,6) - Metric(1,4)*Metric(2,3)*Metric(5,6) + Metric(1,3)*Metric(2,4)*Metric(5,6)') |
2054 | + |
2055 | +VVVVVV7 = Lorentz(name = 'VVVVVV7', |
2056 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2057 | + structure = 'Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,5)*Metric(2,4)*Metric(3,6) - Metric(1,3)*Metric(2,6)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,5)*Metric(2,3)*Metric(4,6) - Metric(1,2)*Metric(3,5)*Metric(4,6) - Metric(1,4)*Metric(2,3)*Metric(5,6) + Metric(1,3)*Metric(2,4)*Metric(5,6)') |
2058 | + |
2059 | +VVVVVV8 = Lorentz(name = 'VVVVVV8', |
2060 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2061 | + structure = 'Metric(1,5)*Metric(2,6)*Metric(3,4) + Metric(1,6)*Metric(2,4)*Metric(3,5) - Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,5)*Metric(2,4)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2062 | + |
2063 | +VVVVVV9 = Lorentz(name = 'VVVVVV9', |
2064 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2065 | + structure = 'Metric(1,5)*Metric(2,6)*Metric(3,4) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,3)*Metric(2,6)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) - Metric(1,5)*Metric(2,3)*Metric(4,6) + Metric(1,3)*Metric(2,5)*Metric(4,6) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2066 | + |
2067 | +VVVVVV10 = Lorentz(name = 'VVVVVV10', |
2068 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2069 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,6)*Metric(2,4)*Metric(3,5) + Metric(1,5)*Metric(2,4)*Metric(3,6) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,5)*Metric(2,3)*Metric(4,6) + Metric(1,2)*Metric(3,5)*Metric(4,6) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2070 | + |
2071 | +VVVVVV11 = Lorentz(name = 'VVVVVV11', |
2072 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2073 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,3)*Metric(2,6)*Metric(4,5) - Metric(1,3)*Metric(2,5)*Metric(4,6) + Metric(1,2)*Metric(3,5)*Metric(4,6) + Metric(1,4)*Metric(2,3)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2074 | + |
2075 | +VVVVVV12 = Lorentz(name = 'VVVVVV12', |
2076 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2077 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,6)*Metric(2,4)*Metric(3,5) + Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,3)*Metric(2,6)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,3)*Metric(2,4)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2078 | + |
2079 | +VVVVVV13 = Lorentz(name = 'VVVVVV13', |
2080 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2081 | + structure = 'Metric(1,6)*Metric(2,5)*Metric(3,4) - Metric(1,5)*Metric(2,4)*Metric(3,6) - Metric(1,6)*Metric(2,3)*Metric(4,5) + Metric(1,2)*Metric(3,6)*Metric(4,5) + Metric(1,5)*Metric(2,3)*Metric(4,6) - Metric(1,3)*Metric(2,5)*Metric(4,6) + Metric(1,3)*Metric(2,4)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2082 | + |
2083 | +VVVVVV14 = Lorentz(name = 'VVVVVV14', |
2084 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2085 | + structure = 'Metric(1,5)*Metric(2,6)*Metric(3,4) - Metric(1,6)*Metric(2,4)*Metric(3,5) + Metric(1,6)*Metric(2,3)*Metric(4,5) - Metric(1,3)*Metric(2,6)*Metric(4,5) - Metric(1,5)*Metric(2,3)*Metric(4,6) + Metric(1,2)*Metric(3,5)*Metric(4,6) + Metric(1,3)*Metric(2,4)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2086 | + |
2087 | +VVVVVV15 = Lorentz(name = 'VVVVVV15', |
2088 | + spins = [ 3, 3, 3, 3, 3, 3 ], |
2089 | + structure = 'Metric(1,5)*Metric(2,6)*Metric(3,4) - Metric(1,4)*Metric(2,6)*Metric(3,5) - Metric(1,5)*Metric(2,4)*Metric(3,6) + Metric(1,4)*Metric(2,5)*Metric(3,6) - Metric(1,3)*Metric(2,5)*Metric(4,6) + Metric(1,2)*Metric(3,5)*Metric(4,6) + Metric(1,3)*Metric(2,4)*Metric(5,6) - Metric(1,2)*Metric(3,4)*Metric(5,6)') |
2090 | + |
2091 | |
2092 | === added file 'models/TopEffTh/note.pdf' |
2093 | Binary files models/TopEffTh/note.pdf 1970-01-01 00:00:00 +0000 and models/TopEffTh/note.pdf 2011-10-12 10:39:26 +0000 differ |
2094 | === added file 'models/TopEffTh/object_library.py' |
2095 | --- models/TopEffTh/object_library.py 1970-01-01 00:00:00 +0000 |
2096 | +++ models/TopEffTh/object_library.py 2011-10-12 10:39:26 +0000 |
2097 | @@ -0,0 +1,245 @@ |
2098 | +## |
2099 | +## |
2100 | +## Feynrules Header |
2101 | +## |
2102 | +## |
2103 | +## |
2104 | +## |
2105 | +## |
2106 | + |
2107 | +import cmath |
2108 | + |
2109 | + |
2110 | +class UFOBaseClass(object): |
2111 | + """The class from which all FeynRules classes are derived.""" |
2112 | + |
2113 | + require_args = [] |
2114 | + |
2115 | + def __init__(self, *args, **options): |
2116 | + assert(len(self.require_args) == len (args)) |
2117 | + |
2118 | + for i, name in enumerate(self.require_args): |
2119 | + setattr(self, name, args[i]) |
2120 | + |
2121 | + for (option, value) in options.items(): |
2122 | + setattr(self, option, value) |
2123 | + |
2124 | + def get(self, name): |
2125 | + return getattr(self, name) |
2126 | + |
2127 | + def set(self, name, value): |
2128 | + setattr(self, name, value) |
2129 | + |
2130 | + def get_all(self): |
2131 | + """Return a dictionary containing all the information of the object""" |
2132 | + return self.__dict__ |
2133 | + |
2134 | + def __str__(self): |
2135 | + return self.name |
2136 | + |
2137 | + def nice_string(self): |
2138 | + """ return string with the full information """ |
2139 | + return '\n'.join(['%s \t: %s' %(name, value) for name, value in self.__dict__.items()]) |
2140 | + |
2141 | + def __repr__(self): |
2142 | + replacements = [ |
2143 | + ('+','__plus__'), |
2144 | + ('-','__minus__'), |
2145 | + ('@','__at__'), |
2146 | + ('!','__exclam__'), |
2147 | + ('?','__quest__'), |
2148 | + ('*','__star__'), |
2149 | + ('~','__tilde__') |
2150 | + ] |
2151 | + text = self.name |
2152 | + for orig,sub in replacements: |
2153 | + text = text.replace(orig,sub) |
2154 | + return text |
2155 | + |
2156 | + |
2157 | + |
2158 | +all_particles = [] |
2159 | + |
2160 | + |
2161 | + |
2162 | +class Particle(UFOBaseClass): |
2163 | + """A standard Particle""" |
2164 | + |
2165 | + require_args=['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge'] |
2166 | + |
2167 | + require_args_all = ['pdg_code', 'name', 'antiname', 'spin', 'color', 'mass', 'width', 'texname', 'antitexname', 'charge', 'line', 'propagating', 'goldstoneboson'] |
2168 | + |
2169 | + def __init__(self, pdg_code, name, antiname, spin, color, mass, width, texname, |
2170 | + antitexname, charge , line=None, propagating=True, goldstoneboson=False, **options): |
2171 | + |
2172 | + args= (pdg_code, name, antiname, spin, color, mass, width, texname, |
2173 | + antitexname, float(charge)) |
2174 | + |
2175 | + UFOBaseClass.__init__(self, *args, **options) |
2176 | + |
2177 | + global all_particles |
2178 | + all_particles.append(self) |
2179 | + |
2180 | + self.propagating = propagating |
2181 | + self.goldstoneboson= goldstoneboson |
2182 | + |
2183 | + self.selfconjugate = (name == antiname) |
2184 | + if 1: #not line: |
2185 | + self.line = self.find_line_type() |
2186 | + else: |
2187 | + self.line = line |
2188 | + |
2189 | + |
2190 | + |
2191 | + |
2192 | + def find_line_type(self): |
2193 | + """ find how we draw a line if not defined |
2194 | + valid output: dashed/straight/wavy/curly/double/swavy/scurly |
2195 | + """ |
2196 | + |
2197 | + spin = self.spin |
2198 | + color = self.color |
2199 | + |
2200 | + #use default |
2201 | + if spin == 1: |
2202 | + return 'dashed' |
2203 | + elif spin == 2: |
2204 | + if not self.selfconjugate: |
2205 | + return 'straight' |
2206 | + elif color == 1: |
2207 | + return 'swavy' |
2208 | + else: |
2209 | + return 'scurly' |
2210 | + elif spin == 3: |
2211 | + if color == 1: |
2212 | + return 'wavy' |
2213 | + |
2214 | + else: |
2215 | + return 'curly' |
2216 | + elif spin == 5: |
2217 | + return 'double' |
2218 | + elif spin == -1: |
2219 | + return 'dotted' |
2220 | + else: |
2221 | + return 'dashed' # not supported yet |
2222 | + |
2223 | + def anti(self): |
2224 | + if self.selfconjugate: |
2225 | + raise Exception('%s has no anti particle.' % self.name) |
2226 | + outdic = {} |
2227 | + for k,v in self.__dict__.iteritems(): |
2228 | + if k not in self.require_args_all: |
2229 | + outdic[k] = -v |
2230 | + if self.color in [1,8]: |
2231 | + newcolor = self.color |
2232 | + else: |
2233 | + newcolor = -self.color |
2234 | + |
2235 | + return Particle(-self.pdg_code, self.antiname, self.name, self.spin, newcolor, self.mass, self.width, |
2236 | + self.antitexname, self.texname, -self.charge, self.line, self.propagating, self.goldstoneboson, **outdic) |
2237 | + |
2238 | + |
2239 | + |
2240 | +all_parameters = [] |
2241 | + |
2242 | +class Parameter(UFOBaseClass): |
2243 | + |
2244 | + require_args=['name', 'nature', 'type', 'value', 'texname'] |
2245 | + |
2246 | + def __init__(self, name, nature, type, value, texname, lhablock=None, lhacode=None): |
2247 | + |
2248 | + args = (name,nature,type,value,texname) |
2249 | + |
2250 | + UFOBaseClass.__init__(self, *args) |
2251 | + |
2252 | + args=(name,nature,type,value,texname) |
2253 | + |
2254 | + global all_parameters |
2255 | + all_parameters.append(self) |
2256 | + |
2257 | + if (lhablock is None or lhacode is None) and nature == 'external': |
2258 | + raise Exception('Need LHA information for external parameter "%s".' % name) |
2259 | + self.lhablock = lhablock |
2260 | + self.lhacode = lhacode |
2261 | + |
2262 | +all_vertices = [] |
2263 | + |
2264 | +class Vertex(UFOBaseClass): |
2265 | + |
2266 | + require_args=['name', 'particles', 'color', 'lorentz', 'couplings'] |
2267 | + |
2268 | + def __init__(self, name, particles, color, lorentz, couplings, **opt): |
2269 | + |
2270 | + args = (name, particles, color, lorentz, couplings) |
2271 | + |
2272 | + UFOBaseClass.__init__(self, *args, **opt) |
2273 | + |
2274 | + args=(particles,color,lorentz,couplings) |
2275 | + |
2276 | + global all_vertices |
2277 | + all_vertices.append(self) |
2278 | + |
2279 | +all_couplings = [] |
2280 | + |
2281 | +class Coupling(UFOBaseClass): |
2282 | + |
2283 | + require_args=['name', 'value', 'order'] |
2284 | + |
2285 | + def __init__(self, name, value, order, **opt): |
2286 | + |
2287 | + args =(name, value, order) |
2288 | + UFOBaseClass.__init__(self, *args, **opt) |
2289 | + global all_couplings |
2290 | + all_couplings.append(self) |
2291 | + |
2292 | + |
2293 | + |
2294 | +all_lorentz = [] |
2295 | + |
2296 | +class Lorentz(UFOBaseClass): |
2297 | + |
2298 | + require_args=['name','spins','structure'] |
2299 | + |
2300 | + def __init__(self, name, spins, structure='external', **opt): |
2301 | + args = (name, spins, structure) |
2302 | + UFOBaseClass.__init__(self, *args, **opt) |
2303 | + |
2304 | + global all_lorentz |
2305 | + all_lorentz.append(self) |
2306 | + |
2307 | + |
2308 | +all_functions = [] |
2309 | + |
2310 | +class Function(object): |
2311 | + |
2312 | + def __init__(self, name, arguments, expression): |
2313 | + |
2314 | + global all_functions |
2315 | + all_functions.append(self) |
2316 | + |
2317 | + self.name = name |
2318 | + self.arguments = arguments |
2319 | + self.expr = expression |
2320 | + |
2321 | + def __call__(self, *opt): |
2322 | + |
2323 | + for i, arg in enumerate(self.arguments): |
2324 | + exec('%s = %s' % (arg, opt[i] )) |
2325 | + |
2326 | + return eval(self.expr) |
2327 | + |
2328 | +all_orders = [] |
2329 | + |
2330 | +class CouplingOrder(object): |
2331 | + |
2332 | + def __init__(self, name, expansion_order, hierarchy, perturbative_expansion = 0): |
2333 | + |
2334 | + global all_orders |
2335 | + all_orders.append(self) |
2336 | + |
2337 | + self.name = name |
2338 | + self.expansion_order = expansion_order |
2339 | + self.hierarchy = hierarchy |
2340 | + |
2341 | + |
2342 | + |
2343 | |
2344 | === added file 'models/TopEffTh/parameters.py' |
2345 | --- models/TopEffTh/parameters.py 1970-01-01 00:00:00 +0000 |
2346 | +++ models/TopEffTh/parameters.py 2011-10-12 10:39:26 +0000 |
2347 | @@ -0,0 +1,705 @@ |
2348 | +# This file was automatically created by FeynRules $Revision: 821 $ |
2349 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
2350 | +# Date: Mon 3 Oct 2011 13:27:06 |
2351 | + |
2352 | + |
2353 | + |
2354 | +from object_library import all_parameters, Parameter |
2355 | + |
2356 | + |
2357 | +from function_library import complexconjugate, re, im, csc, sec, acsc, asec |
2358 | + |
2359 | +# This is a default parameter object representing 0. |
2360 | +ZERO = Parameter(name = 'ZERO', |
2361 | + nature = 'internal', |
2362 | + type = 'real', |
2363 | + value = '0.0', |
2364 | + texname = '0') |
2365 | + |
2366 | +# User-defined parameters. |
2367 | +K = Parameter(name = 'K', |
2368 | + nature = 'external', |
2369 | + type = 'real', |
2370 | + value = 100, |
2371 | + texname = 'K', |
2372 | + lhablock = 'APPROX', |
2373 | + lhacode = [ 1 ]) |
2374 | + |
2375 | +K1 = Parameter(name = 'K1', |
2376 | + nature = 'external', |
2377 | + type = 'real', |
2378 | + value = 100, |
2379 | + texname = '\\text{K1}', |
2380 | + lhablock = 'APPROX', |
2381 | + lhacode = [ 2 ]) |
2382 | + |
2383 | +K2 = Parameter(name = 'K2', |
2384 | + nature = 'external', |
2385 | + type = 'real', |
2386 | + value = 100, |
2387 | + texname = '\\text{K2}', |
2388 | + lhablock = 'APPROX', |
2389 | + lhacode = [ 3 ]) |
2390 | + |
2391 | +K3 = Parameter(name = 'K3', |
2392 | + nature = 'external', |
2393 | + type = 'real', |
2394 | + value = 100, |
2395 | + texname = '\\text{K3}', |
2396 | + lhablock = 'APPROX', |
2397 | + lhacode = [ 4 ]) |
2398 | + |
2399 | +cabi = Parameter(name = 'cabi', |
2400 | + nature = 'external', |
2401 | + type = 'real', |
2402 | + value = 0.227736, |
2403 | + texname = '\\theta _c', |
2404 | + lhablock = 'CKMBLOCK', |
2405 | + lhacode = [ 1 ]) |
2406 | + |
2407 | +Lambda = Parameter(name = 'Lambda', |
2408 | + nature = 'external', |
2409 | + type = 'real', |
2410 | + value = 1000, |
2411 | + texname = '\\Lambda ', |
2412 | + lhablock = 'DIM6', |
2413 | + lhacode = [ 1 ]) |
2414 | + |
2415 | +RC3phiq = Parameter(name = 'RC3phiq', |
2416 | + nature = 'external', |
2417 | + type = 'real', |
2418 | + value = 1, |
2419 | + texname = '\\text{RC}_{\\text{$\\phi $q}}^{\\text{(3)}}', |
2420 | + lhablock = 'DIM6', |
2421 | + lhacode = [ 2 ]) |
2422 | + |
2423 | +IC3phiq = Parameter(name = 'IC3phiq', |
2424 | + nature = 'external', |
2425 | + type = 'real', |
2426 | + value = 1, |
2427 | + texname = '\\text{IC}_{\\text{$\\phi $q}}^{\\text{(3)}}', |
2428 | + lhablock = 'DIM6', |
2429 | + lhacode = [ 3 ]) |
2430 | + |
2431 | +RCtW = Parameter(name = 'RCtW', |
2432 | + nature = 'external', |
2433 | + type = 'real', |
2434 | + value = 1, |
2435 | + texname = '\\text{RC}_{\\text{tW}}', |
2436 | + lhablock = 'DIM6', |
2437 | + lhacode = [ 4 ]) |
2438 | + |
2439 | +ICtW = Parameter(name = 'ICtW', |
2440 | + nature = 'external', |
2441 | + type = 'real', |
2442 | + value = 1, |
2443 | + texname = '\\text{IC}_{\\text{tW}}', |
2444 | + lhablock = 'DIM6', |
2445 | + lhacode = [ 5 ]) |
2446 | + |
2447 | +RCtG = Parameter(name = 'RCtG', |
2448 | + nature = 'external', |
2449 | + type = 'real', |
2450 | + value = 1, |
2451 | + texname = '\\text{RC}_{\\text{tG}}', |
2452 | + lhablock = 'DIM6', |
2453 | + lhacode = [ 6 ]) |
2454 | + |
2455 | +ICtG = Parameter(name = 'ICtG', |
2456 | + nature = 'external', |
2457 | + type = 'real', |
2458 | + value = 1, |
2459 | + texname = '\\text{IC}_{\\text{tG}}', |
2460 | + lhablock = 'DIM6', |
2461 | + lhacode = [ 7 ]) |
2462 | + |
2463 | +CG = Parameter(name = 'CG', |
2464 | + nature = 'external', |
2465 | + type = 'real', |
2466 | + value = 1, |
2467 | + texname = 'C_G', |
2468 | + lhablock = 'DIM6', |
2469 | + lhacode = [ 8 ]) |
2470 | + |
2471 | +CphiG = Parameter(name = 'CphiG', |
2472 | + nature = 'external', |
2473 | + type = 'real', |
2474 | + value = 1, |
2475 | + texname = 'C_{\\text{$\\phi $G}}', |
2476 | + lhablock = 'DIM6', |
2477 | + lhacode = [ 9 ]) |
2478 | + |
2479 | +C13qq = Parameter(name = 'C13qq', |
2480 | + nature = 'external', |
2481 | + type = 'real', |
2482 | + value = 1, |
2483 | + texname = 'C_{\\text{qq}}^{\\text{(1,3)}}', |
2484 | + lhablock = 'FourFermion', |
2485 | + lhacode = [ 1 ]) |
2486 | + |
2487 | +C81qq = Parameter(name = 'C81qq', |
2488 | + nature = 'external', |
2489 | + type = 'real', |
2490 | + value = 1, |
2491 | + texname = 'C_{\\text{qq}}^{\\text{(8,1)}}', |
2492 | + lhablock = 'FourFermion', |
2493 | + lhacode = [ 2 ]) |
2494 | + |
2495 | +C83qq = Parameter(name = 'C83qq', |
2496 | + nature = 'external', |
2497 | + type = 'real', |
2498 | + value = 1, |
2499 | + texname = 'C_{\\text{qq}}^{\\text{(8,3)}}', |
2500 | + lhablock = 'FourFermion', |
2501 | + lhacode = [ 3 ]) |
2502 | + |
2503 | +C8ut = Parameter(name = 'C8ut', |
2504 | + nature = 'external', |
2505 | + type = 'real', |
2506 | + value = 1, |
2507 | + texname = 'C_{\\text{ut}}^{\\text{(8)}}', |
2508 | + lhablock = 'FourFermion', |
2509 | + lhacode = [ 4 ]) |
2510 | + |
2511 | +C8dt = Parameter(name = 'C8dt', |
2512 | + nature = 'external', |
2513 | + type = 'real', |
2514 | + value = 1, |
2515 | + texname = 'C_{\\text{dt}}^{\\text{(8)}}', |
2516 | + lhablock = 'FourFermion', |
2517 | + lhacode = [ 5 ]) |
2518 | + |
2519 | +C1qu = Parameter(name = 'C1qu', |
2520 | + nature = 'external', |
2521 | + type = 'real', |
2522 | + value = 1, |
2523 | + texname = 'C_{\\text{qu}}^{\\text{(1)}}', |
2524 | + lhablock = 'FourFermion', |
2525 | + lhacode = [ 6 ]) |
2526 | + |
2527 | +C1qd = Parameter(name = 'C1qd', |
2528 | + nature = 'external', |
2529 | + type = 'real', |
2530 | + value = 1, |
2531 | + texname = 'C_{\\text{qd}}^{\\text{(1)}}', |
2532 | + lhablock = 'FourFermion', |
2533 | + lhacode = [ 7 ]) |
2534 | + |
2535 | +C1qt = Parameter(name = 'C1qt', |
2536 | + nature = 'external', |
2537 | + type = 'real', |
2538 | + value = 1, |
2539 | + texname = 'C_{\\text{qt}}^{\\text{(1)}}', |
2540 | + lhablock = 'FourFermion', |
2541 | + lhacode = [ 8 ]) |
2542 | + |
2543 | +aEWM1 = Parameter(name = 'aEWM1', |
2544 | + nature = 'external', |
2545 | + type = 'real', |
2546 | + value = 127.9, |
2547 | + texname = '\\text{aEWM1}', |
2548 | + lhablock = 'SMINPUTS', |
2549 | + lhacode = [ 1 ]) |
2550 | + |
2551 | +Gf = Parameter(name = 'Gf', |
2552 | + nature = 'external', |
2553 | + type = 'real', |
2554 | + value = 0.0000116637, |
2555 | + texname = 'G_f', |
2556 | + lhablock = 'SMINPUTS', |
2557 | + lhacode = [ 2 ]) |
2558 | + |
2559 | +aS = Parameter(name = 'aS', |
2560 | + nature = 'external', |
2561 | + type = 'real', |
2562 | + value = 0.1184, |
2563 | + texname = '\\text{aS}', |
2564 | + lhablock = 'SMINPUTS', |
2565 | + lhacode = [ 3 ]) |
2566 | + |
2567 | +ymdo = Parameter(name = 'ymdo', |
2568 | + nature = 'external', |
2569 | + type = 'real', |
2570 | + value = 0.00504, |
2571 | + texname = '\\text{ymdo}', |
2572 | + lhablock = 'YUKAWA', |
2573 | + lhacode = [ 1 ]) |
2574 | + |
2575 | +ymup = Parameter(name = 'ymup', |
2576 | + nature = 'external', |
2577 | + type = 'real', |
2578 | + value = 0.0025499999999999997, |
2579 | + texname = '\\text{ymup}', |
2580 | + lhablock = 'YUKAWA', |
2581 | + lhacode = [ 2 ]) |
2582 | + |
2583 | +yms = Parameter(name = 'yms', |
2584 | + nature = 'external', |
2585 | + type = 'real', |
2586 | + value = 0.101, |
2587 | + texname = '\\text{yms}', |
2588 | + lhablock = 'YUKAWA', |
2589 | + lhacode = [ 3 ]) |
2590 | + |
2591 | +ymc = Parameter(name = 'ymc', |
2592 | + nature = 'external', |
2593 | + type = 'real', |
2594 | + value = 1.27, |
2595 | + texname = '\\text{ymc}', |
2596 | + lhablock = 'YUKAWA', |
2597 | + lhacode = [ 4 ]) |
2598 | + |
2599 | +ymb = Parameter(name = 'ymb', |
2600 | + nature = 'external', |
2601 | + type = 'real', |
2602 | + value = 4.7, |
2603 | + texname = '\\text{ymb}', |
2604 | + lhablock = 'YUKAWA', |
2605 | + lhacode = [ 5 ]) |
2606 | + |
2607 | +ymt = Parameter(name = 'ymt', |
2608 | + nature = 'external', |
2609 | + type = 'real', |
2610 | + value = 172., |
2611 | + texname = '\\text{ymt}', |
2612 | + lhablock = 'YUKAWA', |
2613 | + lhacode = [ 6 ]) |
2614 | + |
2615 | +yme = Parameter(name = 'yme', |
2616 | + nature = 'external', |
2617 | + type = 'real', |
2618 | + value = 0.0005110000000000001, |
2619 | + texname = '\\text{yme}', |
2620 | + lhablock = 'YUKAWA', |
2621 | + lhacode = [ 11 ]) |
2622 | + |
2623 | +ymm = Parameter(name = 'ymm', |
2624 | + nature = 'external', |
2625 | + type = 'real', |
2626 | + value = 0.10566, |
2627 | + texname = '\\text{ymm}', |
2628 | + lhablock = 'YUKAWA', |
2629 | + lhacode = [ 13 ]) |
2630 | + |
2631 | +ymtau = Parameter(name = 'ymtau', |
2632 | + nature = 'external', |
2633 | + type = 'real', |
2634 | + value = 1.777, |
2635 | + texname = '\\text{ymtau}', |
2636 | + lhablock = 'YUKAWA', |
2637 | + lhacode = [ 15 ]) |
2638 | + |
2639 | +Me = Parameter(name = 'Me', |
2640 | + nature = 'external', |
2641 | + type = 'real', |
2642 | + value = 0.0005110000000000001, |
2643 | + texname = '\\text{Me}', |
2644 | + lhablock = 'MASS', |
2645 | + lhacode = [ 11 ]) |
2646 | + |
2647 | +MM = Parameter(name = 'MM', |
2648 | + nature = 'external', |
2649 | + type = 'real', |
2650 | + value = 0.10566, |
2651 | + texname = '\\text{MM}', |
2652 | + lhablock = 'MASS', |
2653 | + lhacode = [ 13 ]) |
2654 | + |
2655 | +MTA = Parameter(name = 'MTA', |
2656 | + nature = 'external', |
2657 | + type = 'real', |
2658 | + value = 1.777, |
2659 | + texname = '\\text{MTA}', |
2660 | + lhablock = 'MASS', |
2661 | + lhacode = [ 15 ]) |
2662 | + |
2663 | +MU = Parameter(name = 'MU', |
2664 | + nature = 'external', |
2665 | + type = 'real', |
2666 | + value = 0.0025499999999999997, |
2667 | + texname = 'M', |
2668 | + lhablock = 'MASS', |
2669 | + lhacode = [ 2 ]) |
2670 | + |
2671 | +MC = Parameter(name = 'MC', |
2672 | + nature = 'external', |
2673 | + type = 'real', |
2674 | + value = 1.42, |
2675 | + texname = '\\text{MC}', |
2676 | + lhablock = 'MASS', |
2677 | + lhacode = [ 4 ]) |
2678 | + |
2679 | +MT = Parameter(name = 'MT', |
2680 | + nature = 'external', |
2681 | + type = 'real', |
2682 | + value = 172, |
2683 | + texname = '\\text{MT}', |
2684 | + lhablock = 'MASS', |
2685 | + lhacode = [ 6 ]) |
2686 | + |
2687 | +MD = Parameter(name = 'MD', |
2688 | + nature = 'external', |
2689 | + type = 'real', |
2690 | + value = 0.00504, |
2691 | + texname = '\\text{MD}', |
2692 | + lhablock = 'MASS', |
2693 | + lhacode = [ 1 ]) |
2694 | + |
2695 | +MS = Parameter(name = 'MS', |
2696 | + nature = 'external', |
2697 | + type = 'real', |
2698 | + value = 0.101, |
2699 | + texname = '\\text{MS}', |
2700 | + lhablock = 'MASS', |
2701 | + lhacode = [ 3 ]) |
2702 | + |
2703 | +MB = Parameter(name = 'MB', |
2704 | + nature = 'external', |
2705 | + type = 'real', |
2706 | + value = 4.7, |
2707 | + texname = '\\text{MB}', |
2708 | + lhablock = 'MASS', |
2709 | + lhacode = [ 5 ]) |
2710 | + |
2711 | +MZ = Parameter(name = 'MZ', |
2712 | + nature = 'external', |
2713 | + type = 'real', |
2714 | + value = 91.1876, |
2715 | + texname = '\\text{MZ}', |
2716 | + lhablock = 'MASS', |
2717 | + lhacode = [ 23 ]) |
2718 | + |
2719 | +MH = Parameter(name = 'MH', |
2720 | + nature = 'external', |
2721 | + type = 'real', |
2722 | + value = 120, |
2723 | + texname = '\\text{MH}', |
2724 | + lhablock = 'MASS', |
2725 | + lhacode = [ 25 ]) |
2726 | + |
2727 | +WT = Parameter(name = 'WT', |
2728 | + nature = 'external', |
2729 | + type = 'real', |
2730 | + value = 1.50833649, |
2731 | + texname = '\\text{WT}', |
2732 | + lhablock = 'DECAY', |
2733 | + lhacode = [ 6 ]) |
2734 | + |
2735 | +WZ = Parameter(name = 'WZ', |
2736 | + nature = 'external', |
2737 | + type = 'real', |
2738 | + value = 2.4952, |
2739 | + texname = '\\text{WZ}', |
2740 | + lhablock = 'DECAY', |
2741 | + lhacode = [ 23 ]) |
2742 | + |
2743 | +WW = Parameter(name = 'WW', |
2744 | + nature = 'external', |
2745 | + type = 'real', |
2746 | + value = 2.085, |
2747 | + texname = '\\text{WW}', |
2748 | + lhablock = 'DECAY', |
2749 | + lhacode = [ 24 ]) |
2750 | + |
2751 | +WH = Parameter(name = 'WH', |
2752 | + nature = 'external', |
2753 | + type = 'real', |
2754 | + value = 0.00575308848, |
2755 | + texname = '\\text{WH}', |
2756 | + lhablock = 'DECAY', |
2757 | + lhacode = [ 25 ]) |
2758 | + |
2759 | +aEW = Parameter(name = 'aEW', |
2760 | + nature = 'internal', |
2761 | + type = 'real', |
2762 | + value = '1/aEWM1', |
2763 | + texname = '\\text{aEW}') |
2764 | + |
2765 | +G = Parameter(name = 'G', |
2766 | + nature = 'internal', |
2767 | + type = 'real', |
2768 | + value = '2*cmath.sqrt(aS)*cmath.sqrt(cmath.pi)', |
2769 | + texname = 'G') |
2770 | + |
2771 | +CKM11 = Parameter(name = 'CKM11', |
2772 | + nature = 'internal', |
2773 | + type = 'complex', |
2774 | + value = 'cmath.cos(cabi)', |
2775 | + texname = '\\text{CKM11}') |
2776 | + |
2777 | +CKM12 = Parameter(name = 'CKM12', |
2778 | + nature = 'internal', |
2779 | + type = 'complex', |
2780 | + value = 'cmath.sin(cabi)', |
2781 | + texname = '\\text{CKM12}') |
2782 | + |
2783 | +CKM13 = Parameter(name = 'CKM13', |
2784 | + nature = 'internal', |
2785 | + type = 'complex', |
2786 | + value = '0', |
2787 | + texname = '\\text{CKM13}') |
2788 | + |
2789 | +CKM21 = Parameter(name = 'CKM21', |
2790 | + nature = 'internal', |
2791 | + type = 'complex', |
2792 | + value = '-cmath.sin(cabi)', |
2793 | + texname = '\\text{CKM21}') |
2794 | + |
2795 | +CKM22 = Parameter(name = 'CKM22', |
2796 | + nature = 'internal', |
2797 | + type = 'complex', |
2798 | + value = 'cmath.cos(cabi)', |
2799 | + texname = '\\text{CKM22}') |
2800 | + |
2801 | +CKM23 = Parameter(name = 'CKM23', |
2802 | + nature = 'internal', |
2803 | + type = 'complex', |
2804 | + value = '0', |
2805 | + texname = '\\text{CKM23}') |
2806 | + |
2807 | +CKM31 = Parameter(name = 'CKM31', |
2808 | + nature = 'internal', |
2809 | + type = 'complex', |
2810 | + value = '0', |
2811 | + texname = '\\text{CKM31}') |
2812 | + |
2813 | +CKM32 = Parameter(name = 'CKM32', |
2814 | + nature = 'internal', |
2815 | + type = 'complex', |
2816 | + value = '0', |
2817 | + texname = '\\text{CKM32}') |
2818 | + |
2819 | +CKM33 = Parameter(name = 'CKM33', |
2820 | + nature = 'internal', |
2821 | + type = 'complex', |
2822 | + value = '1', |
2823 | + texname = '\\text{CKM33}') |
2824 | + |
2825 | +C3phiq = Parameter(name = 'C3phiq', |
2826 | + nature = 'internal', |
2827 | + type = 'complex', |
2828 | + value = 'complex(0,1)*IC3phiq + RC3phiq', |
2829 | + texname = 'C_{\\text{$\\phi $q}}^{\\text{(3)}}') |
2830 | + |
2831 | +CtW = Parameter(name = 'CtW', |
2832 | + nature = 'internal', |
2833 | + type = 'complex', |
2834 | + value = 'complex(0,1)*ICtW + RCtW', |
2835 | + texname = 'C_{\\text{tW}}') |
2836 | + |
2837 | +CtG = Parameter(name = 'CtG', |
2838 | + nature = 'internal', |
2839 | + type = 'complex', |
2840 | + value = 'complex(0,1)*ICtG + RCtG', |
2841 | + texname = 'C_{\\text{tG}}') |
2842 | + |
2843 | +MTri = Parameter(name = 'MTri', |
2844 | + nature = 'internal', |
2845 | + type = 'real', |
2846 | + value = 'K*Lambda', |
2847 | + texname = 'M_{\\text{Tri}}') |
2848 | + |
2849 | +MTri8 = Parameter(name = 'MTri8', |
2850 | + nature = 'internal', |
2851 | + type = 'real', |
2852 | + value = 'K1*Lambda', |
2853 | + texname = 'M_{\\text{Tri8}}') |
2854 | + |
2855 | +M8t = Parameter(name = 'M8t', |
2856 | + nature = 'internal', |
2857 | + type = 'real', |
2858 | + value = 'K2*Lambda', |
2859 | + texname = 'M_{8 t}') |
2860 | + |
2861 | +M8Q = Parameter(name = 'M8Q', |
2862 | + nature = 'internal', |
2863 | + type = 'real', |
2864 | + value = 'K3*Lambda', |
2865 | + texname = 'M_{8 Q}') |
2866 | + |
2867 | +gT = Parameter(name = 'gT', |
2868 | + nature = 'internal', |
2869 | + type = 'real', |
2870 | + value = '-(K*cmath.sqrt(C13qq))', |
2871 | + texname = 'g_T') |
2872 | + |
2873 | +gTl = Parameter(name = 'gTl', |
2874 | + nature = 'internal', |
2875 | + type = 'real', |
2876 | + value = 'K*cmath.sqrt(C13qq)', |
2877 | + texname = 'g_{\\text{Tl}}') |
2878 | + |
2879 | +gT8 = Parameter(name = 'gT8', |
2880 | + nature = 'internal', |
2881 | + type = 'real', |
2882 | + value = '-(K1*cmath.sqrt(C83qq))', |
2883 | + texname = 'g_{\\text{T8}}') |
2884 | + |
2885 | +gT8l = Parameter(name = 'gT8l', |
2886 | + nature = 'internal', |
2887 | + type = 'real', |
2888 | + value = 'K1*cmath.sqrt(C83qq)', |
2889 | + texname = 'g_{\\text{T8l}}') |
2890 | + |
2891 | +g8t = Parameter(name = 'g8t', |
2892 | + nature = 'internal', |
2893 | + type = 'real', |
2894 | + value = '-K2', |
2895 | + texname = 'g_{8 t}') |
2896 | + |
2897 | +g8tu = Parameter(name = 'g8tu', |
2898 | + nature = 'internal', |
2899 | + type = 'real', |
2900 | + value = 'C8ut*K2', |
2901 | + texname = 'g_{8 \\text{tu}}') |
2902 | + |
2903 | +g8td = Parameter(name = 'g8td', |
2904 | + nature = 'internal', |
2905 | + type = 'real', |
2906 | + value = 'C8dt*K2', |
2907 | + texname = 'g_{8 \\text{td}}') |
2908 | + |
2909 | +g8tq = Parameter(name = 'g8tq', |
2910 | + nature = 'internal', |
2911 | + type = 'real', |
2912 | + value = 'C1qt*K2', |
2913 | + texname = 'g_{8 \\text{tq}}') |
2914 | + |
2915 | +g8Q = Parameter(name = 'g8Q', |
2916 | + nature = 'internal', |
2917 | + type = 'real', |
2918 | + value = '-K3', |
2919 | + texname = 'g_{8 Q}') |
2920 | + |
2921 | +g8Qu = Parameter(name = 'g8Qu', |
2922 | + nature = 'internal', |
2923 | + type = 'real', |
2924 | + value = 'C1qu*K3', |
2925 | + texname = 'g_{8 \\text{Qu}}') |
2926 | + |
2927 | +g8Qd = Parameter(name = 'g8Qd', |
2928 | + nature = 'internal', |
2929 | + type = 'real', |
2930 | + value = 'C1qd*K3', |
2931 | + texname = 'g_{8 \\text{Qd}}') |
2932 | + |
2933 | +g8Qq = Parameter(name = 'g8Qq', |
2934 | + nature = 'internal', |
2935 | + type = 'real', |
2936 | + value = 'C81qq*K3', |
2937 | + texname = 'g_{8 \\text{Qq}}') |
2938 | + |
2939 | +MW = Parameter(name = 'MW', |
2940 | + nature = 'internal', |
2941 | + type = 'real', |
2942 | + value = 'cmath.sqrt(MZ**2/2. + cmath.sqrt(MZ**4/4. - (aEW*cmath.pi*MZ**2)/(Gf*cmath.sqrt(2))))', |
2943 | + texname = 'M_W') |
2944 | + |
2945 | +ee = Parameter(name = 'ee', |
2946 | + nature = 'internal', |
2947 | + type = 'real', |
2948 | + value = '2*cmath.sqrt(aEW)*cmath.sqrt(cmath.pi)', |
2949 | + texname = 'e') |
2950 | + |
2951 | +sw2 = Parameter(name = 'sw2', |
2952 | + nature = 'internal', |
2953 | + type = 'real', |
2954 | + value = '1 - MW**2/MZ**2', |
2955 | + texname = '\\text{sw2}') |
2956 | + |
2957 | +cw = Parameter(name = 'cw', |
2958 | + nature = 'internal', |
2959 | + type = 'real', |
2960 | + value = 'cmath.sqrt(1 - sw2)', |
2961 | + texname = 'c_w') |
2962 | + |
2963 | +sw = Parameter(name = 'sw', |
2964 | + nature = 'internal', |
2965 | + type = 'real', |
2966 | + value = 'cmath.sqrt(sw2)', |
2967 | + texname = 's_w') |
2968 | + |
2969 | +g1 = Parameter(name = 'g1', |
2970 | + nature = 'internal', |
2971 | + type = 'real', |
2972 | + value = 'ee/cw', |
2973 | + texname = 'g_1') |
2974 | + |
2975 | +gw = Parameter(name = 'gw', |
2976 | + nature = 'internal', |
2977 | + type = 'real', |
2978 | + value = 'ee/sw', |
2979 | + texname = 'g_w') |
2980 | + |
2981 | +v = Parameter(name = 'v', |
2982 | + nature = 'internal', |
2983 | + type = 'real', |
2984 | + value = '(2*MW*sw)/ee', |
2985 | + texname = 'v') |
2986 | + |
2987 | +lam = Parameter(name = 'lam', |
2988 | + nature = 'internal', |
2989 | + type = 'real', |
2990 | + value = 'MH**2/(2.*v**2)', |
2991 | + texname = '\\text{lam}') |
2992 | + |
2993 | +yb = Parameter(name = 'yb', |
2994 | + nature = 'internal', |
2995 | + type = 'real', |
2996 | + value = '(ymb*cmath.sqrt(2))/v', |
2997 | + texname = '\\text{yb}') |
2998 | + |
2999 | +yc = Parameter(name = 'yc', |
3000 | + nature = 'internal', |
3001 | + type = 'real', |
3002 | + value = '(ymc*cmath.sqrt(2))/v', |
3003 | + texname = '\\text{yc}') |
3004 | + |
3005 | +ydo = Parameter(name = 'ydo', |
3006 | + nature = 'internal', |
3007 | + type = 'real', |
3008 | + value = '(ymdo*cmath.sqrt(2))/v', |
3009 | + texname = '\\text{ydo}') |
3010 | + |
3011 | +ye = Parameter(name = 'ye', |
3012 | + nature = 'internal', |
3013 | + type = 'real', |
3014 | + value = '(yme*cmath.sqrt(2))/v', |
3015 | + texname = '\\text{ye}') |
3016 | + |
3017 | +ym = Parameter(name = 'ym', |
3018 | + nature = 'internal', |
3019 | + type = 'real', |
3020 | + value = '(ymm*cmath.sqrt(2))/v', |
3021 | + texname = '\\text{ym}') |
3022 | + |
3023 | +ys = Parameter(name = 'ys', |
3024 | + nature = 'internal', |
3025 | + type = 'real', |
3026 | + value = '(yms*cmath.sqrt(2))/v', |
3027 | + texname = '\\text{ys}') |
3028 | + |
3029 | +yt = Parameter(name = 'yt', |
3030 | + nature = 'internal', |
3031 | + type = 'real', |
3032 | + value = '(ymt*cmath.sqrt(2))/v', |
3033 | + texname = '\\text{yt}') |
3034 | + |
3035 | +ytau = Parameter(name = 'ytau', |
3036 | + nature = 'internal', |
3037 | + type = 'real', |
3038 | + value = '(ymtau*cmath.sqrt(2))/v', |
3039 | + texname = '\\text{ytau}') |
3040 | + |
3041 | +yup = Parameter(name = 'yup', |
3042 | + nature = 'internal', |
3043 | + type = 'real', |
3044 | + value = '(ymup*cmath.sqrt(2))/v', |
3045 | + texname = '\\text{yup}') |
3046 | + |
3047 | +muH = Parameter(name = 'muH', |
3048 | + nature = 'internal', |
3049 | + type = 'real', |
3050 | + value = 'cmath.sqrt(lam*v**2)', |
3051 | + texname = '\\mu ') |
3052 | + |
3053 | |
3054 | === added file 'models/TopEffTh/particles.py' |
3055 | --- models/TopEffTh/particles.py 1970-01-01 00:00:00 +0000 |
3056 | +++ models/TopEffTh/particles.py 2011-10-12 10:39:26 +0000 |
3057 | @@ -0,0 +1,449 @@ |
3058 | +# This file was automatically created by FeynRules $Revision: 821 $ |
3059 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
3060 | +# Date: Mon 3 Oct 2011 13:27:06 |
3061 | + |
3062 | + |
3063 | +from __future__ import division |
3064 | +from object_library import all_particles, Particle |
3065 | +import parameters as Param |
3066 | + |
3067 | +ve = Particle(pdg_code = 12, |
3068 | + name = 've', |
3069 | + antiname = 've~', |
3070 | + spin = 2, |
3071 | + color = 1, |
3072 | + mass = Param.ZERO, |
3073 | + width = Param.ZERO, |
3074 | + texname = 've', |
3075 | + antitexname = 've', |
3076 | + charge = 0, |
3077 | + LeptonNumber = 1, |
3078 | + GhostNumber = 0) |
3079 | + |
3080 | +ve__tilde__ = ve.anti() |
3081 | + |
3082 | +vm = Particle(pdg_code = 14, |
3083 | + name = 'vm', |
3084 | + antiname = 'vm~', |
3085 | + spin = 2, |
3086 | + color = 1, |
3087 | + mass = Param.ZERO, |
3088 | + width = Param.ZERO, |
3089 | + texname = 'vm', |
3090 | + antitexname = 'vm', |
3091 | + charge = 0, |
3092 | + LeptonNumber = 1, |
3093 | + GhostNumber = 0) |
3094 | + |
3095 | +vm__tilde__ = vm.anti() |
3096 | + |
3097 | +vt = Particle(pdg_code = 16, |
3098 | + name = 'vt', |
3099 | + antiname = 'vt~', |
3100 | + spin = 2, |
3101 | + color = 1, |
3102 | + mass = Param.ZERO, |
3103 | + width = Param.ZERO, |
3104 | + texname = 'vt', |
3105 | + antitexname = 'vt', |
3106 | + charge = 0, |
3107 | + LeptonNumber = 1, |
3108 | + GhostNumber = 0) |
3109 | + |
3110 | +vt__tilde__ = vt.anti() |
3111 | + |
3112 | +e__minus__ = Particle(pdg_code = 11, |
3113 | + name = 'e-', |
3114 | + antiname = 'e+', |
3115 | + spin = 2, |
3116 | + color = 1, |
3117 | + mass = Param.Me, |
3118 | + width = Param.ZERO, |
3119 | + texname = 'e-', |
3120 | + antitexname = 'e-', |
3121 | + charge = -1, |
3122 | + LeptonNumber = 1, |
3123 | + GhostNumber = 0) |
3124 | + |
3125 | +e__plus__ = e__minus__.anti() |
3126 | + |
3127 | +m__minus__ = Particle(pdg_code = 13, |
3128 | + name = 'm-', |
3129 | + antiname = 'm+', |
3130 | + spin = 2, |
3131 | + color = 1, |
3132 | + mass = Param.MM, |
3133 | + width = Param.ZERO, |
3134 | + texname = 'm-', |
3135 | + antitexname = 'm-', |
3136 | + charge = -1, |
3137 | + LeptonNumber = 1, |
3138 | + GhostNumber = 0) |
3139 | + |
3140 | +m__plus__ = m__minus__.anti() |
3141 | + |
3142 | +tt__minus__ = Particle(pdg_code = 15, |
3143 | + name = 'tt-', |
3144 | + antiname = 'tt+', |
3145 | + spin = 2, |
3146 | + color = 1, |
3147 | + mass = Param.MTA, |
3148 | + width = Param.ZERO, |
3149 | + texname = 'tt-', |
3150 | + antitexname = 'tt-', |
3151 | + charge = -1, |
3152 | + LeptonNumber = 1, |
3153 | + GhostNumber = 0) |
3154 | + |
3155 | +tt__plus__ = tt__minus__.anti() |
3156 | + |
3157 | +u = Particle(pdg_code = 2, |
3158 | + name = 'u', |
3159 | + antiname = 'u~', |
3160 | + spin = 2, |
3161 | + color = 3, |
3162 | + mass = Param.MU, |
3163 | + width = Param.ZERO, |
3164 | + texname = 'u', |
3165 | + antitexname = 'u', |
3166 | + charge = 2/3, |
3167 | + LeptonNumber = 0, |
3168 | + GhostNumber = 0) |
3169 | + |
3170 | +u__tilde__ = u.anti() |
3171 | + |
3172 | +c = Particle(pdg_code = 4, |
3173 | + name = 'c', |
3174 | + antiname = 'c~', |
3175 | + spin = 2, |
3176 | + color = 3, |
3177 | + mass = Param.MC, |
3178 | + width = Param.ZERO, |
3179 | + texname = 'c', |
3180 | + antitexname = 'c', |
3181 | + charge = 2/3, |
3182 | + LeptonNumber = 0, |
3183 | + GhostNumber = 0) |
3184 | + |
3185 | +c__tilde__ = c.anti() |
3186 | + |
3187 | +t = Particle(pdg_code = 6, |
3188 | + name = 't', |
3189 | + antiname = 't~', |
3190 | + spin = 2, |
3191 | + color = 3, |
3192 | + mass = Param.MT, |
3193 | + width = Param.WT, |
3194 | + texname = 't', |
3195 | + antitexname = 't', |
3196 | + charge = 2/3, |
3197 | + LeptonNumber = 0, |
3198 | + GhostNumber = 0) |
3199 | + |
3200 | +t__tilde__ = t.anti() |
3201 | + |
3202 | +d = Particle(pdg_code = 1, |
3203 | + name = 'd', |
3204 | + antiname = 'd~', |
3205 | + spin = 2, |
3206 | + color = 3, |
3207 | + mass = Param.MD, |
3208 | + width = Param.ZERO, |
3209 | + texname = 'd', |
3210 | + antitexname = 'd', |
3211 | + charge = -1/3, |
3212 | + LeptonNumber = 0, |
3213 | + GhostNumber = 0) |
3214 | + |
3215 | +d__tilde__ = d.anti() |
3216 | + |
3217 | +s = Particle(pdg_code = 3, |
3218 | + name = 's', |
3219 | + antiname = 's~', |
3220 | + spin = 2, |
3221 | + color = 3, |
3222 | + mass = Param.MS, |
3223 | + width = Param.ZERO, |
3224 | + texname = 's', |
3225 | + antitexname = 's', |
3226 | + charge = -1/3, |
3227 | + LeptonNumber = 0, |
3228 | + GhostNumber = 0) |
3229 | + |
3230 | +s__tilde__ = s.anti() |
3231 | + |
3232 | +b = Particle(pdg_code = 5, |
3233 | + name = 'b', |
3234 | + antiname = 'b~', |
3235 | + spin = 2, |
3236 | + color = 3, |
3237 | + mass = Param.MB, |
3238 | + width = Param.ZERO, |
3239 | + texname = 'b', |
3240 | + antitexname = 'b', |
3241 | + charge = -1/3, |
3242 | + LeptonNumber = 0, |
3243 | + GhostNumber = 0) |
3244 | + |
3245 | +b__tilde__ = b.anti() |
3246 | + |
3247 | +ghA = Particle(pdg_code = 9000001, |
3248 | + name = 'ghA', |
3249 | + antiname = 'ghA~', |
3250 | + spin = -1, |
3251 | + color = 1, |
3252 | + mass = Param.ZERO, |
3253 | + width = Param.ZERO, |
3254 | + texname = 'ghA', |
3255 | + antitexname = 'ghA', |
3256 | + charge = 0, |
3257 | + LeptonNumber = 0, |
3258 | + GhostNumber = 1) |
3259 | + |
3260 | +ghA__tilde__ = ghA.anti() |
3261 | + |
3262 | +ghZ = Particle(pdg_code = 9000002, |
3263 | + name = 'ghZ', |
3264 | + antiname = 'ghZ~', |
3265 | + spin = -1, |
3266 | + color = 1, |
3267 | + mass = Param.MZ, |
3268 | + width = Param.ZERO, |
3269 | + texname = 'ghZ', |
3270 | + antitexname = 'ghZ', |
3271 | + charge = 0, |
3272 | + LeptonNumber = 0, |
3273 | + GhostNumber = 1) |
3274 | + |
3275 | +ghZ__tilde__ = ghZ.anti() |
3276 | + |
3277 | +ghWp = Particle(pdg_code = 9000003, |
3278 | + name = 'ghWp', |
3279 | + antiname = 'ghWp~', |
3280 | + spin = -1, |
3281 | + color = 1, |
3282 | + mass = Param.MW, |
3283 | + width = Param.ZERO, |
3284 | + texname = 'ghWp', |
3285 | + antitexname = 'ghWp', |
3286 | + charge = 1, |
3287 | + LeptonNumber = 0, |
3288 | + GhostNumber = 1) |
3289 | + |
3290 | +ghWp__tilde__ = ghWp.anti() |
3291 | + |
3292 | +ghWm = Particle(pdg_code = 9000004, |
3293 | + name = 'ghWm', |
3294 | + antiname = 'ghWm~', |
3295 | + spin = -1, |
3296 | + color = 1, |
3297 | + mass = Param.MW, |
3298 | + width = Param.ZERO, |
3299 | + texname = 'ghWm', |
3300 | + antitexname = 'ghWm', |
3301 | + charge = -1, |
3302 | + LeptonNumber = 0, |
3303 | + GhostNumber = 1) |
3304 | + |
3305 | +ghWm__tilde__ = ghWm.anti() |
3306 | + |
3307 | +ghG = Particle(pdg_code = 9000005, |
3308 | + name = 'ghG', |
3309 | + antiname = 'ghG~', |
3310 | + spin = -1, |
3311 | + color = 8, |
3312 | + mass = Param.ZERO, |
3313 | + width = Param.ZERO, |
3314 | + texname = 'ghG', |
3315 | + antitexname = 'ghG', |
3316 | + charge = 0, |
3317 | + LeptonNumber = 0, |
3318 | + GhostNumber = 1) |
3319 | + |
3320 | +ghG__tilde__ = ghG.anti() |
3321 | + |
3322 | +A = Particle(pdg_code = 22, |
3323 | + name = 'A', |
3324 | + antiname = 'A', |
3325 | + spin = 3, |
3326 | + color = 1, |
3327 | + mass = Param.ZERO, |
3328 | + width = Param.ZERO, |
3329 | + texname = 'A', |
3330 | + antitexname = 'A', |
3331 | + charge = 0, |
3332 | + LeptonNumber = 0, |
3333 | + GhostNumber = 0) |
3334 | + |
3335 | +Z = Particle(pdg_code = 23, |
3336 | + name = 'Z', |
3337 | + antiname = 'Z', |
3338 | + spin = 3, |
3339 | + color = 1, |
3340 | + mass = Param.MZ, |
3341 | + width = Param.WZ, |
3342 | + texname = 'Z', |
3343 | + antitexname = 'Z', |
3344 | + charge = 0, |
3345 | + LeptonNumber = 0, |
3346 | + GhostNumber = 0) |
3347 | + |
3348 | +W__plus__ = Particle(pdg_code = 24, |
3349 | + name = 'W+', |
3350 | + antiname = 'W-', |
3351 | + spin = 3, |
3352 | + color = 1, |
3353 | + mass = Param.MW, |
3354 | + width = Param.WW, |
3355 | + texname = 'W+', |
3356 | + antitexname = 'W+', |
3357 | + charge = 1, |
3358 | + LeptonNumber = 0, |
3359 | + GhostNumber = 0) |
3360 | + |
3361 | +W__minus__ = W__plus__.anti() |
3362 | + |
3363 | +G = Particle(pdg_code = 21, |
3364 | + name = 'G', |
3365 | + antiname = 'G', |
3366 | + spin = 3, |
3367 | + color = 8, |
3368 | + mass = Param.ZERO, |
3369 | + width = Param.ZERO, |
3370 | + texname = 'G', |
3371 | + antitexname = 'G', |
3372 | + charge = 0, |
3373 | + LeptonNumber = 0, |
3374 | + GhostNumber = 0) |
3375 | + |
3376 | +H = Particle(pdg_code = 25, |
3377 | + name = 'H', |
3378 | + antiname = 'H', |
3379 | + spin = 1, |
3380 | + color = 1, |
3381 | + mass = Param.MH, |
3382 | + width = Param.WH, |
3383 | + texname = '\\phi', |
3384 | + antitexname = '\\phi', |
3385 | + charge = 0, |
3386 | + LeptonNumber = 0, |
3387 | + GhostNumber = 0) |
3388 | + |
3389 | +phi0 = Particle(pdg_code = 250, |
3390 | + name = 'phi0', |
3391 | + antiname = 'phi0', |
3392 | + spin = 1, |
3393 | + color = 1, |
3394 | + mass = Param.MZ, |
3395 | + width = Param.ZERO, |
3396 | + texname = 'phi0', |
3397 | + antitexname = 'phi0', |
3398 | + GoldstoneBoson = True, |
3399 | + charge = 0, |
3400 | + LeptonNumber = 0, |
3401 | + GhostNumber = 0) |
3402 | + |
3403 | +phi__plus__ = Particle(pdg_code = 251, |
3404 | + name = 'phi+', |
3405 | + antiname = 'phi-', |
3406 | + spin = 1, |
3407 | + color = 1, |
3408 | + mass = Param.MW, |
3409 | + width = Param.ZERO, |
3410 | + texname = '\\phi^+', |
3411 | + antitexname = '\\phi^+', |
3412 | + GoldstoneBoson = True, |
3413 | + charge = 1, |
3414 | + LeptonNumber = 0, |
3415 | + GhostNumber = 0) |
3416 | + |
3417 | +phi__minus__ = phi__plus__.anti() |
3418 | + |
3419 | +Tri0 = Particle(pdg_code = 9000006, |
3420 | + name = 'Tri0', |
3421 | + antiname = 'Tri0', |
3422 | + spin = 3, |
3423 | + color = 1, |
3424 | + mass = Param.MTri, |
3425 | + width = Param.ZERO, |
3426 | + texname = 'Tri0', |
3427 | + antitexname = 'Tri0', |
3428 | + charge = 0, |
3429 | + LeptonNumber = 0, |
3430 | + GhostNumber = 0, |
3431 | + propagating=False) |
3432 | + |
3433 | +Tri = Particle(pdg_code = 9000007, |
3434 | + name = 'Tri', |
3435 | + antiname = 'Tri~', |
3436 | + spin = 3, |
3437 | + color = 1, |
3438 | + mass = Param.MTri, |
3439 | + width = Param.ZERO, |
3440 | + texname = 'Tri', |
3441 | + antitexname = 'Tri', |
3442 | + charge = 1, |
3443 | + LeptonNumber = 0, |
3444 | + GhostNumber = 0, |
3445 | + propagating=False) |
3446 | + |
3447 | +Tri__tilde__ = Tri.anti() |
3448 | + |
3449 | +Tri80 = Particle(pdg_code = 9000008, |
3450 | + name = 'Tri80', |
3451 | + antiname = 'Tri80', |
3452 | + spin = 3, |
3453 | + color = 8, |
3454 | + mass = Param.MTri8, |
3455 | + width = Param.ZERO, |
3456 | + texname = 'Tri80', |
3457 | + antitexname = 'Tri80', |
3458 | + charge = 0, |
3459 | + LeptonNumber = 0, |
3460 | + GhostNumber = 0, |
3461 | + propagating=False) |
3462 | + |
3463 | +Tri8 = Particle(pdg_code = 9000009, |
3464 | + name = 'Tri8', |
3465 | + antiname = 'Tri8~', |
3466 | + spin = 3, |
3467 | + color = 8, |
3468 | + mass = Param.MTri8, |
3469 | + width = Param.ZERO, |
3470 | + texname = 'Tri8', |
3471 | + antitexname = 'Tri8', |
3472 | + charge = 1, |
3473 | + LeptonNumber = 0, |
3474 | + GhostNumber = 0, |
3475 | + propagating=False) |
3476 | + |
3477 | +Tri8__tilde__ = Tri8.anti() |
3478 | + |
3479 | +V8t = Particle(pdg_code = 9000010, |
3480 | + name = 'V8t', |
3481 | + antiname = 'V8t', |
3482 | + spin = 3, |
3483 | + color = 8, |
3484 | + mass = Param.M8t, |
3485 | + width = Param.ZERO, |
3486 | + texname = 'V8t', |
3487 | + antitexname = 'V8t', |
3488 | + charge = 0, |
3489 | + LeptonNumber = 0, |
3490 | + GhostNumber = 0, |
3491 | + propagating=False) |
3492 | + |
3493 | +V8Q = Particle(pdg_code = 9000011, |
3494 | + name = 'V8Q', |
3495 | + antiname = 'V8Q', |
3496 | + spin = 3, |
3497 | + color = 8, |
3498 | + mass = Param.M8Q, |
3499 | + width = Param.ZERO, |
3500 | + texname = 'V8Q', |
3501 | + antitexname = 'V8Q', |
3502 | + charge = 0, |
3503 | + LeptonNumber = 0, |
3504 | + GhostNumber = 0, |
3505 | + propagating=False) |
3506 | + |
3507 | |
3508 | === added file 'models/TopEffTh/vertices.py' |
3509 | --- models/TopEffTh/vertices.py 1970-01-01 00:00:00 +0000 |
3510 | +++ models/TopEffTh/vertices.py 2011-10-12 10:39:26 +0000 |
3511 | @@ -0,0 +1,863 @@ |
3512 | +# This file was automatically created by FeynRules $Revision: 821 $ |
3513 | +# Mathematica version: 7.0 for Microsoft Windows (32-bit) (February 18, 2009) |
3514 | +# Date: Mon 3 Oct 2011 13:27:06 |
3515 | + |
3516 | + |
3517 | +from object_library import all_vertices, Vertex |
3518 | +import particles as P |
3519 | +import couplings as C |
3520 | +import lorentz as L |
3521 | + |
3522 | + |
3523 | +V_1 = Vertex(name = 'V_1', |
3524 | + particles = [ P.H, P.H, P.H, P.H ], |
3525 | + color = [ '1' ], |
3526 | + lorentz = [ L.SSSS1 ], |
3527 | + couplings = {(0,0):C.GC_30}) |
3528 | + |
3529 | +V_2 = Vertex(name = 'V_2', |
3530 | + particles = [ P.H, P.H, P.H ], |
3531 | + color = [ '1' ], |
3532 | + lorentz = [ L.SSS1 ], |
3533 | + couplings = {(0,0):C.GC_69}) |
3534 | + |
3535 | +V_3 = Vertex(name = 'V_3', |
3536 | + particles = [ P.G, P.G, P.H, P.H ], |
3537 | + color = [ 'Identity(1,2)' ], |
3538 | + lorentz = [ L.VVSS2 ], |
3539 | + couplings = {(0,0):C.GC_32}) |
3540 | + |
3541 | +V_4 = Vertex(name = 'V_4', |
3542 | + particles = [ P.G, P.G, P.H ], |
3543 | + color = [ 'Identity(1,2)' ], |
3544 | + lorentz = [ L.VVS2 ], |
3545 | + couplings = {(0,0):C.GC_70}) |
3546 | + |
3547 | +V_5 = Vertex(name = 'V_5', |
3548 | + particles = [ P.ghG, P.ghG__tilde__, P.G ], |
3549 | + color = [ 'f(3,1,2)' ], |
3550 | + lorentz = [ L.UUV1 ], |
3551 | + couplings = {(0,0):C.GC_4}) |
3552 | + |
3553 | +V_6 = Vertex(name = 'V_6', |
3554 | + particles = [ P.G, P.G, P.G ], |
3555 | + color = [ 'f(1,2,3)' ], |
3556 | + lorentz = [ L.VVV1, L.VVV2 ], |
3557 | + couplings = {(0,1):C.GC_31,(0,0):C.GC_4}) |
3558 | + |
3559 | +V_7 = Vertex(name = 'V_7', |
3560 | + particles = [ P.G, P.G, P.G, P.G ], |
3561 | + 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)' ], |
3562 | + lorentz = [ L.VVVV1, L.VVVV2, L.VVVV4, L.VVVV5, L.VVVV7, L.VVVV8 ], |
3563 | + couplings = {(0,1):C.GC_36,(1,5):C.GC_36,(2,4):C.GC_36,(1,2):C.GC_6,(0,0):C.GC_6,(2,3):C.GC_6}) |
3564 | + |
3565 | +V_8 = Vertex(name = 'V_8', |
3566 | + particles = [ P.G, P.G, P.G, P.H, P.H ], |
3567 | + color = [ 'f(1,2,3)' ], |
3568 | + lorentz = [ L.VVVSS1 ], |
3569 | + couplings = {(0,0):C.GC_37}) |
3570 | + |
3571 | +V_9 = Vertex(name = 'V_9', |
3572 | + particles = [ P.G, P.G, P.G, P.H ], |
3573 | + color = [ 'f(1,2,3)' ], |
3574 | + lorentz = [ L.VVVS1 ], |
3575 | + couplings = {(0,0):C.GC_74}) |
3576 | + |
3577 | +V_10 = Vertex(name = 'V_10', |
3578 | + particles = [ P.G, P.G, P.G, P.G, P.H, P.H ], |
3579 | + 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)' ], |
3580 | + lorentz = [ L.VVVVSS1, L.VVVVSS2, L.VVVVSS3 ], |
3581 | + couplings = {(1,1):C.GC_41,(0,0):C.GC_41,(2,2):C.GC_41}) |
3582 | + |
3583 | +V_11 = Vertex(name = 'V_11', |
3584 | + particles = [ P.G, P.G, P.G, P.G, P.H ], |
3585 | + 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)' ], |
3586 | + lorentz = [ L.VVVVS1, L.VVVVS2, L.VVVVS3 ], |
3587 | + couplings = {(1,1):C.GC_76,(0,0):C.GC_76,(2,2):C.GC_76}) |
3588 | + |
3589 | +V_12 = Vertex(name = 'V_12', |
3590 | + particles = [ P.G, P.G, P.G, P.G, P.G ], |
3591 | + color = [ 'f(-1,1,-2)*f(2,3,-1)*f(4,5,-2)', 'f(-1,1,-2)*f(2,3,-2)*f(4,5,-1)', 'f(-1,1,-2)*f(2,4,-1)*f(3,5,-2)', 'f(-1,1,-2)*f(2,4,-2)*f(3,5,-1)', 'f(-1,1,-2)*f(2,5,-1)*f(3,4,-2)', 'f(-1,1,-2)*f(2,5,-2)*f(3,4,-1)', 'f(-1,1,2)*f(3,-2,-1)*f(4,5,-2)', 'f(-1,1,2)*f(3,4,-2)*f(5,-2,-1)', 'f(-1,1,2)*f(3,5,-2)*f(4,-2,-1)', 'f(-1,1,3)*f(2,-2,-1)*f(4,5,-2)', 'f(-1,1,3)*f(2,4,-2)*f(5,-2,-1)', 'f(-1,1,3)*f(2,5,-2)*f(4,-2,-1)', 'f(-1,1,4)*f(2,-2,-1)*f(3,5,-2)', 'f(-1,1,4)*f(2,3,-2)*f(5,-2,-1)', 'f(-1,1,4)*f(2,5,-2)*f(3,-2,-1)', 'f(-1,1,5)*f(2,-2,-1)*f(3,4,-2)', 'f(-1,1,5)*f(2,3,-2)*f(4,-2,-1)', 'f(-1,1,5)*f(2,4,-2)*f(3,-2,-1)', 'f(-1,2,-2)*f(1,3,-2)*f(4,5,-1)', 'f(-1,2,-2)*f(1,4,-2)*f(3,5,-1)', 'f(-1,2,-2)*f(1,5,-2)*f(3,4,-1)', 'f(-1,2,3)*f(1,4,-2)*f(5,-2,-1)', 'f(-1,2,3)*f(1,5,-2)*f(4,-2,-1)', 'f(-1,2,4)*f(1,3,-2)*f(5,-2,-1)', 'f(-1,2,4)*f(1,5,-2)*f(3,-2,-1)', 'f(-1,2,5)*f(1,3,-2)*f(4,-2,-1)', 'f(-1,2,5)*f(1,4,-2)*f(3,-2,-1)', 'f(-1,3,-2)*f(1,2,-2)*f(4,5,-1)', 'f(-1,3,4)*f(1,2,-2)*f(5,-2,-1)', 'f(-1,3,5)*f(1,2,-2)*f(4,-2,-1)' ], |
3592 | + lorentz = [ L.VVVVV1, L.VVVVV10, L.VVVVV11, L.VVVVV12, L.VVVVV13, L.VVVVV14, L.VVVVV15, L.VVVVV16, L.VVVVV17, L.VVVVV18, L.VVVVV19, L.VVVVV2, L.VVVVV20, L.VVVVV21, L.VVVVV22, L.VVVVV23, L.VVVVV24, L.VVVVV25, L.VVVVV26, L.VVVVV27, L.VVVVV28, L.VVVVV29, L.VVVVV3, L.VVVVV30, L.VVVVV4, L.VVVVV5, L.VVVVV6, L.VVVVV7, L.VVVVV8, L.VVVVV9 ], |
3593 | + couplings = {(2,4):C.GC_39,(4,9):C.GC_40,(5,9):C.GC_39,(3,4):C.GC_40,(15,16):C.GC_39,(9,25):C.GC_39,(20,16):C.GC_40,(18,25):C.GC_40,(17,17):C.GC_39,(6,0):C.GC_39,(24,17):C.GC_40,(27,0):C.GC_40,(25,27):C.GC_39,(29,11):C.GC_39,(8,11):C.GC_40,(11,27):C.GC_40,(2,8):C.GC_40,(4,5):C.GC_39,(5,5):C.GC_40,(3,8):C.GC_39,(12,15):C.GC_39,(19,15):C.GC_40,(14,18):C.GC_39,(26,18):C.GC_40,(23,28):C.GC_39,(28,22):C.GC_39,(7,22):C.GC_40,(10,28):C.GC_40,(0,24):C.GC_39,(1,24):C.GC_40,(12,6):C.GC_39,(19,6):C.GC_40,(26,10):C.GC_39,(14,10):C.GC_40,(16,2):C.GC_39,(22,2):C.GC_40,(0,26):C.GC_40,(1,26):C.GC_39,(9,29):C.GC_39,(18,29):C.GC_40,(11,19):C.GC_39,(25,19):C.GC_40,(21,14):C.GC_39,(13,14):C.GC_40,(15,7):C.GC_39,(20,7):C.GC_40,(24,12):C.GC_39,(17,12):C.GC_40,(13,3):C.GC_39,(21,3):C.GC_40,(22,13):C.GC_39,(16,13):C.GC_40,(10,21):C.GC_39,(23,21):C.GC_40,(6,1):C.GC_39,(27,1):C.GC_40,(8,20):C.GC_39,(29,20):C.GC_40,(7,23):C.GC_39,(28,23):C.GC_40}) |
3594 | + |
3595 | +V_13 = Vertex(name = 'V_13', |
3596 | + particles = [ P.G, P.G, P.G, P.G, P.G, P.G ], |
3597 | + color = [ 'f(-2,-3,-1)*f(-1,1,2)*f(3,4,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,1,2)*f(3,4,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,1,2)*f(3,5,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,1,2)*f(3,5,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,1,2)*f(3,6,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,1,2)*f(3,6,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,4,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,4,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,5,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,5,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,6,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,1,3)*f(2,6,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,3,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,3,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,5,-2)*f(3,6,-3)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,5,-3)*f(3,6,-2)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,6,-2)*f(3,5,-3)', 'f(-2,-3,-1)*f(-1,1,4)*f(2,6,-3)*f(3,5,-2)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,3,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,3,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,4,-2)*f(3,6,-3)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,4,-3)*f(3,6,-2)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,6,-2)*f(3,4,-3)', 'f(-2,-3,-1)*f(-1,1,5)*f(2,6,-3)*f(3,4,-2)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,3,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,3,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,4,-2)*f(3,5,-3)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,4,-3)*f(3,5,-2)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,5,-2)*f(3,4,-3)', 'f(-2,-3,-1)*f(-1,1,6)*f(2,5,-3)*f(3,4,-2)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,4,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,4,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,5,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,5,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,6,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,2,3)*f(1,6,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,3,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,3,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,5,-2)*f(3,6,-3)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,5,-3)*f(3,6,-2)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,6,-2)*f(3,5,-3)', 'f(-2,-3,-1)*f(-1,2,4)*f(1,6,-3)*f(3,5,-2)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,3,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,3,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,4,-2)*f(3,6,-3)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,4,-3)*f(3,6,-2)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,6,-2)*f(3,4,-3)', 'f(-2,-3,-1)*f(-1,2,5)*f(1,6,-3)*f(3,4,-2)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,3,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,3,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,4,-2)*f(3,5,-3)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,4,-3)*f(3,5,-2)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,5,-2)*f(3,4,-3)', 'f(-2,-3,-1)*f(-1,2,6)*f(1,5,-3)*f(3,4,-2)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,2,-2)*f(5,6,-3)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,2,-3)*f(5,6,-2)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,5,-2)*f(2,6,-3)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,5,-3)*f(2,6,-2)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,6,-2)*f(2,5,-3)', 'f(-2,-3,-1)*f(-1,3,4)*f(1,6,-3)*f(2,5,-2)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,2,-2)*f(4,6,-3)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,2,-3)*f(4,6,-2)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,4,-2)*f(2,6,-3)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,4,-3)*f(2,6,-2)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,6,-2)*f(2,4,-3)', 'f(-2,-3,-1)*f(-1,3,5)*f(1,6,-3)*f(2,4,-2)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,2,-2)*f(4,5,-3)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,2,-3)*f(4,5,-2)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,4,-2)*f(2,5,-3)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,4,-3)*f(2,5,-2)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,5,-2)*f(2,4,-3)', 'f(-2,-3,-1)*f(-1,3,6)*f(1,5,-3)*f(2,4,-2)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,2,-2)*f(3,6,-3)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,2,-3)*f(3,6,-2)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,3,-2)*f(2,6,-3)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,3,-3)*f(2,6,-2)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,6,-2)*f(2,3,-3)', 'f(-2,-3,-1)*f(-1,4,5)*f(1,6,-3)*f(2,3,-2)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,2,-2)*f(3,5,-3)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,2,-3)*f(3,5,-2)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,3,-2)*f(2,5,-3)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,3,-3)*f(2,5,-2)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,5,-2)*f(2,3,-3)', 'f(-2,-3,-1)*f(-1,4,6)*f(1,5,-3)*f(2,3,-2)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,2,-2)*f(3,4,-3)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,2,-3)*f(3,4,-2)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,3,-2)*f(2,4,-3)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,3,-3)*f(2,4,-2)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,4,-2)*f(2,3,-3)', 'f(-2,-3,-1)*f(-1,5,6)*f(1,4,-3)*f(2,3,-2)' ], |
3598 | + lorentz = [ L.VVVVVV1, L.VVVVVV10, L.VVVVVV11, L.VVVVVV12, L.VVVVVV13, L.VVVVVV14, L.VVVVVV15, L.VVVVVV2, L.VVVVVV3, L.VVVVVV4, L.VVVVVV5, L.VVVVVV6, L.VVVVVV7, L.VVVVVV8, L.VVVVVV9 ], |
3599 | + couplings = {(5,11):C.GC_42,(4,11):C.GC_43,(3,9):C.GC_43,(2,9):C.GC_42,(11,1):C.GC_43,(10,1):C.GC_42,(7,7):C.GC_43,(6,7):C.GC_42,(17,4):C.GC_43,(16,4):C.GC_42,(13,8):C.GC_43,(12,8):C.GC_42,(21,2):C.GC_42,(20,2):C.GC_43,(19,3):C.GC_42,(18,3):C.GC_43,(33,3):C.GC_43,(32,3):C.GC_42,(31,8):C.GC_42,(30,8):C.GC_43,(39,2):C.GC_43,(38,2):C.GC_42,(37,7):C.GC_42,(36,7):C.GC_43,(51,4):C.GC_42,(50,4):C.GC_43,(49,1):C.GC_42,(48,1):C.GC_43,(63,4):C.GC_43,(62,4):C.GC_42,(61,9):C.GC_42,(60,9):C.GC_43,(71,2):C.GC_42,(70,2):C.GC_43,(67,11):C.GC_43,(66,11):C.GC_42,(75,1):C.GC_43,(74,1):C.GC_42,(73,11):C.GC_42,(72,11):C.GC_43,(83,3):C.GC_42,(82,3):C.GC_43,(79,9):C.GC_43,(78,9):C.GC_42,(89,8):C.GC_43,(88,8):C.GC_42,(87,7):C.GC_43,(86,7):C.GC_42,(9,13):C.GC_43,(8,13):C.GC_42,(15,5):C.GC_43,(14,5):C.GC_42,(27,14):C.GC_42,(26,14):C.GC_43,(25,6):C.GC_42,(24,6):C.GC_43,(35,6):C.GC_43,(34,6):C.GC_42,(41,14):C.GC_43,(40,14):C.GC_42,(45,5):C.GC_42,(44,5):C.GC_43,(43,13):C.GC_42,(42,13):C.GC_43,(65,14):C.GC_42,(64,14):C.GC_43,(69,5):C.GC_43,(68,5):C.GC_42,(77,6):C.GC_42,(76,6):C.GC_43,(81,13):C.GC_43,(80,13):C.GC_42,(1,0):C.GC_43,(0,0):C.GC_42,(23,10):C.GC_43,(22,10):C.GC_42,(53,10):C.GC_42,(52,10):C.GC_43,(57,10):C.GC_43,(56,10):C.GC_42,(55,0):C.GC_42,(54,0):C.GC_43,(85,0):C.GC_43,(84,0):C.GC_42,(29,12):C.GC_42,(28,12):C.GC_43,(47,12):C.GC_43,(46,12):C.GC_42,(59,12):C.GC_42,(58,12):C.GC_43}) |
3600 | + |
3601 | +V_14 = Vertex(name = 'V_14', |
3602 | + particles = [ P.A, P.W__minus__, P.W__plus__ ], |
3603 | + color = [ '1' ], |
3604 | + lorentz = [ L.VVV1 ], |
3605 | + couplings = {(0,0):C.GC_62}) |
3606 | + |
3607 | +V_15 = Vertex(name = 'V_15', |
3608 | + particles = [ P.W__minus__, P.W__plus__, P.H, P.H ], |
3609 | + color = [ '1' ], |
3610 | + lorentz = [ L.VVSS1 ], |
3611 | + couplings = {(0,0):C.GC_46}) |
3612 | + |
3613 | +V_16 = Vertex(name = 'V_16', |
3614 | + particles = [ P.W__minus__, P.W__plus__, P.H ], |
3615 | + color = [ '1' ], |
3616 | + lorentz = [ L.VVS1 ], |
3617 | + couplings = {(0,0):C.GC_79}) |
3618 | + |
3619 | +V_17 = Vertex(name = 'V_17', |
3620 | + particles = [ P.A, P.A, P.W__minus__, P.W__plus__ ], |
3621 | + color = [ '1' ], |
3622 | + lorentz = [ L.VVVV3 ], |
3623 | + couplings = {(0,0):C.GC_66}) |
3624 | + |
3625 | +V_18 = Vertex(name = 'V_18', |
3626 | + particles = [ P.W__minus__, P.W__plus__, P.Z ], |
3627 | + color = [ '1' ], |
3628 | + lorentz = [ L.VVV1 ], |
3629 | + couplings = {(0,0):C.GC_27}) |
3630 | + |
3631 | +V_19 = Vertex(name = 'V_19', |
3632 | + particles = [ P.W__minus__, P.W__minus__, P.W__plus__, P.W__plus__ ], |
3633 | + color = [ '1' ], |
3634 | + lorentz = [ L.VVVV3 ], |
3635 | + couplings = {(0,0):C.GC_28}) |
3636 | + |
3637 | +V_20 = Vertex(name = 'V_20', |
3638 | + particles = [ P.A, P.W__minus__, P.W__plus__, P.Z ], |
3639 | + color = [ '1' ], |
3640 | + lorentz = [ L.VVVV6 ], |
3641 | + couplings = {(0,0):C.GC_63}) |
3642 | + |
3643 | +V_21 = Vertex(name = 'V_21', |
3644 | + particles = [ P.Z, P.Z, P.H, P.H ], |
3645 | + color = [ '1' ], |
3646 | + lorentz = [ L.VVSS1 ], |
3647 | + couplings = {(0,0):C.GC_68}) |
3648 | + |
3649 | +V_22 = Vertex(name = 'V_22', |
3650 | + particles = [ P.Z, P.Z, P.H ], |
3651 | + color = [ '1' ], |
3652 | + lorentz = [ L.VVS1 ], |
3653 | + couplings = {(0,0):C.GC_84}) |
3654 | + |
3655 | +V_23 = Vertex(name = 'V_23', |
3656 | + particles = [ P.W__minus__, P.W__plus__, P.Z, P.Z ], |
3657 | + color = [ '1' ], |
3658 | + lorentz = [ L.VVVV3 ], |
3659 | + couplings = {(0,0):C.GC_29}) |
3660 | + |
3661 | +V_24 = Vertex(name = 'V_24', |
3662 | + particles = [ P.t__tilde__, P.b, P.W__plus__, P.H, P.H ], |
3663 | + color = [ 'Identity(1,2)' ], |
3664 | + lorentz = [ L.FFVSS1 ], |
3665 | + couplings = {(0,0):C.GC_94}) |
3666 | + |
3667 | +V_25 = Vertex(name = 'V_25', |
3668 | + particles = [ P.t__tilde__, P.b, P.W__plus__, P.H ], |
3669 | + color = [ 'Identity(1,2)' ], |
3670 | + lorentz = [ L.FFVS1, L.FFVS3 ], |
3671 | + couplings = {(0,0):C.GC_95,(0,1):C.GC_34}) |
3672 | + |
3673 | +V_26 = Vertex(name = 'V_26', |
3674 | + particles = [ P.t__tilde__, P.b, P.W__plus__ ], |
3675 | + color = [ 'Identity(1,2)' ], |
3676 | + lorentz = [ L.FFV2, L.FFV8 ], |
3677 | + couplings = {(0,0):[ C.GC_96, C.GC_115 ],(0,1):C.GC_72}) |
3678 | + |
3679 | +V_27 = Vertex(name = 'V_27', |
3680 | + particles = [ P.b__tilde__, P.b, P.H, P.H ], |
3681 | + color = [ 'Identity(1,2)' ], |
3682 | + lorentz = [ L.FFSS1 ], |
3683 | + couplings = {(0,0):C.GC_98}) |
3684 | + |
3685 | +V_28 = Vertex(name = 'V_28', |
3686 | + particles = [ P.b__tilde__, P.b, P.H ], |
3687 | + color = [ 'Identity(1,2)' ], |
3688 | + lorentz = [ L.FFS1, L.FFS2 ], |
3689 | + couplings = {(0,0):C.GC_85,(0,1):C.GC_102}) |
3690 | + |
3691 | +V_29 = Vertex(name = 'V_29', |
3692 | + particles = [ P.b__tilde__, P.b, P.Z, P.H, P.H ], |
3693 | + color = [ 'Identity(1,2)' ], |
3694 | + lorentz = [ L.FFVSS1 ], |
3695 | + couplings = {(0,0):C.GC_99}) |
3696 | + |
3697 | +V_30 = Vertex(name = 'V_30', |
3698 | + particles = [ P.b__tilde__, P.b, P.Z, P.H ], |
3699 | + color = [ 'Identity(1,2)' ], |
3700 | + lorentz = [ L.FFVS1 ], |
3701 | + couplings = {(0,0):C.GC_103}) |
3702 | + |
3703 | +V_31 = Vertex(name = 'V_31', |
3704 | + particles = [ P.b__tilde__, P.b, P.Z ], |
3705 | + color = [ 'Identity(1,2)' ], |
3706 | + lorentz = [ L.FFV2, L.FFV5 ], |
3707 | + couplings = {(0,0):[ C.GC_57, C.GC_105 ],(0,1):C.GC_60}) |
3708 | + |
3709 | +V_32 = Vertex(name = 'V_32', |
3710 | + particles = [ P.t__tilde__, P.t, P.H, P.H ], |
3711 | + color = [ 'Identity(1,2)' ], |
3712 | + lorentz = [ L.FFSS1 ], |
3713 | + couplings = {(0,0):C.GC_97}) |
3714 | + |
3715 | +V_33 = Vertex(name = 'V_33', |
3716 | + particles = [ P.t__tilde__, P.t, P.H ], |
3717 | + color = [ 'Identity(1,2)' ], |
3718 | + lorentz = [ L.FFS1, L.FFS2 ], |
3719 | + couplings = {(0,0):C.GC_91,(0,1):C.GC_101}) |
3720 | + |
3721 | +V_34 = Vertex(name = 'V_34', |
3722 | + particles = [ P.t__tilde__, P.t, P.Z, P.H, P.H ], |
3723 | + color = [ 'Identity(1,2)' ], |
3724 | + lorentz = [ L.FFVSS1 ], |
3725 | + couplings = {(0,0):C.GC_100}) |
3726 | + |
3727 | +V_35 = Vertex(name = 'V_35', |
3728 | + particles = [ P.t__tilde__, P.t, P.Z, P.H ], |
3729 | + color = [ 'Identity(1,2)' ], |
3730 | + lorentz = [ L.FFVS1, L.FFVS2, L.FFVS3 ], |
3731 | + couplings = {(0,0):C.GC_104,(0,1):C.GC_121,(0,2):C.GC_35}) |
3732 | + |
3733 | +V_36 = Vertex(name = 'V_36', |
3734 | + particles = [ P.t__tilde__, P.t, P.Z ], |
3735 | + color = [ 'Identity(1,2)' ], |
3736 | + lorentz = [ L.FFV2, L.FFV3, L.FFV7, L.FFV8 ], |
3737 | + couplings = {(0,0):[ C.GC_58, C.GC_106 ],(0,2):C.GC_60,(0,1):C.GC_127,(0,3):C.GC_73}) |
3738 | + |
3739 | +V_37 = Vertex(name = 'V_37', |
3740 | + particles = [ P.b__tilde__, P.t, P.W__minus__, P.H, P.H ], |
3741 | + color = [ 'Identity(1,2)' ], |
3742 | + lorentz = [ L.FFVSS1 ], |
3743 | + couplings = {(0,0):C.GC_59}) |
3744 | + |
3745 | +V_38 = Vertex(name = 'V_38', |
3746 | + particles = [ P.b__tilde__, P.t, P.W__minus__, P.H ], |
3747 | + color = [ 'Identity(1,2)' ], |
3748 | + lorentz = [ L.FFVS1, L.FFVS2 ], |
3749 | + couplings = {(0,0):C.GC_80,(0,1):C.GC_120}) |
3750 | + |
3751 | +V_39 = Vertex(name = 'V_39', |
3752 | + particles = [ P.b__tilde__, P.t, P.W__minus__ ], |
3753 | + color = [ 'Identity(1,2)' ], |
3754 | + lorentz = [ L.FFV2, L.FFV3 ], |
3755 | + couplings = {(0,0):[ C.GC_56, C.GC_83 ],(0,1):C.GC_126}) |
3756 | + |
3757 | +V_40 = Vertex(name = 'V_40', |
3758 | + particles = [ P.s__tilde__, P.c, P.Tri__tilde__ ], |
3759 | + color = [ 'Identity(1,2)' ], |
3760 | + lorentz = [ L.FFV2 ], |
3761 | + couplings = {(0,0):C.GC_26}) |
3762 | + |
3763 | +V_41 = Vertex(name = 'V_41', |
3764 | + particles = [ P.d__tilde__, P.u, P.Tri__tilde__ ], |
3765 | + color = [ 'Identity(1,2)' ], |
3766 | + lorentz = [ L.FFV2 ], |
3767 | + couplings = {(0,0):C.GC_26}) |
3768 | + |
3769 | +V_42 = Vertex(name = 'V_42', |
3770 | + particles = [ P.c__tilde__, P.c, P.Tri0 ], |
3771 | + color = [ 'Identity(1,2)' ], |
3772 | + lorentz = [ L.FFV2 ], |
3773 | + couplings = {(0,0):C.GC_25}) |
3774 | + |
3775 | +V_43 = Vertex(name = 'V_43', |
3776 | + particles = [ P.d__tilde__, P.d, P.Tri0 ], |
3777 | + color = [ 'Identity(1,2)' ], |
3778 | + lorentz = [ L.FFV2 ], |
3779 | + couplings = {(0,0):C.GC_24}) |
3780 | + |
3781 | +V_44 = Vertex(name = 'V_44', |
3782 | + particles = [ P.s__tilde__, P.s, P.Tri0 ], |
3783 | + color = [ 'Identity(1,2)' ], |
3784 | + lorentz = [ L.FFV2 ], |
3785 | + couplings = {(0,0):C.GC_24}) |
3786 | + |
3787 | +V_45 = Vertex(name = 'V_45', |
3788 | + particles = [ P.u__tilde__, P.u, P.Tri0 ], |
3789 | + color = [ 'Identity(1,2)' ], |
3790 | + lorentz = [ L.FFV2 ], |
3791 | + couplings = {(0,0):C.GC_25}) |
3792 | + |
3793 | +V_46 = Vertex(name = 'V_46', |
3794 | + particles = [ P.u__tilde__, P.d, P.Tri ], |
3795 | + color = [ 'Identity(1,2)' ], |
3796 | + lorentz = [ L.FFV2 ], |
3797 | + couplings = {(0,0):C.GC_26}) |
3798 | + |
3799 | +V_47 = Vertex(name = 'V_47', |
3800 | + particles = [ P.c__tilde__, P.s, P.Tri ], |
3801 | + color = [ 'Identity(1,2)' ], |
3802 | + lorentz = [ L.FFV2 ], |
3803 | + couplings = {(0,0):C.GC_26}) |
3804 | + |
3805 | +V_48 = Vertex(name = 'V_48', |
3806 | + particles = [ P.b__tilde__, P.t, P.Tri__tilde__ ], |
3807 | + color = [ 'Identity(1,2)' ], |
3808 | + lorentz = [ L.FFV2 ], |
3809 | + couplings = {(0,0):C.GC_17}) |
3810 | + |
3811 | +V_49 = Vertex(name = 'V_49', |
3812 | + particles = [ P.b__tilde__, P.b, P.Tri0 ], |
3813 | + color = [ 'Identity(1,2)' ], |
3814 | + lorentz = [ L.FFV2 ], |
3815 | + couplings = {(0,0):C.GC_15}) |
3816 | + |
3817 | +V_50 = Vertex(name = 'V_50', |
3818 | + particles = [ P.t__tilde__, P.t, P.Tri0 ], |
3819 | + color = [ 'Identity(1,2)' ], |
3820 | + lorentz = [ L.FFV2 ], |
3821 | + couplings = {(0,0):C.GC_16}) |
3822 | + |
3823 | +V_51 = Vertex(name = 'V_51', |
3824 | + particles = [ P.t__tilde__, P.b, P.Tri ], |
3825 | + color = [ 'Identity(1,2)' ], |
3826 | + lorentz = [ L.FFV2 ], |
3827 | + couplings = {(0,0):C.GC_17}) |
3828 | + |
3829 | +V_52 = Vertex(name = 'V_52', |
3830 | + particles = [ P.c__tilde__, P.c, P.V8t ], |
3831 | + color = [ 'T(3,2,1)' ], |
3832 | + lorentz = [ L.FFV2, L.FFV4 ], |
3833 | + couplings = {(0,0):C.GC_13,(0,1):C.GC_14}) |
3834 | + |
3835 | +V_53 = Vertex(name = 'V_53', |
3836 | + particles = [ P.d__tilde__, P.d, P.V8t ], |
3837 | + color = [ 'T(3,2,1)' ], |
3838 | + lorentz = [ L.FFV2, L.FFV4 ], |
3839 | + couplings = {(0,0):C.GC_13,(0,1):C.GC_12}) |
3840 | + |
3841 | +V_54 = Vertex(name = 'V_54', |
3842 | + particles = [ P.s__tilde__, P.s, P.V8t ], |
3843 | + color = [ 'T(3,2,1)' ], |
3844 | + lorentz = [ L.FFV2, L.FFV4 ], |
3845 | + couplings = {(0,0):C.GC_13,(0,1):C.GC_12}) |
3846 | + |
3847 | +V_55 = Vertex(name = 'V_55', |
3848 | + particles = [ P.u__tilde__, P.u, P.V8t ], |
3849 | + color = [ 'T(3,2,1)' ], |
3850 | + lorentz = [ L.FFV2, L.FFV4 ], |
3851 | + couplings = {(0,0):C.GC_13,(0,1):C.GC_14}) |
3852 | + |
3853 | +V_56 = Vertex(name = 'V_56', |
3854 | + particles = [ P.t__tilde__, P.t, P.V8t ], |
3855 | + color = [ 'T(3,2,1)' ], |
3856 | + lorentz = [ L.FFV4 ], |
3857 | + couplings = {(0,0):C.GC_11}) |
3858 | + |
3859 | +V_57 = Vertex(name = 'V_57', |
3860 | + particles = [ P.b__tilde__, P.b, P.V8Q ], |
3861 | + color = [ 'T(3,2,1)' ], |
3862 | + lorentz = [ L.FFV2 ], |
3863 | + couplings = {(0,0):C.GC_7}) |
3864 | + |
3865 | +V_58 = Vertex(name = 'V_58', |
3866 | + particles = [ P.c__tilde__, P.c, P.V8Q ], |
3867 | + color = [ 'T(3,2,1)' ], |
3868 | + lorentz = [ L.FFV2, L.FFV4 ], |
3869 | + couplings = {(0,0):C.GC_9,(0,1):C.GC_10}) |
3870 | + |
3871 | +V_59 = Vertex(name = 'V_59', |
3872 | + particles = [ P.d__tilde__, P.d, P.V8Q ], |
3873 | + color = [ 'T(3,2,1)' ], |
3874 | + lorentz = [ L.FFV2, L.FFV4 ], |
3875 | + couplings = {(0,0):C.GC_9,(0,1):C.GC_8}) |
3876 | + |
3877 | +V_60 = Vertex(name = 'V_60', |
3878 | + particles = [ P.s__tilde__, P.s, P.V8Q ], |
3879 | + color = [ 'T(3,2,1)' ], |
3880 | + lorentz = [ L.FFV2, L.FFV4 ], |
3881 | + couplings = {(0,0):C.GC_9,(0,1):C.GC_8}) |
3882 | + |
3883 | +V_61 = Vertex(name = 'V_61', |
3884 | + particles = [ P.t__tilde__, P.t, P.V8Q ], |
3885 | + color = [ 'T(3,2,1)' ], |
3886 | + lorentz = [ L.FFV2 ], |
3887 | + couplings = {(0,0):C.GC_7}) |
3888 | + |
3889 | +V_62 = Vertex(name = 'V_62', |
3890 | + particles = [ P.u__tilde__, P.u, P.V8Q ], |
3891 | + color = [ 'T(3,2,1)' ], |
3892 | + lorentz = [ L.FFV2, L.FFV4 ], |
3893 | + couplings = {(0,0):C.GC_9,(0,1):C.GC_10}) |
3894 | + |
3895 | +V_63 = Vertex(name = 'V_63', |
3896 | + particles = [ P.s__tilde__, P.c, P.Tri8__tilde__ ], |
3897 | + color = [ 'T(3,2,1)' ], |
3898 | + lorentz = [ L.FFV2 ], |
3899 | + couplings = {(0,0):C.GC_23}) |
3900 | + |
3901 | +V_64 = Vertex(name = 'V_64', |
3902 | + particles = [ P.d__tilde__, P.u, P.Tri8__tilde__ ], |
3903 | + color = [ 'T(3,2,1)' ], |
3904 | + lorentz = [ L.FFV2 ], |
3905 | + couplings = {(0,0):C.GC_23}) |
3906 | + |
3907 | +V_65 = Vertex(name = 'V_65', |
3908 | + particles = [ P.c__tilde__, P.c, P.Tri80 ], |
3909 | + color = [ 'T(3,2,1)' ], |
3910 | + lorentz = [ L.FFV2 ], |
3911 | + couplings = {(0,0):C.GC_22}) |
3912 | + |
3913 | +V_66 = Vertex(name = 'V_66', |
3914 | + particles = [ P.d__tilde__, P.d, P.Tri80 ], |
3915 | + color = [ 'T(3,2,1)' ], |
3916 | + lorentz = [ L.FFV2 ], |
3917 | + couplings = {(0,0):C.GC_21}) |
3918 | + |
3919 | +V_67 = Vertex(name = 'V_67', |
3920 | + particles = [ P.s__tilde__, P.s, P.Tri80 ], |
3921 | + color = [ 'T(3,2,1)' ], |
3922 | + lorentz = [ L.FFV2 ], |
3923 | + couplings = {(0,0):C.GC_21}) |
3924 | + |
3925 | +V_68 = Vertex(name = 'V_68', |
3926 | + particles = [ P.u__tilde__, P.u, P.Tri80 ], |
3927 | + color = [ 'T(3,2,1)' ], |
3928 | + lorentz = [ L.FFV2 ], |
3929 | + couplings = {(0,0):C.GC_22}) |
3930 | + |
3931 | +V_69 = Vertex(name = 'V_69', |
3932 | + particles = [ P.u__tilde__, P.d, P.Tri8 ], |
3933 | + color = [ 'T(3,2,1)' ], |
3934 | + lorentz = [ L.FFV2 ], |
3935 | + couplings = {(0,0):C.GC_23}) |
3936 | + |
3937 | +V_70 = Vertex(name = 'V_70', |
3938 | + particles = [ P.c__tilde__, P.s, P.Tri8 ], |
3939 | + color = [ 'T(3,2,1)' ], |
3940 | + lorentz = [ L.FFV2 ], |
3941 | + couplings = {(0,0):C.GC_23}) |
3942 | + |
3943 | +V_71 = Vertex(name = 'V_71', |
3944 | + particles = [ P.b__tilde__, P.t, P.Tri8__tilde__ ], |
3945 | + color = [ 'T(3,2,1)' ], |
3946 | + lorentz = [ L.FFV2 ], |
3947 | + couplings = {(0,0):C.GC_20}) |
3948 | + |
3949 | +V_72 = Vertex(name = 'V_72', |
3950 | + particles = [ P.b__tilde__, P.b, P.Tri80 ], |
3951 | + color = [ 'T(3,2,1)' ], |
3952 | + lorentz = [ L.FFV2 ], |
3953 | + couplings = {(0,0):C.GC_18}) |
3954 | + |
3955 | +V_73 = Vertex(name = 'V_73', |
3956 | + particles = [ P.t__tilde__, P.t, P.Tri80 ], |
3957 | + color = [ 'T(3,2,1)' ], |
3958 | + lorentz = [ L.FFV2 ], |
3959 | + couplings = {(0,0):C.GC_19}) |
3960 | + |
3961 | +V_74 = Vertex(name = 'V_74', |
3962 | + particles = [ P.t__tilde__, P.b, P.Tri8 ], |
3963 | + color = [ 'T(3,2,1)' ], |
3964 | + lorentz = [ L.FFV2 ], |
3965 | + couplings = {(0,0):C.GC_20}) |
3966 | + |
3967 | +V_75 = Vertex(name = 'V_75', |
3968 | + particles = [ P.t__tilde__, P.t, P.A, P.H ], |
3969 | + color = [ 'Identity(1,2)' ], |
3970 | + lorentz = [ L.FFVS2, L.FFVS3 ], |
3971 | + couplings = {(0,0):C.GC_124,(0,1):C.GC_64}) |
3972 | + |
3973 | +V_76 = Vertex(name = 'V_76', |
3974 | + particles = [ P.t__tilde__, P.t, P.A ], |
3975 | + color = [ 'Identity(1,2)' ], |
3976 | + lorentz = [ L.FFV1, L.FFV3, L.FFV8 ], |
3977 | + couplings = {(0,0):C.GC_2,(0,1):C.GC_130,(0,2):C.GC_81}) |
3978 | + |
3979 | +V_77 = Vertex(name = 'V_77', |
3980 | + particles = [ P.t__tilde__, P.b, P.A, P.W__plus__, P.H ], |
3981 | + color = [ 'Identity(1,2)' ], |
3982 | + lorentz = [ L.FFVVS2 ], |
3983 | + couplings = {(0,0):C.GC_65}) |
3984 | + |
3985 | +V_78 = Vertex(name = 'V_78', |
3986 | + particles = [ P.t__tilde__, P.b, P.A, P.W__plus__ ], |
3987 | + color = [ 'Identity(1,2)' ], |
3988 | + lorentz = [ L.FFVV2 ], |
3989 | + couplings = {(0,0):C.GC_82}) |
3990 | + |
3991 | +V_79 = Vertex(name = 'V_79', |
3992 | + particles = [ P.t__tilde__, P.t, P.W__minus__, P.W__plus__, P.H ], |
3993 | + color = [ 'Identity(1,2)' ], |
3994 | + lorentz = [ L.FFVVS1, L.FFVVS2 ], |
3995 | + couplings = {(0,0):C.GC_122,(0,1):C.GC_44}) |
3996 | + |
3997 | +V_80 = Vertex(name = 'V_80', |
3998 | + particles = [ P.t__tilde__, P.t, P.W__minus__, P.W__plus__ ], |
3999 | + color = [ 'Identity(1,2)' ], |
4000 | + lorentz = [ L.FFVV1, L.FFVV2 ], |
4001 | + couplings = {(0,0):C.GC_128,(0,1):C.GC_77}) |
4002 | + |
4003 | +V_81 = Vertex(name = 'V_81', |
4004 | + particles = [ P.t__tilde__, P.b, P.W__plus__, P.Z, P.H ], |
4005 | + color = [ 'Identity(1,2)' ], |
4006 | + lorentz = [ L.FFVVS2 ], |
4007 | + couplings = {(0,0):C.GC_45}) |
4008 | + |
4009 | +V_82 = Vertex(name = 'V_82', |
4010 | + particles = [ P.t__tilde__, P.b, P.W__plus__, P.Z ], |
4011 | + color = [ 'Identity(1,2)' ], |
4012 | + lorentz = [ L.FFVV2 ], |
4013 | + couplings = {(0,0):C.GC_78}) |
4014 | + |
4015 | +V_83 = Vertex(name = 'V_83', |
4016 | + particles = [ P.t__tilde__, P.t, P.G, P.H ], |
4017 | + color = [ 'T(3,2,1)' ], |
4018 | + lorentz = [ L.FFVS2, L.FFVS3 ], |
4019 | + couplings = {(0,0):C.GC_116,(0,1):C.GC_33}) |
4020 | + |
4021 | +V_84 = Vertex(name = 'V_84', |
4022 | + particles = [ P.t__tilde__, P.t, P.G ], |
4023 | + color = [ 'T(3,2,1)' ], |
4024 | + lorentz = [ L.FFV1, L.FFV3, L.FFV8 ], |
4025 | + couplings = {(0,0):C.GC_5,(0,1):C.GC_118,(0,2):C.GC_71}) |
4026 | + |
4027 | +V_85 = Vertex(name = 'V_85', |
4028 | + particles = [ P.t__tilde__, P.t, P.G, P.G, P.H ], |
4029 | + color = [ 'f(3,4,-1)*T(-1,2,1)' ], |
4030 | + lorentz = [ L.FFVVS1, L.FFVVS2 ], |
4031 | + couplings = {(0,0):C.GC_117,(0,1):C.GC_38}) |
4032 | + |
4033 | +V_86 = Vertex(name = 'V_86', |
4034 | + particles = [ P.t__tilde__, P.t, P.G, P.G ], |
4035 | + color = [ 'f(3,4,-1)*T(-1,2,1)' ], |
4036 | + lorentz = [ L.FFVV1, L.FFVV2 ], |
4037 | + couplings = {(0,0):C.GC_119,(0,1):C.GC_75}) |
4038 | + |
4039 | +V_87 = Vertex(name = 'V_87', |
4040 | + particles = [ P.b__tilde__, P.t, P.A, P.W__minus__, P.H ], |
4041 | + color = [ 'Identity(1,2)' ], |
4042 | + lorentz = [ L.FFVVS1 ], |
4043 | + couplings = {(0,0):C.GC_125}) |
4044 | + |
4045 | +V_88 = Vertex(name = 'V_88', |
4046 | + particles = [ P.b__tilde__, P.t, P.A, P.W__minus__ ], |
4047 | + color = [ 'Identity(1,2)' ], |
4048 | + lorentz = [ L.FFVV1 ], |
4049 | + couplings = {(0,0):C.GC_131}) |
4050 | + |
4051 | +V_89 = Vertex(name = 'V_89', |
4052 | + particles = [ P.b__tilde__, P.t, P.W__minus__, P.Z, P.H ], |
4053 | + color = [ 'Identity(1,2)' ], |
4054 | + lorentz = [ L.FFVVS1 ], |
4055 | + couplings = {(0,0):C.GC_123}) |
4056 | + |
4057 | +V_90 = Vertex(name = 'V_90', |
4058 | + particles = [ P.b__tilde__, P.t, P.W__minus__, P.Z ], |
4059 | + color = [ 'Identity(1,2)' ], |
4060 | + lorentz = [ L.FFVV1 ], |
4061 | + couplings = {(0,0):C.GC_129}) |
4062 | + |
4063 | +V_91 = Vertex(name = 'V_91', |
4064 | + particles = [ P.d__tilde__, P.d, P.A ], |
4065 | + color = [ 'Identity(1,2)' ], |
4066 | + lorentz = [ L.FFV1 ], |
4067 | + couplings = {(0,0):C.GC_1}) |
4068 | + |
4069 | +V_92 = Vertex(name = 'V_92', |
4070 | + particles = [ P.s__tilde__, P.s, P.A ], |
4071 | + color = [ 'Identity(1,2)' ], |
4072 | + lorentz = [ L.FFV1 ], |
4073 | + couplings = {(0,0):C.GC_1}) |
4074 | + |
4075 | +V_93 = Vertex(name = 'V_93', |
4076 | + particles = [ P.b__tilde__, P.b, P.A ], |
4077 | + color = [ 'Identity(1,2)' ], |
4078 | + lorentz = [ L.FFV1 ], |
4079 | + couplings = {(0,0):C.GC_1}) |
4080 | + |
4081 | +V_94 = Vertex(name = 'V_94', |
4082 | + particles = [ P.e__plus__, P.e__minus__, P.A ], |
4083 | + color = [ '1' ], |
4084 | + lorentz = [ L.FFV1 ], |
4085 | + couplings = {(0,0):C.GC_3}) |
4086 | + |
4087 | +V_95 = Vertex(name = 'V_95', |
4088 | + particles = [ P.m__plus__, P.m__minus__, P.A ], |
4089 | + color = [ '1' ], |
4090 | + lorentz = [ L.FFV1 ], |
4091 | + couplings = {(0,0):C.GC_3}) |
4092 | + |
4093 | +V_96 = Vertex(name = 'V_96', |
4094 | + particles = [ P.tt__plus__, P.tt__minus__, P.A ], |
4095 | + color = [ '1' ], |
4096 | + lorentz = [ L.FFV1 ], |
4097 | + couplings = {(0,0):C.GC_3}) |
4098 | + |
4099 | +V_97 = Vertex(name = 'V_97', |
4100 | + particles = [ P.u__tilde__, P.u, P.A ], |
4101 | + color = [ 'Identity(1,2)' ], |
4102 | + lorentz = [ L.FFV1 ], |
4103 | + couplings = {(0,0):C.GC_2}) |
4104 | + |
4105 | +V_98 = Vertex(name = 'V_98', |
4106 | + particles = [ P.c__tilde__, P.c, P.A ], |
4107 | + color = [ 'Identity(1,2)' ], |
4108 | + lorentz = [ L.FFV1 ], |
4109 | + couplings = {(0,0):C.GC_2}) |
4110 | + |
4111 | +V_99 = Vertex(name = 'V_99', |
4112 | + particles = [ P.d__tilde__, P.d, P.G ], |
4113 | + color = [ 'T(3,2,1)' ], |
4114 | + lorentz = [ L.FFV1 ], |
4115 | + couplings = {(0,0):C.GC_5}) |
4116 | + |
4117 | +V_100 = Vertex(name = 'V_100', |
4118 | + particles = [ P.s__tilde__, P.s, P.G ], |
4119 | + color = [ 'T(3,2,1)' ], |
4120 | + lorentz = [ L.FFV1 ], |
4121 | + couplings = {(0,0):C.GC_5}) |
4122 | + |
4123 | +V_101 = Vertex(name = 'V_101', |
4124 | + particles = [ P.b__tilde__, P.b, P.G ], |
4125 | + color = [ 'T(3,2,1)' ], |
4126 | + lorentz = [ L.FFV1 ], |
4127 | + couplings = {(0,0):C.GC_5}) |
4128 | + |
4129 | +V_102 = Vertex(name = 'V_102', |
4130 | + particles = [ P.d__tilde__, P.d, P.H ], |
4131 | + color = [ 'Identity(1,2)' ], |
4132 | + lorentz = [ L.FFS1 ], |
4133 | + couplings = {(0,0):C.GC_87}) |
4134 | + |
4135 | +V_103 = Vertex(name = 'V_103', |
4136 | + particles = [ P.s__tilde__, P.s, P.H ], |
4137 | + color = [ 'Identity(1,2)' ], |
4138 | + lorentz = [ L.FFS1 ], |
4139 | + couplings = {(0,0):C.GC_90}) |
4140 | + |
4141 | +V_104 = Vertex(name = 'V_104', |
4142 | + particles = [ P.d__tilde__, P.d, P.Z ], |
4143 | + color = [ 'Identity(1,2)' ], |
4144 | + lorentz = [ L.FFV2, L.FFV5 ], |
4145 | + couplings = {(0,0):C.GC_57,(0,1):C.GC_60}) |
4146 | + |
4147 | +V_105 = Vertex(name = 'V_105', |
4148 | + particles = [ P.s__tilde__, P.s, P.Z ], |
4149 | + color = [ 'Identity(1,2)' ], |
4150 | + lorentz = [ L.FFV2, L.FFV5 ], |
4151 | + couplings = {(0,0):C.GC_57,(0,1):C.GC_60}) |
4152 | + |
4153 | +V_106 = Vertex(name = 'V_106', |
4154 | + particles = [ P.d__tilde__, P.u, P.W__minus__ ], |
4155 | + color = [ 'Identity(1,2)' ], |
4156 | + lorentz = [ L.FFV2 ], |
4157 | + couplings = {(0,0):C.GC_48}) |
4158 | + |
4159 | +V_107 = Vertex(name = 'V_107', |
4160 | + particles = [ P.d__tilde__, P.c, P.W__minus__ ], |
4161 | + color = [ 'Identity(1,2)' ], |
4162 | + lorentz = [ L.FFV2 ], |
4163 | + couplings = {(0,0):C.GC_51}) |
4164 | + |
4165 | +V_108 = Vertex(name = 'V_108', |
4166 | + particles = [ P.d__tilde__, P.t, P.W__minus__ ], |
4167 | + color = [ 'Identity(1,2)' ], |
4168 | + lorentz = [ L.FFV2 ], |
4169 | + couplings = {(0,0):C.GC_54}) |
4170 | + |
4171 | +V_109 = Vertex(name = 'V_109', |
4172 | + particles = [ P.s__tilde__, P.u, P.W__minus__ ], |
4173 | + color = [ 'Identity(1,2)' ], |
4174 | + lorentz = [ L.FFV2 ], |
4175 | + couplings = {(0,0):C.GC_49}) |
4176 | + |
4177 | +V_110 = Vertex(name = 'V_110', |
4178 | + particles = [ P.s__tilde__, P.c, P.W__minus__ ], |
4179 | + color = [ 'Identity(1,2)' ], |
4180 | + lorentz = [ L.FFV2 ], |
4181 | + couplings = {(0,0):C.GC_52}) |
4182 | + |
4183 | +V_111 = Vertex(name = 'V_111', |
4184 | + particles = [ P.s__tilde__, P.t, P.W__minus__ ], |
4185 | + color = [ 'Identity(1,2)' ], |
4186 | + lorentz = [ L.FFV2 ], |
4187 | + couplings = {(0,0):C.GC_55}) |
4188 | + |
4189 | +V_112 = Vertex(name = 'V_112', |
4190 | + particles = [ P.b__tilde__, P.u, P.W__minus__ ], |
4191 | + color = [ 'Identity(1,2)' ], |
4192 | + lorentz = [ L.FFV2 ], |
4193 | + couplings = {(0,0):C.GC_50}) |
4194 | + |
4195 | +V_113 = Vertex(name = 'V_113', |
4196 | + particles = [ P.b__tilde__, P.c, P.W__minus__ ], |
4197 | + color = [ 'Identity(1,2)' ], |
4198 | + lorentz = [ L.FFV2 ], |
4199 | + couplings = {(0,0):C.GC_53}) |
4200 | + |
4201 | +V_114 = Vertex(name = 'V_114', |
4202 | + particles = [ P.u__tilde__, P.d, P.W__plus__ ], |
4203 | + color = [ 'Identity(1,2)' ], |
4204 | + lorentz = [ L.FFV2 ], |
4205 | + couplings = {(0,0):C.GC_107}) |
4206 | + |
4207 | +V_115 = Vertex(name = 'V_115', |
4208 | + particles = [ P.c__tilde__, P.d, P.W__plus__ ], |
4209 | + color = [ 'Identity(1,2)' ], |
4210 | + lorentz = [ L.FFV2 ], |
4211 | + couplings = {(0,0):C.GC_110}) |
4212 | + |
4213 | +V_116 = Vertex(name = 'V_116', |
4214 | + particles = [ P.t__tilde__, P.d, P.W__plus__ ], |
4215 | + color = [ 'Identity(1,2)' ], |
4216 | + lorentz = [ L.FFV2 ], |
4217 | + couplings = {(0,0):C.GC_113}) |
4218 | + |
4219 | +V_117 = Vertex(name = 'V_117', |
4220 | + particles = [ P.u__tilde__, P.s, P.W__plus__ ], |
4221 | + color = [ 'Identity(1,2)' ], |
4222 | + lorentz = [ L.FFV2 ], |
4223 | + couplings = {(0,0):C.GC_108}) |
4224 | + |
4225 | +V_118 = Vertex(name = 'V_118', |
4226 | + particles = [ P.c__tilde__, P.s, P.W__plus__ ], |
4227 | + color = [ 'Identity(1,2)' ], |
4228 | + lorentz = [ L.FFV2 ], |
4229 | + couplings = {(0,0):C.GC_111}) |
4230 | + |
4231 | +V_119 = Vertex(name = 'V_119', |
4232 | + particles = [ P.t__tilde__, P.s, P.W__plus__ ], |
4233 | + color = [ 'Identity(1,2)' ], |
4234 | + lorentz = [ L.FFV2 ], |
4235 | + couplings = {(0,0):C.GC_114}) |
4236 | + |
4237 | +V_120 = Vertex(name = 'V_120', |
4238 | + particles = [ P.u__tilde__, P.b, P.W__plus__ ], |
4239 | + color = [ 'Identity(1,2)' ], |
4240 | + lorentz = [ L.FFV2 ], |
4241 | + couplings = {(0,0):C.GC_109}) |
4242 | + |
4243 | +V_121 = Vertex(name = 'V_121', |
4244 | + particles = [ P.c__tilde__, P.b, P.W__plus__ ], |
4245 | + color = [ 'Identity(1,2)' ], |
4246 | + lorentz = [ L.FFV2 ], |
4247 | + couplings = {(0,0):C.GC_112}) |
4248 | + |
4249 | +V_122 = Vertex(name = 'V_122', |
4250 | + particles = [ P.u__tilde__, P.u, P.G ], |
4251 | + color = [ 'T(3,2,1)' ], |
4252 | + lorentz = [ L.FFV1 ], |
4253 | + couplings = {(0,0):C.GC_5}) |
4254 | + |
4255 | +V_123 = Vertex(name = 'V_123', |
4256 | + particles = [ P.c__tilde__, P.c, P.G ], |
4257 | + color = [ 'T(3,2,1)' ], |
4258 | + lorentz = [ L.FFV1 ], |
4259 | + couplings = {(0,0):C.GC_5}) |
4260 | + |
4261 | +V_124 = Vertex(name = 'V_124', |
4262 | + particles = [ P.e__plus__, P.e__minus__, P.H ], |
4263 | + color = [ '1' ], |
4264 | + lorentz = [ L.FFS1 ], |
4265 | + couplings = {(0,0):C.GC_88}) |
4266 | + |
4267 | +V_125 = Vertex(name = 'V_125', |
4268 | + particles = [ P.m__plus__, P.m__minus__, P.H ], |
4269 | + color = [ '1' ], |
4270 | + lorentz = [ L.FFS1 ], |
4271 | + couplings = {(0,0):C.GC_89}) |
4272 | + |
4273 | +V_126 = Vertex(name = 'V_126', |
4274 | + particles = [ P.tt__plus__, P.tt__minus__, P.H ], |
4275 | + color = [ '1' ], |
4276 | + lorentz = [ L.FFS1 ], |
4277 | + couplings = {(0,0):C.GC_92}) |
4278 | + |
4279 | +V_127 = Vertex(name = 'V_127', |
4280 | + particles = [ P.u__tilde__, P.u, P.H ], |
4281 | + color = [ 'Identity(1,2)' ], |
4282 | + lorentz = [ L.FFS1 ], |
4283 | + couplings = {(0,0):C.GC_93}) |
4284 | + |
4285 | +V_128 = Vertex(name = 'V_128', |
4286 | + particles = [ P.c__tilde__, P.c, P.H ], |
4287 | + color = [ 'Identity(1,2)' ], |
4288 | + lorentz = [ L.FFS1 ], |
4289 | + couplings = {(0,0):C.GC_86}) |
4290 | + |
4291 | +V_129 = Vertex(name = 'V_129', |
4292 | + particles = [ P.e__plus__, P.e__minus__, P.Z ], |
4293 | + color = [ '1' ], |
4294 | + lorentz = [ L.FFV2, L.FFV6 ], |
4295 | + couplings = {(0,0):C.GC_57,(0,1):C.GC_61}) |
4296 | + |
4297 | +V_130 = Vertex(name = 'V_130', |
4298 | + particles = [ P.m__plus__, P.m__minus__, P.Z ], |
4299 | + color = [ '1' ], |
4300 | + lorentz = [ L.FFV2, L.FFV6 ], |
4301 | + couplings = {(0,0):C.GC_57,(0,1):C.GC_61}) |
4302 | + |
4303 | +V_131 = Vertex(name = 'V_131', |
4304 | + particles = [ P.tt__plus__, P.tt__minus__, P.Z ], |
4305 | + color = [ '1' ], |
4306 | + lorentz = [ L.FFV2, L.FFV6 ], |
4307 | + couplings = {(0,0):C.GC_57,(0,1):C.GC_61}) |
4308 | + |
4309 | +V_132 = Vertex(name = 'V_132', |
4310 | + particles = [ P.e__plus__, P.ve, P.W__minus__ ], |
4311 | + color = [ '1' ], |
4312 | + lorentz = [ L.FFV2 ], |
4313 | + couplings = {(0,0):C.GC_47}) |
4314 | + |
4315 | +V_133 = Vertex(name = 'V_133', |
4316 | + particles = [ P.m__plus__, P.vm, P.W__minus__ ], |
4317 | + color = [ '1' ], |
4318 | + lorentz = [ L.FFV2 ], |
4319 | + couplings = {(0,0):C.GC_47}) |
4320 | + |
4321 | +V_134 = Vertex(name = 'V_134', |
4322 | + particles = [ P.tt__plus__, P.vt, P.W__minus__ ], |
4323 | + color = [ '1' ], |
4324 | + lorentz = [ L.FFV2 ], |
4325 | + couplings = {(0,0):C.GC_47}) |
4326 | + |
4327 | +V_135 = Vertex(name = 'V_135', |
4328 | + particles = [ P.ve__tilde__, P.e__minus__, P.W__plus__ ], |
4329 | + color = [ '1' ], |
4330 | + lorentz = [ L.FFV2 ], |
4331 | + couplings = {(0,0):C.GC_47}) |
4332 | + |
4333 | +V_136 = Vertex(name = 'V_136', |
4334 | + particles = [ P.vm__tilde__, P.m__minus__, P.W__plus__ ], |
4335 | + color = [ '1' ], |
4336 | + lorentz = [ L.FFV2 ], |
4337 | + couplings = {(0,0):C.GC_47}) |
4338 | + |
4339 | +V_137 = Vertex(name = 'V_137', |
4340 | + particles = [ P.vt__tilde__, P.tt__minus__, P.W__plus__ ], |
4341 | + color = [ '1' ], |
4342 | + lorentz = [ L.FFV2 ], |
4343 | + couplings = {(0,0):C.GC_47}) |
4344 | + |
4345 | +V_138 = Vertex(name = 'V_138', |
4346 | + particles = [ P.u__tilde__, P.u, P.Z ], |
4347 | + color = [ 'Identity(1,2)' ], |
4348 | + lorentz = [ L.FFV2, L.FFV7 ], |
4349 | + couplings = {(0,0):C.GC_58,(0,1):C.GC_60}) |
4350 | + |
4351 | +V_139 = Vertex(name = 'V_139', |
4352 | + particles = [ P.c__tilde__, P.c, P.Z ], |
4353 | + color = [ 'Identity(1,2)' ], |
4354 | + lorentz = [ L.FFV2, L.FFV7 ], |
4355 | + couplings = {(0,0):C.GC_58,(0,1):C.GC_60}) |
4356 | + |
4357 | +V_140 = Vertex(name = 'V_140', |
4358 | + particles = [ P.ve__tilde__, P.ve, P.Z ], |
4359 | + color = [ '1' ], |
4360 | + lorentz = [ L.FFV2 ], |
4361 | + couplings = {(0,0):C.GC_67}) |
4362 | + |
4363 | +V_141 = Vertex(name = 'V_141', |
4364 | + particles = [ P.vm__tilde__, P.vm, P.Z ], |
4365 | + color = [ '1' ], |
4366 | + lorentz = [ L.FFV2 ], |
4367 | + couplings = {(0,0):C.GC_67}) |
4368 | + |
4369 | +V_142 = Vertex(name = 'V_142', |
4370 | + particles = [ P.vt__tilde__, P.vt, P.Z ], |
4371 | + color = [ '1' ], |
4372 | + lorentz = [ L.FFV2 ], |
4373 | + couplings = {(0,0):C.GC_67}) |
4374 | + |
4375 | |
4376 | === added file 'models/TopEffTh/write_param_card.py' |
4377 | --- models/TopEffTh/write_param_card.py 1970-01-01 00:00:00 +0000 |
4378 | +++ models/TopEffTh/write_param_card.py 2011-10-12 10:39:26 +0000 |
4379 | @@ -0,0 +1,181 @@ |
4380 | + |
4381 | +__date__ = "3 june 2010" |
4382 | +__author__ = 'olivier.mattelaer@uclouvain.be' |
4383 | + |
4384 | +from function_library import * |
4385 | + |
4386 | +class ParamCardWriter(object): |
4387 | + |
4388 | + header = \ |
4389 | + """######################################################################\n""" + \ |
4390 | + """## PARAM_CARD AUTOMATICALY GENERATED BY THE UFO #####################\n""" + \ |
4391 | + """######################################################################\n""" |
4392 | + |
4393 | + def __init__(self, filename, list_of_parameters=None, generic=False): |
4394 | + """write a valid param_card.dat""" |
4395 | + |
4396 | + if not list_of_parameters: |
4397 | + from parameters import all_parameters |
4398 | + list_of_parameters = [param for param in all_parameters if \ |
4399 | + param.nature=='external'] |
4400 | + |
4401 | + self.generic_output = generic |
4402 | + if generic: |
4403 | + self.define_not_dep_param(list_of_parameters) |
4404 | + |
4405 | + |
4406 | + self.fsock = open(filename, 'w') |
4407 | + self.fsock.write(self.header) |
4408 | + |
4409 | + self.write_card(list_of_parameters) |
4410 | + |
4411 | + def define_not_dep_param(self, list_of_parameters): |
4412 | + """define self.dep_mass and self.dep_width in case that they are |
4413 | + requested in the param_card.dat""" |
4414 | + from particles import all_particles |
4415 | + |
4416 | + self.dep_mass = [(part, part.mass) for part in all_particles \ |
4417 | + if part.pdg_code > 0 and \ |
4418 | + part.mass not in list_of_parameters] |
4419 | + self.dep_width = [(part, part.width) for part in all_particles\ |
4420 | + if part.pdg_code > 0 and \ |
4421 | + part.width not in list_of_parameters] |
4422 | + |
4423 | + @staticmethod |
4424 | + def order_param(obj1, obj2): |
4425 | + """ order parameter of a given block """ |
4426 | + |
4427 | + maxlen = min([len(obj1.lhacode), len(obj2.lhacode)]) |
4428 | + |
4429 | + for i in range(maxlen): |
4430 | + if obj1.lhacode[i] < obj2.lhacode[i]: |
4431 | + return -1 |
4432 | + elif obj1.lhacode[i] == obj2.lhacode[i]: |
4433 | + return 0 |
4434 | + else: |
4435 | + return 1 |
4436 | + #identical up to the first finish |
4437 | + if len(obj1.lhacode) > len(obj2.lhacode): |
4438 | + return 1 |
4439 | + elif len(obj1.lhacode) == len(obj2.lhacode): |
4440 | + return 0 |
4441 | + else: |
4442 | + return -1 |
4443 | + |
4444 | + def write_card(self, all_ext_param): |
4445 | + """ """ |
4446 | + |
4447 | + # list all lhablock |
4448 | + all_lhablock = set([param.lhablock for param in all_ext_param]) |
4449 | + |
4450 | + # ordonate lhablock alphabeticaly |
4451 | + all_lhablock = list(all_lhablock) |
4452 | + all_lhablock.sort() |
4453 | + # put at the beginning SMINPUT + MASS + DECAY |
4454 | + for name in ['DECAY', 'MASS','SMINPUTS']: |
4455 | + if name in all_lhablock: |
4456 | + all_lhablock.remove(name) |
4457 | + all_lhablock.insert(0, name) |
4458 | + |
4459 | + for lhablock in all_lhablock: |
4460 | + self.write_block(lhablock) |
4461 | + need_writing = [ param for param in all_ext_param if \ |
4462 | + param.lhablock == lhablock] |
4463 | + need_writing.sort(self.order_param) |
4464 | + [self.write_param(param, lhablock) for param in need_writing] |
4465 | + |
4466 | + if self.generic_output: |
4467 | + if lhablock in ['MASS', 'DECAY']: |
4468 | + self.write_dep_param_block(lhablock) |
4469 | + |
4470 | + if self.generic_output: |
4471 | + self.write_qnumber() |
4472 | + |
4473 | + def write_block(self, name): |
4474 | + """ write a comment for a block""" |
4475 | + |
4476 | + self.fsock.writelines( |
4477 | + """\n###################################""" + \ |
4478 | + """\n## INFORMATION FOR %s""" % name.upper() +\ |
4479 | + """\n###################################\n""" |
4480 | + ) |
4481 | + if name!='DECAY': |
4482 | + self.fsock.write("""Block %s \n""" % name) |
4483 | + |
4484 | + def write_param(self, param, lhablock): |
4485 | + |
4486 | + lhacode=' '.join(['%3s' % key for key in param.lhacode]) |
4487 | + if lhablock != 'DECAY': |
4488 | + text = """ %s %e # %s \n""" % (lhacode, complex(param.value).real, param.name ) |
4489 | + else: |
4490 | + text = '''DECAY %s %e \n''' % (lhacode, complex(param.value).real) |
4491 | + self.fsock.write(text) |
4492 | + |
4493 | + |
4494 | + |
4495 | + |
4496 | + def write_dep_param_block(self, lhablock): |
4497 | + import cmath |
4498 | + from parameters import all_parameters |
4499 | + for parameter in all_parameters: |
4500 | + exec("%s = %s" % (parameter.name, parameter.value)) |
4501 | + text = "## Not dependent paramater.\n" |
4502 | + text += "## Those values should be edited following analytical the \n" |
4503 | + text += "## analytical expression. Some generator could simply ignore \n" |
4504 | + text += "## those values and use the analytical expression\n" |
4505 | + |
4506 | + if lhablock == 'MASS': |
4507 | + data = self.dep_mass |
4508 | + prefix = " " |
4509 | + else: |
4510 | + data = self.dep_width |
4511 | + prefix = "DECAY " |
4512 | + for part, param in data: |
4513 | + if isinstance(param.value, str): |
4514 | + value = complex(eval(param.value)).real |
4515 | + else: |
4516 | + value = param.value |
4517 | + |
4518 | + text += """%s %s %f # %s : %s \n""" %(prefix, part.pdg_code, |
4519 | + value, part.name, param.value) |
4520 | + self.fsock.write(text) |
4521 | + |
4522 | + sm_pdg = [1,2,3,4,5,6,11,12,13,13,14,15,16,21,22,23,24,25] |
4523 | + data="""Block QNUMBERS %(pdg)d # %(name)s |
4524 | + 1 %(charge)d # 3 times electric charge |
4525 | + 2 %(spin)d # number of spin states (2S+1) |
4526 | + 3 %(color)d # colour rep (1: singlet, 3: triplet, 8: octet) |
4527 | + 4 %(antipart)d # Particle/Antiparticle distinction (0=own anti)\n""" |
4528 | + |
4529 | + def write_qnumber(self): |
4530 | + """ write qnumber """ |
4531 | + from particles import all_particles |
4532 | + import particles |
4533 | + print particles.__file__ |
4534 | + text="""#===========================================================\n""" |
4535 | + text += """# QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)\n""" |
4536 | + text += """#===========================================================\n\n""" |
4537 | + |
4538 | + for part in all_particles: |
4539 | + if part.pdg_code in self.sm_pdg or part.pdg_code < 0: |
4540 | + continue |
4541 | + text += self.data % {'pdg': part.pdg_code, |
4542 | + 'name': part.name, |
4543 | + 'charge': 3 * part.charge, |
4544 | + 'spin': 2 * part.spin + 1, |
4545 | + 'color': part.color, |
4546 | + 'antipart': part.name != part.antiname and 1 or 0} |
4547 | + |
4548 | + self.fsock.write(text) |
4549 | + |
4550 | + |
4551 | + |
4552 | + |
4553 | + |
4554 | + |
4555 | + |
4556 | + |
4557 | +if '__main__' == __name__: |
4558 | + ParamCardWriter('./param_card.dat', generic=True) |
4559 | + print 'write ./param_card.dat' |
4560 | + |
4561 | |
4562 | === modified file 'tests/acceptance_tests/test_cmd.py' |
4563 | --- tests/acceptance_tests/test_cmd.py 2011-09-18 02:38:48 +0000 |
4564 | +++ tests/acceptance_tests/test_cmd.py 2011-10-12 10:39:26 +0000 |
4565 | @@ -120,11 +120,12 @@ |
4566 | if sys.platform == 'darwin': |
4567 | self.assertEqual(launch_ext.open_file.web_browser, None) |
4568 | self.assertEqual(launch_ext.open_file.text_editor, text_editor) |
4569 | - self.assertEqual(launch_ext.open_file.web_browser, None) |
4570 | + self.assertEqual(launch_ext.open_file.eps_viewer, None) |
4571 | else: |
4572 | self.assertEqual(launch_ext.open_file.web_browser, 'firefox') |
4573 | self.assertEqual(launch_ext.open_file.text_editor, text_editor) |
4574 | - self.assertEqual(launch_ext.open_file.web_browser, 'gv') |
4575 | + self.assertEqual(launch_ext.open_file.eps_viewer, 'gv') |
4576 | + |
4577 | class TestCmdShell2(unittest.TestCase, |
4578 | test_file_writers.CheckFileCreate): |
4579 | """Test all command line related to MG_ME""" |
4580 | |
4581 | === modified file 'tests/unit_tests/iolibs/test_export_v4.py' |
4582 | --- tests/unit_tests/iolibs/test_export_v4.py 2011-10-03 04:26:01 +0000 |
4583 | +++ tests/unit_tests/iolibs/test_export_v4.py 2011-10-12 10:39:26 +0000 |
4584 | @@ -3357,6 +3357,58 @@ |
4585 | DATA MAPCONFIG(0)/42/ |
4586 | """) |
4587 | |
4588 | + # Test dummy config_subproc_map.inc file |
4589 | + writer = writers.FortranWriter(self.give_pos('test')) |
4590 | + exporter.write_config_subproc_map_file(writer, s_and_t_channels) |
4591 | + writer.close() |
4592 | + |
4593 | + self.assertFileContains('test', |
4594 | +""" DATA CONFSUB(1,1)/1/ |
4595 | + DATA CONFSUB(1,2)/1/ |
4596 | + DATA CONFSUB(1,3)/1/ |
4597 | + DATA CONFSUB(1,4)/1/ |
4598 | + DATA CONFSUB(1,5)/1/ |
4599 | + DATA CONFSUB(1,6)/1/ |
4600 | + DATA CONFSUB(1,7)/1/ |
4601 | + DATA CONFSUB(1,8)/1/ |
4602 | + DATA CONFSUB(1,9)/1/ |
4603 | + DATA CONFSUB(1,10)/1/ |
4604 | + DATA CONFSUB(1,11)/1/ |
4605 | + DATA CONFSUB(1,12)/1/ |
4606 | + DATA CONFSUB(1,13)/1/ |
4607 | + DATA CONFSUB(1,14)/1/ |
4608 | + DATA CONFSUB(1,15)/1/ |
4609 | + DATA CONFSUB(1,16)/1/ |
4610 | + DATA CONFSUB(1,17)/1/ |
4611 | + DATA CONFSUB(1,18)/1/ |
4612 | + DATA CONFSUB(1,19)/1/ |
4613 | + DATA CONFSUB(1,20)/1/ |
4614 | + DATA CONFSUB(1,21)/1/ |
4615 | + DATA CONFSUB(1,22)/1/ |
4616 | + DATA CONFSUB(1,23)/1/ |
4617 | + DATA CONFSUB(1,24)/1/ |
4618 | + DATA CONFSUB(1,25)/1/ |
4619 | + DATA CONFSUB(1,26)/1/ |
4620 | + DATA CONFSUB(1,27)/1/ |
4621 | + DATA CONFSUB(1,28)/1/ |
4622 | + DATA CONFSUB(1,29)/1/ |
4623 | + DATA CONFSUB(1,30)/1/ |
4624 | + DATA CONFSUB(1,31)/1/ |
4625 | + DATA CONFSUB(1,32)/1/ |
4626 | + DATA CONFSUB(1,33)/1/ |
4627 | + DATA CONFSUB(1,34)/1/ |
4628 | + DATA CONFSUB(1,35)/1/ |
4629 | + DATA CONFSUB(1,36)/1/ |
4630 | + DATA CONFSUB(1,37)/1/ |
4631 | + DATA CONFSUB(1,38)/1/ |
4632 | + DATA CONFSUB(1,39)/1/ |
4633 | + DATA CONFSUB(1,40)/1/ |
4634 | + DATA CONFSUB(1,41)/1/ |
4635 | + DATA CONFSUB(1,42)/1/ |
4636 | +""") |
4637 | + |
4638 | + #print open(self.give_pos('test')).read() |
4639 | + |
4640 | # Test coloramps.inc output |
4641 | self.assertEqual("\n".join(\ |
4642 | exporter.get_icolamp_lines(mapconfigs, |
4643 | @@ -3660,6 +3712,18 @@ |
4644 | DATA MAPCONFIG(0)/3/ |
4645 | """) |
4646 | |
4647 | + # Test dummy config_subproc_map.inc file |
4648 | + writer = writers.FortranWriter(self.give_pos('test')) |
4649 | + exporter.write_config_subproc_map_file(writer, |
4650 | + s_and_t_channels) |
4651 | + writer.close() |
4652 | + #print open(self.give_pos('test')).read() |
4653 | + self.assertFileContains('test', |
4654 | +""" DATA CONFSUB(1,1)/1/ |
4655 | + DATA CONFSUB(1,2)/1/ |
4656 | + DATA CONFSUB(1,3)/1/ |
4657 | +""") |
4658 | + |
4659 | def test_generate_helas_diagrams_uu_susu(self): |
4660 | """Testing the helas diagram generation u u > su su with t-channel n1 |
4661 | """ |
4662 | |
4663 | === modified file 'tests/unit_tests/various/test_diquark_models.py' |
4664 | --- tests/unit_tests/various/test_diquark_models.py 2011-04-15 04:15:48 +0000 |
4665 | +++ tests/unit_tests/various/test_diquark_models.py 2011-10-12 10:39:26 +0000 |
4666 | @@ -181,11 +181,11 @@ |
4667 | 2) |
4668 | self.assertEqual(len(col_flow), len(matrix_element.get('color_basis'))) |
4669 | self.assertEqual(col_flow, |
4670 | - [{1: [502, 0], 2: [0, 501], |
4671 | - 3: [502, -503], 4: [-503, 501]}, |
4672 | - {1: [502, 0], 2: [0, 501], |
4673 | - 3: [502, -503], 4: [-503, 501]}, |
4674 | - {1: [501, 0], 2: [0, 501], |
4675 | + [{1: [503, 0], 2: [0, 501], |
4676 | + 3: [502, -503], 4: [-501, 502]}, |
4677 | + {1: [502, 0], 2: [0, 501], |
4678 | + 3: [502, -503], 4: [-503, 501]}, |
4679 | + {1: [501, 0], 2: [0, 501], |
4680 | 3: [502, -503], 4: [-502, 503]}]) |
4681 | |
4682 | # Test u u > six g |
4683 | @@ -223,14 +223,14 @@ |
4684 | 2) |
4685 | self.assertEqual(len(col_flow), len(matrix_element.get('color_basis'))) |
4686 | self.assertEqual(col_flow, |
4687 | - [{1: [501, 0], 2: [502, 0], |
4688 | - 3: [501, -503], 4: [502, 503]}, |
4689 | - {1: [502, 0], 2: [503, 0], |
4690 | - 3: [501, -503], 4: [502, 501]}, |
4691 | - {1: [501, 0], 2: [502, 0], |
4692 | - 3: [501, -503], 4: [502, 503]}, |
4693 | - {1: [502, 0], 2: [501, 0], |
4694 | - 3: [501, -503], 4: [502, 503]}]) |
4695 | + [{1: [503, 0], 2: [502, 0], |
4696 | + 3: [501, -503], 4: [502, 501]}, |
4697 | + {1: [502, 0], 2: [503, 0], |
4698 | + 3: [501, -503], 4: [502, 501]}, |
4699 | + {1: [501, 0], 2: [502, 0], |
4700 | + 3: [501, -503], 4: [502, 503]}, |
4701 | + {1: [502, 0], 2: [501, 0], |
4702 | + 3: [501, -503], 4: [502, 503]}]) |
4703 | |
4704 | # Test u u > six > u u g |
4705 | |
4706 | @@ -267,14 +267,14 @@ |
4707 | 2) |
4708 | self.assertEqual(len(col_flow), len(matrix_element.get('color_basis'))) |
4709 | self.assertEqual(col_flow, |
4710 | - [{1: [501, 0], 2: [503, 0], 3: [501, 0], |
4711 | - 4: [502, 0], 5: [503, 502]}, |
4712 | - {1: [503, 0], 2: [501, 0], 3: [501, 0], |
4713 | - 4: [502, 0], 5: [503, 502]}, |
4714 | - {1: [502, 0], 2: [503, 0], 3: [501, 0], |
4715 | - 4: [502, 0], 5: [503, 501]}, |
4716 | - {1: [503, 0], 2: [502, 0], 3: [501, 0], |
4717 | - 4: [502, 0], 5: [503, 501]}]) |
4718 | + [{1: [501, 0], 2: [503, 0], 3: [501, 0], |
4719 | + 4: [502, 0], 5: [503, 502]}, |
4720 | + {1: [503, 0], 2: [501, 0], 3: [501, 0], |
4721 | + 4: [502, 0], 5: [503, 502]}, |
4722 | + {1: [502, 0], 2: [503, 0], 3: [501, 0], |
4723 | + 4: [502, 0], 5: [503, 501]}, {1: [503, 0], |
4724 | + 2: [502, 0], 3: [501, 0], |
4725 | + 4: [502, 0], 5: [503, 501]}]) |
4726 | |
4727 | # Test six > u u |
4728 | |
4729 | @@ -304,7 +304,31 @@ |
4730 | 2) |
4731 | self.assertEqual(len(col_flow), len(matrix_element.get('color_basis'))) |
4732 | self.assertEqual(col_flow, |
4733 | - [{1: [502, -501], 2: [0, 501], 3: [502, 0]}]) |
4734 | + [{1: [501, -502], 2: [0, 501], 3: [502, 0]}]) |
4735 | + |
4736 | + # Test the size of the color basis in g g > g six six |
4737 | + |
4738 | + myleglist = base_objects.LegList() |
4739 | + |
4740 | + |
4741 | + myleglist.append(base_objects.Leg({'id':21, |
4742 | + 'state':False})) |
4743 | + myleglist.append(base_objects.Leg({'id':21, |
4744 | + 'state':False})) |
4745 | + myleglist.append(base_objects.Leg({'id':21, |
4746 | + 'state':True})) |
4747 | + myleglist.append(base_objects.Leg({'id':9000006, |
4748 | + 'state':True})) |
4749 | + myleglist.append(base_objects.Leg({'id':-9000006, |
4750 | + 'state':True})) |
4751 | + |
4752 | + myproc = base_objects.Process({'legs':myleglist, |
4753 | + 'model':self.base_model}) |
4754 | + |
4755 | + myamp = diagram_generation.Amplitude(myproc) |
4756 | + matrix_element = helas_objects.HelasMatrixElement(myamp) |
4757 | + self.assertEqual(13, len(matrix_element.get('color_basis'))) |
4758 | + |
4759 | |
4760 | #=============================================================================== |
4761 | # TestColorTripletModel |
Hello Pierre,
Many thanks for your excellent report, and for your great work with this revision. manager. py -p A ?
To answer your questions:
1. It's not a problem if tests need to be modified due to corrections (or simply due to changes) in the code, as long as these modifications are carefully reviewed and fully understood. In your case, this is clearly the case.
2. Could you please copy the error report from tests/test_
3. Yes this is normal.
Comments on your revision: _for_K to something generic like order_summation? I guess this same issue might happen for other color objects in the future, in which case the function can be extended also for those objects, rather than adding new functions. As long as it's clearly explained in the comments and doc strings, it should still be clear.
Awesome job! My only comment is that perhaps you might want to rename the function order_summation
Please also add some comments about how the ordering works. Right now, it's quite difficult to tell which ordering you have chosen for the indices. Better to over-comment than to undercomment.
Many thanks,
Johan