Index: /fact/tools/pyscripts/sandbox/dneise/gain/gain.py
===================================================================
--- /fact/tools/pyscripts/sandbox/dneise/gain/gain.py	(revision 13421)
+++ /fact/tools/pyscripts/sandbox/dneise/gain/gain.py	(revision 13421)
@@ -0,0 +1,85 @@
+#!/usr/bin/python -tti
+#
+# 
+
+from pyfact   import RawData
+from drs_spikes import DRSSpikes        
+from fir_filter import CFD
+from extractor import ZeroXing
+from fir_filter import SlidingAverage
+
+from plotters import Plotter
+
+import sys
+import cPickle
+import matplotlib.pyplot as plt
+import numpy as np
+
+data_filename = 'data/20111017_010.fits.gz'
+calib_filename = 'data/20111017_007.drs.fits.gz'
+out_filename = 'test.pkl'
+
+run = RawData(data_filename, calib_filename, return_dict = True, do_calibration=True)
+despike = DRSSpikes()
+smooth = SlidingAverage(8)
+cfd = CFD()
+find = ZeroXing()
+
+#plt.ion()
+
+peak_list = []
+        
+p = Plotter('data[0]')
+
+
+#fig = plt.figure()
+#plt.grid(True)
+
+stupid_list = []
+
+for event in run:
+    print event['event_id'].value
+    data = event['acal_data']
+    data = despike(data)
+    data = smooth(data)
+    filtered = cfd(data)
+    filtered = smooth(filtered)
+    peak_positions = find(data)
+    
+    # find peak heights
+    # and get rid of too small peaks
+#    good_peaks = []
+#    for idx,pixel in enumerate(peak_positions):
+#        good_peaks.append([])
+#        for peak_pos in pixel:
+#            peak_height = data[idx][int(peak_pos)]
+#            stupid_list.append(peak_height)
+#            if peak_height > 4.0:
+#                good_peaks[-1].append((peak_pos,peak_height)) 
+#
+#    plt.hist(np.array(stupid_list))
+
+    p((data[0],filtered[0]))
+    print 'peak_positions:', map(int, peak_positions[0])
+    
+    peak_pussies = map(int, peak_positions[0])
+    peak_h = []
+    for i in peak_pussies:
+        peak_h.append(data[0][i-8])
+
+
+    pp = Plotter('peaks', x=peak_pussies)
+    pp(peak_h)
+    
+
+    ret = raw_input('quit?')
+    if ret=='q':
+        break
+
+#    peak_list.append( good_peaks )
+
+
+#output = open(out_filename, 'wb')
+#cPickle.dump(data_filename, output, -1)
+#cPickle.dump(calib_filename, output, -1)
+#cPickle.dump(peak_list, output, -1)
