]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA/jetset/lujoin.F
Corrections to line for alpha
[u/mrichter/AliRoot.git] / PYTHIA / jetset / lujoin.F
1  
2 C********************************************************************* 
3  
4       SUBROUTINE LUJOIN(NJOIN,IJOIN) 
5  
6 C...Purpose: to connect a sequence of partons with colour flow indices, 
7 C...as required for subsequent shower evolution (or other operations). 
8       COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) 
9       COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) 
10       COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4) 
11       SAVE /LUJETS/,/LUDAT1/,/LUDAT2/ 
12       DIMENSION IJOIN(*) 
13  
14 C...Check that partons are of right types to be connected. 
15       IF(NJOIN.LT.2) GOTO 120 
16       KQSUM=0 
17       DO 100 IJN=1,NJOIN 
18       I=IJOIN(IJN) 
19       IF(I.LE.0.OR.I.GT.N) GOTO 120 
20       IF(K(I,1).LT.1.OR.K(I,1).GT.3) GOTO 120 
21       KC=LUCOMP(K(I,2)) 
22       IF(KC.EQ.0) GOTO 120 
23       KQ=KCHG(KC,2)*ISIGN(1,K(I,2)) 
24       IF(KQ.EQ.0) GOTO 120 
25       IF(IJN.NE.1.AND.IJN.NE.NJOIN.AND.KQ.NE.2) GOTO 120 
26       IF(KQ.NE.2) KQSUM=KQSUM+KQ 
27       IF(IJN.EQ.1) KQS=KQ 
28   100 CONTINUE 
29       IF(KQSUM.NE.0) GOTO 120 
30  
31 C...Connect the partons sequentially (closing for gluon loop). 
32       KCS=(9-KQS)/2 
33       IF(KQS.EQ.2) KCS=INT(4.5+RLU(0)) 
34       DO 110 IJN=1,NJOIN 
35       I=IJOIN(IJN) 
36       K(I,1)=3 
37       IF(IJN.NE.1) IP=IJOIN(IJN-1) 
38       IF(IJN.EQ.1) IP=IJOIN(NJOIN) 
39       IF(IJN.NE.NJOIN) IN=IJOIN(IJN+1) 
40       IF(IJN.EQ.NJOIN) IN=IJOIN(1) 
41       K(I,KCS)=MSTU(5)*IN 
42       K(I,9-KCS)=MSTU(5)*IP 
43       IF(IJN.EQ.1.AND.KQS.NE.2) K(I,9-KCS)=0 
44       IF(IJN.EQ.NJOIN.AND.KQS.NE.2) K(I,KCS)=0 
45   110 CONTINUE 
46  
47 C...Error exit: no action taken. 
48       RETURN 
49   120 CALL LUERRM(12, 
50      &'(LUJOIN:) given entries can not be joined by one string') 
51  
52       RETURN 
53       END