subroutine slope(y,npts,xpk) ! Remove best-fit slope from data in y(i). When fitting the straight line, ! ignore the peak around xpk +/- 4 bins real y(npts) sumw=0. sumx=0. sumy=0. sumx2=0. sumxy=0. sumy2=0. do i=1,npts if(abs(i-xpk).gt.4.0) then sumw=sumw + 1.0 x=i sumx=sumx + x sumy=sumy + y(i) sumx2=sumx2 + x*x sumxy=sumxy + x*y(i) sumy2=sumy2 + y(i)**2 endif enddo delta=sumw*sumx2 - sumx**2 a=(sumx2*sumy - sumx*sumxy) / delta b=(sumw*sumxy - sumx*sumy) / delta sq=0. do i=1,npts y(i)=y(i)-(a + b*i) if(abs(i-xpk).gt.4.0) sq=sq + y(i)**2 enddo rms=sqrt(sq/(sumw-4.0)) y=y/rms return end subroutine slope