ESD outputs are now separate.

This commit is contained in:
Yggdrasil 2026-04-07 17:53:26 +02:00
parent 82f7abd4ec
commit 28475c31b6
4 changed files with 76 additions and 29 deletions

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
bin/
gtopdraw.top
.vscode/
gtopdraw*

View File

@ -1,6 +1,15 @@
# Compiler and flags
# Compiler
FC = gfortran
FFLAGS = -O2
# Build type (default: Release)
BUILD ?= release
# Flags depending on build type
ifeq ($(BUILD),debug)
FFLAGS = -g -O0
else
FFLAGS = -O2
endif
# Output folder
OUT = bin
@ -11,13 +20,24 @@ TARGET = event2
# Source files
SRCS = event2_03.f gbook.f
# Executable path
EXE = $(OUT)/$(TARGET)
# Default rule
all: $(TARGET)
all: $(EXE)
# Build rule
$(TARGET): $(SRCS)
$(FC) $(FFLAGS) -o $(OUT)/$(TARGET) $(SRCS)
$(EXE): $(SRCS)
mkdir -p $(OUT)
$(FC) $(FFLAGS) -o $(EXE) $(SRCS)
# Convenience targets
debug:
$(MAKE) BUILD=debug
release:
$(MAKE) BUILD=release
# Clean rule
clean:
rm -f $(TARGET) *.o
rm -rf $(OUT)

View File

@ -4,7 +4,9 @@
EXTERNAL DEMO
NF=5
EM=91.1876
NEV=5 000 000
C NEV=1 000 000 000
C NEV=5 000 000
NEV= 500 000
CALL DEMOIN
CALL EVENT2(NEV,EM,NF,DEMO)
CALL DEMOUT(NEV)
@ -217,12 +219,12 @@ C-----------------------------------------------------------------------
CALL GBOOK1( 12,'D-PARAMETER',50,0D0,1D0)
CALL GBOOK1(112,'D-PARAMETER',50,0D0,1D0)
CALL GBOOK1(212,'D-PARAMETER',50,0D0,1D0)
CALL GBOOK1( 3,'THRUST',50,0.5D0,1D0)
CALL GBOOK1(103,'THRUST',50,0.5D0,1D0)
CALL GBOOK1(203,'THRUST',50,0.5D0,1D0)
CALL GBOOK1( 13,'THRUST',50,0.5D0,1D0)
CALL GBOOK1(113,'THRUST',50,0.5D0,1D0)
CALL GBOOK1(213,'THRUST',50,0.5D0,1D0)
CALL GBOOK1( 3,'THRUST',50,0D0,0.5D0)
CALL GBOOK1(103,'THRUST',50,0D0,0.5D0)
CALL GBOOK1(203,'THRUST',50,0D0,0.5D0)
CALL GBOOK1( 13,'THRUST',50,0D0,0.5D0)
CALL GBOOK1(113,'THRUST',50,0D0,0.5D0)
CALL GBOOK1(213,'THRUST',50,0D0,0.5D0)
CALL GBOOK1( 4,'y3(JADE,P)',40,0D0,0.4D0)
CALL GBOOK1(104,'y3(JADE,P)',40,0D0,0.4D0)
CALL GBOOK1(204,'y3(JADE,P)',40,0D0,0.4D0)
@ -292,7 +294,7 @@ C-----------------------------------------------------------------------
IMPLICIT NONE
INTEGER N,NA,ITYPE,I,J,K,L,ORD
DOUBLE PRECISION P(4,7),WEIGHT,DOT,C,D,OS,ORS,E(7),OE(7),COSANG,
$ COSLIM,BEEC,T,TL,TA(3),PT(3),PC(3,4),Y3,Y,Q(4,7),
$ COSLIM,BEEC,T,TAU,TL,TA(3),PT(3),PC(3,4),Y3,Y,Q(4,7),
$ CSUM(8),CSQR(8),CS(8),BSUM(2,6),BSQR(2,6),BS(2,6)
DOUBLE PRECISION CFSUB,CASUB,TFSUB,GGSUB,QQSUB,QPSUB
COMMON /SUBCOM/ CFSUB,CASUB,TFSUB,GGSUB,QQSUB,QPSUB
@ -406,8 +408,9 @@ C---CALCULATE THE THRUST
ELSE
T=MAX(E(1),E(2),E(3))*ORS*2
ENDIF
CALL GFILL1(203+ORD,T,(1-T)*WEIGHT*100)
IF (ORD.EQ.0) CS(5)=CS(5)+(1-T)*WEIGHT
TAU = 1 - T
CALL GFILL1(203+ORD,TAU,TAU*WEIGHT*100)
IF (ORD.EQ.0) CS(5)=CS(5)+TAU*WEIGHT
C---CALCULATE THE Y3 VALUE (USES P SCHEME FOR NO PARTICULAR REASON)
IF (N.EQ.4) THEN
Y3=1D6

46
gbook.f
View File

@ -670,9 +670,15 @@ C-----------------------------------------------------------------------
COMMON /GTCOM/ TYPE,NTYPE
PARAMETER (NXMAX=1000)
DIMENSION X(NXMAX),Y(NXMAX),E(NXMAX)
LOGICAL OPEN
CHARACTER TITLE*60
COMMON /GFILE/ OPEN, TITLE
IF (ID.GT.NMAX) RETURN
CALL GOPENF
IF (NEW) THEN
CALL GCLOSEF
CALL GTITLE(ID,TITLE,LENTIT)
CALL GOPENF
ENDIF
WEIGHT=0.0
AVGE=0.0
VARIAN=0.0
@ -718,7 +724,6 @@ C-----------------------------------------------------------------------
IF (WEIGHT.EQ.0) WEIGHT=1
AVGE=AVGE/WEIGHT
VARIAN=VARIAN/WEIGHT-AVGE**2
CALL GTITLE(ID,TITLE,LENTIT)
C SET UP PAGE...
IF (NEW) THEN
WRITE (21,*) 'NEW FRAME'
@ -783,11 +788,17 @@ C-----------------------------------------------------------------------
LOGICAL NEW
PARAMETER (NZ=250)
DIMENSION Z(NZ,NZ)
LOGICAL OPEN
CHARACTER TITLE*60
COMMON /GFILE/ OPEN,TITLE
REAL RAN
DATA ISEED/12345/
IF (ID.GT.NMAX) RETURN
CALL GOPENF
IF (NEW) THEN
CALL GCLOSEF
CALL GTITLE(ID,TITLE,LENTIT)
CALL GOPENF
ENDIF
WEIGHT=0.0
XAVGE=0.0
XVARIN=0.0
@ -828,7 +839,6 @@ C-----------------------------------------------------------------------
XVARIN=XVARIN/WEIGHT-XAVGE**2
YAVGE=YAVGE/WEIGHT
YVARIN=YVARIN/WEIGHT-YAVGE**2
CALL GTITLE(ID,TITLE,LENTIT)
C SET UP PAGE...
IF (NEW) THEN
WRITE (21,*) 'NEW FRAME'
@ -918,22 +928,34 @@ C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
SUBROUTINE GOPENF
C---OPEN TopDrawer FILE
CHARACTER*14 TITLE
LOGICAL OPEN
CHARACTER TITLE * 60
CHARACTER FNAME * 74
COMMON /GFILE/ OPEN, TITLE
DATA OPEN/.FALSE./
IF (OPEN) RETURN
OPEN=.TRUE.
N=0
TITLE='gtopdraw.top'
OPEN (21,FILE='gtopdraw.top',STATUS='NEW',ERR=10)
WRITE (6,*) 'Using file "gtopdraw.top"'
FNAME='gtopdraw_'//TRIM(TITLE)//'.top'
OPEN (21,FILE=TRIM(FNAME),STATUS='NEW',ERR=10)
WRITE (6,*) 'Using file "'//TRIM(FNAME)//'"'
RETURN
10 N=N+1
IF (N.GE.100) STOP
WRITE (6,*) 'Could not open file "',TITLE,'"'
WRITE (TITLE,'(A8,I2.2,A4)') 'gtopdraw',N,'.top'
OPEN (21,FILE=TITLE,STATUS='NEW',ERR=10)
WRITE (6,*) 'Using file "',TITLE,'" instead'
WRITE (6,*) 'Could not open file "',TRIM(FNAME),'"'
WRITE (FNAME,'(A8,I2.2,A4)') 'gtopdraw_'//TRIM(TITLE),N,'.top'
OPEN (21,FILE=TRIM(FNAME),STATUS='NEW',ERR=10)
WRITE (6,*) 'Using file "',TRIM(FNAME),'" instead'
END
C-----------------------------------------------------------------------
SUBROUTINE GCLOSEF
C---CLOSE TopDrawer FILE
LOGICAL OPEN
CHARACTER TITLE * 60
COMMON /GFILE/ OPEN,TITLE
IF (.NOT.OPEN) RETURN
CLOSE(21)
OPEN = .FALSE.
END
C-----------------------------------------------------------------------
BLOCK DATA GTDAT