for iWave in range(0, NWAVEFORMS): #fName = "C3-cross-talk-00000.trc" fName_l = "%s%s%s%05d.trc" % (input_folder, "C2", file_header, iWave) fName = "%s%s%s%05d.trc" % (input_folder, "C3", file_header, iWave) #fName = "%s%s%s%05d.trc" % (input_folder, "C2", file_header, iWave) index[0] = iWave #print fName; #reading SiPM waveforms if os.path.isfile(fName_l) and os.path.isfile(fName): print "reading SiPM and LASER waveforms (" + str( index) + "): " + fName + " :: " + fName_l datX_l, datY_l, m = readTrc.readTrc(fName_l) datX, datY, m = readTrc.readTrc(fName) for i in range(len(datX)): t_time_l.push_back(datX_l[i]) t_amp_l.push_back(datY_l[i]) t_time.push_back(datX[i]) t_amp.push_back(datY[i]) elif os.path.isfile(fName): print "reading only SiPM waveform (" + str(index) + "): " + fName datX, datY, m = readTrc.readTrc(fName) for i in range(len(datX)):
timescale_factor = { "ps": 1e-12, "ns": 1e-9, "us": 1e-6, "ms": 1e-3, "s": 1, "ks": 1e3 } for volt in voltages: # Loop on folders print "Analysing", volt files = glob.glob(volt + '/*.trc') datX, datY, m = readTrc.readTrc( files[0]) # Decode first file to get metadata #print m nsamples = m['WAVE_ARRAY_COUNT'] nsubsamples = m['NOM_SUBARRAY_COUNT'] samplesPerEvent = m['WAVE_ARRAY_COUNT'] / m['NOM_SUBARRAY_COUNT'] # gets timebase, format is '20_us/div' f.ex. timebase_str = m['TIMEBASE'] time_per_div = float(timebase_str.split("_")[0]) timescale = timebase_str.split("_")[1].split("/")[0] time_per_div = time_per_div * timescale_factor[timescale] print "N files: ", len(files) print "N samples per event", samplesPerEvent print "Total N events", nsubsamples * len(files)
# fname = 'Angle' + '0' + '_Iter' + '1' +'_Time' + '2017_07_25_14_39_32' + '.zip' # # hdo = lecroy_HDO.spawn('10.0.1.8') # # # hdo.import_data(file_name=fname,remote_path='D:/Xport',local_path = '~/Documents') # hdo.interpret('DATA:SOU CH1') # hdo.interpret('DATA:WIDTH 1') # hdo.interpret('DATA:ENC RPB') import matplotlib.pyplot as plt from readTrc import readTrc for ch in range(1,2): print("C%d:WAVEFORM?"%ch) data = hdo.interpret("C%d:WAVEFORM?"%ch) [x,y,d] = readTrc(data) # print(data) plt.plot(x,y) plt.xlabel('s') plt.ylabel('V') plt.show() # f = open('test/C%.trc'%ch, 'w') # f.write(data) # f.close() # print(data)
import os import sys import ROOT import matplotlib.pyplot as plt import numpy as np import readTrc folder = (sys.argv[1]) x = [] y = [] first = True print os.listdir(folder) for trcFile in os.listdir(folder): xSin, ySin, m = readTrc.readTrc(os.path.join(folder, trcFile)) if first: print(m) first = False x = xSin y.append(ySin) histo = ROOT.TH1D("amp histo", "amp histo", 100, -0.05, 0.05) areaHisto = ROOT.TH1D("area histo", "area histo", 100, -1.5, 0.5) output = ROOT.TFile("originalData.root", "recreate") ymean = np.mean(y, 0) print(ymean) for i in range(len(y)): #plt.plot(x,y[i]) print np.trapz(y[i], np.multiply(x, 1e9)) areaHisto.Fill(np.trapz(y[i], np.multiply(x, 1e9))) for i in range(len(y)): for j in range(len(x)): histo.Fill(y[i][j])
def trc_get_sample_time(path): """ Return sample interval in ns, rounded up to the next integer. """ datX, datY, m = readTrc.readTrc(path) return int(np.ceil(m['HORIZ_INTERVAL'] * 1e9))
def read_trc(path): import readTrc datX, datY, m = readTrc.readTrc(path) return pd.DataFrame(np.vstack((datX, datY)), index = ['Time', 'Ampl']).T
import os import sys import ROOT import matplotlib.pyplot as plt import numpy as np import readTrc folder =(sys.argv[1]) x = [] y = [] first = True print os.listdir(folder) for trcFile in os.listdir(folder): xSin, ySin, m = readTrc.readTrc(os.path.join(folder,trcFile)) if first: print(m) first = False x = xSin y.append(ySin) histo = ROOT.TH1D("amp histo","amp histo",100,-0.05,0.05) areaHisto = ROOT.TH1D("area histo","area histo",100,-1.5,0.5) output = ROOT.TFile("originalData.root","recreate") ymean = np.mean(y,0) print(ymean) for i in range(len(y)): #plt.plot(x,y[i]) print np.trapz(y[i],np.multiply(x,1e9)) areaHisto.Fill(np.trapz(y[i],np.multiply(x,1e9))) for i in range(len(y)): for j in range(len(x)): histo.Fill(y[i][j])