tauola-F/pkorb.F

00001       REAL FUNCTION PKORB(IF1,IF2)
00002 **********************************************************************
00003 *
00004 * This function returns a real value
00005 * needed in the CLEO version of KORALB/TAUOLA
00006 * corresponding to a mass, width, mixing amplitude, or branching fraction
00007 * depending on whether IF1 = 1, 2, 3, 4 respectively.
00008 * The idea is to make minimal mods to the 3-rd party KORALB/TAUOLA code,
00009 * so this function supplies all the CLEO-specific parameters.
00010 *
00011 *  Alan Weinstein, ajw, 11/97
00012 **********************************************************************
00013 
00014 * Arguments:
00015       INTEGER IF1   ! input, flag for type of data required
00016       INTEGER IF2   ! input, flag for type of data required
00017 
00018 * MC info
00019 *#include "seq/clinc/qqpars.inc"
00020 *#include "seq/clinc/qqprop.inc"
00021 *#include "qqlib/seq/qqbrat.inc"
00022 
00023       INTEGER            JAK1,JAK2,JAKP,JAKM,KTOM
00024       COMMON / JAKI   /  JAK1,JAK2,JAKP,JAKM,KTOM
00025       REAL*4 RRR(1)
00026       REAL PARM(4,100)
00027       integer imixpp(300)
00028       INTEGER INIT,I,J
00029       REAL C1270,C1402,A1270_KSPI,A1270_KRHO,A1402_KSPI,A1402_KRHO
00030       REAL CG1,CG2,R,BRA1,BRKS
00031       SAVE INIT,PARM
00032       DATA INIT/0/
00033 
00034 **********************************************************************
00035 * Initialize return variable:
00036       PKORB = 0.
00037 
00038 **********************************************************************
00039 * Initialize:
00040       IF (INIT.EQ.0) THEN
00041         INIT = 1
00042 
00043 C        CALL VZERO(PARM,400)
00044         DO I=1,4
00045         DO J=1,100
00046           PARM(I,J) = 0
00047         END DO
00048         END DO
00049 
00050 C Youd better be using korb.dec, NOT decay.dec!!!!
00051 C masses (needed in dist/inimas, formf/form*, etc)
00052         PARM(1, 1) = 1.777000   ! TAU
00053         PARM(1, 2) = 0.         ! NUTA
00054         PARM(1, 3) = 0.000511   ! EL
00055         PARM(1, 4) = 0.         ! NUEL
00056         PARM(1, 5) = 0.105658   ! MU
00057         PARM(1, 6) = 0.         ! NUMU
00058         PARM(1, 7) = 0.134976   ! PIZ
00059         PARM(1, 8) = 0.139570   ! PI+
00060         PARM(1, 9) = 0.769900   ! RHO+
00061         PARM(1,10) = 1.275000   ! A1+
00062         PARM(1,11) = 0.493677   ! K+
00063         PARM(1,12) = 0.497670   ! KZ
00064         PARM(1,13) = 0.891590   ! K*+
00065         PARM(1,14) = 0.781940   ! OMEG
00066         PARM(1,15) = 1.370000   ! RHOP+
00067         PARM(1,16) = 1.700000   ! K*P+
00068         PARM(1,17) = 1.461000   ! A1P+
00069         PARM(1,18) = 1.300000   ! PIP+
00070         PARM(1,19) = 1.270000   ! K1A+
00071         PARM(1,20) = 1.402000   ! K1B+
00072         PARM(1,21) = 1.465000   ! RHOPP+
00073         PARM(1,22) = 1.700000   ! RHOPPP+
00074         
00075 C widths (needed in dist/inimas, formf/form*, etc)
00076         PARM(2, 1) = 0.          ! TAU
00077         PARM(2, 2) = 0.          ! NUTA
00078         PARM(2, 3) = 0.          ! EL
00079         PARM(2, 4) = 0.          ! NUEL
00080         PARM(2, 5) = 0.          ! MU
00081         PARM(2, 6) = 0.          ! NUMU
00082         PARM(2, 7) = 0.          ! PIZ
00083         PARM(2, 8) = 0.          ! PI+
00084         PARM(2, 9) = 0.1512      ! RHO+
00085         PARM(2,10) = 0.700       ! A1+
00086         PARM(2,11) = 0.          ! K+
00087         PARM(2,12) = 0.          ! KZ
00088         PARM(2,13) = 0.0498      ! K*+
00089         PARM(2,14) = 0.00843     ! OMEG
00090         PARM(2,15) = 0.510       ! RHOP+
00091         PARM(2,16) = 0.235       ! K*P+
00092         PARM(2,17) = 0.250       ! A1P+
00093         PARM(2,18) = 0.400       ! PIP+
00094         PARM(2,19) = 0.090       ! K1A+
00095         PARM(2,20) = 0.174       ! K1B+
00096         PARM(2,21) = 0.310       ! RHOPP+
00097         PARM(2,22) = 0.235       ! RHOPPP+
00098 
00099 C Now store mixing parameters for 2pi and 4pi FFs 
00100 C needed in tauola/fpik, tauola/bwigs, formf/form* , formf/curr :
00101 
00102         PARM(3,15) = -0.145
00103 
00104         IMIXPP(205)=1
00105         IMIXPP(207)=1
00106         IMIXPP(209)=1
00107         IMIXPP(211)=1
00108         IMIXPP(201)=1
00109         IMIXPP(203)=1
00110         IMIXPP(213)=1
00111         IMIXPP(215)=1
00112 
00113 
00114         IF (IMIXPP(205).NE.0) PARM(3,15) = -0.110
00115         IF (IMIXPP(207).NE.0) PARM(3,16) = -0.038
00116         IF (IMIXPP(209).NE.0) PARM(3,17) = 0.00
00117         IF (IMIXPP(211).NE.0) PARM(3,18) = 0.00
00118         IF (IMIXPP(201).NE.0) PARM(3,19) = 1.0
00119         IF (IMIXPP(203).NE.0) PARM(3,20) = 0.8
00120         IF (IMIXPP(213).NE.0) PARM(3,21) = -0.110
00121         IF (IMIXPP(215).NE.0) PARM(3,22) = -0.110
00122 
00123         PRINT *,' KORB: rho/rhop -> pi-pi0 mixing:'
00124         PRINT *,' KORB: rho   =',PARM(1,9) ,PARM(2,9)
00125         PRINT *,' KORB: rhop  =',PARM(1,15),PARM(2,15),PARM(3,15)
00126         PRINT *,' KORB: K*/K*prime -> Kpi mixing:'
00127         PRINT *,' KORB: kstp  =',PARM(1,16),PARM(2,16),PARM(3,16)
00128         PRINT *,' KORB: a1/a1prime -> 3pi, KKpi mixing:'
00129         PRINT *,' KORB: a1    =',PARM(1,10),PARM(2,10)
00130         PRINT *,' KORB: a1prim=',PARM(1,17),PARM(2,17),PARM(3,17)
00131         PRINT *,' KORB: K1A/K1B -> Kpipi mixing:'
00132         PRINT *,' KORB: K1A   =',PARM(1,19),PARM(2,19),PARM(3,19)
00133         PRINT *,' KORB: K1B   =',PARM(1,20),PARM(2,20),PARM(3,20)
00134         PRINT *,' KORB: rho/rhop/rhopp -> 4pi mixing:'
00135         PRINT *,' KORB: rho   =',PARM(1,9) ,PARM(2,9)
00136         PRINT *,' KORB: rhopp =',PARM(1,21),PARM(2,21),PARM(3,21)
00137         PRINT *,' KORB: rhoppp=',PARM(1,22),PARM(2,22),PARM(3,22)
00138 
00139 C amplitudes for curr_cleo.F:
00140 C for (3pi)-pi0: 4pi phase space; rho0pi-pi0; rho-pi+pi-; rho+pi-pi-; pi-omega
00141         PARM(3,31) = 0.
00142         PARM(3,32) = 0.1242
00143         PARM(3,33) = 0.1604
00144         PARM(3,34) = 0.2711
00145         PARM(3,35) = 0.4443
00146 C for pi-3pi0: 4pi phase space; rho-pi0pi0
00147         PARM(3,36) = 0.
00148         PARM(3,37) = 1.0
00149 
00150 C Modify amplitudes for 4pi form-factor in formf/curr, from korb.dec:
00151 CCC        IF (IPLIST(2,282).EQ.5) THEN
00152         IPLIST=0
00153         IF (IPLIST.EQ.5) THEN
00154         PARM(3,31) = 0.0000
00155         PARM(3,32) = 0.1242
00156         PARM(3,33) = 0.1604
00157         PARM(3,34) = 0.2711
00158         PARM(3,35) = 0.4443
00159         PARM(3,36) = 0.0000
00160         PARM(3,37) = 1.0000
00161         END IF
00162 
00163         PRINT *,' KORB: 3PI-PI0 PARAMS:',(PARM(3,I),I=31,35)
00164         PRINT *,' KORB: PI-3PI0 PARAMS:',(PARM(3,I),I=36,37)
00165 
00166 C The 4pi models are the most complicated in TAUOLA.
00167 C If the user has not modified any parameters of the 4pi model,
00168 C we can use the WTMAX determined with many trials.
00169         IF (ABS(PARM(3,31)-0.0000).GT.0.0001 .OR. 
00170      1      ABS(PARM(3,32)-0.1242).GT.0.0001 .OR.
00171      1      ABS(PARM(3,33)-0.1604).GT.0.0001 .OR.
00172      1      ABS(PARM(3,34)-0.2711).GT.0.0001 .OR.
00173      1      ABS(PARM(3,35)-0.4443).GT.0.0001 ) THEN
00174            PARM(3,38) = -1.
00175         ELSE
00176            PARM(3,38) = 6.9673671E-14
00177         END IF
00178 
00179         IF (ABS(PARM(3,36)-0.0000).GT.0.0001 .OR. 
00180      1      ABS(PARM(3,37)-1.0000).GT.0.0001 ) THEN
00181            PARM(3,39) = -1.
00182         ELSE
00183            PARM(3,39) = 3.5374880E-13
00184         END IF
00185 
00186 
00187 C phases for curr_cleo.F:
00188         PARM(3,42) = -0.40
00189         PARM(3,43) =  0.00
00190         PARM(3,44) = -0.20+3.1416
00191         PARM(3,45) = -1.50
00192 
00193 C rho' contributions to rho' -> pi-omega:
00194         PARM(3,51) = -0.10
00195         PARM(3,52) =  1.00
00196         PARM(3,53) = -0.10
00197         PARM(3,54) = -0.04
00198 
00199 C rho' contribtions to rho' -> rhopipi:
00200         PARM(3,55) =  1.00
00201         PARM(3,56) =  0.14
00202         PARM(3,57) = -0.05
00203         PARM(3,58) = -0.05
00204 
00205 C rho contributions to rhopipi, rho -> 2pi:
00206         PARM(3,59) =  1.000
00207         PARM(3,60) = -0.145
00208         PARM(3,61) =  0.000
00209 
00210 C Set the BRs for (A1+ -> rho+ pi0) and (K*+ -> K0 pi+)
00211 C needed in dist/taurdf:
00212         PARM(4,1) = 0.4920                 ! BRA1+
00213         PARM(4,2) = 0.4920                 ! BRA1-
00214         PARM(4,3) = 0.6660                 ! BRKS+
00215         PARM(4,4) = 0.6660                 ! BRKS-
00216         PARM(4,5) = 0.5                    ! BRK0
00217         PARM(4,6) = 0.5                    ! BRK0B
00218 
00219 C amplitude coefficients for tau -> K1(1270) / K1(1402)
00220         C1270 = PARM(3,19)
00221         C1402 = PARM(3,20)
00222         IF (C1270.EQ.0.AND.C1402.EQ.0.) THEN
00223            C1270 = 1.
00224            C1402 = 0.6
00225         END IF
00226 C From PDG96, square roots of branching fractions:
00227         A1270_KSPI = SQRT(0.16)
00228         A1270_KRHO = SQRT(0.42)
00229         A1402_KSPI = SQRT(0.94)
00230         A1402_KRHO = SQRT(0.03)
00231 C C-G coefficients for K1- -> CG1 * |K- pi0> + CG2 * |K0bar pi->
00232         CG1 = -SQRT(2./3.)
00233         CG2 =  SQRT(1./3.)
00234 C and the resulting amplitudes (times normalized FF):
00235         PARM(3,81) = C1270*A1270_KSPI*CG1  ! K1270 -> K*0B pi- 
00236         PARM(3,82) = C1402*A1402_KSPI*CG1  ! K1402 -> K*0B pi- 
00237         PARM(3,83) = C1270*A1270_KRHO*CG1  ! K1270 -> K0B rho- 
00238         PARM(3,84) = C1402*A1402_KRHO*CG1  ! K1402 -> K0B rho-
00239         PARM(3,85) = C1270*A1270_KSPI*CG2  ! K1270 -> K*- pi0
00240         PARM(3,86) = C1402*A1402_KSPI*CG2  ! K1402 -> K*- pi0
00241         PARM(3,87) = C1270*A1270_KRHO*CG2  ! K1270 -> K- rho0
00242         PARM(3,88) = C1402*A1402_KRHO*CG2  ! K1402 -> K- rho0
00243 
00244       END IF
00245 **********************************************************************
00246 
00247       R = 0.
00248       IF (IF1.GE.1 .AND. IF1.LE.4 .AND. IF2.GE.1 .AND. IF2.LE.100) THEN
00249          R = PARM(IF1,IF2)
00250 
00251 CAJW 4/4/94  Better to decide on A1 br now, avoid DADMAA/DPHSAA problem.
00252         IF (IF1.EQ.4.AND.JAK1.EQ.5) THEN 
00253           IF (IF2.EQ.11) THEN
00254 C Return the BR used in the last call:
00255              R = BRA1
00256           ELSE IF (IF2.EQ.1) THEN
00257             BRA1 = R
00258             CALL RANMAR(RRR,1)
00259             IF (RRR(1).LT.BRA1) THEN
00260               R = 1.     ! 3pi
00261             ELSE 
00262               R = 0.     ! pi-2pi0
00263             END IF
00264             BRA1 = R
00265           END IF
00266         ELSEIF (IF1.EQ.4.AND.JAK1.EQ.7) THEN
00267           IF (IF2.EQ.13) THEN
00268 C Return the BR used in the last call:
00269              R = BRKS
00270           ELSE IF (IF2.EQ.3) THEN
00271             BRKS = R
00272             CALL RANMAR(RRR,1)
00273             IF (RRR(1).LT.BRKS) THEN
00274               R = 1.     ! K0 pi-
00275             ELSE 
00276               R = 0.     ! K- pi0
00277             END IF
00278             BRKS = R
00279           END IF
00280         END IF
00281 
00282       END IF
00283 
00284       PKORB = R
00285       RETURN
00286       END
Generated on Sun Oct 20 20:24:09 2013 for C++InterfacetoTauola by  doxygen 1.6.3