Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:13

0001  
0002 C*********************************************************************
0003  
0004 C...PYNMES
0005 C...Generates number of popcorn mesons and stores some relevant
0006 C...parameters.
0007  
0008       SUBROUTINE PYNMES(KFDIQ)
0009  
0010 C...Double precision and integer declarations.
0011       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0012       IMPLICIT INTEGER(I-N)
0013       INTEGER PYK,PYCHGE,PYCOMP
0014 C...Commonblocks.
0015       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0016       COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0017       SAVE /PYDAT1/,/PYDAT2/
0018  
0019       MSTU(121)=0
0020       IF(MSTJ(12).LT.2) RETURN
0021  
0022 C..Old version: Get 1 or 0 popcorn mesons
0023       IF(MSTJ(12).LT.5)THEN
0024          POPWT=PARF(131)
0025          IF(KFDIQ.NE.0) THEN
0026             KFDIQA=IABS(KFDIQ)
0027             KFA=MOD(KFDIQA/1000,10)
0028             KFB=MOD(KFDIQA/100,10)
0029             KFS=MOD(KFDIQA,10)
0030             POPWT=PARF(132)
0031             IF(KFA.EQ.3) POPWT=PARF(133)
0032             IF(KFB.EQ.3) POPWT=PARF(134)
0033             IF(KFS.EQ.1) POPWT=POPWT*SQRT(PARJ(4))
0034          ENDIF
0035          MSTU(121)=INT(POPWT/(1D0+POPWT)+PYR(0))
0036          RETURN
0037       ENDIF
0038  
0039 C..New version: Store popcorn- or rank 0 diquark parameters
0040       MSTU(122)=170
0041       PARF(193)=PARJ(8)
0042       PARF(194)=PARF(139)
0043       IF(KFDIQ.NE.0) THEN
0044          MSTU(122)=180
0045          PARF(193)=PARJ(10)
0046          PARF(194)=PARF(140)
0047       ENDIF
0048       IF(PARF(194).LT.1D-5.OR.PARF(194).GT.1D0-1D-5) THEN
0049          IF(PARF(194).GT.1D0-1D-5) CALL PYERRM(9,
0050      &        '(PYNMES:) Neglecting too large popcorn possibility')
0051          RETURN
0052       ENDIF
0053  
0054 C..New version: Get number of popcorn mesons
0055   100 RTST=PYR(0)
0056       MSTU(121)=-1
0057   110 MSTU(121)=MSTU(121)+1
0058       RTST=RTST/PARF(194)
0059       IF(RTST.LT.1D0) GOTO 110
0060       IF(KFDIQ.EQ.0.AND.PYR(0)*(2D0+PARF(135)*PARF(161)).GT.
0061      &     (2D0+PARF(135)*PARF(161)*PARF(138)**MSTU(121))) GOTO 100
0062       RETURN
0063       END