File indexing completed on 2025-08-05 08:15:43
0001
0002
0003
0004 SUBROUTINE LU3ENT(IP,KF1,KF2,KF3,PECM,X1,X3)
0005
0006
0007
0008
0009 COMMON/LUJETS/N,K(9000,5),P(9000,5),V(9000,5)
0010 SAVE /LUJETS/
0011 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0012 SAVE /LUDAT1/
0013 COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
0014 SAVE /LUDAT2/
0015
0016
0017 MSTU(28)=0
0018 IF(MSTU(12).GE.1) CALL LULIST(0)
0019 IPA=MAX(1,IABS(IP))
0020 IF(IPA.GT.MSTU(4)-2) CALL LUERRM(21,
0021 &'(LU3ENT:) writing outside LUJETS memory')
0022 KC1=LUCOMP(KF1)
0023 KC2=LUCOMP(KF2)
0024 KC3=LUCOMP(KF3)
0025 IF(KC1.EQ.0.OR.KC2.EQ.0.OR.KC3.EQ.0) CALL LUERRM(12,
0026 &'(LU3ENT:) unknown flavour code')
0027
0028
0029 PM1=0.
0030 IF(MSTU(10).EQ.1) PM1=P(IPA,5)
0031 IF(MSTU(10).GE.2) PM1=ULMASS(KF1)
0032 PM2=0.
0033 IF(MSTU(10).EQ.1) PM2=P(IPA+1,5)
0034 IF(MSTU(10).GE.2) PM2=ULMASS(KF2)
0035 PM3=0.
0036 IF(MSTU(10).EQ.1) PM3=P(IPA+2,5)
0037 IF(MSTU(10).GE.2) PM3=ULMASS(KF3)
0038 DO 100 I=IPA,IPA+2
0039 DO 100 J=1,5
0040 K(I,J)=0
0041 P(I,J)=0.
0042 100 V(I,J)=0.
0043
0044
0045 KQ1=KCHG(KC1,2)*ISIGN(1,KF1)
0046 KQ2=KCHG(KC2,2)*ISIGN(1,KF2)
0047 KQ3=KCHG(KC3,2)*ISIGN(1,KF3)
0048 IF(KQ1.EQ.0.AND.KQ2.EQ.0.AND.KQ3.EQ.0) THEN
0049 ELSEIF(KQ1.NE.0.AND.KQ2.EQ.2.AND.(KQ1+KQ3.EQ.0.OR.KQ1+KQ3.EQ.4))
0050 &THEN
0051 ELSE
0052 CALL LUERRM(2,'(LU3ENT:) unphysical flavour combination')
0053 ENDIF
0054 K(IPA,2)=KF1
0055 K(IPA+1,2)=KF2
0056 K(IPA+2,2)=KF3
0057
0058
0059 IF(IP.GE.0) THEN
0060 K(IPA,1)=1
0061 IF(KQ1.NE.0.AND.(KQ2.NE.0.OR.KQ3.NE.0)) K(IPA,1)=2
0062 K(IPA+1,1)=1
0063 IF(KQ2.NE.0.AND.KQ3.NE.0) K(IPA+1,1)=2
0064 K(IPA+2,1)=1
0065
0066
0067 ELSE
0068 IF(KQ1.EQ.0.OR.KQ2.EQ.0.OR.KQ3.EQ.0) CALL LUERRM(2,
0069 & '(LU3ENT:) requested flavours can not develop parton shower')
0070 K(IPA,1)=3
0071 K(IPA+1,1)=3
0072 K(IPA+2,1)=3
0073 KCS=4
0074 IF(KQ1.EQ.-1) KCS=5
0075 K(IPA,KCS)=MSTU(5)*(IPA+1)
0076 K(IPA,9-KCS)=MSTU(5)*(IPA+2)
0077 K(IPA+1,KCS)=MSTU(5)*(IPA+2)
0078 K(IPA+1,9-KCS)=MSTU(5)*IPA
0079 K(IPA+2,KCS)=MSTU(5)*IPA
0080 K(IPA+2,9-KCS)=MSTU(5)*(IPA+1)
0081 ENDIF
0082
0083
0084 MKERR=0
0085 IF(0.5*X1*PECM.LE.PM1.OR.0.5*(2.-X1-X3)*PECM.LE.PM2.OR.
0086 &0.5*X3*PECM.LE.PM3) MKERR=1
0087 PA1=SQRT(MAX(0.,(0.5*X1*PECM)**2-PM1**2))
0088 PA2=SQRT(MAX(0.,(0.5*(2.-X1-X3)*PECM)**2-PM2**2))
0089 PA3=SQRT(MAX(0.,(0.5*X3*PECM)**2-PM3**2))
0090 CTHE2=(PA3**2-PA1**2-PA2**2)/(2.*PA1*PA2)
0091 CTHE3=(PA2**2-PA1**2-PA3**2)/(2.*PA1*PA3)
0092 IF(ABS(CTHE2).GE.1.001.OR.ABS(CTHE3).GE.1.001) MKERR=1
0093 CTHE3=MAX(-1.,MIN(1.,CTHE3))
0094 IF(MKERR.NE.0) CALL LUERRM(13,
0095 &'(LU3ENT:) unphysical kinematical variable setup')
0096
0097
0098 P(IPA,3)=PA1
0099 P(IPA,4)=SQRT(PA1**2+PM1**2)
0100 P(IPA,5)=PM1
0101 P(IPA+2,1)=PA3*SQRT(1.-CTHE3**2)
0102 P(IPA+2,3)=PA3*CTHE3
0103 P(IPA+2,4)=SQRT(PA3**2+PM3**2)
0104 P(IPA+2,5)=PM3
0105 P(IPA+1,1)=-P(IPA+2,1)
0106 P(IPA+1,3)=-P(IPA,3)-P(IPA+2,3)
0107 P(IPA+1,4)=SQRT(P(IPA+1,1)**2+P(IPA+1,3)**2+PM2**2)
0108 P(IPA+1,5)=PM2
0109
0110
0111 N=IPA+2
0112 IF(IP.EQ.0) CALL LUEXEC
0113
0114 RETURN
0115 END