]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HERWIG/src/hwdxlm.f
Minor fixes in the event tag to take into account the new way of storing the trigger...
[u/mrichter/AliRoot.git] / HERWIG / src / hwdxlm.f
1
2 CDECK  ID>, HWDXLM.
3
4 *CMZ :-        -27/07/99  13.33.03  by  Mike Seymour
5
6 *-- Author :    Ian Knowles
7
8 C-----------------------------------------------------------------------
9
10       SUBROUTINE HWDXLM(DKVRTX,STAB)
11
12 C-----------------------------------------------------------------------
13
14 C     Sets STAB=.TRUE. if DKVRTX lies outside the specified region.
15
16 C-----------------------------------------------------------------------
17
18       INCLUDE 'HERWIG61.INC'
19
20       DOUBLE PRECISION DKVRTX(4),RCYL,RSPH,ZMAX,R,S
21
22       LOGICAL STAB
23
24       PARAMETER (RCYL=20,RSPH=100,ZMAX=500)
25
26       STAB=.FALSE.
27
28       IF (IOPDKL.EQ.1) THEN
29
30 C Cylinderical geometry
31
32          S=SQRT(DKVRTX(1)**2+DKVRTX(2)**2)
33
34          IF (S.GE.RCYL.OR.ABS(DKVRTX(3)).GE.ZMAX) STAB=.TRUE.
35
36       ELSEIF (IOPDKL.EQ.2) THEN
37
38 C Spherical geometry
39
40          R=SQRT(DKVRTX(1)**2+DKVRTX(2)**2+DKVRTX(3)**2)
41
42          IF (R.GE.RSPH) STAB=.TRUE.
43
44       ELSE
45
46 C User supplied geometry
47
48       ENDIF
49
50       RETURN
51
52   999 END
53
54 CDECK  ID>, HWEFIN.
55
56 *CMZ :-        -26/04/91  11.11.55  by  Bryan Webber
57
58 *-- Author :    Bryan Webber
59
60 C-----------------------------------------------------------------------
61
62       SUBROUTINE HWEFIN
63
64 C-----------------------------------------------------------------------
65
66 C     TERMINAL CALCULATIONS ON ELEMENTARY PROCESS
67
68 C-----------------------------------------------------------------------
69
70       INCLUDE 'HERWIG61.INC'
71
72       DOUBLE PRECISION RNWGT,SPWGT,ERWGT
73
74       WRITE (6,1)
75
76     1 FORMAT(/10X,'OUTPUT ON ELEMENTARY PROCESS'/)
77
78       IF (NWGTS.EQ.0) THEN
79
80         WRITE (6,10)
81
82    10   FORMAT(10X,'NO WEIGHTS GENERATED')
83
84       ELSE
85
86         RNWGT=1./FLOAT(NWGTS)
87
88         AVWGT=WGTSUM*RNWGT
89
90         SPWGT=SQRT(MAX(WSQSUM*RNWGT-AVWGT**2,ZERO))
91
92         ERWGT=SPWGT*SQRT(RNWGT)
93
94         IF (.NOT.NOWGT) WGTMAX=AVWGT
95
96         IF (WGTMAX.EQ.ZERO) WGTMAX=ONE
97
98         WRITE (6,11) NEVHEP,NWGTS,AVWGT,SPWGT,WBIGST,WGTMAX,IPROC,
99
100      &               1000.*AVWGT,1000.*ERWGT,100.*AVWGT/WGTMAX
101
102    11   FORMAT(1P,
103
104      &         10X,'NUMBER OF EVENTS   = ',I11/
105
106      &         10X,'NUMBER OF WEIGHTS  = ',I11/
107
108      &         10X,'MEAN VALUE OF WGT  =',E12.4/
109
110      &         10X,'RMS SPREAD IN WGT  =',E12.4/
111
112      &         10X,'ACTUAL MAX WEIGHT  =',E12.4/
113
114      &         10X,'ASSUMED MAX WEIGHT =',E12.4//
115
116      &         10X,'PROCESS CODE IPROC = ',I11/
117
118      &         10X,'CROSS SECTION (PB) =',G12.4/
119
120      &         10X,'ERROR IN C-S  (PB) =',G12.4/
121
122      &         10X,'EFFICIENCY PERCENT =',G12.4)
123
124       ENDIF
125
126       END