*-- Author : Stephen Burke
SUBROUTINE FFKLCH
*-----------------------------------------Updates 04/05/92-------
*-----------------------------------------Updates 13/02/92-------
**: FFKLCH 30205.SB. ERRLOG error numbers changed.
*-----------------------------------------Updates 07/02/92-------
**: FFKLCH 30205.SB. Remove unused FKCNTL sequence.
**: FFKLCH 30205.SB. Change to avoid UNDEF warning.
*-----------------------------------------Updates 24/01/92-------
**: FFKLCH 30205.SB. ERRLOG message format changed.
*-----------------------------------------Updates----------------
**********************************************************************
* *
* Fill histograms to test the Kalman filter output *
* *
**********************************************************************
*KEEP,FKNPL.
*
* Per-track values can go in H1WORK; note that LTRUE and LFIRST must
* be set at least per event.
*
* This is about 36k words long; the remaining common blocks are
* about 3.6k in total. Some of this could be in /H1WORK/, but the
* blocks would have to be reorganised.
*
* /FKPROJ/
* /FKFILT/
* /FKSMTH/
* /FKINT/
* /FKRSID/
* /FKTRUE/
* /FKDBG/
*KEEP,FFGEO.
*KEEP,FFWBI.
* Work bank indices (note that INDKTR is *NOT* a work bank index!)
*KEEP,FFDBG.
*KEEP,BCS.
*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.
**********************************************************************
* Look for the track banks - if there aren't any, give up!
INDTKR = NLINK('FTKR',0)
* Unpacked digi banks
INDLC(1) = NLINK('FPLC',0)
CALL FPLOCO
INDLC(1) = NLINK('FPLC',0)
INDLC(2) = NLINK('FRLC',0)
CALL FRLOCO
INDLC(2) = NLINK('FPLC',0)
CALL ERRLOG(401,'W:FFKLCH: Banks FPLC/FRLC not found')
* Zero the work bank indices
CALL VZERO(INDX,2)
CALL VZERO(INDRSX,2)
* Get the pointering bank ...
IND = NLINK('FTPR',0)
CALL ERRLOG(402,'S:FFKLCH: Bank FTPR not found')
CALL BKTOW(IW,BANK,0,IW,INDTPR,*1000)
* Now get the link banks ...
IF (NLINK('FTPX',0).LE.0 .OR. NLINK('FTRX',0).LE.0) THEN
CALL ERRLOG(403,'S:FFKLCH: Banks FTPX and FTRX not found')
CALL BKTOW(IW,BANK,0,IW,INDX(1),*1000)
CALL BKTOW(IW,BANK,0,IW,INDX(2),*1000)
IF (NLINK('FRPX',0).GT.0) THEN
CALL BKTOW(IW,BANK,0,IW,INDRSX(1),*1000)
IF (NLINK('FRRX',0).GT.0) THEN
CALL BKTOW(IW,BANK,0,IW,INDRSX(2),*1000)
CALL HCDIR('//PAWC/'//CFKDBG,' ')
CALL HFILL(300,FLOAT(NTR/2),0.,1.)
CALL VZERO(ITRTR,2*NTRACK)
CALL HFILL(301,CHPROB,0.,1.)
CALL FFHUNT(JDIGP,JDIGR,JMAX)
IF (JMAX.GT.0) CALL FFCHEK(JDIGP,JDIGR,JMAX)
CALL FFTRCH
CALL HCDIR('//PAWC',' ')
*
* Must make sure all work banks are dropped!!!
*
CALL WDROP(IW,INDX(1))
CALL WDROP(IW,INDX(2))
CALL WDROP(IW,INDRSX(1))
CALL WDROP(IW,INDRSX(2))
CALL WDROP(IW,INDTPR)
1000 CALL ERRLOG(404,'S:FFKLCH: Bank '//BANK//' not found by BKTOW')
*