1 #include "isajet/pilot.h"
4 C Find approximate QMW and QTW dependence for DRELLYAN.
5 C Set up /WGEN/ to generate QMW and QTW. Fit is
7 C SIGMA=ANORM/(Q2/QMAX**2)**QPOW/(PT**2+RNU2)**PTPOW
9 C SIGMA=ANORM/((Q**2-M**2)**2+M**2*GAM**2)
10 C with appropriate M and GAM.
12 C Ver. 6.23: Remove extension of region 1 under region 2
13 C to avoid discontinuity in d(sigma)/d(M)
14 C Ver. 6.40: Scale Q**2 fit by QMAX**2 to avoid underflow
15 C problems. Must also change DRLLYN
17 #if defined(CERNLIB_IMPNONE)
20 #include "isajet/itapes.inc"
21 #include "isajet/dypar.inc"
22 #include "isajet/dylim.inc"
23 #include "isajet/jetpar.inc"
24 #include "isajet/jetlim.inc"
25 #include "isajet/q1q2.inc"
26 #include "isajet/wcon.inc"
27 #include "isajet/wgen.inc"
28 #include "isajet/jetsig.inc"
29 #include "isajet/keys.inc"
30 #include "isajet/hcon.inc"
31 #include "isajet/tcpar.inc"
32 #include "isajet/xmssm.inc"
34 REAL QT2CUT,DPT,QMN,QMX,EM,GAM,DELM,QSTOR,SUMS,DQ,ETAX,ETA,
35 $Q2,XI,ALI,SIGSAV,T1,T2,T3,T4,T5,DET,DEVMAX,PTNU,ALPTNU,ALQ2,FIT,
36 $DEV,DY3,DYW,SIG00,FACTOR,FAC1,C1,B1,SUM,AL1,QMAX2
37 INTEGER NDIV1,NDIV2,K,I,NQS,J,N,NDIV3,NDIV4,IW,I3,II
39 DIMENSION QMN(3),QMX(3)
40 DIMENSION SIGSAV(20,20)
43 QT2CUT(QMW)=CUTOFF*QMW**CUTPOW
58 DPT=(PTMAX(3)-PTMIN(3))/NDIV2
70 C Define resonance region
73 IF(JWTYP.EQ.1) GO TO 99
81 DELM=AMIN1(DELM,1.5*HGAM)
82 DELM=AMAX1(DELM,.1*EM)
87 DELM=AMIN1(DELM,1.5*TCGRHO)
88 DELM=AMAX1(DELM,.1*EM)
89 C No resonance region for KKG
104 IF(QMAX.LE.QMN(3)) NKH=2
105 IF(QMAX.LE.QMN(2)) NKH=1
106 IF(QMIN.GE.QMN(2)) NKL=2
107 IF(QMIN.GE.QMN(3)) NKL=3
112 C Fit over regions NKL to NKH
113 C Region 1 is below resonance
114 C Region 2 is inside resonance
115 C Region 3 is above resonance
116 C FIT=ANORM/(Q2/QMAX**2)**QPOW/(PT**2+RNU2)**PTPOW
130 DQ=(QMX(K)-QMN(K))/NDIV1
133 PT(3)=PTMIN(3)+(I-1)*DPT
136 RNU2(K)=QT2CUT(QMN(K))
137 ETAX=PT(3)**2+RNU2(K)
145 SUMS(5)=SUMS(5)+ETA*ETA
146 SUMS(4)=SUMS(4)+XI**2
147 SUMS(7)=SUMS(7)+XI*ETA
151 ELSEIF(KEYS(7).AND..NOT.GOMSSM) THEN
153 ELSEIF(KEYS(7).AND.GOMSSM) THEN
157 ELSEIF(KEYS(11)) THEN
160 IF(SIGMA.EQ.0.) GO TO 999
163 IF(K.EQ.2) AL1=AL1+ALOG((Q2-EM**2)**2+EMGAM**2)
165 SUMS(8)=SUMS(8)+AL1*XI
166 SUMS(9)=SUMS(9)+AL1*ETA
170 C Find coefficients minimizing chisq
173 T1=N*SUMS(7)-SUMS(1)*SUMS(2)
174 T2=N*SUMS(5)-SUMS(2)**2
175 T3=N*SUMS(4)-SUMS(1)**2
176 T4=N*SUMS(8)-SUMS(1)*SUMS(3)
177 T5=N*SUMS(9)-SUMS(2)*SUMS(3)
178 IF((FIXQM.OR.K.EQ.2).AND.FIXQT) THEN
184 ELSEIF(FIXQM.OR.K.EQ.2) THEN
189 PTPOW(K)=(T5*T3-T4*T1)/DET
190 QPOW(K)=(T4*T2-T1*T5)/DET
192 ANORM(K)=(QPOW(K)*SUMS(1)+PTPOW(K)*SUMS(2)+SUMS(3))/N
194 C Shift fit to obtain envelope for SIGDY
198 PT(3)=PTMIN(3)+(I-1)*DPT
199 PTNU=PT(3)**2+RNU2(K)
206 FIT=EXP(ANORM(K)-PTPOW(K)*ALPTNU
207 $ -ALOG((Q2-EM**2)**2+EMGAM**2))
209 FIT=EXP(ANORM(K)-PTPOW(K)*ALPTNU-QPOW(K)*ALQ2)
211 DEV=SIGSAV(I,J)-ALOG(FIT)
212 IF(DEV.GT.DEVMAX) DEVMAX=DEV
215 ANORM(K)=ANORM(K)+DEVMAX
218 C Shift fit to obtain envelope in YW
225 DY3=(YJMAX(3)-YJMIN(3))/(NDIV4-1)
227 DYW=(YWMAX-YWMIN)/(NDIV3-1)
241 ELSEIF(KEYS(7).AND..NOT.GOMSSM) THEN
243 ELSEIF(KEYS(7).AND.GOMSSM) THEN
247 ELSEIF(KEYS(11)) THEN
256 YJ(3)=YJMIN(3)+(I3-1)*DY3
258 STH(3)=SQRT(1.-CTH(3)**2)
259 IF(STH(3).EQ.0.) GO TO 320
265 ELSEIF(KEYS(7).AND..NOT.GOMSSM) THEN
267 ELSEIF(KEYS(7).AND.GOMSSM) THEN
271 ELSEIF(KEYS(11)) THEN
275 FACTOR=AMAX1(FACTOR,FAC1)
278 ANORM(K)=ALOG(FACTOR)+ANORM(K)
281 C Set up generating constants for PT**2 and QMW**2
285 PTGN(1,K)=(PTMIN(3)**2+RNU2(K))**C1
286 PTGN(2,K)=(PTMAX(3)**2+RNU2(K))**C1-PTGN(1,K)
289 QGEN(1,2)=ATAN((QMN(2)**2-EMSQ)/EMGAM)
290 QGEN(2,2)=ATAN((QMX(2)**2-EMSQ)/EMGAM)-QGEN(1,2)
294 QGEN(1,K)=(QMN(K)/QMAX)**(2.*B1)
295 QGEN(2,K)=(QMX(K)/QMAX)**(2.*B1)-QGEN(1,K)
306 IF(.NOT.FIXQT) QSELWT(K)=QSELWT(K)*PTGN(2,K)*PTGN(3,K)
309 QSELWT(K)=QSELWT(K)*QGEN(2,K)/EMGAM
311 QSELWT(K)=QMAX**2*QSELWT(K)*QGEN(2,K)*QGEN(3,K)
314 QSELWT(K)=EXP(ALOG(QSELWT(K))+ANORM(K))
319 QSELWT(K)=QSELWT(K)/SUM
322 C Write fit to output
325 4301 FORMAT(//10X,' QT AND Q FIRST GENERATED BY--'/)
327 WRITE(ITLIS,4402) K,QMN(K),QMX(K)
328 4402 FORMAT(//5X,' REGION',I2,5X,E11.4,' < Q < ',E11.5)
329 WRITE(ITLIS,4403) (PTGN(II,K),II=1,3),RNU2(K)
330 4403 FORMAT(/' QT**2 = (',E11.4,' + ',E11.4,' * RANF) ** ',E11.4,
333 WRITE(ITLIS,4404) QMAX2,(QGEN(II,K),II=1,3)
334 4404 FORMAT(/' Q**2 = ',E11.4,' * (',E11.4,' + ',E11.4,
335 $ ' * RANF) ** ',E11.4)
337 WRITE(ITLIS,4505) QGEN(3,K),QGEN(1,K),QGEN(2,K),EMSQ
338 4505 FORMAT(/' Q**2 = ',E11.4,' * TAN(',E11.4,' + ',E11.4,
339 $ ' * RANF) + ',E11.4)
341 WRITE(ITLIS,4506) QSELWT(K)
342 4506 FORMAT(/' WEIGHT = ',E11.4)
345 C Set fixed limits if any
358 C Fit fails if SIGMA=0 in allowed range
360 999 WRITE(ITLIS,9990) QMW,QTW
361 9990 FORMAT(//' ERROR IN QFUNC...SIGMA=0 FOR QMW = ',E12.4,' , QTW = ',
362 1E12.4/' CHECK YOUR LIMITS')