5 * Revision 1.1.1.1 1995/10/24 10:20:06 cernlib
9 #include "geant321/pilot.h"
10 *CMZ : 3.21/02 29/03/94 15.41.45 by S.Giani
12 *=== flavor ===========================================================*
14 SUBROUTINE FKFLAV(IT,LT,LL,E0,IV,RE,KFR1,KFR2,ISU,BETE,KFA1,KFA2,
17 #include "geant321/dblprc.inc"
18 #include "geant321/dimpar.inc"
19 #include "geant321/iounit.inc"
21 *----------------------------------------------------------------------*
23 * New version from A. Ferrari ( 22 august 1990 ): it is almost the *
24 * the same as before, but with a few corrections important for isu *
25 * 2 and 3 and also for isu=4 if it switchs to 100 continue *
27 *----------------------------------------------------------------------*
28 #include "geant321/part.inc"
30 * The following are the masses of the quarks: the d quark mass is
31 * assumed to be the same as the u one. They are quite different from
32 * the last values from the particle data group, but any change
33 * can imply a change also in the BET parameter in common INPDAT
34 PARAMETER ( UQUARM = 0.3D+00 )
35 PARAMETER ( SQUARM = 0.5D+00 )
36 PARAMETER ( CQUARM = 2.1D+00 )
37 PARAMETER ( BQUARM = 5.0D+00 )
39 DIMENSION RE(*),KFR1(*),KFR2(*),IV(*)
42 C CHOICE OF THE QUARK FLAVOUR
43 IF (LT.EQ.1)WRITE(LUNOUT,288)IT,LT,LL,E0,ISU,BETE,KFA1,KFA2
44 288 FORMAT(3I5,E12.4,I5,E12.4,2I5
45 *,' FLAVOR IT,LT,LL,E0,ISU,BETE,KFA1,KFA2')
54 ELSE IF (IOPT.EQ.3.AND.LL.EQ.1) THEN
57 ELSE IF (IOPT.EQ.4 .AND. KFA1.LE.6 .AND. LL.EQ.1) THEN
60 ELSE IF (IOPT.EQ.4 .AND. KFA1.GT.6 .AND. LL.EQ.0) THEN
63 ELSE IF (IOPT.EQ.5 .AND. LL.EQ.0) THEN
66 ELSE IF (IOPT.EQ.5 .AND. LL.EQ.1) THEN
79 IF (KX1.GT.0.AND.KX2.GT.0) THEN
87 IF(ISU.EQ.4) GO TO 300
88 IF(ISU.EQ.3) GO TO 200
89 IF(ISU.EQ.2) GO TO 100
96 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
98 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
104 IF (IIAA .EQ. 1) THEN
105 PD=0.6666666666666667D+00
106 PU=0.3333333333333333D+00
107 ELSE IF (IIAA .EQ. 2) THEN
108 PU=0.6666666666666667D+00
109 PD=0.3333333333333333D+00
129 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
131 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
137 IF (RX .LE. 1.019D+00 ) GO TO 110
147 IF (IIAA .EQ. 1) THEN
148 PU=0.6666666666666667D+00*PU1
150 ELSE IF (IIAA .EQ. 2) THEN
151 PD=0.6666666666666667D+00*PU1
159 ELSE IF ( Z1 .LE. PU + PD ) THEN
166 ELSE IF ( Z2 .LE. PU + PD ) THEN
174 GO TO (11,12,13,14,14,11,12,13,14,14),IVX
176 IF (KX1.EQ.4.OR.KX1.EQ.10) THEN
181 IF (KX1.EQ.1.OR.KX1.EQ.7) THEN
183 ELSE IF (KX1.EQ.2.OR.KX1.EQ.8) THEN
190 IF (KX1.EQ.4.OR.KX1.EQ.10) THEN
198 * | | +-------------------------------------------------------------*
199 * | | | The following if replaces the cards:
201 * | | | IF(KX1.EQ.4.AND.KX2.EQ.4) GM=4.89D0
202 * | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.770D0
203 * | | | IF(KX1.EQ.10.AND.KX2.EQ.10) GM=4.89D0
204 * | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.770D0
205 * | | | It is completely equivalent except for the combination
206 * | | | 4-4 which now gives GM = 4.89, while in the original
207 * | | | coding gave GM = 2.77, because of the last condition
208 * | | | always overrides the first one (it seems to be a mistake)
209 IF (KX1 .EQ. 4 .OR. KX1 .EQ. 10 ) THEN
210 IF ( KX2 .EQ. KX1 ) THEN
215 ELSE IF (KX2 .EQ. 4 .OR. KX2 .EQ. 10 ) THEN
223 * | | +-------------------------------------------------------------*
224 * | | | The following if replaces the cards:
226 * | | | IF(KX1.NE.4.AND.KX2.NE.4) GM=2.140D0
227 * | | | IF(KX1.NE.10.AND.KX2.NE.10) GM=2.140D0
228 * | | | It is equivalent: only for the combinations
229 * | | | 4-10 and 10-4 we get GM = 3.684
230 * | | | It is not clear if it is correct since 4-x,x-4 (x.ne.10),
231 * | | | 10-x,x-10 (x.ne.4) give GM = 2.14
232 IF ((KX1.EQ.4.AND.KX2.EQ.10).OR.(KX1.EQ.10.AND.KX2.EQ.4))
238 IF (IVX.EQ.4.OR.IVX.EQ.9) THEN
240 ELSE IF (IVX.EQ.5.OR.IVX.EQ.10) THEN
243 * | | | Kaxi = 0 added for completeness, maybe it is useless
246 IF (KAXI.EQ.1.OR.KAXI.EQ.7) THEN
248 ELSE IF (KAXI.EQ.2.OR.KAXI.EQ.8) THEN
255 IF (RX .LE. GM) GO TO 200
267 IF (IIAA .EQ. 1) THEN
268 PU=0.6666666666666667D+00*PU1
270 ELSE IF (IIAA .EQ. 2) THEN
271 PD=0.6666666666666667D+00*PU1
279 ELSE IF ( Z1 .LE. PU + PD ) THEN
281 ELSE IF ( Z1 .LE. PU + PD + PS ) THEN
288 ELSE IF ( Z2 .LE. PU + PD ) THEN
290 ELSE IF ( Z2 .LE. PU + PD + PS ) THEN
297 C*****CHOICE OF THE QUARKFLAVOURS IN DEPENDENCE OF THE VERTEX IV
299 GO TO (1,2,3,4,5,1,2,3,4,5),IVX
343 WRITE(LUNOUT,6)PU,PD,PS,PC,KX1,KX2
344 6 FORMAT(1H0,' FLAVOR PU,PD,PS,PC,KX1,KX2',4F8.4,2I5)
346 WRITE(LUNOUT,60)IV(I),LL,KFR1(J),KFR2(J),KFR1(I),KFR2(I)
348 40 WRITE(LUNOUT,70)IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)
350 60 FORMAT(1H0,22HIV,LL,Q1A,Q2A,Q1N,Q2N=,6I3)
351 70 FORMAT(1H0,'IV(I),LL,KFA1,KFA2,KFR1(I),KFR2(I)=',6I3 )