C VAX/DEC CMS REPLACEMENT HISTORY, Element LOCTOW.CDF C *1 19-JUN-1991 13:41:57 FLAVIA `Initialize common block for calorimeter` C VAX/DEC CMS REPLACEMENT HISTORY, Element LOCTOW.CDF C====================================================================== SUBROUTINE LOCTOW C====================================================================== C C Description: C ============ C Initializes COMMON/TOWLOC/ for use in calorimetry studies C C Input Arguments: C ================ C None C C Output Arguments: C ================= C C Preconditions necessary before call: C ==================================== C None C C Author: C ======= C J. Freeman (taken from LOCEPI ) C C Revision History: C ================= C June 5, 1985 - Original creation C June 1, 1996 - Add geometry for Plug in year 2000AD - J.Lamoureux C June 6, 1996 - Add geometry for MiniPlug C OCT 29, 1996 - Fill the MONTOWE.INC common blocks C C====================================================================== implicit none #include "inc/dstowe.inc" #include "inc/towloc.inc" #include "inc/pivalu.inc" #include "inc/loguni.inc" #include "inc/montowe.inc" C EXTERNAL CALBD INTEGER TWRMX PARAMETER(TWRMX=36) REAL THETA(0:TWRMX) REAL THEMAX,THEMIN,TANTH INTEGER NETA,LOWOFF,STATUS INTEGER I,J,IETA LOGICAL LINIT DATA LINIT /.FALSE./ INTEGER IEW,IDET C At present (5/11/96), slots 10-36 correspond to real detectors, C while slots 0-9 are reserved for future expansion. The theta C values have been taken from CDF Note 139. The new plug theta C values have been taken from the TDR May 1996. DATA THETA / * * Fake * * 0.0001, 0.001, 0.06338, 0.14105, 0.19040, * 0.28404,0.31392, 0.34693, 0.38342, 0.42374, * * Mini plug region * * 0.46831, 0.94304, 1.40681, 2.09858, * * Plug region * * 3.000, 5.700, 8.400, 11.100, 13.800, 16.500, * 19.200, 21.900, 24.600, 27.300, 30.000, 33.524, * * Central region * * 36.822, 40.261, 43.614, 47.436, 51.790, 56.735, 62.310, * 68.516, 75.297, 82.526, 90.000 / C C start C ===== IF (LINIT) RETURN LINIT=.TRUE. C Initialize average theta of towers NETA = TENETA/2 LOWOFF = TWRMX - NETA DO 20 J=1,NETA THEMAX = THETA(LOWOFF+J) THEMIN = THETA(LOWOFF+J-1) C C-- do East side I = TENETA + 1 - J TOWTMN(I) = THEMIN * DEGRAD ! convert to radians TOWTMX(I) = THEMAX * DEGRAD ! convert to radians TOWTAV(I) = 0.5 * (TOWTMX(I) + TOWTMN(I) ) TANTH = TAN(TOWTMN(I)/2.) TOWEMX(I) = -1.*LOG(ABS(TANTH)) TANTH = TAN(TOWTMX(I)/2.) TOWEMN(I) = -1.*LOG(ABS(TANTH)) TANTH = TAN(TOWTAV(I)/2.) TOWEAV(I) = -1.*LOG(ABS(TANTH)) C-- do west side TOWTMX(J) = PI - THEMIN * DEGRAD ! convert to radians TOWTMN(J) = PI - THEMAX * DEGRAD ! convert to radians TOWTAV(J) = 0.5 * ( TOWTMX(J) + TOWTMN(J) ) TANTH = TAN(TOWTMN(J)/2.) TOWEMX(J) = -1.*LOG(ABS(TANTH)) TANTH = TAN(TOWTMX(J)/2.) TOWEMN(J) = -1.*LOG(ABS(TANTH)) TANTH = TAN(TOWTAV(J)/2.) TOWEAV(J) = -1.*LOG(ABS(TANTH)) 20 CONTINUE * * Now calculate the variables (East/West,sin/cos,TOWE-Eta,/Sin/COS) * in MONTOWE.CIN *------------------------------------------------ TESNET(0) = -1 TESNET(1) = +1 MIDETA=TENETA/2 DO IETA=1,TENETA IF(IETA.LE.MIDETA) THEN TETOEW(IETA)=0 ELSE TETOEW(IETA)=1 ENDIF IF(IETA.LE.MIDETA) THEN TETOCE(IETA)=IETA-MIDETA ELSE TETOCE(IETA)=IETA-MIDETA-1 ENDIF ENDDO DO IETA=0,MIDETA-1 J=MIDETA+IETA+1 CETORE(IETA) = ABS(TOWEAV(J)) CETODE(IETA) = TOWEAV(J)-TOWEAV(J-1) CETOSN(IETA) = SIN(TOWTAV(J)) CETOCN(IETA) = COS(TOWTAV(J)) ENDDO * * Fill ETATOW array * DO I=0,MAXYEP IF(I.LE.09) ETATOW(I,0,1)=MIDETA- I ! CEM IF(I.LE.07) ETATOW(I,0,2)=MIDETA- I ! CHAD IF(I.LE.05) ETATOW(I,0,3)=MIDETA-(I+6) ! WHAD IF(I.LE.11) ETATOW(I,0,4)=MIDETA-(I+10) ! PEM IF(I.LE.10) ETATOW(I,0,5)=MIDETA-(I+11) ! PHAD IF(I.LE.09) ETATOW(I,0,8)=MIDETA- I ! CRA ENDDO DO I=0,MAXYEP IF(I.LE.09) ETATOW(I,1,1)=1+MIDETA+I ! CEM IF(I.LE.07) ETATOW(I,1,2)=1+MIDETA+I ! CHAD IF(I.LE.05) ETATOW(I,1,3)=1+MIDETA+(I+6) ! WHAD IF(I.LE.11) ETATOW(I,1,4)=1+MIDETA+(I+10) ! PEM IF(I.LE.10) ETATOW(I,1,5)=1+MIDETA+(I+11) ! PHAD IF(I.LE.09) ETATOW(I,1,8)=1+MIDETA+I ! CRA ENDDO I1CEM= MIDETA-9 ! 17 I2CEM= MIDETA+10 ! 36 I1PEME= MIDETA-21 ! 5 I2PEME= MIDETA-10 ! 16 I1PEMW= MIDETA+11 ! 37 I2PEMW= MIDETA+22 ! 48 I1CHA= MIDETA-7 ! 19 I2CHA= MIDETA+8 ! 34 I1WHAE= MIDETA-9 ! 15 I2WHAE= MIDETA-6 ! 20 I1WHAW= MIDETA+7 ! 33 I2WHAE= MIDETA+10 ! 38 I1PHAE= MIDETA-21 ! 5 I2PHAE= MIDETA-11 ! 15 I1PHAW= MIDETA+12 ! 38 I2PHAW= MIDETA+22 ! 48 RETURN END