tauola-F/f3pi.F

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