]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TEvtGen/PHOTOS/phocor.F
minor coding rule corrections, removed deprecated class
[u/mrichter/AliRoot.git] / TEvtGen / PHOTOS / phocor.F
CommitLineData
da0e9ce3 1 FUNCTION PHOCOR(MPASQR,MCHREN,ME)
2C.----------------------------------------------------------------------
3C.
4C. PHOTOS: PHOton radiation in decays CORrection weight from
5C. matrix elements
6C.
7C. Purpose: Calculate photon angle. The reshaping functions will
8C. have to depend on the spin S of the charged particle.
9C. We define: ME = 2 * S + 1 !
10C.
11C. Input Parameters: MPASQR: Parent mass squared,
12C. MCHREN: Renormalised mass of charged system,
13C. ME: 2 * spin + 1 determines matrix element
14C.
15C. Output Parameter: Function value.
16C.
17C. Author(s): Z. Was, B. van Eijk Created at: 26/11/89
18C. Last Update: 21/03/93
19C.
20C.----------------------------------------------------------------------
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
34C--
35C-- 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