1 /* copyright(c) 1991-2018 free software foundation, inc.
2 this file is part of the gnu c library.
4 the gnu c library is free software; you can redistribute it and/or
5 modify it under the terms of the gnu lesser general
Public 6 license as published by the free software foundation; either
7 version 2.1 of the license, or(at your option) any later version.
9 the gnu c library is distributed in the hope that it will be useful,
10 but without any warranty; without even the implied warranty of
11 merchantability or fitness for a particular purpose. see the gnu
12 lesser general
Public license for more details.
14 you should have received a copy of the gnu lesser general
Public 15 license along with the gnu c library;
if not, see
16 <http://www.gnu.org/licenses/>. */
19 /* this header is separate from features.h so that the compiler can
20 include it implicitly at the start of every compilation. it must
21 not itself include <features.h> or any other header that includes
22 <features.h> because the
implicit include comes before any feature
23 test macros that may be defined in a source file before it first
24 explicitly includes a system header. gcc knows the name of this
25 header in order to preinclude it. */
27 /* glibc
's intent is to support the IEC 559 math functionality, real 28 and complex. If the GCC (4.9 and later) predefined macros 29 specifying compiler intent are available, use them to determine 30 whether the overall intent is to support these features; otherwise, 31 presume an older compiler has intent to support these features and 32 define these macros by default. */ 36 /* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is 37 synchronized with ISO/IEC 10646:2017, fifth edition, plus 38 the following additions from Amendment 1 to the fifth edition: 41 - 3 additional Zanabazar Square characters */ 43 REAL FUNCTION PKORB(IF1,IF2) 44 ********************************************************************** 46 * This function returns a real value 47 * needed in the 1 version of KORALB/TAUOLA 48 * corresponding to a mass, width, mixing amplitude, or branching fraction 49 * depending on whether IF1 = 1, 2, 3, 4 respectively. 50 * The idea is to make minimal mods to the 3-rd party KORALB/TAUOLA code, 51 * so this function supplies all the 1-specific parameters. 53 * Alan Weinstein, ajw, 11/97 54 ********************************************************************** 57 INTEGER IF1 ! input, flag for type of data required 58 INTEGER IF2 ! input, flag for type of data required 61 *#include "seq/clinc/qqpars.inc" 62 *#include "seq/clinc/qqprop.inc" 63 *#include "qqlib/seq/qqbrat.inc" 65 INTEGER JAK1,JAK2,JAKP,JAKM,KTOM 66 COMMON / JAKI / JAK1,JAK2,JAKP,JAKM,KTOM 71 REAL C1270,C1402,A1270_KSPI,A1270_KRHO,A1402_KSPI,A1402_KRHO 72 REAL CG1,CG2,R,BRA1,BRKS 76 ********************************************************************** 77 * Initialize return variable: 80 ********************************************************************** 85 C WARNING: Isospin symmetry enforced, cleo or babar were not enforcing it. 86 C Simplification to be used for precision tau decay simulations. 90 C CALL VZERO(PARM,400) 97 C Youd better be using korb.dec, NOT decay.dec!!!! 98 C masses (needed in dist/inimas, formf/form*, etc) 99 PARM(1, 1) = 1.777000 ! TAU 100 PARM(1, 2) = 0. ! NUTA 101 PARM(1, 3) = 0.000511 ! EL 102 PARM(1, 4) = 0. ! NUEL 103 PARM(1, 5) = 0.105658 ! MU 104 PARM(1, 6) = 0. ! NUMU 105 PARM(1, 7) = 0.134976 ! PIZ 106 PARM(1, 8) = 0.139570 ! PI+ 107 PARM(1, 9) = 0.769900 ! RHO+ 108 PARM(1,10) = 1.275000 ! A1+ 109 PARM(1,11) = 0.493677 ! K+ 110 PARM(1,12) = 0.497670 ! KZ 111 PARM(1,13) = 0.891590 ! K*+ 112 PARM(1,14) = 0.781940 ! OMEG 113 PARM(1,15) = 1.370000 ! RHOP+ 114 PARM(1,16) = 1.700000 ! K*P+ 115 PARM(1,17) = 1.461000 ! A1P+ 116 PARM(1,18) = 1.300000 ! PIP+ 117 PARM(1,19) = 1.270000 ! K1A+ 118 PARM(1,20) = 1.402000 ! K1B+ 119 PARM(1,21) = 1.465000 ! RHOPP+ 120 PARM(1,22) = 1.700000 ! RHOPPP+ 122 C widths (needed in dist/inimas, formf/form*, etc) 123 PARM(2, 1) = 0. ! TAU 124 PARM(2, 2) = 0. ! NUTA 126 PARM(2, 4) = 0. ! NUEL 128 PARM(2, 6) = 0. ! NUMU 129 PARM(2, 7) = 0. ! PIZ 130 PARM(2, 8) = 0. ! PI+ 131 PARM(2, 9) = 0.1512 ! RHO+ 132 PARM(2,10) = 0.700 ! A1+ 135 PARM(2,13) = 0.0498 ! K*+ 136 PARM(2,14) = 0.00843 ! OMEG 137 PARM(2,15) = 0.510 ! RHOP+ 138 PARM(2,16) = 0.235 ! K*P+ 139 PARM(2,17) = 0.250 ! A1P+ 140 PARM(2,18) = 0.400 ! PIP+ 141 PARM(2,19) = 0.090 ! K1A+ 142 PARM(2,20) = 0.174 ! K1B+ 143 PARM(2,21) = 0.310 ! RHOPP+ 144 PARM(2,22) = 0.235 ! RHOPPP+ 146 C Now store mixing parameters for 2pi and 4pi FFs 147 C needed in tauola/fpik, tauola/bwigs, formf/form* , formf/curr : 161 .NE.
IF (IMIXPP(205)0) PARM(3,15) = -0.110 162 .NE.
IF (IMIXPP(207)0) PARM(3,16) = -0.038 163 .NE.
IF (IMIXPP(209)0) PARM(3,17) = 0.00 164 .NE.
IF (IMIXPP(211)0) PARM(3,18) = 0.00 165 .NE.
IF (IMIXPP(201)0) PARM(3,19) = 1.0 166 .NE.
IF (IMIXPP(203)0) PARM(3,20) = 0.8 167 .NE.
IF (IMIXPP(213)0) PARM(3,21) = -0.110 168 .NE.
IF (IMIXPP(215)0) PARM(3,22) = -0.110 170 PRINT *,' korb: rho/rhop -> pi-pi0 mixing:
' 171 PRINT *,' korb: rho =
',PARM(1,9) ,PARM(2,9) 172 PRINT *,' korb: rhop =
',PARM(1,15),PARM(2,15),PARM(3,15) 173 PRINT *,' korb: k*/k*prime -> kpi mixing:
' 174 PRINT *,' korb: kstp =
',PARM(1,16),PARM(2,16),PARM(3,16) 175 PRINT *,' korb: a1/a1prime -> 3pi, kkpi mixing:
' 176 PRINT *,' korb: a1 =
',PARM(1,10),PARM(2,10) 177 PRINT *,' korb: a1prim=
',PARM(1,17),PARM(2,17),PARM(3,17) 178 PRINT *,' korb: k1a/k1b -> kpipi mixing:
' 179 PRINT *,' korb: k1a =
',PARM(1,19),PARM(2,19),PARM(3,19) 180 PRINT *,' korb: k1b =
',PARM(1,20),PARM(2,20),PARM(3,20) 181 PRINT *,' korb: rho/rhop/rhopp -> 4pi mixing:
' 182 PRINT *,' korb: rho =
',PARM(1,9) ,PARM(2,9) 183 PRINT *,' korb: rhopp =
',PARM(1,21),PARM(2,21),PARM(3,21) 184 PRINT *,' korb: rhoppp=
',PARM(1,22),PARM(2,22),PARM(3,22) 186 C amplitudes for curr_cleo.F: 187 C for (3pi)-pi0: 4pi phase space; rho0pi-pi0; rho-pi+pi-; rho+pi-pi-; pi-omega 193 C for pi-3pi0: 4pi phase space; rho-pi0pi0 197 C Modify amplitudes for 4pi form-factor in formf/curr, from korb.dec: 198 .EQ.
CCC IF (IPLIST(2,282)5) THEN 200 .EQ.
IF (IPLIST5) THEN 210 PRINT *,' korb: 3pi-pi0 params:
',(PARM(3,I),I=31,35) 211 PRINT *,' korb: pi-3pi0 params:
',(PARM(3,I),I=36,37) 213 C The 4pi models are the most complicated in TAUOLA. 214 C If the user has not modified any parameters of the 4pi model, 215 C we can use the WTMAX determined with many trials. 216 .GT..OR.
IF (ABS(PARM(3,31)-0.0000)0.0001 217 .GT..OR.
1 ABS(PARM(3,32)-0.1242)0.0001 218 .GT..OR.
1 ABS(PARM(3,33)-0.1604)0.0001 219 .GT..OR.
1 ABS(PARM(3,34)-0.2711)0.0001 220 .GT.
1 ABS(PARM(3,35)-0.4443)0.0001 ) THEN 223 PARM(3,38) = 6.9673671E-14 226 .GT..OR.
IF (ABS(PARM(3,36)-0.0000)0.0001 227 .GT.
1 ABS(PARM(3,37)-1.0000)0.0001 ) THEN 230 PARM(3,39) = 3.5374880E-13 234 C phases for curr_cleo.F: 237 PARM(3,44) = -0.20+3.1416 240 C rho' contributions to rho
' -> pi-omega: 246 C rho' contribtions to rho
' -> rhopipi: 252 C rho contributions to rhopipi, rho -> 2pi: 257 C Set the BRs for (A1+ -> rho+ pi0) and (K*+ -> K0 pi+) 258 C needed in dist/taurdf: 259 PARM(4,1) = 0.4920 ! BRA1+ 260 PARM(4,2) = 0.4920 ! BRA1- 261 PARM(4,3) = 0.6660 ! BRKS+ 262 PARM(4,4) = 0.6660 ! BRKS- 263 PARM(4,5) = 0.5 ! BRK0 264 PARM(4,6) = 0.5 ! BRK0B 266 C amplitude coefficients for tau -> K1(1270) / K1(1402) 269 .EQ..AND..EQ.
IF (C12700C14020.) THEN 273 C From PDG96, square roots of branching fractions: 274 A1270_KSPI = SQRT(0.16) 275 A1270_KRHO = SQRT(0.42) 276 A1402_KSPI = SQRT(0.94) 277 A1402_KRHO = SQRT(0.03) 278 C C-G coefficients for K1- -> CG1 * |K- pi0> + CG2 * |K0bar pi-> 281 C and the resulting amplitudes (times normalized FF): 282 PARM(3,81) = C1270*A1270_KSPI*CG1 ! K1270 -> K*0B pi- 283 PARM(3,82) = C1402*A1402_KSPI*CG1 ! K1402 -> K*0B pi- 284 PARM(3,83) = C1270*A1270_KRHO*CG1 ! K1270 -> K0B rho- 285 PARM(3,84) = C1402*A1402_KRHO*CG1 ! K1402 -> K0B rho- 286 PARM(3,85) = C1270*A1270_KSPI*CG2 ! K1270 -> K*- pi0 287 PARM(3,86) = C1402*A1402_KSPI*CG2 ! K1402 -> K*- pi0 288 PARM(3,87) = C1270*A1270_KRHO*CG2 ! K1270 -> K- rho0 289 PARM(3,88) = C1402*A1402_KRHO*CG2 ! K1402 -> K- rho0 292 ********************************************************************** 295 .GE..AND..LE..AND..GE..AND..LE.
IF (IF11 IF14 IF21 IF2100) THEN 298 CAJW 4/4/94 Better to decide on A1 br now, avoid DADMAA/DPHSAA problem. 299 .EQ..AND..EQ.
IF (IF14JAK15) THEN 301 C Return the BR used in the last call: 303 .EQ.
ELSE IF (IF21) THEN 306 .LT.
IF (RRR(1)BRA1) THEN 313 .EQ..AND..EQ.
ELSEIF (IF14JAK17) THEN 315 C Return the BR used in the last call: 317 .EQ.
ELSE IF (IF23) THEN 320 .LT.
IF (RRR(1)BRKS) THEN