]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HIJING/hijing1_36/hijing.F
coverity
[u/mrichter/AliRoot.git] / HIJING / hijing1_36 / hijing.F
index 2839d269a93e94cc95224db71c73d1c85760e903..7da5a65aa3859210a4aa4c2ec5331374477c30cc 100644 (file)
@@ -155,9 +155,11 @@ C****************************************************************
        CHARACTER FRAME*8
        DIMENSION SCIP(300,300),RNIP(300,300),SJIP(300,300),JTP(3),
      &                 IPCOL(90000),ITCOL(90000)
+#define BLANKET_SAVE
 #include "hiparnt.inc"
 C
 #include "hijcrdn.inc"
+#include "hijglbr.inc"
 #include "himain1.inc"
 #include "himain2.inc"
 #include "histrng.inc"
@@ -185,6 +187,15 @@ C
        IF(IHNT2(1).LE.1) GO TO 14
        DO 10 KP=1,IHNT2(1)
 5      R=HIRND(1)
+c
+        if(IHNT2(1).EQ.2) then
+           rnd1=max(RLU_HIJING(NSEED),1.0e-20)
+           rnd2=max(RLU_HIJING(NSEED),1.0e-20)
+           rnd3=max(RLU_HIJING(NSEED),1.0e-20)
+           R=-0.5*(log(rnd1)*4.38/2.0+log(rnd2)*0.85/2.0
+     &          +4.38*0.85*log(rnd3)/(4.38+0.85))
+        endif
+c
        X=RLU_HIJING(0)
        CX=2.0*X-1.0
        SX=SQRT(1.0-CX*CX)
@@ -205,6 +216,13 @@ C                  ********two neighbors cannot be closer than
 C                              HIPR1(29)
 8      CONTINUE
 10     CONTINUE
+c*******************************
+        if(IHNT2(1).EQ.2) then
+           YP(1,2)=-YP(1,1)
+           YP(2,2)=-YP(2,1)
+           YP(3,2)=-YP(3,1)
+        endif
+c********************************
        DO 12 I=1,IHNT2(1)-1
        DO 12 J=I+1,IHNT2(1)
        IF(YP(3,I).GT.YP(3,J)) GO TO 12
@@ -226,6 +244,15 @@ C******************************
        IF(IHNT2(3).LE.1) GO TO 24
        DO 20 KT=1,IHNT2(3)
 15     R=HIRND(2)
+c
+         if(IHNT2(3).EQ.2) then
+            rnd1=max(RLU_HIJING(NSEED),1.0e-20)
+            rnd2=max(RLU_HIJING(NSEED),1.0e-20)
+            rnd3=max(RLU_HIJING(NSEED),1.0e-20)
+            R=-0.5*(log(rnd1)*4.38/2.0+log(rnd2)*0.85/2.0
+     &           +4.38*0.85*log(rnd3)/(4.38+0.85))
+         endif
+c
        X=RLU_HIJING(0)
        CX=2.0*X-1.0
        SX=SQRT(1.0-CX*CX)
@@ -246,6 +273,13 @@ C                  ********two neighbors cannot be closer than
 C                              HIPR1(29)
 18     CONTINUE
 20     CONTINUE
+c**********************************
+         if(IHNT2(3).EQ.2) then
+            YT(1,2)=-YT(1,1)
+            YT(2,2)=-YT(2,1)
+            YT(3,2)=-YT(3,1)
+         endif
+c*********************************
        DO 22 I=1,IHNT2(3)-1
        DO 22 J=I+1,IHNT2(3)
        IF(YT(3,I).LT.YT(3,J)) GO TO 22
@@ -281,8 +315,16 @@ C                  ********Initialize for a new event
        N01=0
        N10=0
        N11=0
+        NELT=0
+        NINT=0
+        NELP=0
+        NINP=0
        NSG=0
        NCOLT=0
+        NPSPECP=0
+        NNSPECP=0
+        NPSPECT=0
+        NNSPECT=0 
 
 C****  BB IS THE ABSOLUTE VALUE OF IMPACT PARAMETER,BB**2 IS 
 C       RANDOMLY GENERATED AND ITS ORIENTATION IS RANDOMLY SET 
@@ -500,6 +542,43 @@ C          ********conduct soft scattering between JP and JT
 
 200    CONTINUE
 
+c
+c**************************
+c
+       DO 201 JP=1,IHNT2(1)
+c           write(6,*) JP, NFP(JP,3), NFP(JP,4), NFP(JP,5)
+           IF(NFP(JP,5).GT.2) THEN
+              NINP=NINP+1
+           ELSE IF(NFP(JP,5).EQ.2.OR.NFP(JP,5).EQ.1) THEN
+              NELP=NELP+1
+           ENDIF
+
+           IF(NFP(JP,5).LE.2) THEN
+              IF (NFP(JP,3) .EQ. 2212) THEN
+                 NPSPECP = NPSPECP + 1
+              ELSE IF (NFP(JP,3) .EQ. 2112) THEN
+                 NNSPECP = NNSPECP + 1
+              ENDIF
+           ENDIF
+ 201    continue
+       DO 202 JT=1,IHNT2(3)
+           IF(NFT(JT,5).GT.2) THEN
+              NINT=NINT+1
+           ELSE IF(NFT(JT,5).EQ.2.OR.NFT(JT,5).EQ.1) THEN
+              NELT=NELT+1
+           ENDIF
+
+           IF(NFT(JT,5).LE.2) THEN
+              IF (NFT(JT,3) .EQ. 2212) THEN
+                 NPSPECT = NPSPECT + 1
+              ELSE IF (NFT(JT,3) .EQ. 2112) THEN
+                 NNSPECT = NNSPECT + 1
+              ENDIF
+           ENDIF
+ 202    continue
+c     
+c*******************************
+
 C********perform jet quenching for jets with PT>HIPR1(11)**********
 
        IF((IHPR2(8).NE.0.OR.IHPR2(3).NE.0).AND.IHPR2(4).GT.0.AND.
@@ -522,6 +601,7 @@ C********N_STR+1 is the number of strings in fragmentation
 C********the number of strings before a line is stored in K(I,4)
 C********IDSTR is id number of the string system (91,92 or 93)
 C
+c
         IF(IHPR2(20).NE.0) THEN
           DO 360 ISG=1,NSG
                CALL HIJFRG(ISG,3,IERROR)
@@ -563,11 +643,15 @@ C
                   KATT(NATT,1)=K(I,2)
                   KATT(NATT,2)=20
                   KATT(NATT,4)=K(I,1)
-                  IF(K(I,3).EQ.0 .OR. K(K(I,3),2).EQ.IDSTR) THEN
-                     KATT(NATT,3)=0
-                  ELSE
-                     KATT(NATT,3)=NATT-I+K(I,3)+N_STR-K(K(I,3),4)
-                  ENDIF
+                   IF(K(I,3).EQ.0 ) THEN
+                      KATT(NATT,3)=0
+                   ELSE
+                      IF(K(K(I,3),2).EQ.IDSTR) THEN
+                         KATT(NATT,3)=0
+                      ELSE
+                         KATT(NATT,3)=NATT-I+K(I,3)+N_STR-K(K(I,3),4)
+                      ENDIF
+                   ENDIF
 C       ****** identify the mother particle
                   PATT(NATT,1)=P(I,1)
                   PATT(NATT,2)=P(I,2)
@@ -577,7 +661,7 @@ C       ****** identify the mother particle
                    VATT(NATT,2)=V(I,2)
                    VATT(NATT,3)=V(I,3)
                    VATT(NATT,4)=V(I,4)
-                   
+
                   EATT=EATT+P(I,4)
 360       CONTINUE
 C              ********Fragment the q-qbar jets systems *****
@@ -617,6 +701,7 @@ C
                ENDIF
 C              ******** boost back to lab frame(if it was in)
 C
+
                N_STR=0
                DO 390 I=N_ST,N
                   IF(K(I,2).EQ.IDSTR) THEN
@@ -628,7 +713,7 @@ C
                   KATT(NATT,1)=K(I,2)
                   KATT(NATT,2)=NFTP
                   KATT(NATT,4)=K(I,1)
-                  IF(K(I,3).EQ.0 .OR. K(K(I,3),2).EQ.IDSTR) THEN
+                   IF(K(I,3).EQ.0 .OR. K(K(I,3),2).EQ.IDSTR) THEN
                      KATT(NATT,3)=0
                   ELSE
                      KATT(NATT,3)=NATT-I+K(I,3)+N_STR-K(K(I,3),4)
@@ -638,12 +723,11 @@ C       ****** identify the mother particle
                   PATT(NATT,2)=P(I,2)
                   PATT(NATT,3)=P(I,3)
                   PATT(NATT,4)=P(I,4)
-                   VATT(NATT,1)=V(I,1)
-                   VATT(NATT,2)=V(I,2)
-                   VATT(NATT,3)=V(I,3)
-                   VATT(NATT,4)=V(I,4)
-
                   EATT=EATT+P(I,4)
+                   VATT(NATT,1)=V(I,1)  
+                   VATT(NATT,2)=V(I,2)  
+                   VATT(NATT,3)=V(I,3)  
+                   VATT(NATT,4)=V(I,4)
 390            CONTINUE 
 400       CONTINUE
 C              ********Fragment the q-qq related string systems
@@ -658,11 +742,10 @@ C         ********Fragment the q-qq related string systems
                PATT(NATT,2)=PDR(I,2)
                PATT(NATT,3)=PDR(I,3)
                PATT(NATT,4)=PDR(I,4)
-                VATT(NATT,1)=V(I,1)
-                VATT(NATT,2)=V(I,2)
-                VATT(NATT,3)=V(I,3)
+                VATT(NATT,1)=V(I,1)  
+                VATT(NATT,2)=V(I,2)  
+                VATT(NATT,3)=V(I,3)  
                 VATT(NATT,4)=V(I,4)
-
                EATT=EATT+PDR(I,4)
 450    CONTINUE
 C                      ********store the direct-produced particles