tauola-BBB/f3pi.F

00001 *AJW 1 version of a1 form factor
00002       COMPLEX FUNCTION F3PI(IFORM,QQ,SA,SB)
00003 C.......................................................................
00004 C.
00005 C. F3PI - 1 version of a1 form factor, used in TAUOLA
00006 C.
00007 C. Inputs    : None
00008 C.           :
00009 C. Outputs   : None
00010 C.
00011 C. COMMON    : None
00012 C.
00013 C. Calls     : 
00014 C. Called    : by FORM1-FORM3 in $C_CVSSRC/korb/koralb/formf.F
00015 C. Author    : Alan Weinstein 2/98
00016 C.
00017 C. Detailed description
00018 C.   First determine whether we are doing pi-2pi0 or 3pi.
00019 C.   Then implement full form-factor from fit:
00020 C.   [(rho-pi S-wave) + (rho-prim-pi S-wave) +
00021 C.    (rho-pi D-wave) + (rho-prim-pi D-wave) + 
00022 C.    (f2 pi D-wave) + (sigmapi S-wave) + (f0pi S-wave)]
00023 C.   based on fit to pi-2pi0 by M. Schmidler, CBX 97-64-Update (4/22/98)
00024 C.   All the parameters in this routine are hard-coded!!
00025 C.
00026 C.......................................................................
00027 
00028 * -------------------- Argument declarations ---------------
00029  
00030       INTEGER IFORM
00031       REAL QQ,SA,SB
00032 * -------------------- EXTERNAL declarations ---------------
00033 *
00034       REAL PKORB
00035       COMPLEX BWIGML
00036 * -------------------- SEQUENCE declarations ---------------
00037 *
00038 * -------------------- Local    declarations ---------------
00039 *
00040       CHARACTER*(*) CRNAME
00041       PARAMETER(    CRNAME = 'F3PI' )
00042 *
00043       INTEGER IFIRST,IDK
00044       REAL MRO,GRO,MRP,GRP,MF2,GF2,MF0,GF0,MSG,GSG
00045       REAL M1,M2,M3,M1SQ,M2SQ,M3SQ,MPIZ,MPIC
00046       REAL S1,S2,S3,R,PI
00047       REAL F134,F150,F15A,F15B,F167
00048       REAL F34A,F34B,F35,F35A,F35B,F36A,F36B
00049       COMPLEX BT1,BT2,BT3,BT4,BT5,BT6,BT7
00050       COMPLEX FRO1,FRO2,FRP1,FRP2
00051       COMPLEX FF21,FF22,FF23,FSG1,FSG2,FSG3,FF01,FF02,FF03
00052       COMPLEX FA1A1P,FORMA1
00053 
00054 * -------------------- SAVE     declarations ---------------
00055 *
00056 * -------------------- DATA  initializations ---------------
00057 *
00058       DATA IFIRST/0/
00059 * ----------------- Executable code starts here ------------
00060 *
00061 C. Hard-code the fit parameters:
00062       IF (IFIRST.EQ.0) THEN
00063         IFIRST = 1
00064 C rho, rhoprime, f2(1275), f0(1186), sigma(made up!)
00065         MRO = 0.7743
00066         GRO = 0.1491
00067         MRP = 1.370 
00068         GRP = 0.386 
00069         MF2 = 1.275
00070         GF2 = 0.185
00071         MF0 = 1.186
00072         GF0 = 0.350
00073         MSG = 0.860
00074         GSG = 0.880
00075         MPIZ = PKORB(1,7)
00076         MPIC = PKORB(1,8)
00077 
00078 C Fit coefficients for each of the contributions:
00079         PI = 3.14159
00080         BT1 = CMPLX(1.,0.)
00081         BT2 = CMPLX(0.12,0.)*CEXP(CMPLX(0., 0.99*PI))
00082         BT3 = CMPLX(0.37,0.)*CEXP(CMPLX(0.,-0.15*PI))
00083         BT4 = CMPLX(0.87,0.)*CEXP(CMPLX(0., 0.53*PI))
00084         BT5 = CMPLX(0.71,0.)*CEXP(CMPLX(0., 0.56*PI))
00085         BT6 = CMPLX(2.10,0.)*CEXP(CMPLX(0., 0.23*PI))
00086         BT7 = CMPLX(0.77,0.)*CEXP(CMPLX(0.,-0.54*PI))
00087 
00088         PRINT *,' In F3pi: add (rho-pi S-wave) + (rhop-pi S-wave) +'
00089         PRINT *,'              (rho-pi D-wave) + (rhop-pi D-wave) +'
00090         PRINT *,'   (f2 pi D-wave) + (sigmapi S-wave) + (f0pi S-wave)'
00091       END IF
00092 
00093 C Initialize to 0:
00094       F3PI = CMPLX(0.,0.)
00095 
00096 C.   First determine whether we are doing pi-2pi0 or 3pi.
00097 C     PKORB is set up to remember what flavor of 3pi it gave to KORALB,
00098 C     since KORALB doesnt bother to remember!!
00099       R = PKORB(4,11)
00100       IF (R.EQ.0.) THEN
00101 C it is 2pi0pi-
00102         IDK = 1
00103         M1 = MPIZ
00104         M2 = MPIZ
00105         M3 = MPIC
00106       ELSE
00107 C it is 3pi
00108         IDK = 2
00109         M1 = MPIC
00110         M2 = MPIC
00111         M3 = MPIC
00112       END IF
00113       M1SQ = M1*M1
00114       M2SQ = M2*M2
00115       M3SQ = M3*M3
00116 
00117 C.   Then implement full form-factor from fit:
00118 C.   [(rho-pi S-wave) + (rho-prim-pi S-wave) +
00119 C.    (rho-pi D-wave) + (rho-prim-pi D-wave) + 
00120 C.    (f2 pi D-wave) + (sigmapi S-wave) + (f0pi S-wave)]
00121 C.   based on fit to pi-2pi0 by M. Schmidler, CBX 97-64-Update (4/22/98)
00122 
00123 C Note that for FORM1, the arguments are S1, S2;
00124 C           for FORM2, the arguments are S2, S1;
00125 C           for FORM3, the arguments are S3, S1.
00126 C Here, we implement FORM1 and FORM2 at the same time,
00127 C so the above switch is just what we need!
00128 
00129       IF (IFORM.EQ.1.OR.IFORM.EQ.2) THEN
00130         S1 = SA
00131         S2 = SB
00132         S3 = QQ-SA-SB+M1SQ+M2SQ+M3SQ
00133         IF (S3.LE.0..OR.S2.LE.0.) RETURN
00134 
00135         IF (IDK.EQ.1) THEN
00136 C it is 2pi0pi-
00137 C Lorentz invariants for all the contributions:
00138           F134 = -(1./3.)*((S3-M3SQ)-(S1-M1SQ))
00139           F150 =  (1./18.)*(QQ-M3SQ+S3)*(2.*M1SQ+2.*M2SQ-S3)/S3
00140           F167 =  (2./3.)
00141 
00142 C Breit Wigners for all the contributions:
00143           FRO1 = BWIGML(S1,MRO,GRO,M2,M3,1)
00144           FRP1 = BWIGML(S1,MRP,GRP,M2,M3,1)
00145           FRO2 = BWIGML(S2,MRO,GRO,M3,M1,1)
00146           FRP2 = BWIGML(S2,MRP,GRP,M3,M1,1)
00147           FF23 = BWIGML(S3,MF2,GF2,M1,M2,2)
00148           FSG3 = BWIGML(S3,MSG,GSG,M1,M2,0)
00149           FF03 = BWIGML(S3,MF0,GF0,M1,M2,0)
00150 
00151           F3PI = BT1*FRO1+BT2*FRP1+
00152      1       BT3*CMPLX(F134,0.)*FRO2+BT4*CMPLX(F134,0.)*FRP2+
00153      1       BT5*CMPLX(F150,0.)*FF23+
00154      1       BT6*CMPLX(F167,0.)*FSG3+BT7*CMPLX(F167,0.)*FF03
00155 
00156 C         F3PI = FPIKM(SQRT(S1),M2,M3)
00157         ELSEIF (IDK.EQ.2) THEN
00158 C it is 3pi
00159 C Lorentz invariants for all the contributions:
00160           F134 = -(1./3.)*((S3-M3SQ)-(S1-M1SQ))
00161           F15A = -(1./2.)*((S2-M2SQ)-(S3-M3SQ))
00162           F15B = -(1./18.)*(QQ-M2SQ+S2)*(2.*M1SQ+2.*M3SQ-S2)/S2
00163           F167 = -(2./3.)
00164 
00165 C Breit Wigners for all the contributions:
00166           FRO1 = BWIGML(S1,MRO,GRO,M2,M3,1)
00167           FRP1 = BWIGML(S1,MRP,GRP,M2,M3,1)
00168           FRO2 = BWIGML(S2,MRO,GRO,M3,M1,1)
00169           FRP2 = BWIGML(S2,MRP,GRP,M3,M1,1)
00170           FF21 = BWIGML(S1,MF2,GF2,M2,M3,2)
00171           FF22 = BWIGML(S2,MF2,GF2,M3,M1,2)
00172           FSG2 = BWIGML(S2,MSG,GSG,M3,M1,0)
00173           FF02 = BWIGML(S2,MF0,GF0,M3,M1,0)
00174 
00175           F3PI = BT1*FRO1+BT2*FRP1+
00176      1       BT3*CMPLX(F134,0.)*FRO2+BT4*CMPLX(F134,0.)*FRP2
00177      1      -BT5*CMPLX(F15A,0.)*FF21-BT5*CMPLX(F15B,0.)*FF22
00178      1      -BT6*CMPLX(F167,0.)*FSG2-BT7*CMPLX(F167,0.)*FF02
00179 
00180 C         F3PI = FPIKM(SQRT(S1),M2,M3)
00181         END IF
00182 
00183       ELSE IF (IFORM.EQ.3) THEN
00184         S3 = SA
00185         S1 = SB
00186         S2 = QQ-SA-SB+M1SQ+M2SQ+M3SQ
00187         IF (S1.LE.0..OR.S2.LE.0.) RETURN
00188 
00189         IF (IDK.EQ.1) THEN
00190 C it is 2pi0pi-
00191 C Lorentz invariants for all the contributions:
00192           F34A = (1./3.)*((S2-M2SQ)-(S3-M3SQ))
00193           F34B = (1./3.)*((S3-M3SQ)-(S1-M1SQ))
00194           F35  =-(1./2.)*((S1-M1SQ)-(S2-M2SQ))
00195 
00196 C Breit Wigners for all the contributions:
00197           FRO1 = BWIGML(S1,MRO,GRO,M2,M3,1)
00198           FRP1 = BWIGML(S1,MRP,GRP,M2,M3,1)
00199           FRO2 = BWIGML(S2,MRO,GRO,M3,M1,1)
00200           FRP2 = BWIGML(S2,MRP,GRP,M3,M1,1)
00201           FF23 = BWIGML(S3,MF2,GF2,M1,M2,2)
00202 
00203           F3PI = 
00204      1       BT3*(CMPLX(F34A,0.)*FRO1+CMPLX(F34B,0.)*FRO2)+
00205      1       BT4*(CMPLX(F34A,0.)*FRP1+CMPLX(F34B,0.)*FRP2)+
00206      1       BT5*CMPLX(F35,0.)*FF23
00207      
00208 C         F3PI = CMPLX(0.,0.)
00209         ELSEIF (IDK.EQ.2) THEN
00210 C it is 3pi
00211 C Lorentz invariants for all the contributions:
00212           F34A = (1./3.)*((S2-M2SQ)-(S3-M3SQ))
00213           F34B = (1./3.)*((S3-M3SQ)-(S1-M1SQ))
00214           F35A = -(1./18.)*(QQ-M1SQ+S1)*(2.*M2SQ+2.*M3SQ-S1)/S1
00215           F35B =  (1./18.)*(QQ-M2SQ+S2)*(2.*M3SQ+2.*M1SQ-S2)/S2
00216           F36A = -(2./3.)
00217           F36B =  (2./3.)
00218 
00219 C Breit Wigners for all the contributions:
00220           FRO1 = BWIGML(S1,MRO,GRO,M2,M3,1)
00221           FRP1 = BWIGML(S1,MRP,GRP,M2,M3,1)
00222           FRO2 = BWIGML(S2,MRO,GRO,M3,M1,1)
00223           FRP2 = BWIGML(S2,MRP,GRP,M3,M1,1)
00224           FF21 = BWIGML(S1,MF2,GF2,M2,M3,2)
00225           FF22 = BWIGML(S2,MF2,GF2,M3,M1,2)
00226           FSG1 = BWIGML(S1,MSG,GSG,M2,M3,0)
00227           FSG2 = BWIGML(S2,MSG,GSG,M3,M1,0)
00228           FF01 = BWIGML(S1,MF0,GF0,M2,M3,0)
00229           FF02 = BWIGML(S2,MF0,GF0,M3,M1,0)
00230 
00231           F3PI = 
00232      1       BT3*(CMPLX(F34A,0.)*FRO1+CMPLX(F34B,0.)*FRO2)+
00233      1       BT4*(CMPLX(F34A,0.)*FRP1+CMPLX(F34B,0.)*FRP2)
00234      1      -BT5*(CMPLX(F35A,0.)*FF21+CMPLX(F35B,0.)*FF22)
00235      1      -BT6*(CMPLX(F36A,0.)*FSG1+CMPLX(F36B,0.)*FSG2)
00236      1      -BT7*(CMPLX(F36A,0.)*FF01+CMPLX(F36B,0.)*FF02)
00237      
00238 C         F3PI = CMPLX(0.,0.)
00239         END IF
00240       END IF
00241 
00242 C Add overall a1/a1prime:
00243       FORMA1 = FA1A1P(QQ)
00244       F3PI = F3PI*FORMA1
00245 
00246       RETURN
00247       END
00248 C **********************************************************
00249       COMPLEX FUNCTION BWIGML(S,M,G,M1,M2,L)
00250 C **********************************************************
00251 C     L-WAVE BREIT-WIGNER
00252 C **********************************************************
00253       REAL S,M,G,M1,M2
00254       INTEGER L,IPOW
00255       REAL MSQ,W,WGS,MP,MM,QS,QM
00256 
00257       MP = (M1+M2)**2
00258       MM = (M1-M2)**2
00259       MSQ = M*M
00260       W = SQRT(S)
00261       WGS = 0.0
00262       IF (W.GT.(M1+M2)) THEN
00263         QS=SQRT(ABS((S   -MP)*(S   -MM)))/W
00264         QM=SQRT(ABS((MSQ -MP)*(MSQ -MM)))/M
00265         IPOW = 2*L+1
00266         WGS=G*(MSQ/W)*(QS/QM)**IPOW
00267       ENDIF
00268 
00269       BWIGML=CMPLX(MSQ,0.)/CMPLX(MSQ-S,-WGS)
00270 
00271       RETURN
00272       END
00273 C=======================================================================
00274       COMPLEX FUNCTION FA1A1P(XMSQ)
00275 C     ==================================================================
00276 C     complex form-factor for a1+a1prime.                       AJW 1/98
00277 C     ==================================================================
00278 
00279       REAL XMSQ
00280       REAL PKORB,WGA1
00281       REAL XM1,XG1,XM2,XG2,XM1SQ,XM2SQ,GG1,GG2,GF,FG1,FG2
00282       COMPLEX BET,F1,F2
00283       INTEGER IFIRST/0/
00284 
00285       IF (IFIRST.EQ.0) THEN
00286         IFIRST = 1
00287 
00288 C The user may choose masses and widths that differ from nominal:
00289         XM1 = PKORB(1,10)
00290         XG1 = PKORB(2,10)
00291         XM2 = PKORB(1,17)
00292         XG2 = PKORB(2,17)
00293         BET = CMPLX(PKORB(3,17),0.)
00294 C scale factors relative to nominal:
00295         GG1 = XM1*XG1/(1.3281*0.806)
00296         GG2 = XM2*XG2/(1.3281*0.806)
00297 
00298         XM1SQ = XM1*XM1
00299         XM2SQ = XM2*XM2
00300       END IF
00301 
00302       GF = WGA1(XMSQ)
00303       FG1 = GG1*GF
00304       FG2 = GG2*GF
00305       F1 = CMPLX(-XM1SQ,0.0)/CMPLX(XMSQ-XM1SQ,FG1)
00306       F2 = CMPLX(-XM2SQ,0.0)/CMPLX(XMSQ-XM2SQ,FG2)
00307       FA1A1P = F1+BET*F2
00308 
00309       RETURN
00310       END
00311 C=======================================================================
00312       FUNCTION WGA1(QQ)
00313 
00314 C mass-dependent M*Gamma of a1 through its decays to 
00315 C.   [(rho-pi S-wave) + (rho-pi D-wave) + 
00316 C.    (f2 pi D-wave) + (f0pi S-wave)]
00317 C.  AND simple K*K S-wave
00318 
00319       REAL QQ,WGA1
00320       DOUBLE PRECISION MKST,MK,MK1SQ,MK2SQ,C3PI,CKST
00321       DOUBLE PRECISION S,WGA1C,WGA1N,WG3PIC,WG3PIN,GKST
00322       INTEGER IFIRST
00323 C-----------------------------------------------------------------------
00324 C
00325       IF (IFIRST.NE.987) THEN
00326         IFIRST = 987
00327 C
00328 C Contribution to M*Gamma(m(3pi)^2) from S-wave K*K:
00329         MKST = 0.894D0
00330         MK = 0.496D0
00331         MK1SQ = (MKST+MK)**2
00332         MK2SQ = (MKST-MK)**2
00333 C coupling constants squared:
00334         C3PI = 0.2384D0**2
00335         CKST = 4.7621D0**2*C3PI
00336       END IF
00337 
00338 C-----------------------------------------------------------------------
00339 C Parameterization of numerical integral of total width of a1 to 3pi.
00340 C From M. Schmidtler, CBX-97-64-Update.
00341       S = DBLE(QQ)
00342       WG3PIC = WGA1C(S)
00343       WG3PIN = WGA1N(S)
00344 
00345 C Contribution to M*Gamma(m(3pi)^2) from S-wave K*K, if above threshold
00346       GKST = 0.D0
00347       IF (S.GT.MK1SQ) GKST = SQRT((S-MK1SQ)*(S-MK2SQ))/(2.*S)
00348 
00349       WGA1 = SNGL(C3PI*(WG3PIC+WG3PIN)+CKST*GKST)
00350 
00351       RETURN 
00352       END
00353 C=======================================================================
00354       DOUBLE PRECISION FUNCTION WGA1C(S)
00355 C
00356 C parameterization of m*Gamma(m^2) for pi-2pi0 system
00357 C
00358       DOUBLE PRECISION S,STH,Q0,Q1,Q2,P0,P1,P2,P3,P4,G1_IM
00359 C
00360       PARAMETER(Q0 =   5.80900D0,Q1 =  -3.00980D0,Q2 =   4.57920D0,
00361      1          P0 = -13.91400D0,P1 =  27.67900D0,P2 = -13.39300D0,
00362      2          P3 =   3.19240D0,P4 =  -0.10487D0)
00363 C
00364       PARAMETER (STH   = 0.1753D0)
00365 C---------------------------------------------------------------------
00366 
00367       IF(S.LT.STH) THEN
00368        G1_IM = 0.D0
00369       ELSEIF((S.GT.STH).AND.(S.LT.0.823D0)) THEN
00370        G1_IM = Q0*(S-STH)**3*(1. + Q1*(S-STH) + Q2*(S-STH)**2)
00371       ELSE
00372        G1_IM = P0 + P1*S + P2*S**2+ P3*S**3 + P4*S**4
00373       ENDIF
00374 
00375       WGA1C = G1_IM      
00376       RETURN
00377       END
00378 C=======================================================================
00379       DOUBLE PRECISION FUNCTION WGA1N(S)
00380 C
00381 C parameterization of m*Gamma(m^2) for pi-pi+pi- system
00382 C
00383       DOUBLE PRECISION S,STH,Q0,Q1,Q2,P0,P1,P2,P3,P4,G1_IM
00384 C
00385       PARAMETER(Q0 =   6.28450D0,Q1 =  -2.95950D0,Q2 =   4.33550D0,
00386      1          P0 = -15.41100D0,P1 =  32.08800D0,P2 = -17.66600D0,
00387      2          P3 =   4.93550D0,P4 =  -0.37498D0)
00388 C
00389       PARAMETER (STH   = 0.1676D0)
00390 C---------------------------------------------------------------------
00391 
00392       IF(S.LT.STH) THEN
00393        G1_IM = 0.D0
00394       ELSEIF((S.GT.STH).AND.(S.LT.0.823D0)) THEN
00395        G1_IM = Q0*(S-STH)**3*(1. + Q1*(S-STH) + Q2*(S-STH)**2)
00396       ELSE
00397        G1_IM = P0 + P1*S + P2*S**2+ P3*S**3 + P4*S**4
00398       ENDIF
00399 
00400       WGA1N = G1_IM      
00401       RETURN
00402       END
Generated on Sun Oct 20 20:24:08 2013 for C++InterfacetoTauola by  doxygen 1.6.3