~madteam/mg5amcnlo/series2.0

« back to all changes in this revision

Viewing changes to aloha/template_files/wavefunctions.py

  • Committer: olivier-mattelaer
  • Date: 2020-08-21 09:16:56 UTC
  • mfrom: (284.2.24 python3)
  • Revision ID: olivier-mattelaer-20200821091656-iizux2mj94tkssuo
pass to 2.8.0 (and move to python3 branch)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
from __future__ import division 
 
2
from __future__ import absolute_import
2
3
import math
3
4
from math import sqrt, pow
4
5
from itertools import product
 
6
from six.moves import range
5
7
 
6
8
class WaveFunction(list):
7
9
    """a objet for a WaveFunction"""
335
337
                ft[(i,j)] = sqh*( em[i]*e0[j] + e0[i]*em[j] )
336
338
 
337
339
    else:
338
 
        raise Exception, 'invalid helicity TXXXXXX' 
 
340
        raise Exception('invalid helicity TXXXXXX') 
339
341
 
340
342
 
341
343
 
557
559
    
558
560
    # spin-3/2 fermion wavefunction
559
561
    if nhel == 3:
560
 
        for i,j in product(range(4), range(4)):
 
562
        for i,j in product(list(range(4)), list(range(4))):
561
563
            rc[(i, j)] = ep[i] *fip[j]
562
564
    
563
565
    elif nhel == 1:
564
 
        for i,j in product(range(4), range(4)):
 
566
        for i,j in product(list(range(4)), list(range(4))):
565
567
            if cond1:
566
568
                rc[(i,j)] = sq2/sq3*e0[i]*fip[j] +1/sq3*ep[i]*fim[j]
567
569
            elif cond2:
570
572
                rc[(i,j)] = sq2/sq3*e0[i]*fip[j] + \
571
573
                                   1/sq3*ep[i]*fim[j] *complex(p[1],nsr*p[2])/pt  
572
574
    elif nhel == -1:
573
 
        for i,j in product(range(4), range(4)):
 
575
        for i,j in product(list(range(4)), list(range(4))):
574
576
            if cond1:
575
577
                rc[(i,j)] = 1/sq3*em[i]*fip[j] +sq2/sq3*e0[i]*fim[j]
576
578
            elif cond2:
579
581
                rc[(i,j)] = 1/sq3*em[i]*fip[j] + \
580
582
                                sq2/sq3*e0[i]*fim[j] *complex(p[1],nsr*p[2])/pt  
581
583
    else:
582
 
        for i,j in product(range(4), range(4)):
 
584
        for i,j in product(list(range(4)), list(range(4))):
583
585
            if cond1:
584
586
                rc[(i, j)] = em[i] *fim[j]
585
587
            elif cond2:
820
822
   
821
823
    # spin-3/2 fermion wavefunction
822
824
    if nhel == 3:
823
 
        for i,j in product(range(4), range(4)):
 
825
        for i,j in product(list(range(4)), list(range(4))):
824
826
            rc[(i, j)] = ep[i] *fop[j]  
825
827
    
826
828
 
827
829
    elif nhel == 1:
828
 
        for i,j in product(range(4), range(4)):
 
830
        for i,j in product(list(range(4)), list(range(4))):
829
831
            if cond1:
830
832
                rc[(i,j)] = sq2/sq3*e0[i]*fop[j] + 1/sq3*ep[i]*fom[j]
831
833
            elif cond2:
835
837
                                                      complex(p[1],-nsr*p[2])/pt  
836
838
                
837
839
    elif nhel == -1:
838
 
        for i,j in product(range(4), range(4)):
 
840
        for i,j in product(list(range(4)), list(range(4))):
839
841
            if cond1:
840
842
                rc[(i,j)] = 1/sq3*em[i]*fop[j]+sq2/sq3*e0[i]*fom[j]
841
843
            elif cond2:
844
846
                rc[(i,j)] =  1/sq3*em[i]*fop[j] + sq2/sq3*e0[i]*fom[j] *\
845
847
                                                      complex(p[1],-nsr*p[2])/pt              
846
848
    else:
847
 
        for i,j in product(range(4), range(4)):
 
849
        for i,j in product(list(range(4)), list(range(4))):
848
850
            if cond1:
849
851
                rc[(i,j)] = em[i] * fom[j]
850
852
            elif cond2: