]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA/jetset/plu.F
Possibility to have different binaries in the same tree introduced
[u/mrichter/AliRoot.git] / PYTHIA / jetset / plu.F
1  
2 C********************************************************************* 
3  
4       FUNCTION PLU(I,J) 
5  
6 C...Purpose: to provide various real-valued event related data. 
7       COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) 
8       COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) 
9       COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4) 
10       SAVE /LUJETS/,/LUDAT1/,/LUDAT2/ 
11       DIMENSION PSUM(4) 
12  
13 C...Set default value. For I = 0 sum of momenta or charges, 
14 C...or invariant mass of system. 
15       PLU=0. 
16       IF(I.LT.0.OR.I.GT.MSTU(4).OR.J.LE.0) THEN 
17       ELSEIF(I.EQ.0.AND.J.LE.4) THEN 
18         DO 100 I1=1,N 
19         IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PLU=PLU+P(I1,J) 
20   100   CONTINUE 
21       ELSEIF(I.EQ.0.AND.J.EQ.5) THEN 
22         DO 120 J1=1,4 
23         PSUM(J1)=0. 
24         DO 110 I1=1,N 
25         IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PSUM(J1)=PSUM(J1)+P(I1,J1) 
26   110   CONTINUE 
27   120 CONTINUE 
28         PLU=SQRT(MAX(0.,PSUM(4)**2-PSUM(1)**2-PSUM(2)**2-PSUM(3)**2)) 
29       ELSEIF(I.EQ.0.AND.J.EQ.6) THEN 
30         DO 130 I1=1,N 
31         IF(K(I1,1).GT.0.AND.K(I1,1).LE.10) PLU=PLU+LUCHGE(K(I1,2))/3. 
32   130   CONTINUE 
33       ELSEIF(I.EQ.0) THEN 
34  
35 C...Direct readout of P matrix. 
36       ELSEIF(J.LE.5) THEN 
37         PLU=P(I,J) 
38  
39 C...Charge, total momentum, transverse momentum, transverse mass. 
40       ELSEIF(J.LE.12) THEN 
41         IF(J.EQ.6) PLU=LUCHGE(K(I,2))/3. 
42         IF(J.EQ.7.OR.J.EQ.8) PLU=P(I,1)**2+P(I,2)**2+P(I,3)**2 
43         IF(J.EQ.9.OR.J.EQ.10) PLU=P(I,1)**2+P(I,2)**2 
44         IF(J.EQ.11.OR.J.EQ.12) PLU=P(I,5)**2+P(I,1)**2+P(I,2)**2 
45         IF(J.EQ.8.OR.J.EQ.10.OR.J.EQ.12) PLU=SQRT(PLU) 
46  
47 C...Theta and phi angle in radians or degrees. 
48       ELSEIF(J.LE.16) THEN 
49         IF(J.LE.14) PLU=ULANGL(P(I,3),SQRT(P(I,1)**2+P(I,2)**2)) 
50         IF(J.GE.15) PLU=ULANGL(P(I,1),P(I,2)) 
51         IF(J.EQ.14.OR.J.EQ.16) PLU=PLU*180./PARU(1) 
52  
53 C...True rapidity, rapidity with pion mass, pseudorapidity. 
54       ELSEIF(J.LE.19) THEN 
55         PMR=0. 
56         IF(J.EQ.17) PMR=P(I,5) 
57         IF(J.EQ.18) PMR=ULMASS(211) 
58         PR=MAX(1E-20,PMR**2+P(I,1)**2+P(I,2)**2) 
59         PLU=SIGN(LOG(MIN((SQRT(PR+P(I,3)**2)+ABS(P(I,3)))/SQRT(PR), 
60      &  1E20)),P(I,3)) 
61  
62 C...Energy and momentum fractions (only to be used in CM frame). 
63       ELSEIF(J.LE.25) THEN 
64         IF(J.EQ.20) PLU=2.*SQRT(P(I,1)**2+P(I,2)**2+P(I,3)**2)/PARU(21) 
65         IF(J.EQ.21) PLU=2.*P(I,3)/PARU(21) 
66         IF(J.EQ.22) PLU=2.*SQRT(P(I,1)**2+P(I,2)**2)/PARU(21) 
67         IF(J.EQ.23) PLU=2.*P(I,4)/PARU(21) 
68         IF(J.EQ.24) PLU=(P(I,4)+P(I,3))/PARU(21) 
69         IF(J.EQ.25) PLU=(P(I,4)-P(I,3))/PARU(21) 
70       ENDIF 
71  
72       RETURN 
73       END