#include "isajet/pilot.h" SUBROUTINE ISABEG(IFL) C---------------------------------------------------------------------- C- C- Purpose and Methods : C- Initialize a process before event generation C- C- Created 5-FEB-1988 Serban D. Protopopescu C- C Ver 7.14: Do logic after setting physics parameters C---------------------------------------------------------------------- #if defined(CERNLIB_IMPNONE) IMPLICIT NONE #endif #include "isajet/nodcay.inc" #include "isajet/idrun.inc" #include "isajet/keys.inc" #include "isajet/primar.inc" #include "isajet/jetpar.inc" #include "isajet/isloop.inc" #include "isajet/xmssm.inc" #include "isajet/isapw.inc" C INTEGER IFL,I LOGICAL FIRST SAVE FIRST CHARACTER*30 ISAPW2 SAVE ISAPW2 DATA FIRST/.TRUE./ C ISAPW2 is used to check whether ALDATA is loaded DATA ISAPW2/'ALDATA REQUIRED BY FORTRAN G,H'/ C C Initialize C IF(ISAPW1.NE.ISAPW2) THEN PRINT*, ' ISABEG ERROR: BLOCK DATA ALDATA HAS NOT BEEN LOADED.' PRINT*, ' ISAJET CANNOT RUN WITHOUT IT.' PRINT*, ' PLEASE READ THE FINE MANUAL FOR ISAJET.' STOP99 ENDIF C IF (FIRST) THEN FIRST=.FALSE. ELSE CALL SETNXT ENDIF IEVT=0 IEVGEN=0 NEVENT=0 IEVOL=1 IFRG=1 C C Read in user data and decay table C CALL READIN(IFL) IF(IFL.NE.0) GOTO 999 CALL IDGEN IF(GOMSSM) THEN CALL DOMSSM ENDIF IF (KEYS(10).AND..NOT.GOMSSM) THEN CALL SETH END IF CALL SETDKY(.FALSE.) C C Generate NSIGMA unevolved events for SIGF calculation C C TWOJET events IF(KEYS(1)) THEN CALL MBSET CALL SETW CALL LOGIC CALL PRTLIM CALL PTFUN DO 105 I=1,NSIGMA 105 CALL TWOJET CALL TIMER(1) C C E+E- events ELSE IF(KEYS(2)) THEN CALL SETW CALL LOGIC CALL PRTLIM CALL EEBEG CALL EEMAX DO 205 I=1,NSIGMA 205 CALL ELCTRN CALL TIMER(1) C C DRELLYAN events ELSE IF(KEYS(3)) THEN CALL SETW CALL MBSET CALL LOGIC CALL PRTLIM CALL QFUNC DO 305 I=1,NSIGMA 305 CALL DRLLYN CALL TIMER(1) C C MINBIAS events ELSE IF(KEYS(4)) THEN PBEAM(1)=HALFE PBEAM(2)=HALFE CALL PRTLIM CALL MBSET CALL TIMER(1) C C SUPERSYM events ELSE IF(KEYS(5)) THEN CALL SETW CALL MBSET CALL LOGIC CALL PRTLIM CALL PTFUN DO 505 I=1,NSIGMA 505 CALL TWOJET CALL TIMER(1) C C WPAIR events ELSE IF(KEYS(6)) THEN CALL SETW CALL MBSET CALL LOGIC CALL PRTLIM CALL PTFUN DO 605 I=1,NSIGMA CALL TWOJET 605 CALL WPAIR CALL TIMER(1) C C HIGGS events ELSE IF(KEYS(7)) THEN CALL SETW IF(GOMSSM) THEN CALL SETHSS ELSE CALL SETH ENDIF CALL MBSET CALL LOGIC CALL PRTLIM CALL QFUNC DO 705 I=1,NSIGMA 705 CALL DRLLYN CALL TIMER(1) C C PHOTON events ELSEIF(KEYS(8)) THEN CALL MBSET CALL SETW CALL LOGIC CALL PRTLIM CALL PTFUN DO 805 I=1,NSIGMA 805 CALL TWOJET CALL TIMER(1) C C TCOLOR events ELSE IF(KEYS(9)) THEN CALL SETW CALL MBSET CALL LOGIC CALL PRTLIM CALL QFUNC DO 905 I=1,NSIGMA 905 CALL DRLLYN CALL TIMER(1) C C WHIGGS events ELSE IF(KEYS(10)) THEN CALL SETW CALL MBSET CALL LOGIC CALL PRTLIM CALL PTFUN DO 906 I=1,NSIGMA CALL TWOJET 906 CALL WHIGGS CALL TIMER(1) C ELSE STOP 99 ENDIF 999 RETURN END