C ==================================== SUBROUTINE NOISESP(CTRL_YEAR,RUN_NO) C ==================================== C C Call noise suppresion routines for the different years. C C A.Quadt, May 1997 C A.Fox-Murphy, 8.6.99, updated to include 98,99 calls C ------------------------------------------------------- IMPLICIT NONE #include "partap.inc" #include "caltru.inc" REAL NOISECUTS94(2),IMBCUT94,ECUT,XV(3),MMOMENTUM(3),ZV REAL NOISECUTS95(2),IMBCUT95 REAL NOISECUTS96(2),IMBCUT96 REAL SUMENE,MOMENTUM DATA NOISECUTS94 / 0.10, 0.15 / DATA NOISECUTS95 / 0.08, 0.14 / DATA NOISECUTS96 / 0.08, 0.14 / DATA IMBCUT94 / 0.8 / DATA IMBCUT95 / 0.7 / DATA IMBCUT96 / 0.7 / LOGICAL FIRST,ISLFL,DELFL DATA FIRST,ISLFL,DELFL /.TRUE.,.FALSE.,.TRUE. / INTEGER NUMCELLS,IERR INTEGER NSIGMA95 DATA NSIGMA95 / 3 / INTEGER NSIGMA96 DATA NSIGMA96 / 3 / LOGICAL CFIRST DATA CFIRST /.TRUE./ INTEGER NCOND, I, RUN_NO REAL ENERGYCUTS(10) DATA ENERGYCUTS / -1.0,-1.0,-1.0,-1.0,-1.0, & -1.0,-1.0,-1.0,-1.0,-1.0 / INTEGER CTRL_YEAR CALL SETVTX(XV) !!! get event vertex ZV = XV(3) C ------------------------------------- C --- Recreate Condensate relations --- C ------------------------------------- CALL PCCNDS(ENERGYCUTS,NCOND, Ierr) IF (Ierr.NE.0) THEN WRITE(*,*) 'WARNING: error ',Ierr,' in CALL PCCNDS' ENDIF C --------------------------------------------- C --- INIT NOISE simulation and suppression --- C --------------------------------------------- IF (CTRL_YEAR .EQ. 1994) THEN CALL NoiseSim94 CALL MNOISESUP94(NOISECUTS94, ZV, ISLFL, DELFL, NUMCELLS, + SUMENE,MMOMENTUM,IERR) ELSEIF (CTRL_YEAR .EQ. 1995) THEN CALL NOISE95M(RUN_NO, NOISECUTS95, IMBCUT95, NSIGMA95, ISLFL, & DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE95M error ',Ierr C WRITE(*,*) C ENDIF ELSEIF (CTRL_YEAR .EQ. 1996) THEN CALL NOISE96S(RUN_NO, NOISECUTS96, IMBCUT96, NSIGMA96, & ISLFL, DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE96S error ',Ierr C WRITE(*,*) C ENDIF ELSEIF (CTRL_YEAR .EQ. 1997) THEN CALL NOISE96S(RUN_NO, NOISECUTS96, IMBCUT96, NSIGMA96, & ISLFL, DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE96S error ',Ierr C WRITE(*,*) C ENDIF ELSEIF (CTRL_YEAR .EQ. 1998) THEN CALL NOISE96S(RUN_NO, NOISECUTS96, IMBCUT96, NSIGMA96, & ISLFL, DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE96S error ',Ierr C WRITE(*,*) C ENDIF ELSEIF (CTRL_YEAR .EQ. 1999) THEN CALL NOISE96S(RUN_NO, NOISECUTS96, IMBCUT96, NSIGMA96, & ISLFL, DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE96S error ',Ierr C WRITE(*,*) C ENDIF ELSEIF (CTRL_YEAR .EQ. 2000) THEN CALL NOISE96S(RUN_NO, NOISECUTS96, IMBCUT96, NSIGMA96, & ISLFL, DELFL, NUMCELLS, Ierr) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISE96S error ',Ierr C WRITE(*,*) C ENDIF ELSE !!! before 1994 and from 2000 onwards ... IF (FIRST) THEN FIRST = .FALSE. WRITE(*,*) WRITE(*,*) ' no NOISE suppression available yet for year ', & CTRL_YEAR WRITE(*,*) ' CALL NOISESUP2 instead ... ' ENDIF C --- PHANTOM routine ------------------------- CALL NOISESUP2(NOISECUTS94,ZV,ISLFL,DELFL, 1 NUMCELLS,ECUT,MOMENTUM,IERR) C IF (Ierr .LT. 0) THEN C WRITE(*,*) C WRITE(*,*) 'WARNING: NOISESUP2 error ',Ierr C WRITE(*,*) C ENDIF ENDIF C --- recreate condensates once again --- CALL PCCNDS(ENERGYCUTS,NCOND, Ierr) IF (Ierr.NE.0) THEN WRITE(*,*) 'WARNING: error ',Ierr,' in CALL PCCNDS' ENDIF RETURN END