*-- Author : Girish D. Patel 07/12/93 SUBROUTINE FILLQR(IW,T,Q,RAD,IS,IFLG2) ********************************************************************** * * * Fill arrays with Ts and Qs for all cells, per event * * IW = Planar Channel Number (0 TO 1151) * * T = Drift Time in nsec * * Q = Integrated Charge (FADC bins * FADC channel content) * * RAD = Charge division radius of hit in cms * * IS = Wedge pair indicator 1 = + wedge , -1 = - wedge * * IFLG2 = IFLAG2 FADC pulse information * * * * JVM 9/6/92 * ********************************************************************** *KEEP,FMOBIN. PARAMETER( NBINR=40 ) *KEEP,FMOLUN. COMMON/FMOLUN/ LUNH, LUNS, LMES *KEEP,FMOSUM. COMMON/FMOSUM/ NDATE0,NTIME0,ISTATP(20),ISTATR(20),IFRHV,IFPHV, & NEVENT,NFIEL0,NPRES0,NECUR0,NPCUR0,IRTE0,IRTP0, & IEVIN,NFPEVT,NHITSP,NFREVT,NHITSR,NMIN92, & TOTL,H1L,RTIME,REFF,ILRET * TOTL total run luminosity (mb^-1) * H1L H1 gated run luminosity (mb^-1) * RTIME total run time (sec) * REFF run efficiency = (1 - dead_time/run_time) * ILRET return flag: 0 - ok, 1 - no inf. found in H1DB *KEEP,FMOHIT. COMMON/FMOHIT/ LHITSP(0:8), LHITSR(0:8) *KEEP,FMOWRK. PARAMETER (MAXHIT=20) LOGICAL LNEWR LOGICAL LNEWP COMMON/H1WORK/ * planar hit data... + TT(0:287,4,MAXHIT), NHIT(0:287,4), + QQ(0:287,4,MAXHIT), QQW(4) , LNEWP, * radial hit data... + TTR(0:431,4,MAXHIT), NHITR(0:431,4), + QQR(0:431,4,MAXHIT), QQWR(4) , LNEWR, + RR(0:431,4,MAXHIT) *KEND. *KEEP,FMOHIS. INTEGER IHS(28) COMMON/FMOHIS/ IHS *KEND. ISTATR(11) = ISTATR(11) + 1 CALL SHSW(IHS(26),0,38.,1.) IF( Q.LE.0. )THEN ISTATR(12) = ISTATR(12) + 1 CALL SHSW(IHS(26),0,39.,1.) RETURN ENDIF QLOG = ALOG(Q) IF(IW.LT.0 .OR. IW.GT.863)THEN WRITE(LMES,1000)IW,NEVENT 1000 FORMAT(1X,'*** FILLQR; illegal wire number',I10,' Event',I10) RETURN ENDIF NWM = IW/288 NWP = (IW-NWM*288)/12 NWP2= (NWP/2)*4 + MOD(NWP,2) IF(IS.EQ.-1) NWP2 = MOD(NWP2+34,48) NWO = MOD(IW,12)/4 NWW = MOD(IW,12)+1 NC = NWM*144 + NWP2 + NWO*48 NWC= MOD(IW,4)+1 KRATE = IW/192 ICKR = MOD(IW,192)/4 ! cell number within crate NWPPM = NWP*2+(IS+1)/2 CALL SHD (IHS(11),0,FLOAT(NWPPM),FLOAT(NWM*12+NWW)) !SGI * fill vector of hits per orientation LH = NWM*3 + NWO LHITSR(LH) = LHITSR(LH) + 1 CALL SHSW(IHS(26),0,57.+FLOAT(LH),1.) * Histograms for ALL available hits ... CALL SHS (IHS(13),0,T) !SGI *GDP CALL SHS (IHS(14),0,RAD*FLOAT(IS)) !SGI CALL SHS (IHS(15),0,RAD) !SGI IF(RAD.LT.80.0) THEN CALL SHSW(IHS(24),0,T-5.,+1.) !SGI CALL SHSW(IHS(24),0,T+5.,-1.) !SGI XRAD = RAD*FLOAT(NBINR)/80.0 IRAD = XRAD CALL SHDW(IHS(25),0,T-60.,XRAD,-1.) !SGI CALL SHDW(IHS(25),0,T+60.,XRAD,+1.) !SGI ENDIF *GDP CALL SHD (IHS(16),0,T,RAD) !SGI CALL SHD (IHS(20),0,T,QLOG) !SGI *GDP CALL SHD (IHS(17),0,T,RAD) Histo redefined !SGI *GDP CALL SHD (IHS(18),0,T,RAD) Histo redefined !SGI CALL SHD (IHS(21),0,QLOG,0.) !SGI CALL SHD (IHS(21),0,QLOG,FLOAT(NWW)) !SGI IF( NHITR(NC,NWC).EQ.MAXHIT ) GOTO 9000 NHITR(NC,NWC) = NHITR(NC,NWC)+1 TTR(NC,NWC,NHITR(NC,NWC)) = T QQR(NC,NWC,NHITR(NC,NWC)) = Q RR(NC,NWC,NHITR(NC,NWC)) = RAD LNEWR = .TRUE. 9000 CONTINUE RETURN END *