5 * Revision 1.1.1.1 1999/05/18 15:55:15 fca
8 * Revision 1.1.1.1 1995/10/24 10:19:56 cernlib
12 #include "geant321/pilot.h"
13 #if defined(CERNLIB_OLDNAME)
14 *CMZ : 3.21/02 29/03/94 15.41.42 by S.Giani
16 *=== flavor ===========================================================*
18 SUBROUTINE FLAVOR(IT,LT,LL,E0,IV,RE,KFR1,KFR2,ISU,BETE,KFA1,KFA2,
21 #include "geant321/dblprc.inc"
22 #include "geant321/dimpar.inc"
23 #include "geant321/iounit.inc"
25 *----------------------------------------------------------------------*
27 * New version from A. Ferrari ( 22 august 1990 ): it is almost the *
28 * the same as before, but with a few corrections important for isu *
29 * 2 and 3 and also for isu=4 if it switchs to 100 continue *
31 *----------------------------------------------------------------------*
32 #include "geant321/part.inc"
34 * The following are the masses of the quarks: the d quark mass is
35 * assumed to be the same as the u one. They are quite different from
36 * the last values from the particle data group, but any change
37 * can imply a change also in the BET parameter in common INPDAT
38 PARAMETER ( UQUARM = 0.3D+00 )
39 PARAMETER ( SQUARM = 0.5D+00 )
40 PARAMETER ( CQUARM = 2.1D+00 )
41 PARAMETER ( BQUARM = 5.0D+00 )
43 DIMENSION RE(*),KFR1(*),KFR2(*),IV(*)
46 C CHOICE OF THE QUARK FLAVOUR
47 IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LL,E0,ISU,BETE,KFA1,KFA2
48 288 FORMAT(3I5,E12.4,I5,E12.4,2I5
49 *,' FLAVOR IT,LT,LL,E0,ISU,BETE,KFA1,KFA2')
58 ELSE IF (IOPT.EQ.3.AND.LL.EQ.1) THEN
61 ELSE IF (IOPT.EQ.4 .AND. KFA1.LE.6 .AND. LL.EQ.1) THEN
64 ELSE IF (IOPT.EQ.4 .AND. KFA1.GT.6 .AND. LL.EQ.0) THEN
67 ELSE IF (IOPT.EQ.5 .AND. LL.EQ.0) THEN
70 ELSE IF (IOPT.EQ.5 .AND. LL.EQ.1) THEN
83 IF (KX1.GT.0.AND.KX2.GT.0) THEN
91 IF(ISU.EQ.4) GO TO 300
92 IF(ISU.EQ.3) GO TO 200
93 IF(ISU.EQ.2) GO TO 100
100 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
102 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
108 IF (IIAA .EQ. 1) THEN
109 PD=0.6666666666666667D+00
110 PU=0.3333333333333333D+00
111 ELSE IF (IIAA .EQ. 2) THEN
112 PU=0.6666666666666667D+00
113 PD=0.3333333333333333D+00
133 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
135 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
141 IF (RX .LE. 1.019D+00 ) GO TO 110
151 IF (IIAA .EQ. 1) THEN
152 PU=0.6666666666666667D+00*PU1
154 ELSE IF (IIAA .EQ. 2) THEN
155 PD=0.6666666666666667D+00*PU1
163 ELSE IF ( Z1 .LE. PU + PD ) THEN
170 ELSE IF ( Z2 .LE. PU + PD ) THEN
178 GO TO (11,12,13,14,14,11,12,13,14,14),IVX
180 IF (KX1.EQ.4.OR.KX1.EQ.10) THEN
185 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
187 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
194 IF (KX1.EQ.4.OR.KX1.EQ.10) THEN
202 * | | +-------------------------------------------------------------*
203 * | | | The following if replaces the cards:
205 * | | | IF(KX1.EQ.4.AND.KX2.EQ.4) GM=4.89D0
206 * | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.770D0
207 * | | | IF(KX1.EQ.10.AND.KX2.EQ.10) GM=4.89D0
208 * | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.770D0
209 * | | | It is completely equivalent except for the combination
210 * | | | 4-4 which now gives GM = 4.89, while in the original
211 * | | | coding gave GM = 2.77, because of the last condition
212 * | | | always overrides the first one (it seems to be a mistake)
213 IF (KX1 .EQ. 4 .OR. KX1 .EQ. 10 ) THEN
214 IF ( KX2 .EQ. KX1 ) THEN
219 ELSE IF (KX2 .EQ. 4 .OR. KX2 .EQ. 10 ) THEN
227 * | | +-------------------------------------------------------------*
228 * | | | The following if replaces the cards:
230 * | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.140D0
231 * | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.140D0
232 * | | | It is equivalent: only for the combinations
233 * | | | 4-10 and 10-4 we get GM = 3.684
234 * | | | It is not clear if it is correct since 4-x,x-4 (x.ne.10),
235 * | | | 10-x,x-10 (x.ne.4) give GM = 2.14
236 IF ((KX1.EQ.4.AND.KX2.EQ.10).OR.(KX1.EQ.10.AND.KX2.EQ.4))
242 IF (IVX.EQ.4.OR.IVX.EQ.9) THEN
244 ELSE IF (IVX.EQ.5.OR.IVX.EQ.10) THEN
247 * | | | Kaxi = 0 added for completeness, maybe it is useless
250 IF (KAXI.EQ.1.OR.KAXI.EQ.7) THEN
252 ELSE IF (KAXI.EQ.2.OR.KAXI.EQ.8) THEN
259 IF (RX .LE. GM) GO TO 200
271 IF (IIAA .EQ. 1) THEN
272 PU=0.6666666666666667D+00*PU1
274 ELSE IF (IIAA .EQ. 2) THEN
275 PD=0.6666666666666667D+00*PU1
283 ELSE IF ( Z1 .LE. PU + PD ) THEN
285 ELSE IF ( Z1 .LE. PU + PD + PS ) THEN
292 ELSE IF ( Z2 .LE. PU + PD ) THEN
294 ELSE IF ( Z2 .LE. PU + PD + PS ) THEN
301 C*****CHOICE OF THE QUARKFLAVOURS IN DEPENDENCE OF THE VERTEX IV
303 GO TO (1,2,3,4,5,1,2,3,4,5),IVX
347 WRITE(LUNOUT,6)PU,PD,PS,PC,KX1,KX2
348 6 FORMAT(1H0,' FLAVOR PU,PD,PS,PC,KX1,KX2',4F8.4,2I5)
350 WRITE(LUNOUT,60)IV(I),LL,KFR1(J),KFR2(J),KFR1(I),KFR2(I)
352 40 WRITE(LUNOUT,70)IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)
354 60 FORMAT(1H0,22HIV,LL,Q1A,Q2A,Q1N,Q2N=,6I3)
355 70 FORMAT(1H0,'IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)=',6I3 )
360 SUBROUTINE FLAVOR_DUMMY