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)):
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
# 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)

Ejemplo n.º 4
0
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])
Ejemplo n.º 5
0
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))
Ejemplo n.º 6
0
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])