~maddevelopers/mg5amcnlo/new_clustering

« back to all changes in this revision

Viewing changes to tests/input_files/IOTestsComparison/IOExportFKSTest/test_pptt_fksreal/%SubProcesses%P0_gg_ttx%parton_lum_5.f

  • Committer: Rikkert Frederix
  • Date: 2021-09-09 15:51:40 UTC
  • mfrom: (78.75.502 3.2.1)
  • Revision ID: frederix@physik.uzh.ch-20210909155140-rg6umfq68h6h47cf
merge with 3.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
C     RETURNS PARTON LUMINOSITIES FOR MADFKS                          
8
8
C        
9
9
C     
10
 
C     Process: g d > t t~ d WEIGHTED<=3 [ real = QCD ]
11
 
C     Process: g s > t t~ s WEIGHTED<=3 [ real = QCD ]
12
 
C     Process: g u > t t~ u WEIGHTED<=3 [ real = QCD ]
13
 
C     Process: g c > t t~ c WEIGHTED<=3 [ real = QCD ]
 
10
C     Process: g d > t t~ d [ real = QED QCD ] QCD^2<=6 QED^2<=0
 
11
C     Process: g s > t t~ s [ real = QED QCD ] QCD^2<=6 QED^2<=0
 
12
C     Process: g u > t t~ u [ real = QED QCD ] QCD^2<=6 QED^2<=0
 
13
C     Process: g c > t t~ c [ real = QED QCD ] QCD^2<=6 QED^2<=0
14
14
C     
15
15
C     ****************************************************            
16
16
C         
27
27
C     ARGUMENTS                                                       
28
28
C         
29
29
C     
30
 
      DOUBLE PRECISION PP(0:3,NEXTERNAL), LUM
 
30
      DOUBLE PRECISION LUM
31
31
C     
32
32
C     LOCAL VARIABLES                                                 
33
33
C         
34
34
C     
35
 
      INTEGER I, ICROSS,ITYPE,LP
36
 
      DOUBLE PRECISION P1(0:3,NEXTERNAL)
 
35
      INTEGER I, ICROSS,LP
37
36
      DOUBLE PRECISION G1
38
37
      DOUBLE PRECISION D2,U2,S2,C2
39
 
      DOUBLE PRECISION XPQ(-7:7)
40
38
C     
41
39
C     EXTERNAL FUNCTIONS                                              
42
40
C         
43
41
C     
44
 
      DOUBLE PRECISION ALPHAS2,REWGT,PDG2PDF
 
42
      DOUBLE PRECISION PDG2PDF
45
43
C     
46
44
C     GLOBAL VARIABLES                                                
47
45
C         
54
52
      INTEGER IMIRROR
55
53
      COMMON/CMIRROR/IMIRROR
56
54
C     
 
55
C     STUFF FOR DRESSED EE COLLISIONS
 
56
C     
 
57
      INCLUDE 'eepdf.inc'
 
58
      DOUBLE PRECISION EE_COMP_PROD
 
59
      DOUBLE PRECISION DUMMY_COMPONENTS(N_EE)
 
60
      DOUBLE PRECISION G1_COMPONENTS(N_EE)
 
61
      DOUBLE PRECISION D2_COMPONENTS(N_EE),U2_COMPONENTS(N_EE)
 
62
     $ ,S2_COMPONENTS(N_EE),C2_COMPONENTS(N_EE)
 
63
 
 
64
      INTEGER I_EE
 
65
C     
 
66
C     
 
67
C     
 
68
C     Common blocks
 
69
      CHARACTER*7         PDLABEL,EPA_LABEL
 
70
      INTEGER       LHAID
 
71
      COMMON/TO_PDF/LHAID,PDLABEL,EPA_LABEL
 
72
C     
57
73
C     DATA                                                            
58
74
C         
59
75
C     
67
83
C     ----------                                                      
68
84
C         
69
85
      LUM = 0D0
70
 
      IF (IMIRROR.EQ.2) THEN
71
 
        IF (ABS(LPP(2)) .GE. 1) THEN
72
 
          LP=SIGN(1,LPP(2))
73
 
          G1=PDG2PDF(ABS(LPP(2)),0*LP,XBK(2),DSQRT(Q2FACT(2)))
74
 
        ENDIF
75
 
        IF (ABS(LPP(1)) .GE. 1) THEN
76
 
          LP=SIGN(1,LPP(1))
77
 
          D2=PDG2PDF(ABS(LPP(1)),1*LP,XBK(1),DSQRT(Q2FACT(1)))
78
 
          U2=PDG2PDF(ABS(LPP(1)),2*LP,XBK(1),DSQRT(Q2FACT(1)))
79
 
          S2=PDG2PDF(ABS(LPP(1)),3*LP,XBK(1),DSQRT(Q2FACT(1)))
80
 
          C2=PDG2PDF(ABS(LPP(1)),4*LP,XBK(1),DSQRT(Q2FACT(1)))
81
 
        ENDIF
82
 
        PD(0) = 0D0
83
 
        IPROC = 0
84
 
        IPROC=IPROC+1  ! g d > t t~ d
85
 
        PD(IPROC) = G1*D2
86
 
        IPROC=IPROC+1  ! g s > t t~ s
87
 
        PD(IPROC) = G1*S2
88
 
        IPROC=IPROC+1  ! g u > t t~ u
89
 
        PD(IPROC) = G1*U2
90
 
        IPROC=IPROC+1  ! g c > t t~ c
91
 
        PD(IPROC) = G1*C2
92
 
      ELSE
93
 
        IF (ABS(LPP(1)) .GE. 1) THEN
94
 
          LP=SIGN(1,LPP(1))
95
 
          G1=PDG2PDF(ABS(LPP(1)),0*LP,XBK(1),DSQRT(Q2FACT(1)))
96
 
        ENDIF
97
 
        IF (ABS(LPP(2)) .GE. 1) THEN
98
 
          LP=SIGN(1,LPP(2))
99
 
          D2=PDG2PDF(ABS(LPP(2)),1*LP,XBK(2),DSQRT(Q2FACT(2)))
100
 
          U2=PDG2PDF(ABS(LPP(2)),2*LP,XBK(2),DSQRT(Q2FACT(2)))
101
 
          S2=PDG2PDF(ABS(LPP(2)),3*LP,XBK(2),DSQRT(Q2FACT(2)))
102
 
          C2=PDG2PDF(ABS(LPP(2)),4*LP,XBK(2),DSQRT(Q2FACT(2)))
103
 
        ENDIF
104
 
        PD(0) = 0D0
105
 
        IPROC = 0
106
 
        IPROC=IPROC+1  ! g d > t t~ d
107
 
        PD(IPROC) = G1*D2
108
 
        IPROC=IPROC+1  ! g s > t t~ s
109
 
        PD(IPROC) = G1*S2
110
 
        IPROC=IPROC+1  ! g u > t t~ u
111
 
        PD(IPROC) = G1*U2
112
 
        IPROC=IPROC+1  ! g c > t t~ c
113
 
        PD(IPROC) = G1*C2
114
 
      ENDIF
 
86
      IF (ABS(LPP(1)) .GE. 1) THEN
 
87
        G1=PDG2PDF(LPP(1),0,1,XBK(1),DSQRT(Q2FACT(1)))
 
88
        IF ((ABS(LPP(1)).EQ.4.OR.ABS(LPP(1)).EQ.3)
 
89
     $   .AND.PDLABEL.NE.'none') G1_COMPONENTS(1:N_EE) =
 
90
     $    EE_COMPONENTS(1:N_EE)
 
91
      ENDIF
 
92
      IF (ABS(LPP(2)) .GE. 1) THEN
 
93
        D2=PDG2PDF(LPP(2),1,2,XBK(2),DSQRT(Q2FACT(2)))
 
94
        IF ((ABS(LPP(2)).EQ.4.OR.ABS(LPP(2)).EQ.3)
 
95
     $   .AND.PDLABEL.NE.'none') D2_COMPONENTS(1:N_EE) =
 
96
     $    EE_COMPONENTS(1:N_EE)
 
97
        U2=PDG2PDF(LPP(2),2,2,XBK(2),DSQRT(Q2FACT(2)))
 
98
        IF ((ABS(LPP(2)).EQ.4.OR.ABS(LPP(2)).EQ.3)
 
99
     $   .AND.PDLABEL.NE.'none') U2_COMPONENTS(1:N_EE) =
 
100
     $    EE_COMPONENTS(1:N_EE)
 
101
        S2=PDG2PDF(LPP(2),3,2,XBK(2),DSQRT(Q2FACT(2)))
 
102
        IF ((ABS(LPP(2)).EQ.4.OR.ABS(LPP(2)).EQ.3)
 
103
     $   .AND.PDLABEL.NE.'none') S2_COMPONENTS(1:N_EE) =
 
104
     $    EE_COMPONENTS(1:N_EE)
 
105
        C2=PDG2PDF(LPP(2),4,2,XBK(2),DSQRT(Q2FACT(2)))
 
106
        IF ((ABS(LPP(2)).EQ.4.OR.ABS(LPP(2)).EQ.3)
 
107
     $   .AND.PDLABEL.NE.'none') C2_COMPONENTS(1:N_EE) =
 
108
     $    EE_COMPONENTS(1:N_EE)
 
109
      ENDIF
 
110
      PD(0) = 0D0
 
111
      IPROC = 0
 
112
      IPROC=IPROC+1  ! g d > t t~ d
 
113
      PD(IPROC) = G1*D2
 
114
      IF (ABS(LPP(1)).EQ.ABS(LPP(2)).AND. (ABS(LPP(1))
 
115
     $ .EQ.3.OR.ABS(LPP(1)).EQ.4).AND.PDLABEL.NE.'none')PD(IPROC)
 
116
     $ =EE_COMP_PROD(G1_COMPONENTS,D2_COMPONENTS)
 
117
      IPROC=IPROC+1  ! g s > t t~ s
 
118
      PD(IPROC) = G1*S2
 
119
      IF (ABS(LPP(1)).EQ.ABS(LPP(2)).AND. (ABS(LPP(1))
 
120
     $ .EQ.3.OR.ABS(LPP(1)).EQ.4).AND.PDLABEL.NE.'none')PD(IPROC)
 
121
     $ =EE_COMP_PROD(G1_COMPONENTS,S2_COMPONENTS)
 
122
      IPROC=IPROC+1  ! g u > t t~ u
 
123
      PD(IPROC) = G1*U2
 
124
      IF (ABS(LPP(1)).EQ.ABS(LPP(2)).AND. (ABS(LPP(1))
 
125
     $ .EQ.3.OR.ABS(LPP(1)).EQ.4).AND.PDLABEL.NE.'none')PD(IPROC)
 
126
     $ =EE_COMP_PROD(G1_COMPONENTS,U2_COMPONENTS)
 
127
      IPROC=IPROC+1  ! g c > t t~ c
 
128
      PD(IPROC) = G1*C2
 
129
      IF (ABS(LPP(1)).EQ.ABS(LPP(2)).AND. (ABS(LPP(1))
 
130
     $ .EQ.3.OR.ABS(LPP(1)).EQ.4).AND.PDLABEL.NE.'none')PD(IPROC)
 
131
     $ =EE_COMP_PROD(G1_COMPONENTS,C2_COMPONENTS)
115
132
      DO I=1,IPROC
116
133
        IF (NINCOMING.EQ.2) THEN
117
134
          LUM = LUM + PD(I) * CONV