]> 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 9df2e9215acce7fd7722fba4a6c5f7e9ddf33a27..7da5a65aa3859210a4aa4c2ec5331374477c30cc 100644 (file)
@@ -321,6 +321,10 @@ C                  ********Initialize for a new event
         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 
@@ -542,11 +546,20 @@ 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
@@ -554,6 +567,14 @@ c
            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*******************************
@@ -580,8 +601,6 @@ 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
-        GAMMA0=HINT1(1)/2.0/0.93827
-        BETA0=sqrt(GAMMA0**2-1.0)/GAMMA0
 c
         IF(IHPR2(20).NE.0) THEN
           DO 360 ISG=1,NSG
@@ -624,41 +643,26 @@ 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)
                   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)
-                   VATT01=0.5*(YP(1,IASG(ISG,1))+YT(1,IASG(ISG,2)))
-                   VATT02=0.5*(YP(2,IASG(ISG,1))+YT(2,IASG(ISG,2)))
-                   VATT03=0.5*(YP(3,IASG(ISG,1))+YT(3,IASG(ISG,2)))
-     &                  /GAMMA0
-                   VATT04=-0.5*(YP(3,IASG(ISG,1))
-     &                  -YT(3,IASG(ISG,2)))/GAMMA0/BETA0
-                   RARB=1.12*(IHNT2(1)**0.33333+IHNT2(3)**0.33333)
-                   V3MIN1=RARB/GAMMA0
-                   V3MIN2=1.0/MAX(1.0,5.08*ABS(PATT(I,3)))
-                   VATT_MIN=MAX(V3MIN1,V3MIN2)
-                   VATT03=VATT03+(0.5-RLU_HIJING(0))*VATT_MIN
-                   amt2=P(I,1)**2+P(I,2)**2+P(I,5)**2
-                   IF(amt2.GT.0.0) THEN
-                      tauf=0.2*2.0*P(I,3)/amt2
-                      VATT(NATT,1)=VATT01
-                      VATT(NATT,2)=VATT02
-                      VATT(NATT,3)=VATT03+tauf
-                      VATT(NATT,4)=abs(VATT(NATT,3))
-                   ELSE
-                      VATT(NATT,4)=abs(VATT03)
-                      VATT(NATT,1)=VATT01
-                      VATT(NATT,2)=VATT02
-                      VATT(NATT,3)=VATT03
-                   ENDIF
 360       CONTINUE
 C              ********Fragment the q-qbar jets systems *****
 C
@@ -681,9 +685,12 @@ C
                N_ST=1
                IDSTR=92
 
+               NFTP=NFP(J_JTP,5)
+               IF(NTP.EQ.2) NFTP=10+NFT(J_JTP,5)
+
                IF(IHPR2(21).EQ.0) THEN
                   CALL LUEDIT_HIJING(2)
-               ELSE
+               ELSE IF (NFTP.EQ. 3 .OR. NFTP .EQ. 13) THEN
 381               N_ST=N_ST+1
                   IF(K(N_ST,2).LT.91.OR.K(N_ST,2).GT.93) GO TO  381
                   IDSTR=K(N_ST,2)
@@ -694,8 +701,7 @@ C
                ENDIF
 C              ******** boost back to lab frame(if it was in)
 C
-               NFTP=NFP(J_JTP,5)
-               IF(NTP.EQ.2) NFTP=10+NFT(J_JTP,5)
+
                N_STR=0
                DO 390 I=N_ST,N
                   IF(K(I,2).EQ.IDSTR) THEN
@@ -718,35 +724,10 @@ C       ****** identify the mother particle
                   PATT(NATT,3)=P(I,3)
                   PATT(NATT,4)=P(I,4)
                   EATT=EATT+P(I,4)
-C     ******* the following calculate the formation time and position
-C             of the produced hadrons
-                   IF(NTP.EQ.1) THEN
-                      VATT01=YP(1,J_JTP)
-                      VATT02=YP(2,J_JTP)
-                      VATT03=YP(3,J_JTP)/GAMMA0
-                   ELSE IF(NTP.EQ.2) THEN
-                      VATT01=YT(1,J_JTP)
-                      VATT02=YT(2,J_JTP)
-                      VATT03=YT(3,J_JTP)/GAMMA0
-                   ENDIF
-                   RARB=1.12*(IHNT2(1)**0.33333+IHNT2(3)**0.33333)
-                   V3MIN1=RARB/GAMMA0
-                   V3MIN2=1.0/MAX(1.0,5.08*ABS(PATT(I,3)))
-                   VATT_MIN=MAX(V3MIN1,V3MIN2)
-                   VATT03=VATT03+(0.5-RLU_HIJING(0))*VATT_MIN
-                   amt2=P(I,1)**2+P(I,2)**2+P(I,5)**2
-                   IF(amt2.GT.0.0) THEN
-                      tauf=0.2*2.0*P(I,3)/amt2
-                      VATT(NATT,1)=VATT01
-                      VATT(NATT,2)=VATT02
-                      VATT(NATT,3)=VATT03+tauf
-                      VATT(NATT,4)=abs(VATT(NATT,3))
-                   ELSE
-                      VATT(NATT,4)=abs(VATT03)
-                      VATT(NATT,1)=VATT01
-                      VATT(NATT,2)=VATT02
-                      VATT(NATT,3)=VATT03
-                   ENDIF
+                   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
@@ -761,20 +742,11 @@ 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,4)=V(I,4)
                EATT=EATT+PDR(I,4)
-                amt2=P(I,1)**2+P(I,2)**2+P(I,5)**2
-                IF(amt2.GT.0.0) THEN
-                   tauf=0.2*2.0*P(I,3)/amt2
-                   VATT(NATT,1)=0.0
-                   VATT(NATT,2)=0.0
-                   VATT(NATT,3)=tauf
-                   VATT(NATT,4)=abs(VATT(NATT,3))
-                ELSE
-                   VATT(NATT,4)=0.0
-                   VATT(NATT,1)=0.0
-                   VATT(NATT,2)=0.0
-                   VATT(NATT,3)=0.0
-                ENDIF
 450    CONTINUE
 C                      ********store the direct-produced particles
 C