]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/PHOTOS/phocor.F
de-comment a piece of code I forgot while testing
[u/mrichter/AliRoot.git] / TEvtGen / PHOTOS / phocor.F
1       FUNCTION PHOCOR(MPASQR,MCHREN,ME)
2 C.----------------------------------------------------------------------
3 C.
4 C.    PHOTOS:   PHOton radiation in decays CORrection weight from
5 C.              matrix elements
6 C.
7 C.    Purpose:  Calculate  photon  angle.  The reshaping functions  will
8 C.              have  to  depend  on the spin S of the charged particle.
9 C.              We define:  ME = 2 * S + 1 !
10 C.
11 C.    Input Parameters:  MPASQR:  Parent mass squared,
12 C.                       MCHREN:  Renormalised mass of charged system,
13 C.                       ME:      2 * spin + 1 determines matrix element
14 C.
15 C.    Output Parameter:  Function value.
16 C.
17 C.    Author(s):  Z. Was, B. van Eijk             Created at:  26/11/89
18 C.                                                Last Update: 21/03/93
19 C.
20 C.----------------------------------------------------------------------
21       IMPLICIT NONE
22       DOUBLE PRECISION MPASQR,MCHREN,BETA,XX,YY,DATA
23       INTEGER ME
24       REAL*8 PHOCOR,PHOFAC,WT1,WT2,WT3
25       DOUBLE PRECISION MCHSQR,MNESQR
26       REAL*8 PNEUTR
27       COMMON/PHOMOM/MCHSQR,MNESQR,PNEUTR(5)
28       DOUBLE PRECISION COSTHG,SINTHG
29       REAL*8 XPHMAX,XPHOTO
30       COMMON/PHOPHS/XPHMAX,XPHOTO,COSTHG,SINTHG
31       INTEGER IREP
32       REAL*8 PROBH,CORWT,XF
33       COMMON/PHOPRO/PROBH,CORWT,XF,IREP
34 C--
35 C--   Shaping (modified by ZW)...
36       XX=4.D0*MCHSQR/MPASQR*(1.D0-XPHOTO)/(1.D0-XPHOTO+(MCHSQR-MNESQR)/
37      &MPASQR)**2
38       IF (ME.EQ.1) THEN
39         YY=1.D0
40         WT3=(1.D0-XPHOTO/XPHMAX)/((1.D0+(1.D0-XPHOTO/XPHMAX)**2)/2.D0)
41       ELSEIF (ME.EQ.2) THEN
42         YY=0.5D0*(1.D0-XPHOTO/XPHMAX+1.D0/(1.D0-XPHOTO/XPHMAX))
43         WT3=1.D0
44       ELSEIF ((ME.EQ.3).OR.(ME.EQ.4).OR.(ME.EQ.5)) THEN
45         YY=1.D0
46         WT3=(1.D0+(1.D0-XPHOTO/XPHMAX)**2-(XPHOTO/XPHMAX)**3)/
47      &  (1.D0+(1.D0-XPHOTO/XPHMAX)** 2)
48       ELSE
49         DATA=(ME-1.D0)/2.D0
50         CALL PHOERR(6,'PHOCOR',DATA)
51         YY=1.D0
52         WT3=1.D0
53       ENDIF
54       BETA=SQRT(1.D0-XX)
55       WT1=(1.D0-COSTHG*SQRT(1.D0-MCHREN))/(1.D0-COSTHG*BETA)
56       WT2=(1.D0-XX/YY/(1.D0-BETA**2*COSTHG**2))*(1.D0+COSTHG*BETA)/2.D0
57       WT2=WT2*PHOFAC(1)
58       PHOCOR=WT1*WT2*WT3
59       CORWT=PHOCOR
60       IF (PHOCOR.GT.1.D0) THEN
61         DATA=PHOCOR
62         CALL PHOERR(3,'PHOCOR',DATA)
63       ENDIF
64       RETURN
65       END