C   01/02/84 805261724  MEMBER NAME  MUANAF   (JADEMUS)     FORTRAN
C
C-----------------------------------------------------------------------
      SUBROUTINE MUANAF
C-----------------------------------------------------------------------
C
C LAST CHANGE 17.30 24/05/88 J. HAGEMANN - SETUP OF YEAR DEP. CONSTANTS
C      CHANGE 18.30 20/05/88 J. HAGEMANN - SETUP OF YEAR DEP. CONSTANTS
C      CHANGE  9.45 21/04/88 J. HAGEMANN - SETUP OF YEAR DEP. CONSTANTS
C      CHANGE 15.25 20/03/86 CHRIS BOWDERY - MOVE NREGS TEST TO LATER ON
C      CHANGE 16.00  9/03/84 CHRIS BOWDERY - CHECK THAT NREGS > 0
C      CHANGE 14.00 26/01/84 TIM GREENSHAW - MU BANKS LOC. WITH CLOC.
C                      VARIABLE JBANK INTRO. TO IMPROVE ERROR OUTPUT.
C      CHANGE 15.30 18/01/84 TIM GREENSHAW - ERROR PRINTOUT ALTERED
C      CHANGE 15.00 30/05/83 HUGH MCCANN - IF EBGEV = 0. , SET IT TO 50.
C                                          ..... FOR COSMIC RUNS.
C      CHANGE 10.00 24/05/82 HUGH MCCANN - TRIVIAL SPELLING MISTAKE.
C                                          EBGEV NOW CHECKED FOR > 50  .
C      CHANGE 23.00 22/02/82 HUGH MCCANN - FOR IMPROVED ERROR OUTPUT.
C      CHANGE 12.00 04/02/82 HUGH MCCANN -- TO MAKE NTPH=4.
C
C-----------------------------------------------------------------------
C
C THIS ROUTINE FOLLOWS INNER DETECTOR TRACKS TO FIND ASSOCIATED MUON
C   CHAMBER HITS AND STORES RESULTS IN 'MUR2' BANKS 0 - 6.
C NOTE THAT IF NO INNER DETECTOR TRACKS ARE PRESENT ONLY BANK 0 IS
C   CREATED.
C
C NOTE ALSO THAT BANK 0 IS CREATED WHETHER OR NOT ANY MUON HITS EXIST.
C
C-----------------------------------------------------------------------
C
      IMPLICIT INTEGER*2 (H)
C
C COMMONS.
C
C----------START OF MACRO CMUBCS----------------------------------------
      COMMON /BCS/IDATA(1)
      DIMENSION HDATA(1),ADATA(1)
      EQUIVALENCE (HDATA(1),ADATA(1),IDATA(1))
C----------END OF MACRO CMUBCS------------------------------------------
C------------START OF MACRO CMUREG--------------------------------------
C
      COMMON /CMUREG/NREGS,XRLO(100),XRHI(100),YRLO(100),YRHI(100),
     * ZRLO(100),ZRHI(100),HRMASK(100),HRFACE(100),HRTYPE(100),
     * HRORI(100),HRFIRS(100),HRLAST(100)
C
C NREGS IS NUMBER OF REGIONS.
C XRLO ETC. ARE REGION BOUNDARIES.
C HRMASK =1 (FACE 1), =2 (FACE 2), =4 (FACE 3), =8 (FACE 4), ETC.
C HRFACE = FACE NUMBER, =1-6 FOR -X,+X,-Y,+Y,-Z,+Z.
C HRTYPE =1, MU CHAMBER SENSITIVE REGION,
C        =2, CONCRETE REGION,
C        =3, IRON REGION,
C        =4, LEAD GLASS. (IRTYPE=4 USED ONLY IN MUFFLD.)
C HRORI  = ORIENTATION OF NORMAL, =1 (|| X), =2 (||Y), =3 (|| Z).
C HRFIRS = FIRST CHAMBER NUMBER.
C HRLAST = LAST CHAMBER NUMBER.
C
C------------END OF MACRO CMUREG----------------------------------------
C
C
C
C
C
C=======================<< MACRO CMUCALIB >>============================
C
C LAST CHANGE  25/09/79  13.20 UHR   HARRISON PROSPER
C
C BANK NAMES, NUMBERS AND LENGTHS
C
C  NAME/NUMBER LENGTH  CONTENTS
C  MUCD   0      16    VERSION NUMBER AND DESCRIPTION.
C  MUOV   0       3    OVERALL JADE UNIT TRANSLATIONS.
C  MFFI   2     370    FIXED FRAME PARAMETERS.
C  MCFI   3     318    FIXED CHAMBER PARAMETERS.
C  MFSU   4     246    'SURVEY' FRAME PARAMETERS.
C  MCSU   5     634    'SURVEY' CHAMBER PARAMETERS.
C  MCEL   6    2220    'ELECTRONIC' CHAMBER PARAMETERS.
C  MCST   7     317    CHAMBER STATUS WORDS.
C  MUFI   8      36    FILTER (ABSORBER BLOCK) PARAMETERS.
C  MUYO   9      10    SIDE, TOP AND BOTTOM YOKE PARAMETERS.
C  MUEN  10      15    YOKE END-PLUG PARAMETERS.
C
C TOTAL LENGTH 4185 WORDS.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
      COMMON /CALIBR/ LARRY(100),MUCAL(4185)
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
C
C
C               NVERSN
      DIMENSION DESCRP(15),HOVALL(6)
C                                                    19 WORDS
C
      EQUIVALENCE ( NVERSN,MUCAL(1) ),( DESCRP(1),MUCAL(2) ),
     *            ( HOVALL(1),MUCAL(17) )
C----------------------------------------------------19 WORDS SO FAR
C
C     HMFFIX(740)                                   370 WORDS
      DIMENSION HMFFIX(740)
      EQUIVALENCE ( HMFFIX(1),MUCAL(20) )
      DIMENSION HFACE(82),HSECT(82),HLAYER(82),HNORM(82),HLONG(82),
     *          HTRANS(82),HAC(82),HAL(82),HUNIT(82)
      EQUIVALENCE (HMFFIX(1),NFRAMS),(HMFFIX(3),HFACE(1)),
     *            (HMFFIX(85),HSECT(1)),(HMFFIX(167),HLAYER(1)),
     *            (HMFFIX(249),HNORM(1)),(HMFFIX(331),HLONG(1)),
     *            (HMFFIX(413),HTRANS(1)),(HMFFIX(495),HAC(1)),
     *            (HMFFIX(577),HAL(1)),(HMFFIX(659),HUNIT(1))
C---------------------------------------------------389 WORDS SO FAR
C
C
C     HMCFIX(636)                                   318 WORDS
      DIMENSION HMCFIX(636)
      EQUIVALENCE ( HMCFIX(1),MUCAL(390) )
      DIMENSION HFR(634)
      EQUIVALENCE (HMCFIX(1),NCHAMS),(HMCFIX(3),HFR(1))
C---------------------------------------------------707 WORDS SO FAR
C
C     HMFSUR(492)                                   246 WORDS
      DIMENSION HMFSUR(492)
      EQUIVALENCE ( HMFSUR(1),MUCAL(708) )
      DIMENSION HDIST(82),HANG(82),HCLLO(82),HCLHI(82),HCTLO(82),
     *          HCTHI(82)
      EQUIVALENCE (HMFSUR(1),HDIST(1)),(HMFSUR(83),HANG(1)),
     *            (HMFSUR(165),HCLLO(1)),(HMFSUR(247),HCLHI(1)),
     *            (HMFSUR(329),HCTLO(1)),(HMFSUR(411),HCTHI(1))
C---------------------------------------------------953 WORDS SO FAR
C
C
C     HMCSUR(1268)                                  634 WORDS
      DIMENSION HMCSUR(1268)
      EQUIVALENCE ( HMCSUR(1),MUCAL(954) )
      DIMENSION HD1(634),HCTW(634)
      EQUIVALENCE (HMCSUR(1),HCTW(1)),(HMCSUR(635),HD1(1))
C--------------------------------------------------1587 WORDS SO FAR
C
C
C     HMCELE(4440)                                 2220 WORDS
      DIMENSION HMCELE(4440)
      EQUIVALENCE ( HMCELE(1),MUCAL(1588) )
      DIMENSION HDTP(634),HLTP(634),HLSF(4,634),HVDRFT(634)
      EQUIVALENCE (HMCELE(1),HVDR),(HMCELE(2),HDTP(1)),
     *            (HMCELE(636),HLTP(1)),(HMCELE(1270),HLSF(1,1)),
     *            (HMCELE(3806),HMCEDM),(HMCELE(3807),HVDRFT(1))
C--------------------------------------------------3807 WORDS SO FAR
C
C
C     HMCSTA(634)                                   317 WORDS
      DIMENSION HMCSTA(634)
      EQUIVALENCE ( HMCSTA(1),MUCAL(3808) )
C--------------------------------------------------4124 WORDS SO FAR
C
C
C     HFILDA(72)                                     36 WORDS
      DIMENSION HFILDA(72)
      EQUIVALENCE ( HFILDA(1),MUCAL(4125) )
      INTEGER*2 HBLLO(6),HBLHI(6),HBTLO(6),HBTHI(6),HBNLIM(36)
      INTEGER*4 IFCIND(6)
      INTEGER*2 HFILDA
      EQUIVALENCE (HBLLO(1),HFILDA(1)),(HBLHI(1),HFILDA(7)),
     *            (HBTLO(1),HFILDA(13)),(HBTHI(1),HFILDA(19)),
     *            (HBNLIM(1),HFILDA(25)),(IFCIND(1),HFILDA(61))
C--------------------------------------------------4160 WORDS SO FAR
C
C
C     HYKNMI(4),HYKNMO(4),HYKLDM(4),HYKTDM(4),BYOKE, 10 WORDS
C     IYKIND
      DIMENSION HYKNMI(4),HYKNMO(4),HYKLDM(4),HYKTDM(4)
      INTEGER*2 HYKTDM,HYKLDM,HYKNMI,HYKNMO
      EQUIVALENCE ( HYKNMI(1),MUCAL(4161) ),
     *            ( HYKNMO(1),MUCAL(4163) ),
     *            ( HYKLDM(1),MUCAL(4165) ),
     *            ( HYKTDM(1),MUCAL(4167) ),
     *            ( BYOKE,MUCAL(4169) ),( IYKIND,MUCAL(4170) )
C--------------------------------------------------4170 WORDS SO FAR
C
C
C    IZEII,IZEIO,IREP1,IREP2,IREP3,IREP4,IXYEP5,     15 WORDS
C    IZOEP1,IZOEP2,IZOEP3,IZOEP4,IZOEP5,CAEP2,
C    IEPIND,IEPSCT
C
      EQUIVALENCE ( IZEII,MUCAL(4171) ),( IZEIO,MUCAL(4172) ),
     *            ( IREP1,MUCAL(4173) ),( IREP2,MUCAL(4174) ),
     *            ( IREP3,MUCAL(4175) ),( IREP4,MUCAL(4176) ),
     *            ( IXYEP5,MUCAL(4177) ),( IZOEP1,MUCAL(4178) ),
     *            ( IZOEP2,MUCAL(4179) ),( IZOEP3,MUCAL(4180) ),
     *            ( IZOEP4,MUCAL(4181) ),( IZOEP5,MUCAL(4182) ),
     *            ( CAEP2,MUCAL(4183) ),( IEPIND,MUCAL(4184) ),
     *            ( IEPSCT,MUCAL(4185) )
C--------------------------------------------------4185 WORDS SO FAR
C
C=======================<< MACRO CMUCALIB >>============================
C
C
C
C
C
C   20/10/81 202041521  MEMBER NAME  CMUFWORK (JADEMUS)     FORTRAN
C   12/10/81 110152138  MEMBER NAME  CMUFWORK (JADEMUS1)    FORTRAN
C-------------START OF MACRO CMUFWORK-----------------------------------
C LAST CHANGED 21.30 15/10/81 HUGH MCCANN  - EXTEND IOVLAP TO ALLOW
C                                            > 10 ASSOC HITS IN MUFFLY.
C LAST CHANGED 10.00 04/10/81 HUGH MCCANN  - FOR USE OF OVERLAP HITS.
C LAST CHANGED 14.46 17/06/81 JOHN ALLISON - TO ADD 'OVER' VARIABLES.
C LAST CHANGED 23.00 09/04/81 HUGH MCCANN - JADEMUS UPDATE.
C
      COMMON /CWORK/X,Y,Z,DCX,DCY,DCZ,P,PSQ,E,ESQ,D,GM,AB,RD,DE,PPIDK,
     *PKDK,PPBPEN,PPPEN,PPIPEN,PKPEN,DUMW1(29),X8,Y8,Z8,DCX8,DCY8,
     *DCZ8,P8,PSQ8,E8,ESQ8,D8,GM8,AB8,RD8,DE8,PPIDK8,PKDK8,PPBPE8,
     *PPPEN8,PPIPE8,PKPEN8,DUMW28(29),X0,Y0,Z0,DCX0,DCY0,DCZ0,P0,PSQ0,
     *E0,ESQ0,D0,GM0,AB0,RD0,DE0,PPIDK0,PKDK0,PPBPE0,PPPEN0,PPIPE0,
     *PKPEN0,DUMW2(29),X9,Y9,Z9,DCX9,DCY9,DCZ9,P9,PSQ9,E9,ESQ9,D9,GM9,
     *AB9,RD9,DE9,PPIDK9,PKDK9,PPBPE9,PPPEN9,PPIPE9,PKPEN9,DUMW29(29),
C-----200 WORDS UP TO HERE----------------------------------------------
     *X1,Y1,Z1,X2,Y2,Z2,XMID,YMID,ZMID,X3,Y3,Z3,D1,D2,D3,DTC,DUMW3(4),
     *DSTEP,GMSTEP,ABSTEP,RDSTEP,DESTEP,DUMW4(15),ADCZ,COSEC,STPINI,CURV
     *,DANG,DX,DY,DZ,R,RSQ,PT,DPINA,DKNA,DUMW5(7),VX,VY,VZ,RMSXY,RMSZ,
     *VTXYD,VTZD,VTXYAN,VTZANG,VMSANG,VMSD,CMS,DUMW6(8),SDS(10),DUMW7(1000002000
C
C    *SDX,SDY,SDZ,SDTXYD,SDTZD,SDTXYA,SDTZAN,SDMSAN,SDMSD,SDCMS,DM7(10),
C
C NOTE ABOVE CARD SHORTENED TO SDS(10),DUMW7(10), SO THAT STATEMENT DOES
C   NOT EXCEED 19 CONTINUATION CARDS.  I THINK SD--'S ARE NOT USED.
     *),CHISQT,NDFT,CHIPRT,CHISTL,NDFTL,CHIPTL,NBADCH,DUMW8(13),IDTRK,
     *NCEPTS,NTHIS,INEFF,NHLAYR,INFLAG,NELIPS,NGLAYR,DUMW9(72),IREG(200)
C-----600 WORDS UP TO HERE----------------------------------------------
     *,RDOTD(200),CINT(3,200),NFLAG(200),ITEM(200),EM(30,30),DALONG(10),
C-----2710 WORDS UP TO HERE---------------------------------------------
     *DEV(30),VXYDA(10),VZDA(10),CXYA(10),CZA(10),INCUT(30),BADA(30),G(200003100
     *0,20),DEVA(20),IPERM(10),MWORK(20),ITHISA(10),IJA(10),EM1(20,20),E
     *MG(20,20),ELIPSE(700),INCHAM(10),INREG(10),IAPPRO(30),HBADCH(1000)
     *,CTDASH(10),CLDASH(10),VTDASH(10),VLDASH(10),IHTREG(20),LAYRAB,IEF
C-----5421 WORDS UP TO HERE---------------------------------------------
     *FRG(10),DUMW10(69),AAA(10),BBB(10),CCC(10),DDD(10),DOVER,GMOVER,AB
     *OVER,RDOVER,DEOVER,DUMW11(55),X7(50),IHTP(30),IOVLAP(20,20)
C-----6080 WORDS UP TO HERE---------------------------------------------
      DIMENSION ILIPSE(700)
      INTEGER*2 HLIPSE(1400)
      DIMENSION IHTPER(10),IHTEMP(10),IPTEMP(10)
      EQUIVALENCE (ILIPSE(1),HLIPSE(1),ELIPSE(1))
      EQUIVALENCE (IHTP(1) ,IHTPER(1)),
     *            (IHTP(11),IHTEMP(1)),
     *            (IHTP(21),IPTEMP(1))
      LOGICAL INCUT,BADA
C
C-----------------------------------------------------------------------
C
C THE FIRST 50 LOCATIONS ARE RESERVED FOR SPECIAL WORKING VARIABLES.
C THE NEXT 150 LOCATIONS ARE RESERVED FOR COPIES OF THESE SPECIAL
C    VARIABLES, IF, E.G., ONE WISHES TO PRESERVE THEIR VALUES AT
C    THE BEGINNING OF A STEP.
C THE COPIES HAVE A SUFFIX 0 FOR VALUES AT LAST ASSOCIATED HIT.
C THE COPIES HAVE A SUFFIX 7 FOR VALUES AFTER LEAD-GLASS BARREL OR
C    YOKE END-PLUG (X7 IS LATER IN COMMON - SEE BELOW).
C THE COPIES HAVE A SUFFIX 8 FOR VALUES AT LAST BUT ONE GOOD
C    CHAMBER LAYER.
C THE COPIES HAVE A SUFFIX 9 FOR VALUES AT LAST GOOD CHAMBER LAYER.
C NSPECI (SET IN BLOCK DATA BEHIND MUFFLE) IS THE NUMBER OF SUCH
C    VARIABLES ACTUALLY USED.
C
C SPECIAL VARIABLES....
C
C X,Y,Z       = CURRENT COORDINATES.
C DCX,DCY,DCZ = CURRENT DIRECTION COSINES OF TRACK.
C P,PSQ       = CURRENT MOMENTUM (AND ITS SQUARE).
C E,ESQ       = CURRENT ENERGY (AND ITS SQUARE).
C D           = CURRENT DISTANCE FROM VERTEX (MM).
C GM          = MATERIAL TRAVERSED TO CURRENT POSITION (GM CM**-2).
C AB          = ABSORPTION LENGTHS SO FAR.
C RD          = RADIATION LENGTHS SO FAR.
C DE          = ENERGY LOSS (GEV).
C PPIDK       = PROBABILITY OF PION DECAYING TO MUON BEFORE INTERACTING.
C PKDK        = PROBABILITY OF KAON DECAYING TO MUON BEFORE INTERACTING.
C PPBPEN      = ANTI-PROTON ) ( PENETRATION PROBABILITY, I.E. PROBAB-
C PPPEN       = PROTON      ) ( ILITY OF NOT BEING ABSORBED BY A NUCLEUS
C PPIPEN      = PI          ) ( AND NOT DECAYING.  SEE SUBROUTINE
C PKPEN       = K           ) ( MUFFLS FOR FURTHER DETAILS.
C
C-----------------------------------------------------------------------
C
C THE NEXT 200 LOCATIONS ARE RESERVED FOR VARIABLES THAT DO NOT NEED
C    SPECIAL PRESERVATION.
C
C OTHER VARIABLES...
C
C X1,Y1,Z1    = COORDS OF 1ST POINT ON TRACK.
C X2,Y2,Z2    = COORDS OF LAST POINT ON TRACK.
C XMID,YMID,ZMID = COORDS OF MID POINT ON TRACK.
C X3,Y3,Z3    = COORDS OF POINT WHERE TRACK LEAVES MAGNETIC FIELD.
C D1          = DISTANCE TRAVELLED TO (X1,Y1,Z1).
C D2          = DISTANCE TRAVELLED TO (X2,Y2,Z2).
C D3          = DISTANCE TRAVELLED TO (X3,Y3,Z3).
C DTC         = DISTANCE TRAVELLED TO MID-POINT OF TRACK.
C
C DSTEP       = STEP LENGTH THIS STEP (FOR MUFFLU) (MM).
C GMSTEP      = MATERIAL THIS STEP (GM CM**-2).
C ABSTEP      = ABSORPTION LENGTHS THIS STEP.
C RDSTEP      = RADIATION LENGTHS THIS STEP.
C DESTEP      = ENERGY LOSS OF MINIMUM IONISING PARTICLE THIS STEP,
C
C ADCZ        = ABS(DCZ)
C COSEC       = ABS(COSEC(THETA)), WHERE THETA IS ANGLE TO BEAM.
C STPINI      = STEP LENGTH IN INITIAL TRACKING TO COIL OR END PLUG.
C CURV        = CURVATURE FROM 'PATR' BANK.
C DANG        = ANGLE OF TURN FOR EACH STEP.
C DX,DY,DZ    = CHANGES OF X,Y,Z.
C R,RSQ       = DISTANCE FROM BEAM (RADIUS) AND ITS SQUARE.
C PT          = MOMENTUM COMPONENT PERPENDICULAR TO BEAM.
C DPINA       = INTEGRAL OF (DECAY LENGTH)*(PROBABILTY OF NOT INTER-
C                 ACTING) FOR PION. (NO LONGER USED. CAN BE RESURECTED
C DKNA        = SIMILARLY FOR KAON. (BY UN-COMMENTING IN MUFFLS.
C
C VX,VY,VZ    = CURRENT VARIANCES ON X,Y,Z.
C RMSXY       = RMS DEV. NORMAL TO CHORD IN XY FIT.     )
C RMSZ        = RMS Z DEV. IN RZ FIT.                   ) FROM
C VTXYD       = VARIANCE ON DEVIATION NORMAL TO         ) TRACK
C                 TRACK IN XY PLANE AT TRACK CENTRE.    ) RECON-
C VTZD        = VARIANCE ON DEVIATION NORMAL TO         ) STRUCTION
C                 TRACK IN RZ PLANE AT TRACK CENTRE.    ) ERRORS.
C VTXYAN      = VARIANCE ON ANGLE IN XY PLANE (PHI)     )
C VTZANG      = VARIANCE ON ANGLE IN RZ PLANE (THETA)   )
C VMSANG      = VARIANCE OF MULTIPLE SCATTERING ANGLE.
C VMSD        = VARIANCE OF MULTIPLE SCATTERING DEVIATION NORMAL TO
C                 TRACK.
C CMS         = COVARIANCE OF ABOVE TWO QUANTITIES.
C SD--        = CORRESPONDING STANDARD DEVIATIONS (SQUARE ROOTS).
C
C CHISQT      = CHI-SQUARED OF DEVIATION OF HITS FROM   ) FOR
C                 PROJECTED TRACK.                      ) TRANSVERSE
C NDFT        = NUMBER OF DEGREES OF FREEDOM.           ) (DRIFT)
C CHIPRT      = CHI-SQUARED PROBABILITY.                ) COORDS.
C
C CHISTL      = CHI-SQUARED OF DEVIATION OF HITS FROM   ) FOR
C                 PROJECTED TRACK.                      ) TRANSVERSE
C NDFTL       = NUMBER OF DEGREES OF FREEDOM.           ) & LONG'L
C CHIPTL      = CHI-SQUARED PROBABILITY.                ) COORDS.
C
C NBADCH      = NO. OF BAD CHAMBERS (AS DEFINED BY HMCSTA).
C
C IDTRK       = INNER DETECTOR TRACK NUMBER.
C NCEPTS      = NUMBER OF INTERCEPTS FOUND BY MUREGY.
C NTHIS       = NUMBER OF MUON HITS ASSOCIATED WITH PROJECTED INNER
C                DETECTOR TRACK.
C INEFF       = NUMBER OF INEFFICIENCIES IN MUON SYSTEM FOUND THIS TRACK
C NHLAYR      = NUMBER WHICH REPRESENTS NUMBER OF MUON LAYERS WITH
C                ASSOCIATED MUON HITS. ADD 1 FOR THE INNER LAYER AND
C                2 FOR EACH SUBSEQUENT LAYER.
C INFLAG      = 1 IF LAST LAYER INTERCEPTED WAS INEFFICIENT.
C NELIPS      = NUMBER OF MULTIPLE SCATTERING ELIPSES ENTERED IN ELIPSE.
C NGLAYR      = AS NHLAYR, BUT FOR 'GOOD' LAYERS WHETHER THERE WAS AN
C                ASSOCIATED HIT OR NOT.
C
C-----------------------------------------------------------------------
C
C THE NEXT 1400 LOCATIONS USED BY MUREGY (CALCULATES REGION INTERCEPTS).
C
C IREG        = REGION NUMBER.                           )(IN PAIRS,I.E.
C RDOTD       = R.DOT.(DIR. COSINES) FOR EACH INTERCEPT. )( 2 INTERCEPTS
C CINT        = X,Y,Z COORDINATES OF EACH INTERCEPT.     )( PER REGION.
C NFLAG       = USED INTERNALLY BY MUREGY.
C ITEM        = USED INTERNALLY BY MUREGY.
C
C-----------------------------------------------------------------------
C
C THE NEXT 3600 LOCATIONS USED BY MUFFLE, ETC., TO ACCUMULATE
C   QUANTITIES NEEDED FOR CALCULATING CHI-SQUARED. IN THE DESCRIPTION
C   BELOW I,J GO AS FOLLOWS..
C     1   LEFT DRIFT COORDINATE    )  OF 1ST
C     2   RIGHT DRIFT COORDINATE   )  ASSOCIATED
C     3   LONGITUDINAL COORDINATE  )  HIT
C     4    ETC. FOR NEXT ASSOCIATED HIT.
C   K REFERS TO K'TH ASSOCIATED HIT.
C
C EM(I,J)     = 'ERROR MATRIX', I.E. VARIANCE (I=J) OR COVARIANCE (I.NE.
C                J) FOR COORDINATE I,J.
C DALONG(K)   = DISTANCE OF ASSOCIATED HIT K ALONG TRACK.
C DEV(I)      = DEVIATION OF COORDINATE I FROM EXTRAPOLATED INNER
C                DETECTOR TRACK.
C VXYDA(K)    = VARIANCE ON DEVIATION IN XY PLANE FOR HIT K.
C VZDA(K)     = VARIANCE ON DEVIATION IN RZ PLANE FOR HIT K.
C CXYA(K)     = COVARIANCE BETWEEN DEVIATION AND ANGLE IN XY PLANE.
C CZA(K)      = COVARIANCE BETWEEN DEVIATION AND ANGLE IN RZ PLANE.
C INCUT(I)    = .TRUE. IF COORDINATE I IS IN CUT (SEE MUFFLY).
C BADA(I)     = .TRUE. IF COORDINATE I IS BAD.
C G           = INVERSE ERROR MATRIX.
C DEVA        = CORRESPONDING DEVIATIONS.
C IPERM(K)    = USED TO PERMUTE LEFT/RIGHT AMBIGUITIES.
C MWORK       = USED BY MATRIX INVERTING ROUTINE AS WORKING SPACE.
C ITHISA(K)   = HIT NUMBER OF K'TH ASSOCIATED HIT.
C IJA(K)      = INDEX FOR K'TH ASSOCIATED HIT FOR ENTRY IN BANKS 2 & 3.
C EM1         = COPY OF RELEVANT PART OF ERROR MATRIX FOR TEST PURPOSES.
C EMG         = PRODUCT OF ERROR MATRIX AND ITS INVERSE. SHOULD BE UNIT
C                MATRIX. USED FOR TEST PURPOSES.
C ELIPSE      = TEMPORARY STORAGE FOR MULTIPLE SCATTERING ELIPSES.
C INCHAM      = LIST OF INEFFICIENT CHAMBERS ON THIS TRACK.
C INREG       = LIST OF INEFFICIENT REGIONS (PLANES) ON THIS TRACK.
C IAPPRO      = USED AS WORKING SPACE IN MUFFLX.
C HBADCH      = LIST OF BAD CHAMBERS (AS DEFINED BY HMCSTA).
C CTDASH(K)   = TRANSVERSE COORD. ESTIMATED FROM I.D. PROJECTION.
C CLDASH(K)   = LONGITUD'L COORD. ESTIMATED FROM I.D. PROJECTION.
C VTDASH(K)   = VARIANCE ON CTDASH.
C VLDASH(K)   = VARIANCE ON CLDASH (FOR K'TH ASSOCIATED HIT).
C
C-----------------------------------------------------------------------
C
C THE NEXT  380 LOCATIONS USED FOR VARIOUS IMPROVEMENTS TO MUFFLE, ETC.
C
C IHTREG      = FOR EACH ASSOCIATED HIT, THE REGION NO. IN WHICH
C               THE HIT OCCURS.
C LAYRAB      = ABSOLUTE NO. OF LAYERS WHICH HAVE ASSOCIATED HITS.
C IEFFRG      = LIST OF REGION NOS. OF THOSE REGIONS WHICH HAVE AN
C               ASSOCIATED HIT.
C   IHTPER = FLAG FOR EACH ASSOCIATED HIT TO TELL IF IT'S TO
C            GO FORWARD INTO THE CHI**2 CALCULATION . ONLY ONE
C            HIT PER LAYER IS TO BE USED ,APART FROM OVERLAP HITS.
C   IHTEMP = LIST OF HITS WHICH ARE TEMPORARILY IN THE HIT PERMUTATION
C            DUE TO OVERLAPS WITH THE CURRENT AMBIGUITYOF ONE OF THE
C            HITS IN IHTPER.
C   IPTEMP =  AS IHTEMP, BUT FOR L/R AMBIGUITIES.
C IOVLAP   =  MATRIX OF OVERLAP HITS. IOVLAP(I,J)=1 MEANS THAT THERE
C             IS AN OVERLAP BETWEEN ASSOCIATED HITS I & J ( I & J BOTH
C             IN THE RANGE 1 TO NTHIS ).
C AAA(K)      = TRANSFORMATION COEFF. A FOR K'TH ASSOCD. HIT.
C BBB(K)      = TRANSFORMATION COEFF. B FOR K'TH ASSOCD. HIT.
C CCC(K)      = TRANSFORMATION COEFF. C FOR K'TH ASSOCD. HIT.
C DDD(K)      = TRANSFORMATION COEFF. D FOR K'TH ASSOCD. HIT.
C
C DOVER, ETC. = STORES QUANTITIES LEFT OVER AFTER LEAVING LAST ABSORBER.
C
C X7          = VALUES OF SPECIAL VARIABLES AFTER LEAD-GLASS BARREL OR
C               YOKE END-PLUG - USED FOR RE-FITTING, ETC.
C
C-------------END OF MACRO CMUFWORK-------------------------------------
C----------- START OF MACRO CMUSTAT ------------------------------------
C   LAST CHANGE 12.47 15/06/79 JOHN ALLISON.
C      /CMUSTT/
C
      COMMON / CMUSTT / MUTIT(100),NMU(100)
      REAL*8 MUTIT, MUT1(50), MUT2(50)
      EQUIVALENCE(MUTIT(1),MUT1(1)),(MUTIT(51),MUT2(1))
C
C  NMU ARE USED FOR STATISTICS COUNTING IN THE MUON ROUTINES
C
C------------ END OF MACRO CMUSTAT -------------------------------------
C   20/10/81 408081453  MEMBER NAME  CMUFFL   (S)           FORTRAN
C
C LAST CHANGE 15.00 08/08/84 - CKB PWA     - ADD NALLWM,PMXFLG
C      CHANGE 15.00 03/12/83 - HUGH MCCANN - NEW LEAD GLASS PARAMETERS.
C      CHANGE 08.00 12/10/81 - HUGH MCCANN - TO ADD OVLCUT(FOR OVERLAPS)
C      CHANGE 09.33 17/06/81 - JOHN ALLISON - TO ADD RESOLUTIONS.
C
C-------------START OF MACRO CMUFFL-------------------------------------
C
      COMMON / CMUFFL / XYSTEP,RCOILI,RCOILO,PGMID,WMU,WMUSQ,DUMF1(4),
     +                  NSPECI,XPBAR,XPROT,XPION,XKAON,DUMF2(5),
     +                  TBP,GMBP,ABBP,RDBP,DEBP,
     +                  TJETI,GMJETI,ABJETI,RDJETI,DEJETI,
     +                  TJET1,GMJET1,ABJET1,RDJET1,DEJET1,
     +                  TJET2,GMJET2,ABJET2,RDJET2,DEJET2,
     +                  TJET4,GMJET4,ABJET4,RDJET4,DEJET4,
     +                  TJETO,GMJETO,ABJETO,RDJETO,DEJETO,
     +                  TCOIL,GMCOIL,ABCOIL,RDCOIL,DECOIL,
     +                  ZJETE,TJETE,GMJETE,ABJETE,RDJETE,DEJETE,
     +                  ZEPLG,TEPLG,GMEPLG,ABEPLG,RDEPLG,DEEPLG,
     +                  RLG,ZLG,TLG,GMLG,ABLG,RDLG,DELG,
     +                  ZEP,TEP,GMEP,ABEP,RDEP,DEEP,
     +                  GMG(3),ABG(3),RDG(3),DEG(3),
     +                  VDRES,VLRES,
     +                  REST1,REST2,RESTMX,RESL,RESLMX,FACTOR,OVLCUT,
     +                  ZLGHAF,TLGHAF,ZLGC,GMLGC,ABLGC,RDLGC,DELGC,
     +                  NALLWM,PMXFLG
C
C FOR EXPLANATION SEE BLOCK DATA AFTER SUBROUTINE MUFFLE.
C
C--------------END OF MACRO CMUFFL--------------------------------------
C
      COMMON / CMUIEV / IEV,NEV,IRD,KRUN,KREC,
     *                  ISECS,IMINS,IHOURS,IDAY,IMONTH,IYEAR
      COMMON / CMUPTC / XEXTRP,YEXTRP,ZEXTRP,VTZCV,LCOVAR,SIGFXY,SIGFCZ
C
C-----------------------------------------------------------------------
C
C DATA INITIALISATION STATEMENTS.
C
      DATA NWMUR/38/
C NWMUR IS NUMBER OF WORDS PER INNER DETECTOR TRACK IN 'MUR2' BANK 1.
      DATA NTPH/4/
C NTPH IS NUMBER OF TRACKS PER HIT ALLOCATED IN 'MUR2' BANKS 2 AND 3.
      DATA NPL/5/
C NPL IS NUMBER OF POINTS PER EXTRAPOLATED INNER DET. TRACK IN BANK 4.
      DATA IYEARO / -1111 /
C
      LOGICAL FIRST / .TRUE. /
      IF( .NOT. FIRST ) GO TO 4711
        FIRST = .FALSE.
        WRITE(6,9101)
 9101   FORMAT(' +++ MUANAF SPECIAL VERSION OF 24/05/88...')
 4711 CONTINUE
C IYEARO IS YEAR OF LAST EVENT
C
C-----------------------------------------------------------------------
C
C FIND MAGNETIC FIELD FROM HEADER.
      IP=IDATA(IBLN('HEAD'))
      BGAUSS=HDATA(2*IP+30)
C FIND BEAM ENERGY - IN GEV!!!!!!
      EBGEV=EBEAM(HDATA(2*IP+10))/1000.
C  COSMIC RUNS HAVE ZERO BEAM ENERGY .  SET EBGEV TO 50. IN THAT CASE.
      IF(EBGEV.EQ.0.)EBGEV=50.
C
C  TEST THAT BEAM ENERGY IS BETWEEN 1.0 AND 50.0 GEV .
      IEBGEV=INT(EBGEV)
      IF(EBGEV.LT.1..OR.EBGEV.GT.50.)
     *CALL MUERRY('MUANAF',IEBGEV,' = BEAM ENERGY !!^')
      NTRKS=0
C
C  SETUP OF YEAR DEPENDENT CONSTANTS (DETECTOR STATUS 79-83, 84-86)
C
      IF( IYEAR .EQ. IYEARO ) GOTO 1
C                            SETTINGS FOR MONTE CARLO
         IYEARO = IYEAR
C                                           THE ACTUAL VALUES FOR MC:
C        SIGFCZ = 1.11+-0.04    FOR IYEAR<86
C        SIGFCZ = 1.26+-0.05    FOR IYEAR=86
C                                           BUT USE 1 FOR CLARITY
         SIGFXY = 1.0
         SIGFCZ = 1.0
         REST1  = 3.7
         REST2  =  6.5
         IF( KRUN .LE. 100 ) GOTO 101
C                            SIGFAC FOR DATA 79-84
            SIGFXY = 1.43
            SIGFCZ = 1.57
C                            CHAMBER RESOLUTION FOR DATA BEFORE 1984
            REST1  = 3.0
            REST2  = 6.0
 101     IF( IYEAR .GT. 1983 ) GOTO 102
C                            DETECTOR STATUS BEFORE 1984
            GMBP = 1.77
            ABBP = 0.0176
            RDBP = 0.0741
            DEBP = 2.86E-3
C
            GMJETO = 4.99
            ABJETO = 0.0497
            RDJETO = 0.2076
            DEJETO = 8.08E-3
C
            GOTO 1
 102     CONTINUE
C                            DETECTOR STATUS AFTER 1983
            GMBP = 1.39
            ABBP = 0.0139
            RDBP = 0.0580
            DEBP = 2.25E-3
C
            GMJETO = 6.49
            ABJETO = 0.0646
            RDJETO = 0.2701
            DEJETO = 10.5E-3
C
            IF( KRUN .LE. 100 ) GOTO 1
C                            CHAMBER RESOLUTION FOR DATA 1985
               REST1  = 7.5
               REST2  = 11.5
C                            SIGFAC FOR DATA OF 1985
               SIGFCZ = 1.31
               IF( IYEAR .NE. 1986) GOTO 1
C                            CHAMBER RESOLUTION FOR DATA OF 1986
                  REST1  = 6.7
                  REST2  = 9.5
C                            SIGFAC FOR DATA OF 1986
                  SIGFXY = 1.56
                  SIGFCZ = 1.40
C
C
C-----------------------------------------------------------------------
C
C FIND 'PATR' POINTER.
C
 1    CONTINUE
      IPPATR=IDATA(IBLN('PATR'))
      IF(IPPATR.LE.0)GO TO 3
      NTRKS=IDATA(IPPATR+2)
      NWTRK=IDATA(IPPATR+3)
      ISTART=IDATA(IPPATR+1)+1
C
C-----------------------------------------------------------------------
C
C FIND MUON COORDINATE BANK.
C
 2    CONTINUE
C
C   BANK NUMBERS OF MUR1 BANKS IN JBANK, OF MUR2 BANKS IN IBANK.
C
      JBANK=0
      CALL CLOC(IMUR10,'MUR1',JBANK)
C
C IF MUR1 DOES NOT EXIST ( IN PRINCIPLE NOT POSSIBLE, IF MUANAC IS USED)
C THEN GOT TO 3.
C
      IF(IMUR10.LE.0)GO TO 3
C

C PICK UP NO. OF HITS.
C
      NHITS=IDATA(IMUR10+1)
C
C PICK UP NO. OF WORDS PER HIT.
C
      NWHIT=IDATA(IMUR10+3)
C
C PICK UP COORDINATE BANK, 'MUR1' BANK 1.
C
      JBANK=1
      CALL CLOC(IMUR11,'MUR1',JBANK)
C
C  NO MUR1/1 BANK FOR THIS EVENT IMPLIES THAT MU-FILTER WAS NOT
C  OPERATIONAL, OR SIGNAL-COORDINATE CONVERSION HAS NOT BEEN DONE .
C  OR MAYBE MUON TRACKING WAS NOT DONE IF THIS IS MONTE CARLO.
C  BUT WANT TO MAKE MUR2/0 ANYWAY.
C
      IF(IMUR11.LE.0)GO TO 3
C
C PICK UP HIT STATUS BANK, 'MUR1' BANK 2.
C
      JBANK=2
      CALL CLOC(IMUR12,'MUR1',JBANK)
C
C-----------------------------------------------------------------------
C
C CREATE 'MUR2' RESULTS BANKS.
C
 3    CONTINUE
C
C ADD 'MUR2' TO SPECIAL LIST READY FOR WRITING.
C
      CALL BSAW(1,'MUR2')
      IBANK=0
      CALL CCRE(IMUR20,'MUR2',IBANK,4,IER)
      IF(IER.NE.0)GO TO 96
      IDATA(IMUR20+1) = NTRKS
      IDATA(IMUR20+2) = NWMUR
      IDATA(IMUR20+3) = NTPH
      IDATA(IMUR20+4) = NPL
C
      IF( NREGS .LE. 0 ) GO TO 94
C
      IF(IPPATR.LE.0)GO TO 98
C
      IF(IMUR10.LE.0)GO TO 97
C
      IF(IMUR11.LE.0.OR.IMUR12.LE.0)GO TO 975
C
      IF(NTRKS.LE.0)GO TO 99
C
C MAIN RESULTS BANK.
C
      IBANK=1
      CALL CCRE(IMUR21,'MUR2',IBANK,NTRKS*NWMUR,IER)
      IF(IER.NE.0)GO TO 96
C
C HIT-TRACK CORRELATION BANK.
C
      IBANK=2
      CALL CCRE(IMUR22,'MUR2',IBANK,(NTPH*NHITS+1)/2,IER)
      IF(IER.NE.0)GO TO 96
C
C HIT-TRACK AMBIGUITY BANK.
C
      IBANK=3
      CALL CCRE(IMUR23,'MUR2',IBANK,(NTPH*NHITS+1)/2,IER)
      IF(IER.NE.0)GO TO 96
C
C EXTRAPOLATED TRACK POINTS BANK.
C
      IBANK=4
      CALL CCRE(IMUR24,'MUR2',IBANK,3*NPL*NTRKS,IER)
      IF(IER.NE.0)GO TO 96
C
C-----------------------------------------------------------------------
C
C TRY IT. (HERE FOLLOWS THE INTRODUCTION TO MUFFLE FOR REFERENCE.)
C     SUBROUTINE MUFFLE(IPATR,APATR,NTRKS,NWTRK,
C    * BGAUSS,
C    * HC,NHITS,NWHIT,
C    * HLUN,
C    * IMUR,AMUR,NWMUR,
C    * HTC,HAMB,NTPH,
C    * EXTRA,NPL,EBEAM)
C
C     IMPLICIT INTEGER*2 (H)
C
C     DIMENSION IPATR(1),APATR(1),
C    * HC(1),
C    * HLUN(1),
C    * IMUR(1),AMUR(1),
C    * HTC(1),HAMB(1),
C    * EXTRA(1)
C
C-----------------------------------------------------------------------
C
C IPATR,APATR IS PATT. REC. DATA (SEE JADE COMP. NOTE 12, 23/2/79.)
C NTRKS IS NUMBER OF TRACKS.
C NWTRK IS NUMBER OF WORDS PER TRACK.
C BGAUSS IS MAGNETIC FIELD IN GAUSS.
C HC CONTAINS MUON HIT COORDINATES.
C NHITS IS THE NUMBER OF MUON HITS.
C NWHIT IS NUMBER OF WORDS PER HIT IN HIT COORDINATE ARRAY.
C HLUN IS HIT STATUS ARRAY.
C IMUR,AMUR IS MU-RESULTS 'MUR2' BANK 1 - FILLED BY MUFFLE.
C NWMUR IS NUMBER OF WORDS PER INNER DTECTOR TRACK IN 'MUR2' BANK 1.
C HTC IS HIT-TRACK CORELLATION ARRAY - FILLED BY MUFFLE.
C HAMB IS AMBIGUITY FLAG FOR EACH ENTRY IN HTC.
C NTPH IS NUMBER OF TRACKS PER HIT ALLOCATED IN HTC.
C EXTRA STORES THE POINTS ON THE EXTRAPOLATED TRACK.
C NPL IS THE NUMBER OF POINTS PER EXTRAPOLATED TRACK.
C EBEAM IS THE BEAM ENERGY IN GEV.
C
      CALL MUFFLE(IDATA(IPPATR+ISTART),IDATA(IPPATR+ISTART),
     * NTRKS,NWTRK,
     * BGAUSS,
     * IDATA(IMUR11+1),NHITS,NWHIT,
     * IDATA(IMUR12+1),
     * IDATA(IMUR21+1),IDATA(IMUR21+1),NWMUR,
     * IDATA(IMUR22+1),IDATA(IMUR23+1),NTPH,
     * IDATA(IMUR24+1),NPL,EBGEV)
C
C-----------------------------------------------------------------------
C
C NOW ADD BANK 5, THE MULTIPLE SCATTERING ELIPSES.
C
      IBANK=5
      CALL CCRE(IMUR25,'MUR2',IBANK,NELIPS,IER)
      IF(IER.NE.0)GO TO 96
      CALL UCOPY(ELIPSE,IDATA(IMUR25+1),NELIPS)
C
C-----------------------------------------------------------------------
C
C NOW ADD BANK 6, THE BAD CHAMBER LIST.
C
      NBADCH=0
      DO 6 I=1,NCHAMS
      IF(HMCSTA(I).EQ.0)GO TO 6
      NBADCH=NBADCH+1
      HBADCH(NBADCH)=I
 6    CONTINUE
      IF(MOD(NBADCH,2).NE.0)HBADCH(NBADCH+1)=0
      IBANK=6
      NBADC2=(NBADCH+1)/2
      CALL CCRE(IMUR26,'MUR2',IBANK,NBADC2,IER)
      IF(IER.NE.0)GO TO 96
      CALL UCOPY(HBADCH,IDATA(IMUR26+1),NBADC2)
C
C-----------------------------------------------------------------------
C
      GO TO 99
C
C-----------------------------------------------------------------------
C
C ERROR CONDITIONS.
C
 94   CALL MUERRY('MUANAF',0,'MU ANALYSIS ABORTED - NO MU REGIONS FOUND.
     + NO CALIBRATION?^')
      GO TO 99
C
 95   CALL MUERRY('MUANAF',IBANK,' = I, NOT ENOUGH SPACE FOR ''MUR2/I''.
     +^')
      GO TO 99
C
 96   IF(IER.GT.1)GO TO 95
      CALL MUERRY('MUANAF',IBANK,' = I, ''MUR2/I'' ALREADY PRESENT.^')
      GO TO 99
C
 97   NMU(10)=NMU(10)+1
      CALL MUERRY('MUANAF',JBANK,' = I, ''MUR1/I'' NOT LOCATED. HAS MUAN
     +AC BEEN CALLED?^')
      GO TO 99
C
 975  IF (NHITS .LE. 0) GO TO 99
      NMU(4) = NMU(4) + 1
      CALL MUERRY('MUANAF',JBANK,' = I, ''MUR1/I'' EXPECTED BUT MISSING,
     + SERIOUS ERROR.^')
      GO TO 99
C
 98   CALL MUERRY('MUANAF',0,'''PATR'' NOT LOCATED.^')
      NTRKS=0
      GO TO 3
C
C-----------------------------------------------------------------------
C
 99   CONTINUE
      RETURN
      END
