| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  | subroutine slope(y,npts,xpk)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ! Remove best-fit slope from data in y(i).  When fitting the straight line,
 | 
					
						
							| 
									
										
										
										
											2017-11-28 20:46:00 +00:00
										 |  |  | ! ignore the peak around xpk +/- 4 bins
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   real y(npts)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   sumw=0.
 | 
					
						
							|  |  |  |   sumx=0.
 | 
					
						
							|  |  |  |   sumy=0.
 | 
					
						
							|  |  |  |   sumx2=0.
 | 
					
						
							|  |  |  |   sumxy=0.
 | 
					
						
							|  |  |  |   sumy2=0.
 | 
					
						
							|  |  |  |   do i=1,npts
 | 
					
						
							| 
									
										
										
										
											2017-10-22 00:09:01 +00:00
										 |  |  |      if(abs(i-xpk).gt.4.0) then
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  |         sumw=sumw + 1.0
 | 
					
						
							| 
									
										
										
										
											2015-11-18 01:28:12 +00:00
										 |  |  |         x=i
 | 
					
						
							|  |  |  |         sumx=sumx + x
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  |         sumy=sumy + y(i)
 | 
					
						
							| 
									
										
										
										
											2015-11-18 01:28:12 +00:00
										 |  |  |         sumx2=sumx2 + x*x
 | 
					
						
							|  |  |  |         sumxy=sumxy + x*y(i)
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  |         sumy2=sumy2 + y(i)**2
 | 
					
						
							|  |  |  |      endif
 | 
					
						
							|  |  |  |   enddo
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   delta=sumw*sumx2 - sumx**2
 | 
					
						
							|  |  |  |   a=(sumx2*sumy - sumx*sumxy) / delta
 | 
					
						
							|  |  |  |   b=(sumw*sumxy - sumx*sumy) / delta
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-18 01:28:12 +00:00
										 |  |  |   sq=0.
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  |   do i=1,npts
 | 
					
						
							| 
									
										
										
										
											2015-11-18 01:28:12 +00:00
										 |  |  |      y(i)=y(i)-(a + b*i)
 | 
					
						
							| 
									
										
										
										
											2017-11-28 20:46:00 +00:00
										 |  |  |      if(abs(i-xpk).gt.4.0) sq=sq + y(i)**2
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  |   enddo
 | 
					
						
							| 
									
										
										
										
											2017-11-28 20:46:00 +00:00
										 |  |  |   rms=sqrt(sq/(sumw-4.0))
 | 
					
						
							| 
									
										
										
										
											2015-11-18 01:28:12 +00:00
										 |  |  |   y=y/rms
 | 
					
						
							| 
									
										
										
										
											2015-04-22 17:48:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   return
 | 
					
						
							|  |  |  | end subroutine slope
 | 
					
						
							|  |  |  | 
 |