tauola-F/prod/pkorb.f

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