*-- Author : Stephen J. Maxfield 27/02/93 SUBROUTINE FILHIS **------------------------------------------------------------- * * Fill some LOOK histograms for monitoring * Forward Tracker Pattern Recognition. * *-------------------------------------------------------------- * *KEEP,BCS. *KEEP,BOSMDL. C ------BOSMDL C ------ *KEEP,H1EVDT. * * IDATA type of information (HEAD bank word 6) : * * 0 - real data H1 * 1 - MC data H1SIM * 2 - real data CERN tests * 3 - MC data ARCET * * MONTE = .TRUE. if IDATA=1 * KEVENT = event processed counter for H1REC * *KEEP,FDIFLG. *KEEP,FPTFLG. *KEND. *------statement functions for table access-------------------------- *KEEP,STFUNCT. * index of element before row number IROW * index of L'th element of row number IROW * L'th integer element of the IROW'th row of bank with index IND * L'th real element of the IROW'th row of bank with index IND *KEND. * * * *----------------------------------------------------------------- * Fill Histograms. * * Zero all Work Bank Indices... * * 'Pointering' bank FPUR... IND = NLINK('FPUR',NBN) CALL BKTOW(IW,'FPUR',NBN,IW,INDPUR,*900) * * Number of tracks found... CALL SHS(101, 0, FLOAT(NTRK)) * * * * Level '0' track parameters... INDTUR = NLINK('FTUR',NBN) * * List of radial hits... IND = NLINK('FRUX',NBN) CALL BKTOW(IW,'FRUX',NBN,IW,INDRUX,*900) * * List of planar hits... IND = NLINK('FPUX',NBN) CALL BKTOW(IW,'FPUX',NBN,IW,INDPUX,*900) * * Radial hit data (drifts etc.)... INDRLC = NLINK('FRLC',NBN) * * Planar hit data (drifts etc.)... INDPLC = NLINK('FPLC',NBN) * * Loop over pattern recognised tracks * * CALL SHS(102, 0, PHI ) CALL SHS(103, 0, THETA) CALL SHS(104, 0, PMEAS) CALL SHS(105, 0, 1./PMEAS) CALL SHS(106, 0, LOG(1./PMEAS)) * * * Get hit data for each radial hit on the track... * Drift from FRLC bank... CALL SHS( 110,0, DRIFT) CALL SHS( 111,0, RADIUS) CALL SHD( 112,0, DRIFT, RADIUS) * Get hit data for each planar hit on the track... * Drift from FPLC bank... CALL SHS( 113,0, DRIFT) * ...Monte Carlo * * ...Loop over tracks * *----------- Done ---------------------------------------- * Drop all Work banks (unused ones should have index 0 so O.K.) CALL WDROP(IW,INDPUR) CALL WDROP(IW,INDRUX) CALL WDROP(IW,INDPUX) * *