]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/PHOTOS/phoene.F
Updated version.
[u/mrichter/AliRoot.git] / TEvtGen / PHOTOS / phoene.F
CommitLineData
da0e9ce3 1 SUBROUTINE PHOENE(MPASQR,MCHREN,BETA,IDENT)
2C.----------------------------------------------------------------------
3C.
4C. PHOTOS: PHOton radiation in decays calculation of photon ENErgy
5C. fraction
6C.
7C. Purpose: Subroutine returns photon energy fraction (in (parent
8C. mass)/2 units) for the decay bremsstrahlung.
9C.
10C. Input Parameters: MPASQR: Mass of decaying system squared,
11C. XPHCUT: Minimum energy fraction of photon,
12C. XPHMAX: Maximum energy fraction of photon.
13C.
14C. Output Parameter: MCHREN: Renormalised mass squared,
15C. BETA: Beta factor due to renormalisation,
16C. XPHOTO: Photon energy fraction,
17C. XF: Correction factor for PHOFAC.
18C.
19C. Author(s): S. Jadach, Z. Was Created at: 01/01/89
20C. B. van Eijk Last Update: 26/03/93
21C.
22C.----------------------------------------------------------------------
23 IMPLICIT NONE
24 DOUBLE PRECISION MPASQR,MCHREN,BIGLOG,BETA,DATA
25 INTEGER IWT1,IRN,IWT2
26 REAL*8 PRSOFT,PRHARD,PHORAN,PHOFAC
27 DOUBLE PRECISION MCHSQR,MNESQR
28 REAL*8 PNEUTR
29 INTEGER IDENT
30 REAL*8 PHOCHA
31 COMMON/PHOMOM/MCHSQR,MNESQR,PNEUTR(5)
32 DOUBLE PRECISION COSTHG,SINTHG
33 REAL*8 XPHMAX,XPHOTO
34 COMMON/PHOPHS/XPHMAX,XPHOTO,COSTHG,SINTHG
35 REAL*8 ALPHA,XPHCUT
36 COMMON/PHOCOP/ALPHA,XPHCUT
37 REAL*8 PI,TWOPI
38 COMMON/PHPICO/PI,TWOPI
39 INTEGER IREP
40 REAL*8 PROBH,CORWT,XF
41 COMMON/PHOPRO/PROBH,CORWT,XF,IREP
42 LOGICAL INTERF,ISEC,IFTOP
43 REAL*8 FINT,FSEC
44 COMMON /PHOKEY/ FSEC,FINT,INTERF,ISEC,IFTOP
45C--
46 IF (XPHMAX.LE.XPHCUT) THEN
47 XPHOTO=0.0D0
48 RETURN
49 ENDIF
50C-- Probabilities for hard and soft bremstrahlung...
51 MCHREN=4.D0*MCHSQR/MPASQR/(1.D0+MCHSQR/MPASQR)**2
52 BETA=SQRT(1.D0-MCHREN)
53 BIGLOG=LOG(MPASQR/MCHSQR*(1.D0+BETA)**2/4.D0*
54 & (1.D0+MCHSQR/MPASQR)**2)
55 PRHARD=ALPHA/PI/BETA*BIGLOG*(LOG(XPHMAX/XPHCUT)-.75D0+XPHCUT/
56 &XPHMAX-.25D0*XPHCUT**2/XPHMAX**2)
57 PRHARD=PRHARD*PHOCHA(IDENT)**2*FINT*FSEC
58 IF (IREP.EQ.0) PROBH=0.D0
59 PRHARD=PRHARD*PHOFAC(0)
60 PROBH=PRHARD
61 PRSOFT=1.D0-PRHARD
62C--
63C-- Check on kinematical bounds
64 IF (PRSOFT.LT.0.1D0) THEN
65 DATA=PRSOFT
66 CALL PHOERR(2,'PHOENE',DATA)
67 ENDIF
68 IF (PHORAN(IWT1).LT.PRSOFT) THEN
69C--
70C-- No photon... (ie. photon too soft)
71 XPHOTO=0.D0
72 ELSE
73C--
74C-- Hard photon... (ie. photon hard enough).
75C-- Calculate Altarelli-Parisi Kernel
76 10 XPHOTO=EXP(PHORAN(IRN)*LOG(XPHCUT/XPHMAX))
77 XPHOTO=XPHOTO*XPHMAX
78 IF (PHORAN(IWT2).GT.((1.D0+(1.D0-XPHOTO/XPHMAX)**2)/2.D0))
79 & GOTO 10
80 ENDIF
81C--
82C-- Calculate parameter for PHOFAC function
83 XF=4.D0*MCHSQR*MPASQR/(MPASQR+MCHSQR-MNESQR)**2
84 RETURN
85 END