File indexing completed on 2025-08-05 08:15:44
0001
0002
0003
0004 FUNCTION PLU(I,J)
0005
0006
0007 COMMON/LUJETS/N,K(9000,5),P(9000,5),V(9000,5)
0008 SAVE /LUJETS/
0009 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0010 SAVE /LUDAT1/
0011 COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
0012 SAVE /LUDAT2/
0013 DIMENSION PSUM(4)
0014
0015
0016
0017 PLU=0.
0018 IF(I.LT.0.OR.I.GT.MSTU(4).OR.J.LE.0) THEN
0019 ELSEIF(I.EQ.0.AND.J.LE.4) THEN
0020 DO 100 I1=1,N
0021 100 IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PLU=PLU+P(I1,J)
0022 ELSEIF(I.EQ.0.AND.J.EQ.5) THEN
0023 DO 110 J1=1,4
0024 PSUM(J1)=0.
0025 DO 110 I1=1,N
0026 110 IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PSUM(J1)=PSUM(J1)+P(I1,J1)
0027 PLU=SQRT(MAX(0.,PSUM(4)**2-PSUM(1)**2-PSUM(2)**2-PSUM(3)**2))
0028 ELSEIF(I.EQ.0.AND.J.EQ.6) THEN
0029 DO 120 I1=1,N
0030 120 IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PLU=PLU+LUCHGE(K(I1,2))/3.
0031 ELSEIF(I.EQ.0) THEN
0032
0033
0034 ELSEIF(J.LE.5) THEN
0035 PLU=P(I,J)
0036
0037
0038 ELSEIF(J.LE.12) THEN
0039 IF(J.EQ.6) PLU=LUCHGE(K(I,2))/3.
0040 IF(J.EQ.7.OR.J.EQ.8) PLU=P(I,1)**2+P(I,2)**2+P(I,3)**2
0041 IF(J.EQ.9.OR.J.EQ.10) PLU=P(I,1)**2+P(I,2)**2
0042 IF(J.EQ.11.OR.J.EQ.12) PLU=P(I,5)**2+P(I,1)**2+P(I,2)**2
0043 IF(J.EQ.8.OR.J.EQ.10.OR.J.EQ.12) PLU=SQRT(PLU)
0044
0045
0046 ELSEIF(J.LE.16) THEN
0047 IF(J.LE.14) PLU=ULANGL(P(I,3),SQRT(P(I,1)**2+P(I,2)**2))
0048 IF(J.GE.15) PLU=ULANGL(P(I,1),P(I,2))
0049 IF(J.EQ.14.OR.J.EQ.16) PLU=PLU*180./PARU(1)
0050
0051
0052 ELSEIF(J.LE.19) THEN
0053 PMR=0.
0054 IF(J.EQ.17) PMR=P(I,5)
0055 IF(J.EQ.18) PMR=ULMASS(211)
0056 PR=MAX(1E-20,PMR**2+P(I,1)**2+P(I,2)**2)
0057 PLU=SIGN(LOG(MIN((SQRT(PR+P(I,3)**2)+ABS(P(I,3)))/SQRT(PR),
0058 & 1E20)),P(I,3))
0059
0060
0061 ELSEIF(J.LE.25) THEN
0062 IF(J.EQ.20) PLU=2.*SQRT(P(I,1)**2+P(I,2)**2+P(I,3)**2)/PARU(21)
0063 IF(J.EQ.21) PLU=2.*P(I,3)/PARU(21)
0064 IF(J.EQ.22) PLU=2.*SQRT(P(I,1)**2+P(I,2)**2)/PARU(21)
0065 IF(J.EQ.23) PLU=2.*P(I,4)/PARU(21)
0066 IF(J.EQ.24) PLU=(P(I,4)+P(I,3))/PARU(21)
0067 IF(J.EQ.25) PLU=(P(I,4)-P(I,3))/PARU(21)
0068 ENDIF
0069
0070 RETURN
0071 END