fout = ROOT.TFile("%s/fits/rootFiles.root"%rootDirec,"recreate")
 ipwCan = ROOT.TCanvas()
 pinCan = ROOT.TCanvas()
 ipwCan.SetCanvasSize(1000,400)
 pinCan.SetCanvasSize(1000,400)
 ipwCan.Divide(2,1)
 pinCan.Divide(2,1)
 
 # Loop over all data using standarised directory structure
 resultsList = []
 boxes = return_boxes("%s/broad_sweep/"%rootDirec)
 for box in boxes:
     broadFiles = return_files("%s/broad_sweep"%rootDirec, box)
     lowFiles = return_files("%s/low_intensity"%rootDirec, box)
     for j in range(len(lowFiles)):
         broadVals = check_data(plot_ipw.read_scope_scan(broadFiles[j]))
         lowVals = check_data(plot_ipw.read_scope_scan(lowFiles[j]))
         # Creat plots
         photonVsPIN_broad = ROOT.TGraphErrors()
         photonVsIPW_broad = ROOT.TGraphErrors()
         photonVsPIN_low = ROOT.TGraphErrors()
         photonVsIPW_low = ROOT.TGraphErrors()
         print len(broadVals), len(lowVals), broadFiles[j], lowFiles[j]
         for i in range(len(broadVals)):
             photonBroad = plot_ipw.get_photons(broadVals[i]["area"], 0.5)
             photonErrBroad = plot_ipw.get_photons(broadVals[i]["area_err"], 0.5)
             # Fill plots with data
             # Note: Data points are returned as mean and stdev(rms)
             #       for fitting, uncertainties should be given as standard error. 
             photonVsPIN_broad.SetPoint(i,broadVals[i]["pin"],photonBroad)
             photonVsPIN_broad.SetPointError(i,broadVals[i]["pin_err"]/np.sqrt(100),photonErrBroad/np.sqrt(100))
예제 #2
0
    fout = ROOT.TFile("%s/fits/rootFiles.root" % rootDirec, "recreate")
    ipwCan = ROOT.TCanvas()
    pinCan = ROOT.TCanvas()
    ipwCan.SetCanvasSize(1000, 400)
    pinCan.SetCanvasSize(1000, 400)
    ipwCan.Divide(2, 1)
    pinCan.Divide(2, 1)

    # Loop over all data using standarised directory structure
    resultsList = []
    boxes = return_boxes("%s/broad_sweep/" % rootDirec)
    for box in boxes:
        broadFiles = return_files("%s/broad_sweep" % rootDirec, box)
        lowFiles = return_files("%s/low_intensity" % rootDirec, box)
        for j in range(len(lowFiles)):
            broadVals = check_data(plot_ipw.read_scope_scan(broadFiles[j]))
            lowVals = check_data(plot_ipw.read_scope_scan(lowFiles[j]))
            # Creat plots
            photonVsPIN_broad = ROOT.TGraphErrors()
            photonVsIPW_broad = ROOT.TGraphErrors()
            photonVsPIN_low = ROOT.TGraphErrors()
            photonVsIPW_low = ROOT.TGraphErrors()
            print len(broadVals), len(lowVals), broadFiles[j], lowFiles[j]
            for i in range(len(broadVals)):
                photonBroad = plot_ipw.get_photons(broadVals[i]["area"], 0.5)
                photonErrBroad = plot_ipw.get_photons(broadVals[i]["area_err"],
                                                      0.5)
                # Fill plots with data
                # Note: Data points are returned as mean and stdev(rms)
                #       for fitting, uncertainties should be given as standard error.
                photonVsPIN_broad.SetPoint(i, broadVals[i]["pin"], photonBroad)
# Date  : 11/05/15
#######################################
import calc_utils as calc
import plot_ipw
import optparse
import os

if __name__ == "__main__":
    parser = optparse.OptionParser("Usage: python checkMeasurements.py [option]")
    parser.add_option("-f", "--file",
                      dest="file",
                      default=False,
                      help="Pass path to data file to be checked")
    (options,args) = parser.parse_args()

    res_list = plot_ipw.read_scope_scan(options.file)

    p = options.file.split('/')
    print p 
    box  = int(p[2][4:6])
    chan  = int(p[3][4:6])
    print chan
    overallChan = ((box-1)*8)+chan 
    dataPath = os.path.join(p[0],p[1],"Box_%02d/raw_data/channel_%02d/" % (box,overallChan))
    files = [ f for f in os.listdir(dataPath) if os.path.isfile(os.path.join(dataPath,f)) ]

    output_filename = "%s_check.dat" % options.file[0:-4]
    output_file = file(output_filename,'w')
    output_file.write("#PWIDTH\tPWIDTH Error\tPIN\tPIN Error\tWIDTH\tWIDTH Error\tRISE\tRISE Error\tFALL\tFALL Error\tAREA\tAREA Error\t\
Minimum\tMinimum Error\n")