def draw_times(ax, wf, wt): #wf -= wf[0:1000].mean() edges = find_edges(wf, BASE, THR, CFR, DEADTIME, LEADINGEDGE) # pairs of (amplitude,sampleNumber) print 'MCP edges' print edges for (amp, ind) in edges: x0 = wt[int(ind)] xarr = (x0, x0) yarr = (amp, -amp) gg.drawLine(ax, xarr, yarr, s=10, linewidth=1, color='k')
def draw_times(ax, wf, wt): #wf -= wf[0:1000].mean() t0_sec = time() edges = find_edges(wf, BASE, THR, CFR, DEADTIME, LEADINGEDGE) print ' consumed time = %10.6f(sec)' % (time() - t0_sec) # pairs of (amplitude,sampleNumber) print ' nhits:', edges.shape[0] #print ' edges:', edges for (amp, ind) in edges: x0 = wt[int(ind)] xarr = (x0, x0) yarr = (amp, -amp) gg.drawLine(ax, xarr, yarr, s=10, linewidth=1, color='k')
def draw_times_old(ax, wf, wt): #wf -= wf[0:1000].mean() edges = find_edges(wf, BASE, THR, CFR, DEADTIME, LEADINGEDGE) # pairs of (amplitude,sampleNumber) #print(' nhits:', edges.shape[0],) #print(' edges:', edges) for (amp, ind) in edges: x0 = wt[int(ind)] xarr = (x0, x0) yarr = (amp, -amp) gr.drawLine(ax, xarr, yarr, s=10, linewidth=1, color='k') return edges
#detname = 'AmoEndstation.0:Acqiris.2' # for xpptut15 ch:0 - MCP ds = DataSource(dsname) det = Detector(detname) ch = int(sys.argv[1]) if len(sys.argv) > 1 else 2 # Acqiris chanel for nevent, evt in enumerate(ds.events()): r = det.raw(evt) nda = np.array(r) print 'Event:%03d' % nevent, '\n' if r is not None else '', r if r is None: continue waveforms, times = r # find edges for channel 0 # parameters: baseline, threshold, fraction, deadtime, leading_edges edges = find_edges(waveforms[ch], 0.0, -0.05, 1.0, 5.0, True) # pairs of (amplitude,sampleNumber) print 'edges for channel %02d:' % ch for n, (v, bin) in enumerate(edges): print ' edge:%02d bin:%05d value:%6.3f' % (n, bin, v) break import matplotlib.pyplot as plt plt.figure(figsize=(16, 4)) #plt.plot(times[ch,:40000], waveforms[ch,:40000]) plt.plot(waveforms[ch, :40000]) plt.title('%s %s chanel %02d' % (dsname, detname, ch)) plt.xlabel('bin', fontsize=14) plt.ylabel('intensity', fontsize=14) plt.show()