]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/PHOTOS/phoene.F
Updated cut classes and macro for Sigma* analysis (M. Venaruzzo)
[u/mrichter/AliRoot.git] / TEvtGen / PHOTOS / phoene.F
1       SUBROUTINE PHOENE(MPASQR,MCHREN,BETA,IDENT)
2 C.----------------------------------------------------------------------
3 C.
4 C.    PHOTOS:   PHOton radiation in decays calculation  of photon ENErgy
5 C.              fraction
6 C.
7 C.    Purpose:  Subroutine  returns  photon  energy fraction (in (parent
8 C.              mass)/2 units) for the decay bremsstrahlung.
9 C.
10 C.    Input Parameters:  MPASQR:  Mass of decaying system squared,
11 C.                       XPHCUT:  Minimum energy fraction of photon,
12 C.                       XPHMAX:  Maximum energy fraction of photon.
13 C.
14 C.    Output Parameter:  MCHREN:  Renormalised mass squared,
15 C.                       BETA:    Beta factor due to renormalisation,
16 C.                       XPHOTO:  Photon energy fraction,
17 C.                       XF:      Correction factor for PHOFAC.
18 C.
19 C.    Author(s):  S. Jadach, Z. Was               Created at:  01/01/89
20 C.                B. van Eijk                     Last Update: 26/03/93
21 C.
22 C.----------------------------------------------------------------------
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
45 C--
46       IF (XPHMAX.LE.XPHCUT) THEN
47         XPHOTO=0.0D0
48         RETURN
49       ENDIF
50 C--   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
62 C--
63 C--   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
69 C--
70 C--   No photon... (ie. photon too soft)
71         XPHOTO=0.D0
72       ELSE
73 C--
74 C--   Hard  photon... (ie.  photon  hard enough).
75 C--   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
81 C--
82 C--   Calculate parameter for PHOFAC function
83       XF=4.D0*MCHSQR*MPASQR/(MPASQR+MCHSQR-MNESQR)**2
84       RETURN
85       END