]>
Commit | Line | Data |
---|---|---|
0795afa3 | 1 | #include "isajet/pilot.h" |
2 | SUBROUTINE GETTOT(PRFLAG) | |
3 | C | |
4 | C Calculate total cross section within jet limits. | |
5 | C If PRFLAG=.TRUE. print summary. | |
6 | C | |
7 | #if defined(CERNLIB_IMPNONE) | |
8 | IMPLICIT NONE | |
9 | #endif | |
10 | #include "isajet/itapes.inc" | |
11 | #include "isajet/final.inc" | |
12 | #include "isajet/times.inc" | |
13 | #include "isajet/totals.inc" | |
14 | #include "isajet/keys.inc" | |
15 | #include "isajet/q1q2.inc" | |
16 | #include "isajet/const.inc" | |
17 | #include "isajet/jetlim.inc" | |
18 | #include "isajet/dylim.inc" | |
19 | #include "isajet/types.inc" | |
20 | #include "isajet/idrun.inc" | |
21 | #include "isajet/seed.inc" | |
22 | #include "isajet/primar.inc" | |
23 | #include "isajet/isloop.inc" | |
24 | #include "isajet/mgsigs.inc" | |
25 | C | |
26 | REAL DELPHI,SIGF2,FRAC,TMEAN,ALUM2,SIGF3 | |
27 | LOGICAL PRFLAG | |
28 | INTEGER I,II,KK | |
29 | REAL TMP | |
30 | LOGICAL MGFLAG | |
31 | C | |
32 | C Calculate jet cross sections | |
33 | C | |
34 | SIGF=0. | |
35 | ALUM=0. | |
36 | ACCEPT=0. | |
37 | NKINF=NKINPT | |
38 | C For 2-body processes we can use the totals. | |
39 | C For MadGraph we must sum the partial cross sections. | |
40 | MGFLAG=KEYS(12) | |
41 | IF(NKINPT.GT.0.AND..NOT.MGFLAG) THEN | |
42 | SIGF=SUMWT/NKINPT | |
43 | DELPHI=2.*PI | |
44 | IF(KEYS(1).OR.KEYS(2).OR.KEYS(5).OR.KEYS(6).OR.KEYS(8) | |
45 | $ .OR.KEYS(9)) THEN | |
46 | DELPHI=PHIMAX(1)-PHIMIN(1) | |
47 | ELSEIF(KEYS(3).AND..NOT.STDDY) THEN | |
48 | DELPHI=PHWMAX-PHWMIN | |
49 | ENDIF | |
50 | SIGF=SIGF*DELPHI/(2.*PI) | |
51 | ELSEIF(MGFLAG) THEN | |
52 | DO 10 I=1,NSIG8 | |
53 | SIGF=SIGF+WTSUM8(I)/NWT8(I) | |
54 | 10 CONTINUE | |
55 | ENDIF | |
56 | C | |
57 | C Print summary if desired | |
58 | C | |
59 | IF(.NOT.PRFLAG) RETURN | |
60 | C | |
61 | C Print header and title | |
62 | WRITE(ITLIS,100) | |
63 | 100 FORMAT('1',30('*')/' *',28X,'*'/ | |
64 | 1' *',5X,'ISAJET RUN SUMMARY',5X,'*'/ | |
65 | 2' *',28X,'*'/1X,30('*')//) | |
66 | WRITE(ITLIS,101) TITLE | |
67 | 101 FORMAT(//11X,10A8) | |
68 | IF(NKINPT.EQ.0) GO TO 300 | |
69 | C | |
70 | C Print cross section | |
71 | WRITE(ITLIS,102) NKINPT | |
72 | 102 FORMAT(//' NO. KINEMATIC POINTS GENERATED =',I13) | |
73 | SIGF2=SIGF*NEVOLV*NFRGMN | |
74 | WRITE(ITLIS,103) SIGF2 | |
75 | 103 FORMAT(//' MONTE CARLO JET CROSS SECTION =',E13.4,' MB') | |
76 | IF(SIGF.EQ.0.) WRITE(ITLIS,111) | |
77 | 111 FORMAT(' CROSS SECTION IS ZERO IF VARIABLES ARE FIXED') | |
78 | C | |
79 | C Print W decay acceptance | |
80 | IF(KEYS(3)) THEN | |
81 | ACCEPT=FLOAT(NKEEP)/FLOAT(NWGEN) | |
82 | WRITE(ITLIS,105) ACCEPT | |
83 | 105 FORMAT(//' ACCEPTANCE FOR W DECAYS =',E13.4) | |
84 | ELSEIF(KEYS(7)) THEN | |
85 | ACCEPT=FLOAT(NKEEP)/FLOAT(NWGEN) | |
86 | WRITE(ITLIS,106) ACCEPT | |
87 | 106 FORMAT(//' ACCEPTANCE FOR H DECAYS =',E13.4) | |
88 | ENDIF | |
89 | C | |
90 | C Print luminosity | |
91 | IF(SIGF.GT.0.) THEN | |
92 | ALUM=NEVENT/SIGF | |
93 | IF(KEYS(4)) ALUM=NKINPT/SIGF | |
94 | WRITE(ITLIS,104) ALUM | |
95 | 104 FORMAT(//' EQUIVALENT INTEGRAL LUMINOSITY =',E13.4, | |
96 | $ ' /MB') | |
97 | ENDIF | |
98 | C | |
99 | C Print final multijet cross sections | |
100 | IF(KEYS(12)) THEN | |
101 | WRITE(ITLIS,9001) | |
102 | 9001 FORMAT(//6X,'FINAL MULTIJET CROSS SECTIONS'/ | |
103 | $ 6X,'PROCESS',18X,'SIGMA',10X,'MAX(SIGMA)') | |
104 | DO 992 I=1,NSIG8 | |
105 | II=ISORT8(I) | |
106 | TMP=WTSUM8(II)/NWT8(II) | |
107 | WRITE(ITLIS,9002) (IDENT8(KK,II),KK=1,5),TMP,WTMAX8(II) | |
108 | 9002 FORMAT(2X,5I5,2E15.5) | |
109 | 992 CONTINUE | |
110 | WRITE(ITLIS,*) | |
111 | ENDIF | |
112 | C | |
113 | C Print statistics for multiple evolution and fragmentation | |
114 | IF(NEVOLV.GT.1.OR.NFRGMN.GT.1) THEN | |
115 | FRAC=FLOAT(IEVGEN)/FLOAT(IEVT) | |
116 | WRITE(ITLIS,201) IEVGEN | |
117 | 201 FORMAT(//' NUMBER OF ACCEPTED EVENTS =',I13) | |
118 | WRITE(ITLIS,202) FRAC | |
119 | 202 FORMAT(' FRACTION OF ACCEPTED EVENTS =',E13.4) | |
120 | SIGF3=SIGF2*FRAC | |
121 | WRITE(ITLIS,203) SIGF3 | |
122 | 203 FORMAT(' CROSS SECTION FOR ACCEPTED EVENTS =',E13.4) | |
123 | ENDIF | |
124 | C | |
125 | C Print mean time per event | |
126 | 300 TMEAN=(TIME2-TIME1)/NEVENT | |
127 | WRITE(ITLIS,301) TMEAN | |
128 | 301 FORMAT(//' MEAN TIME PER GENERATED EVENT =',E13.4, | |
129 | $' SEC') | |
130 | C | |
131 | C Print final seed | |
132 | CALL RANFMT | |
133 | WRITE(ITLIS,302) XSEED | |
134 | 302 FORMAT(//' FINAL RANDOM NUMBER SEED =',A24) | |
135 | C | |
136 | C Print run identifier | |
137 | WRITE(ITLIS,303) IDG | |
138 | 303 FORMAT(//' END OF ISAJET RUN =',2I9.6) | |
139 | RETURN | |
140 | END |