def __init__(self): self.fitter = encFitter() #self.pixels = [pixelData((i,j),self.fitter) for i in range(120,128) for j in range(32) if (i,j)!=(120,26)] #self.pixels = [pixelData((i,j),self.fitter) for i in range(16,23) for j in range(32) if (i,j) not in [(16,26),(17,31),(16,29),(17,22),(23,15),(17,6),(17,23),(16,17),(16,5),(16,2)]] #self.pixels = [pixelData((i,j),self.fitter) for i in range(16,24) for j in range(32) if (i,j) not in [(16,26),(17,31)]] # self.pixels = [pixelData((i,j),self.fitter) for i in range(24,32) for j in range(32) if (i,j) not in [(31,24),(31,7)]] self.pixels = [ pixelData((i, j), self.fitter) for i in range(112, 120) for j in range(32, 64) ] self.autoMasked = None self.funX = self.setDU self.funY = self.getVal self.npoints = 10 self.nSamples1 = 1 self.nSamples2 = 120 self.nSamples3 = 50 self.rangeY0 = 0.01 self.rangeY1 = 0.99 self.enc_error_MAX = 0.0003 self.outfilename = 'test_muitipixelECN.dat' self.mic4 = MIC4Config() self.vL = 0.7 self.nCheck = 10 self.checkList = self.getCheckList(self.nCheck)
def test3(): en1 = encFitter() getdata(en1, '/data/repos/Mic4Test_KC705/Software/Analysis/data/ENC/ENC_Chip5Col12_scan1.dat', 2, 4, k=1) getdata(en1, '/data/repos/Mic4Test_KC705/Software/Analysis/data/ENC/ENC_Chip5Col12_scan2_mod.dat', 2, 4, k=1) en1.mean0 = 0.155 en1.fit() plotResults(en1,None, sDir+'norm1')
def ENC(self): if self.fitter is None: self.fitter = encFitter() self.fitter.clearData() for dv, n in self.totalStats.items(): if n <= 0: continue for j in range(n): self.fitter.addData(dv, j < self.passStats[dv]) self.configFitter() self.status = self.fitter.fit() self.mean = self.fitter.mean self.meanErr = self.fitter.meanErr self.sigma = self.fitter.sigma self.sigmaErr = self.fitter.sigmaErr self.cachedResults = 1
def __init__(self): self.fitter = encFitter() self.fitter.mean0 = -1 self.fitter.sigma0 = -1 self.npoints = 7 self.nSamples1 = 10 self.nSamples2 = 100 self.nSamples3 = 50 self.totalStats = defaultdict(int) self.passStats = defaultdict(int) self.workList = [0., 0.6] self.funX = None self.funY = None self.sigmaErrMax = 0.0003 self.sigmaErrRelMax = 0.01 self.nFitTry = 5 self.nPixel = 1 self.autoInitial = True
def test2(): info = None savename = 'test1' en1 = encFitter() en1.data1.push_back((0.1,0)) en1.data1.push_back((0.3,0)) en1.data1.push_back((0.3,0)) en1.data1.push_back((0.3,1)) en1.data1.push_back((0.35,1)) en1.data1.push_back((0.35,0)) en1.data1.push_back((0.4,0)) en1.data1.push_back((0.4,1)) en1.data1.push_back((0.4,1)) en1.data1.push_back((0.5,1)) en1.mean0 = 0.35 en1.sigma0 = 0.02 en1.fit() print en1.mean, en1.sigma plotResults(en1) return
def checkFit(): data = ''' # 0.0 20 0 0.0 # 0.1 40 0 0.0 # 0.116666666667 40 1 0.025 # 0.119444444444 10 0 0.0 # 0.122222222222 170 3 0.0176470588235 # 0.125 160 10 0.0625 # 0.127777777778 170 28 0.164705882353 # 0.130555555556 150 35 0.233333333333 # 0.130555555556 10 9 0.9 # 0.133333333333 190 92 0.484210526316 # 0.136111111111 150 89 0.593333333333 # 0.138888888889 160 138 0.8625 # 0.144444444444 10 10 1.0 # 0.15 30 30 1.0 # 0.166666666667 20 20 1.0 # 0.183333333333 20 20 1.0 # 0.2 20 20 1.0 # 0.2 20 20 1.0 # 0.3 20 20 1.0 # 0.4 20 20 1.0 # 0.5 20 20 1.0 # 0.6 20 20 1.0 0.0 20 0 0.0 0.01667 10 0 0.0 0.03333 10 0 0.0 0.05 10 0 0.0 0.06667 10 0 0.0 0.08333 20 0 0.0 0.08611 110 1 0.00909090909091 0.08889 110 8 0.0727272727273 0.09028 100 5 0.05 0.09167 110 23 0.209090909091 0.09444 110 44 0.4 0.09722 110 73 0.663636363636 0.1 130 118 0.907692307692 0.2 10 10 1.0 0.3 10 10 1.0 0.4 10 10 1.0 0.5 10 10 1.0 0.6 10 10 1.0 # # 0.0 10 0 0.0 # 0.1 130 0 0.0 # 0.10278 100 3 0.03 # 0.10556 110 19 0.172727272727 # 0.11111 110 74 0.672727272727 # 0.11389 100 89 0.89 # 0.11667 120 114 0.95 # 0.12222 110 110 1.0 # 0.12778 10 10 1.0 # 0.13333 20 20 1.0 # 0.15 10 10 1.0 # 0.16667 10 10 1.0 # 0.18333 10 10 1.0 # 0.2 20 20 1.0 # 0.3 10 10 1.0 # 0.4 10 10 1.0 # 0.5 10 10 1.0 # 0.6 10 10 1.0 # # 0.0 10 0 0.0 # 0.1 20 0 0.0 # 0.11667 20 0 0.0 # 0.11945 110 3 0.0272727272727 # 0.12222 110 15 0.136363636364 # 0.12361 100 11 0.11 # 0.125 110 34 0.309090909091 # 0.12639 100 41 0.41 # 0.12778 110 55 0.5 # 0.13055 110 88 0.8 # 0.13333 20 19 0.95 # 0.15 10 10 1.0 # 0.16667 10 10 1.0 # 0.18333 10 10 1.0 # 0.2 20 20 1.0 # 0.3 10 10 1.0 # 0.4 10 10 1.0 # 0.5 10 10 1.0 # 0.6 10 10 1.0 # 0.0 10 0 0.0 # # 0.1 30 1 0.0333333333333 # 0.10556 10 0 0.0 # 0.11111 10 0 0.0 # 0.11667 10 2 0.2 # 0.12222 10 4 0.4 # 0.12778 10 9 0.9 # 0.13333 20 20 1.0 # 0.16667 10 10 1.0 # # 0.2 20 12 0.6 # 0.23333 10 10 1.0 # 0.26667 10 10 1.0 # 0.3 20 20 1.0 # 0.4 10 10 1.0 # 0.5 10 10 1.0 # 0.6 10 10 1.0 # # 0.0 20 0 0.0 # 0.1 40 0 0.0 # 0.116666666667 40 0 0.0 # 0.119444444444 10 1 0.1 # 0.122222222222 170 0 0.0 # 0.125 10 1 0.1 # 0.127777777778 170 8 0.0470588235294 # 0.130555555556 150 3 0.02 # 0.130555555556 10 7 0.7 # 0.133333333333 190 39 0.205263157895 # 0.136111111111 150 48 0.32 # 0.138888888889 160 81 0.50625 # 0.144444444444 160 141 0.88125 # 0.15 30 30 1.0 # 0.166666666667 20 20 1.0 # 0.183333333333 20 20 1.0 # 0.2 20 20 1.0 # 0.2 20 20 1.0 # 0.3 20 20 1.0 # 0.4 20 20 1.0 # 0.5 20 20 1.0 # 0.6 20 20 1.0 ''' en1 = encFitter() for d in data.split('\n'): d = d.rstrip() if len(d) == 0 or d[0] == '#': continue fs = d.split() x = float(fs[0]) npass = int(fs[2]) for i in range(int(fs[1])): en1.addData(x, i < npass) # 0.121369309723 0.00424943258986 # 0.0808686986566 0.015657313168 en1.mean0 = 0.085 # en1.sigma0 = 0.00424943258986 en1.sigma0 = 0.015657313168 en1.fit()
def testFitter(fname, info=None, savename='figs_temp/test', mean0=0.5): en1 = encFitter()