+++ /dev/null
- SUBROUTINE PHOENE(MPASQR,MCHREN,BETA,IDENT)
-C.----------------------------------------------------------------------
-C.
-C. PHOTOS: PHOton radiation in decays calculation of photon ENErgy
-C. fraction
-C.
-C. Purpose: Subroutine returns photon energy fraction (in (parent
-C. mass)/2 units) for the decay bremsstrahlung.
-C.
-C. Input Parameters: MPASQR: Mass of decaying system squared,
-C. XPHCUT: Minimum energy fraction of photon,
-C. XPHMAX: Maximum energy fraction of photon.
-C.
-C. Output Parameter: MCHREN: Renormalised mass squared,
-C. BETA: Beta factor due to renormalisation,
-C. XPHOTO: Photon energy fraction,
-C. XF: Correction factor for PHOFAC.
-C.
-C. Author(s): S. Jadach, Z. Was Created at: 01/01/89
-C. B. van Eijk Last Update: 26/03/93
-C.
-C.----------------------------------------------------------------------
- IMPLICIT NONE
- DOUBLE PRECISION MPASQR,MCHREN,BIGLOG,BETA,DATA
- INTEGER IWT1,IRN,IWT2
- REAL*8 PRSOFT,PRHARD,PHORAN,PHOFAC
- DOUBLE PRECISION MCHSQR,MNESQR
- REAL*8 PNEUTR
- INTEGER IDENT
- REAL*8 PHOCHA
- COMMON/PHOMOM/MCHSQR,MNESQR,PNEUTR(5)
- DOUBLE PRECISION COSTHG,SINTHG
- REAL*8 XPHMAX,XPHOTO
- COMMON/PHOPHS/XPHMAX,XPHOTO,COSTHG,SINTHG
- REAL*8 ALPHA,XPHCUT
- COMMON/PHOCOP/ALPHA,XPHCUT
- REAL*8 PI,TWOPI
- COMMON/PHPICO/PI,TWOPI
- INTEGER IREP
- REAL*8 PROBH,CORWT,XF
- COMMON/PHOPRO/PROBH,CORWT,XF,IREP
- LOGICAL INTERF,ISEC,IFTOP
- REAL*8 FINT,FSEC
- COMMON /PHOKEY/ FSEC,FINT,INTERF,ISEC,IFTOP
-C--
- IF (XPHMAX.LE.XPHCUT) THEN
- XPHOTO=0.0D0
- RETURN
- ENDIF
-C-- Probabilities for hard and soft bremstrahlung...
- MCHREN=4.D0*MCHSQR/MPASQR/(1.D0+MCHSQR/MPASQR)**2
- BETA=SQRT(1.D0-MCHREN)
- BIGLOG=LOG(MPASQR/MCHSQR*(1.D0+BETA)**2/4.D0*
- & (1.D0+MCHSQR/MPASQR)**2)
- PRHARD=ALPHA/PI/BETA*BIGLOG*(LOG(XPHMAX/XPHCUT)-.75D0+XPHCUT/
- &XPHMAX-.25D0*XPHCUT**2/XPHMAX**2)
- PRHARD=PRHARD*PHOCHA(IDENT)**2*FINT*FSEC
- IF (IREP.EQ.0) PROBH=0.D0
- PRHARD=PRHARD*PHOFAC(0)
- PROBH=PRHARD
- PRSOFT=1.D0-PRHARD
-C--
-C-- Check on kinematical bounds
- IF (PRSOFT.LT.0.1D0) THEN
- DATA=PRSOFT
- CALL PHOERR(2,'PHOENE',DATA)
- ENDIF
- IF (PHORAN(IWT1).LT.PRSOFT) THEN
-C--
-C-- No photon... (ie. photon too soft)
- XPHOTO=0.D0
- ELSE
-C--
-C-- Hard photon... (ie. photon hard enough).
-C-- Calculate Altarelli-Parisi Kernel
- 10 XPHOTO=EXP(PHORAN(IRN)*LOG(XPHCUT/XPHMAX))
- XPHOTO=XPHOTO*XPHMAX
- IF (PHORAN(IWT2).GT.((1.D0+(1.D0-XPHOTO/XPHMAX)**2)/2.D0))
- & GOTO 10
- ENDIF
-C--
-C-- Calculate parameter for PHOFAC function
- XF=4.D0*MCHSQR*MPASQR/(MPASQR+MCHSQR-MNESQR)**2
- RETURN
- END