Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:43

0001     
0002 C*********************************************************************  
0003     
0004       SUBROUTINE LUFOWO(H10,H20,H30,H40)    
0005     
0006 C...Purpose: to calculate the first few Fox-Wolfram moments.    
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     
0014 C...Copy momenta for particles and calculate H0.    
0015       NP=0  
0016       H0=0. 
0017       HD=0. 
0018       DO 110 I=1,N  
0019       IF(K(I,1).LE.0.OR.K(I,1).GT.10) GOTO 110  
0020       IF(MSTU(41).GE.2) THEN    
0021         KC=LUCOMP(K(I,2))   
0022         IF(KC.EQ.0.OR.KC.EQ.12.OR.KC.EQ.14.OR.KC.EQ.16.OR.  
0023      &  KC.EQ.18) GOTO 110  
0024         IF(MSTU(41).GE.3.AND.KCHG(KC,2).EQ.0.AND.LUCHGE(K(I,2)).EQ.0)   
0025      &  GOTO 110    
0026       ENDIF 
0027       IF(N+NP.GE.MSTU(4)-MSTU(32)-5) THEN   
0028         CALL LUERRM(11,'(LUFOWO:) no more memory left in LUJETS')   
0029         H10=-1. 
0030         H20=-1. 
0031         H30=-1. 
0032         H40=-1. 
0033         RETURN  
0034       ENDIF 
0035       NP=NP+1   
0036       DO 100 J=1,3  
0037   100 P(N+NP,J)=P(I,J)  
0038       P(N+NP,4)=SQRT(P(I,1)**2+P(I,2)**2+P(I,3)**2) 
0039       H0=H0+P(N+NP,4)   
0040       HD=HD+P(N+NP,4)**2    
0041   110 CONTINUE  
0042       H0=H0**2  
0043     
0044 C...Very low multiplicities (0 or 1) not considered.    
0045       IF(NP.LE.1) THEN  
0046         CALL LUERRM(8,'(LUFOWO:) too few particles for analysis')   
0047         H10=-1. 
0048         H20=-1. 
0049         H30=-1. 
0050         H40=-1. 
0051         RETURN  
0052       ENDIF 
0053     
0054 C...Calculate H1 - H4.  
0055       H10=0.    
0056       H20=0.    
0057       H30=0.    
0058       H40=0.    
0059       DO 120 I1=N+1,N+NP    
0060       DO 120 I2=I1+1,N+NP   
0061       CTHE=(P(I1,1)*P(I2,1)+P(I1,2)*P(I2,2)+P(I1,3)*P(I2,3))/   
0062      &(P(I1,4)*P(I2,4)) 
0063       H10=H10+P(I1,4)*P(I2,4)*CTHE  
0064       H20=H20+P(I1,4)*P(I2,4)*(1.5*CTHE**2-0.5) 
0065       H30=H30+P(I1,4)*P(I2,4)*(2.5*CTHE**3-1.5*CTHE)    
0066       H40=H40+P(I1,4)*P(I2,4)*(4.375*CTHE**4-3.75*CTHE**2+0.375)    
0067   120 CONTINUE  
0068     
0069 C...Calculate H1/H0 - H4/H0. Output.    
0070       MSTU(61)=N+1  
0071       MSTU(62)=NP   
0072       H10=(HD+2.*H10)/H0    
0073       H20=(HD+2.*H20)/H0    
0074       H30=(HD+2.*H30)/H0    
0075       H40=(HD+2.*H40)/H0    
0076     
0077       RETURN    
0078       END