Seeds can now be externally set.
This commit is contained in:
parent
6d42adc8e3
commit
57f4ad36d0
57
event2_03.f
57
event2_03.f
|
|
@ -24,6 +24,7 @@ C - added CUTUP variable
|
|||
C VERSION 0.4 - 23th April 2026 - separated hist ouput
|
||||
C - added runcard input
|
||||
C - allowed different bin sizes
|
||||
C - seeds can now be externally set
|
||||
C
|
||||
C - NEV IS THE NUMBER OF EVENTS TO GENERATE
|
||||
C - EM IS THE TOTAL CENTRE-OF-MASS ENERGY
|
||||
|
|
@ -63,17 +64,7 @@ C
|
|||
DOUBLE PRECISION CFSUB,CASUB,TFSUB,GGSUB,QQSUB,QPSUB
|
||||
COMMON /SUBCOM/ CFSUB,CASUB,TFSUB,GGSUB,QQSUB,QPSUB
|
||||
EXTERNAL USER
|
||||
C---PRINT OPENING MESSAGE
|
||||
WRITE (*,'(/2A)') ' This is EVENT2, a program for calculating',
|
||||
$ ' jet quantities'
|
||||
WRITE (*,'(2A)') ' in e+e- annihilation to next-to-leading',
|
||||
$ ' order in alpha_s'
|
||||
WRITE (*,'(A)') ' If you use this program, please reference:'
|
||||
WRITE (*,'(2A)') ' S.Catani & M.H.Seymour,',
|
||||
$ ' Phys. Lett. B378 (1996) 287.'
|
||||
WRITE (*,'(/A)') ' Written by Mike Seymour, January 1996'
|
||||
WRITE (*,'(A)') ' Edited by Giorgio Chiurato, April 2026'
|
||||
WRITE (*,'(A/)') ' Version 0.4, April 2026'
|
||||
CALL PRINTHEADER
|
||||
WRITE (*,'(A,I10)')' NEV=',NEV
|
||||
C---INITIALIZE CONSTANTS
|
||||
PI=ATAN(ONE)*4
|
||||
|
|
@ -191,12 +182,27 @@ C---TELL THE USER THAT THE EVENT IS COMPLETE
|
|||
1000 CALL USER(0,0,0,P,ZERO)
|
||||
ENDDO
|
||||
END
|
||||
C-----------------------------------------------------------------------
|
||||
SUBROUTINE PRINTHEADER
|
||||
IMPLICIT NONE
|
||||
C---PRINT OPENING MESSAGE
|
||||
WRITE (*,'(/2A)') ' This is EVENT2, a program for calculating',
|
||||
$ ' jet quantities'
|
||||
WRITE (*,'(2A)') ' in e+e- annihilation to next-to-leading',
|
||||
$ ' order in alpha_s'
|
||||
WRITE (*,'(A)') ' If you use this program, please reference:'
|
||||
WRITE (*,'(2A)') ' S.Catani & M.H.Seymour,',
|
||||
$ ' Phys. Lett. B378 (1996) 287.'
|
||||
WRITE (*,'(/A)') ' Written by Mike Seymour, January 1996'
|
||||
WRITE (*,'(A)') ' Edited by Giorgio Chiurato, April 2026'
|
||||
WRITE (*,'(A/)') ' Version 0.4, April 2026'
|
||||
END
|
||||
C-----------------------------------------------------------------------
|
||||
SUBROUTINE READCARD
|
||||
implicit none
|
||||
integer :: stat,n,nl,i,iline,ichar
|
||||
character(2) :: flag(1:2)
|
||||
character(40) :: val(1:2)
|
||||
character(3) :: flag(1:4)
|
||||
character(40) :: val(1:4)
|
||||
character(20) :: fname
|
||||
character(72) :: line
|
||||
character(12) :: keys(20),settings(20)
|
||||
|
|
@ -213,8 +219,13 @@ C-----------------------------------------------------------------------
|
|||
DOUBLE PRECISION CL1,CL2,DL,TL,YL,EL,CH1,CH2,DH,TH,YH,EH
|
||||
DOUBLE PRECISION CBS1,CBS2,DBS,TBS,YBS,EBS
|
||||
|
||||
DOUBLE PRECISION ISEEDIN(2)
|
||||
|
||||
CHARACTER*40 PATH
|
||||
|
||||
DATA fname/'card.input'/
|
||||
DATA ISEEDIN/123450,678900/
|
||||
|
||||
COMMON /PARAMS/ NFL,NEV,EM
|
||||
COMMON /CONCOM/ CF,CA,TR,PI,PISQ,HF,CUTOFF,CUTUP,
|
||||
$ CQ,FPAL2,ONF,NF,METYPE
|
||||
|
|
@ -237,22 +248,42 @@ C-----------------------------------------------------------------------
|
|||
call getarg(4,val(2))
|
||||
nl = 2
|
||||
endif
|
||||
if (n.ge.6)then
|
||||
call getarg(5,flag(3))
|
||||
call getarg(6,val(3))
|
||||
nl = 3
|
||||
endif
|
||||
if (n.ge.8)then
|
||||
call getarg(7,flag(4))
|
||||
call getarg(8,val(4))
|
||||
nl = 4
|
||||
endif
|
||||
|
||||
C TODO: need to add a proper info page and maybe change the input parameter handling.
|
||||
|
||||
do i=1,nl
|
||||
if (flag(i).eq.'-i')then
|
||||
fname = val(i)
|
||||
elseif (flag(i).eq.'-o')then
|
||||
PATH = val(i)
|
||||
elseif (flag(i).eq.'-sa') then
|
||||
read(val(i), *) ISEEDIN(1)
|
||||
elseif (flag(i).eq.'-sb') then
|
||||
read(val(i), *) ISEEDIN(2)
|
||||
else
|
||||
CALL PRINTHEADER
|
||||
print *, 'Option ', flag(i),
|
||||
$ ' not recognized.'
|
||||
STOP "Exiting program..."
|
||||
endif
|
||||
enddo
|
||||
|
||||
call RANGEN(0, ISEEDIN)
|
||||
call CREATEOUT(PATH)
|
||||
|
||||
inquire(file=fname, exist=fexists)
|
||||
if (.not.fexists)then
|
||||
CALL PRINTHEADER
|
||||
stop 'run card ' // trim(fname) // ' not found'
|
||||
endif
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue