]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PYTHIA6/pythia6214.f
events quality macro
[u/mrichter/AliRoot.git] / PYTHIA6 / pythia6214.f
index 6f78fec60c00d4154c5845300e74acf82e22f16c..922c17410d74e237fbaa026110e307d37db946ae 100644 (file)
@@ -286,7 +286,7 @@ C...and particle, decay and process data.
 C...Double precision and integer declarations.
       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
       IMPLICIT INTEGER(I-N)
-      INTEGER PYK,PYCHGE,PYCOMP
+C      INTEGER PYK,PYCHGE,PYCOMP
 C...Commonblocks.
       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
       COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
@@ -50099,6 +50099,41 @@ C.. Form baryon. Distinguish Lambda- and Sigmalike baryons.
         KF=ISIGN(1000*KFLD+100*KFLE+10*KFLF+KFLS,KFL1)
         IF(KSIG.EQ.0) KF=ISIGN(1000*KFLD+100*KFLF+10*KFLE+KFLS,KFL1)
       ENDIF
+C -------------------------------------------------------------------------
+C Extracted from a private e-mail exchange with Torbjorn Sjostrand
+C 
+C No, Lambda(1520) is not included and not foreseen.
+C So if you want it in Pythia, it would have to be a hack.
+C What you could do is:
+C 1) In PYKFDI, just before the RETURN above label 140, you could check if
+C a Lambda, Sigma0 or Sigma*0 has been produced, and with some small
+C probability switch such a particle to the Lambda(1520) code. That is,
+C if KF = 3122, 3212, or 3214 and a random number below some number, switch
+C to KF = 3124. (And correspondingly for anticparticles.)
+C 2) Use the PYUPDA routine (see manual) to include particle and decay data
+C for the Lambda(1520).
+C -------------------------------------------------------------------------
+      IF (IABS(KF).EQ.3122) THEN
+C     Converting a fraction (0.20) of Lambda0 to Lambda(1520) + c.c.
+C     This fraction is based on the experimental measurement at ISR
+C     Bobbink 83, NP B217,11 (1983)
+C     The region 0.5 < XF < 1.0 has been extrapolated to XF=0
+         IF(PYR(0).LE.0.20) KF=ISIGN(3124,KF)
+      ENDIF
+
+      IF(IABS(KF).EQ.3212) THEN
+C     Converting a fraction (0.20) of Sigma0 to Lambda(1520) + c.c.
+C     We suppose the same fraction as for Lambda0
+         IF(PYR(0).LE.0.20) KF=ISIGN(3124,KF)
+      ENDIF
+
+      IF (IABS(KF).EQ.3214) THEN
+C     Converting a fraction (0.30) of Sigma0(1385) to Lambda(1520) + c.c.
+C     This is conservative extimate supposing that the ratio
+C     scales as (M_Sigma1385/M_Lambda0)^2 ~ 1.5 
+         IF(PYR(0).LE.0.30) KF=ISIGN(3124,KF)
+      ENDIF
       RETURN
  
 C...Use tabulated probabilities to select new flavour and hadron.
@@ -54963,24 +54998,26 @@ C...Identify particle code and whether already defined  (for MUPDA=3).
   150         CONTINUE
             ENDIF
 C...Remove duplicate old decay data.
-            IF(KCREP.NE.0.AND.MDCY(KCREP,3).GT.0) THEN
-              IDCREP=MDCY(KCREP,2)
-              NDCREP=MDCY(KCREP,3)
-              DO 160 I=1,KCC
-                IF(MDCY(I,2).GT.IDCREP) MDCY(I,2)=MDCY(I,2)-NDCREP
-  160         CONTINUE
-              DO 180 I=IDCREP,NDC-NDCREP
-                MDME(I,1)=MDME(I+NDCREP,1)
-                MDME(I,2)=MDME(I+NDCREP,2)
-                BRAT(I)=BRAT(I+NDCREP)
-                DO 170 J=1,5
-                  KFDP(I,J)=KFDP(I+NDCREP,J)
-  170           CONTINUE
-  180         CONTINUE
-              NDC=NDC-NDCREP
-              KC=KCREP
-            ELSEIF(KCREP.NE.0) THEN
-              KC=KCREP
+            IF(KCREP.NE.0) THEN
+               IF(MDCY(KCREP,3).GT.0) THEN
+                  IDCREP=MDCY(KCREP,2)
+                  NDCREP=MDCY(KCREP,3)
+                  DO 160 I=1,KCC
+                     IF(MDCY(I,2).GT.IDCREP) MDCY(I,2)=MDCY(I,2)-NDCREP
+ 160              CONTINUE
+                  DO 180 I=IDCREP,NDC-NDCREP
+                     MDME(I,1)=MDME(I+NDCREP,1)
+                     MDME(I,2)=MDME(I+NDCREP,2)
+                     BRAT(I)=BRAT(I+NDCREP)
+                     DO 170 J=1,5
+                        KFDP(I,J)=KFDP(I+NDCREP,J)
+ 170                 CONTINUE
+ 180              CONTINUE
+                  NDC=NDC-NDCREP
+                  KC=KCREP
+               ELSE
+                  KC=KCREP
+               ENDIF
             ELSE
               KCC=KCC+1
               KC=KCC