diff --git a/ess/TraceWin.py b/ess/TraceWin.py index e8df760271497fe28c059ade224c06ef6bc73050..6350064a47698b5cbef78a16ee6e77eec3312d64 100644 --- a/ess/TraceWin.py +++ b/ess/TraceWin.py @@ -237,16 +237,13 @@ class plt: self.avg=dict(x=[], xp=[], y=[], yp=[], E=[], phi=[]) - vals=self._columns + vals=self._columns[:-1] for i in self.Nelp: data=self[i] for v in vals: self.avg[v].append(numpy.average(data[v])) - for v in vals: - self.avg[v]=numpy.array(self.avg[v]) - def calc_minmax(self,pmin=5,pmax=95): ''' Calculates min/max values of beam coordinates @@ -291,10 +288,15 @@ class plt: if not hasattr(self,'avg'): self.calc_avg() - vals=self._columns + vals=self._columns[:-1] + + self.sigma=[] + for j in xrange(len(self.Nelp)): + i=self.Nelp[j] + data=self[i] + self.sigma.append([[numpy.mean( (data[n]-self.avg[m][j]) * (data[m] - self.avg[m][j]) ) for n in vals] for m in vals]) - self.sigma=numpy.array([[numpy.mean( (self[n]-self.avg[n]) * (self[m] - self.avg[m]) ) for n in vals] for m in vals]) - print self.sigma.shape + self.sigma=numpy.array(self.sigma) def calc_twiss(self): '''