Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:08

0001  
0002 C*********************************************************************
0003  
0004 C...PY4JTS
0005 C...Auxiliary to PY4JET, to set up chosen configuration.
0006  
0007       SUBROUTINE PY4JTS(IA1,IA2,IA3,IA4,IA5,QMAX)
0008  
0009 C...Double precision and integer declarations.
0010       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011       IMPLICIT INTEGER(I-N)
0012       INTEGER PYK,PYCHGE,PYCOMP
0013 C...Commonblocks.
0014       COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
0015       SAVE /PYJETS/
0016  
0017 C...Reset info.
0018       DO 110 I=N+1,N+6
0019         DO 100 J=1,5
0020           K(I,J)=0
0021           V(I,J)=V(IA2,J)
0022   100   CONTINUE
0023         K(I,1)=16
0024   110 CONTINUE
0025  
0026 C...First case: when both original partons radiate.
0027 C...N+1 -> (IA1=N+3) + (IA2=N+4), N+2 -> (IA3=N+5) + (IA4=N+6).
0028       IF(IA1.NE.0) THEN
0029  
0030 C...Set up flavour and history pointers for new partons.
0031         K(N+1,2)=K(IA1,2)
0032         K(N+2,2)=K(IA3,2)
0033         K(N+3,2)=K(IA1,2)
0034         K(N+4,2)=K(IA2,2)
0035         K(N+5,2)=K(IA3,2)
0036         K(N+6,2)=K(IA4,2)
0037         K(N+1,3)=IA1
0038         K(N+1,4)=N+3
0039         K(N+1,5)=N+4
0040         K(N+2,3)=IA3
0041         K(N+2,4)=N+5
0042         K(N+2,5)=N+6
0043         K(N+3,3)=N+1
0044         K(N+4,3)=N+1
0045         K(N+5,3)=N+2
0046         K(N+6,3)=N+2
0047  
0048 C...Set up momenta for new partons.
0049         DO 120 J=1,5
0050           P(N+1,J)=P(IA1,J)+P(IA2,J)
0051           P(N+2,J)=P(IA3,J)+P(IA4,J)
0052           P(N+3,J)=P(IA1,J)
0053           P(N+4,J)=P(IA2,J)
0054           P(N+5,J)=P(IA3,J)
0055           P(N+6,J)=P(IA4,J)
0056   120   CONTINUE
0057         P(N+1,5)=SQRT(MAX(0D0,P(N+1,4)**2-P(N+1,1)**2-P(N+1,2)**2-
0058      &  P(N+1,3)**2))
0059         P(N+2,5)=SQRT(MAX(0D0,P(N+2,4)**2-P(N+2,1)**2-P(N+2,2)**2-
0060      &  P(N+2,3)**2))
0061         QMAX=MIN(P(N+1,5),P(N+2,5))
0062  
0063 C...Second case: q radiates twice.
0064 C...N+1 -> (IA2=N+4) + N+3, N+3 -> (IA3=N+5) + (IA4=N+6),
0065 C...IA5=N+2 does not radiate.
0066       ELSEIF(K(IA2,2).EQ.21) THEN
0067  
0068 C...Set up flavour and history pointers for new partons.
0069         K(N+1,2)=K(IA3,2)
0070         K(N+2,2)=K(IA5,2)
0071         K(N+3,2)=K(IA3,2)
0072         K(N+4,2)=K(IA2,2)
0073         K(N+5,2)=K(IA3,2)
0074         K(N+6,2)=K(IA4,2)
0075         K(N+1,3)=IA3
0076         K(N+1,4)=N+3
0077         K(N+1,5)=N+4
0078         K(N+2,3)=IA5
0079         K(N+3,3)=N+1
0080         K(N+3,4)=N+5
0081         K(N+3,5)=N+6
0082         K(N+4,3)=N+1
0083         K(N+5,3)=N+3
0084         K(N+6,3)=N+3
0085  
0086 C...Set up momenta for new partons.
0087         DO 130 J=1,5
0088           P(N+1,J)=P(IA2,J)+P(IA3,J)+P(IA4,J)
0089           P(N+2,J)=P(IA5,J)
0090           P(N+3,J)=P(IA3,J)+P(IA4,J)
0091           P(N+4,J)=P(IA2,J)
0092           P(N+5,J)=P(IA3,J)
0093           P(N+6,J)=P(IA4,J)
0094   130   CONTINUE
0095         P(N+1,5)=SQRT(MAX(0D0,P(N+1,4)**2-P(N+1,1)**2-P(N+1,2)**2-
0096      &  P(N+1,3)**2))
0097         P(N+3,5)=SQRT(MAX(0D0,P(N+3,4)**2-P(N+3,1)**2-P(N+3,2)**2-
0098      &  P(N+3,3)**2))
0099         QMAX=P(N+3,5)
0100  
0101 C...Third case: q radiates g, g branches.
0102 C...N+1 -> (IA2=N+3) + N+4, N+4 -> (IA3=N+5) + (IA4=N+6),
0103 C...IA5=N+2 does not radiate.
0104       ELSE
0105  
0106 C...Set up flavour and history pointers for new partons.
0107         K(N+1,2)=K(IA2,2)
0108         K(N+2,2)=K(IA5,2)
0109         K(N+3,2)=K(IA2,2)
0110         K(N+4,2)=21
0111         K(N+5,2)=K(IA3,2)
0112         K(N+6,2)=K(IA4,2)
0113         K(N+1,3)=IA2
0114         K(N+1,4)=N+3
0115         K(N+1,5)=N+4
0116         K(N+2,3)=IA5
0117         K(N+3,3)=N+1
0118         K(N+4,3)=N+1
0119         K(N+4,4)=N+5
0120         K(N+4,5)=N+6
0121         K(N+5,3)=N+4
0122         K(N+6,3)=N+4
0123  
0124 C...Set up momenta for new partons.
0125         DO 140 J=1,5
0126           P(N+1,J)=P(IA2,J)+P(IA3,J)+P(IA4,J)
0127           P(N+2,J)=P(IA5,J)
0128           P(N+3,J)=P(IA2,J)
0129           P(N+4,J)=P(IA3,J)+P(IA4,J)
0130           P(N+5,J)=P(IA3,J)
0131           P(N+6,J)=P(IA4,J)
0132   140   CONTINUE
0133         P(N+1,5)=SQRT(MAX(0D0,P(N+1,4)**2-P(N+1,1)**2-P(N+1,2)**2-
0134      &  P(N+1,3)**2))
0135         P(N+4,5)=SQRT(MAX(0D0,P(N+4,4)**2-P(N+4,1)**2-P(N+4,2)**2-
0136      &  P(N+4,3)**2))
0137         QMAX=P(N+4,5)
0138  
0139       ENDIF
0140       N=N+6
0141  
0142       RETURN
0143       END