asic='H24' asicpost = asic+'POST' ;--------------------------------------------------- loadct,39 datadir = '~/nustar/asic_screening/data/protohybrid/' reportdir='~/nustar/asic_screening/reports/compare_pre-post/'+asic+'/' ; Make the directory, if necessary file_mkdir, reportdir sfx_pdc='PIXELDC' sfx_intlin='INTLIN' sfx_ndisc='DISC' csize =1.0 csize1=1.0 ;----------------- Pixel DC Test ------------------ ; Get the data for the preburn: asicdir=strcompress(datadir+asic+'/',/remove) filename=strcompress(asicdir+sfx_pdc+'.TXT',/remove) print,filename .run parse_pixeldc .run fit_pixeldc ; Save the preburn data prescale = slope preoffest = offset prezero = zerolevel prerail = raillevel prePreAmp = preAmp preLeakage = leakage preDC = dclevel asicdir=strcompress(datadir+asicpost+'/',/remove) filename=strcompress(asicdir+sfx_pdc+'.TXT',/remove) print,filename .run parse_pixeldc .run fit_pixeldc ; Save the postburn data postscale = slope postoffest = offset postzero = zerolevel postrail = raillevel postPreAmp = preAmp postLeakage = leakage postDC = dclevel outps1 =strcompress(reportdir+asic+'_pixeldc_comp.ps',/remove) outpdf1 =strcompress(reportdir+asic+'_pixeldc_comp.pdf',/remove) .run setps .run pixeldc_comp .run endps ;----------------- Integral Linearity Test ------------------ asicdir=strcompress(datadir+asic+'/',/remove) filename=strcompress(asicdir+sfx_intlin+'.TXT',/remove) print,filename .run parse_intlin .run plot_intlin ; copy over the fit results and the residuals preFit = result preDP = dp preRes = residuals preErr = err asicdir=strcompress(datadir+asicpost+'/',/remove) filename=strcompress(asicdir+sfx_intlin+'.TXT',/remove) print,filename .run parse_intlin .run plot_intlin ; copy over the fit results and the residuals postFit = result postDP = dp postRes = residuals postErr = err diffSlope =(postFit[0] - preFit[0]) differr = sqrt(preDP[0]^2. + postDP[0]^2.) aveSlope = 0.5*(postFit[1] + preFit[1]) aveErr = 0.5*(preDP[0]^2 + postDP[0]^2.) frac = diffSlope / aveSlope fracErr = frac * sqrt( (aveErr / aveSlope)^2. + (diffErr / diffSlope)^2.) format = '("Percent Difference in linearity: ", d12.4, " +/- ", d10.4)' print, 100*frac, 100*fracErr, format = format outps1 =strcompress(reportdir+asic+'_intlin.ps',/remove) outpdf1 =strcompress(reportdir+asic+'_intlin.pdf',/remove) .run setps mycolors ploterror, index, (preRes - postRes), sqrt(preErr^2. + postErr^2.), psym = 4, ytitle = 'Difference in Residuals', xtitle = 'Entry' xyouts, 10, 320, "Percent difference in linearity: "+num2str(100*frac)+" +/- "+num2str(100*fracErr), $ charsize = csize .run endps ;----------------- NDISC Test ------------------ asicdir=strcompress(datadir+asic+'/',/remove) filename=strcompress(asicdir+sfx_ndisc+'.TXT',/remove) print,filename .run parse_ndisc .run fit_erf preEnergy = energy preEnergyErr = energyErr preWidth = width preWidthErr = widthErr asicdir=strcompress(datadir+asicpost+'/',/remove) filename=strcompress(asicdir+sfx_ndisc+'.TXT',/remove) print,filename .run parse_ndisc .run fit_erf postEnergy = energy postEnergyErr = energyErr postWidth = width postWidthErr = widthErr outps1 =strcompress(reportdir+asic+'_ndisc.ps',/remove) outpdf1 =strcompress(reportdir+asic+'_ndisc.pdf',/remove) .run setps .run plot_erf_results .run endps