def getDepletionVoltage(filename, debug=True, const_cap=None, rising=1, constant=8, min_x=None, max_x=None, debugfile=None, low_start=None, low_end=None, high_start=None, high_end=None, savedatapath=None, variation=10, strictcheck=True, interactive=False): pl = curvePlotter(mode="CVs") pl.addPlotFromFile(filename, min_x=min_x, max_x=max_x, noplot=True) df = DepletionFitter(x=pl.x, y=pl.y, const_cap=const_cap, rising=rising, constant=constant, debugfile=debugfile, low_start=low_start, low_end=low_end, high_start=high_start, high_end=high_end, varcut=variation, strictcheck=strictcheck, interactive=interactive) v = df.getDepletionVoltage(debugplot=debug, savedatapath=savedatapath) return v
def makeplot(diodestr): plt.close() folder = diodestr + "_captests/" sp = curvePlotter(mode="CVs", path=datadir, read_freq=True) for i in range(1, 5): readfile = folder + "*_" + str(i) + ".cv" try: f = sp.readFreq(readfile) fmtdiodestr = diodestr.replace("*", "") sp.addPlotFromFile(readfile, label=fmtdiodestr + ' ' + str(f) + ' Hz') except: pass sp.labelAxes() plt.legend() diodestr = diodestr.replace("*", "_") plt.savefig(outdir + diodestr + '_captest.pdf')
globalpath = os.getenv("DATAPATH") + '/' outpath = os.getenv("DATAOUTPATH") + '/' os.system('mkdir -p ' + outpath + args.inputDir) outpath = outpath + args.inputDir + "/" outprefix = outpath + args.outfile high_end = None high_start = None low_end = None low_start = None const_cap = None if args.rederive or (not os.path.isfile(outpath + args.outfile + ".depl") and not args.ignoremissing): cv_plotter = curvePlotter(mode="CVs", path=globalpath) cv_plotter.addPlotFromFile(args.inputDir + "/*.cv", label="test") print('fit rising edge from to (positive)') print('fit constant from to') print('constant value (if any)') cv_plotter.showPlot() print('fit rising edge from to (positive)') print('fit constant from to') print('constant value (if any)') high_end = -float(input()) high_start = -float(input()) low_end = -float(input()) low_start = -float(input()) const_cap = input()
#!/usr/bin/python3 from fileIO import fileReader from plotting import curvePlotter from matplotlib import pyplot as plt import styles globalpath = "/Users/jkiesele/cern_afs/eos_hgsensor_testres/Results_SSD/CVIV/Diode_TS/" outdir = "non_irradiated/" plter = curvePlotter(mode="CV", path=globalpath) iv_plotter = curvePlotter(mode="IV", path=globalpath) for m in ['cv', 'iv']: plter = plter if m == 'iv': plter = iv_plotter linestyle = '-' plter.addPlotFromFile("1004_UL_diode_big/1004_UL_diode_big_2020-11-06_1." + m, label="1004 (300 µm), no GR, $V_{fb}=-5V$", linestyle='dashed', color="tab:green") plter.addPlotFromFile("1013_UL_diode_big/1013_UL_diode_big_2020-11-06_1." + m,
def plotFullSet(minstr, outdir, identifier="UL_diode_big", globalpath=None): os.system("mkdir -p " + outdir) if globalpath is None: globalpath = os.getenv("DATAPATH") + '/' cv_plotter = curvePlotter(mode="CVs", path=globalpath) iv_plotter = curvePlotter(mode="IV", path=globalpath) for m in ['cv', 'iv']: plter = cv_plotter if m == 'iv': plter = iv_plotter plter.addPlotFromFile( "1002_UL*diode_big_no_ann/1002_UL*diode_big_no_ann_2020-11-12_1." + m, label="6.5 E14 $neq/cm^2$, no ann.", min_x=-950) plter.addPlotFromFile( "1003_UL*diode_big_no_ann/1003_UL*diode_big_no_ann_2020-11-12_1." + m, label="1.0 E15 $neq/cm^2$, no ann.", min_x=-950) plter.addPlotFromFile( "1102_UL*diode_big_no_ann/1102_UL*diode_big_no_ann_2020-11-10_2." + m, label="1.5 E15 $neq/cm^2$, no ann.", min_x=-950) #plt.legend(loc='lower left') #plter.labelAxes() #plt.twinx() plter.addPlotFromFile("1002_" + identifier + "_ann_" + minstr + "/*." + m, label="6.5 E14 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plter.addPlotFromFile("1003_" + identifier + "_ann_" + minstr + "/*." + m, label="1.0 E15 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plter.addPlotFromFile("1102_" + identifier + "_ann_" + minstr + "/*." + m, label="1.5 E15 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plt.title("300µm") plt.legend() if m == 'cv': plt.ylim([0., 1.25e22]) else: plt.ylim([0., 1.5e-5]) plter.savePlot(outdir + m + "_1001_1002_1003_1102.pdf", nolegend=True) plter.addPlotFromFile( "2002_UL*diode_big_no_ann/2002_UL*diode_big_no_ann_2020-11-12_1." + m, label="1.0 E15 $neq/cm^2$ ,no ann.", min_x=-950) plter.addPlotFromFile( "2003_UL*diode_big_no_ann/2003_UL*diode_big_no_ann_2020-11-12_1." + m, label="1.5 E15 $neq/cm^2$, no ann.", min_x=-950) plter.addPlotFromFile( "2102_UL*diode_big_no_ann/2102_UL*diode_big_no_ann_2020-11-12_1." + m, label="2.5 E15 $neq/cm^2$, no ann.", min_x=-950) #plt.legend(loc='lower left') ##plt.subplots_adjust(left=0.0, bottom=0.0, right=0.0) #plter.labelAxes() #plt.twinx() plter.addPlotFromFile("2002_" + identifier + "_ann_" + minstr + "/*." + m, label="1E15 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plter.addPlotFromFile("2003_" + identifier + "_ann_" + minstr + "/*." + m, label="1.5E15 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plter.addPlotFromFile("2102_" + identifier + "_ann_" + minstr + "/*." + m, label="2.5E15 $neq/cm^2$, " + minstr + "@60C", linestyle='dashed') plt.title("200µm") plt.legend() if m == 'cv': plt.ylim([0., 6e21]) else: plt.ylim([-1.e-6, 2.1e-5]) plter.savePlot(outdir + m + "_2001_2002_2003_2102.pdf", nolegend=True)