def ComputeRangedHIC(self, param): data = self.rs.GetData() data.sort() data = map(lambda x: power(10,x), data ) tmp1 = self.params['values'][param].flatten() > data[0] tmp2 = self.params['values'][param].flatten() < data[1] truthTable = logical_and(tmp1,tmp2) E0 = self.params['values'][param][truthTable].flatten().max() xData = self.params['values'][param][truthTable].flatten()/E0 xErr = self.params['errors'][param][truthTable].flatten()/E0 yData = self.flux[truthTable] yErr = array(self.fluxError)[truthTable] logXdata, logXerr, = self.ConvertData2Log(xData,xErr) logYdata, logYerr, = self.ConvertData2Log(yData,yErr) F0 = yData.max() # print logYdata # print logYerr # print logXerr # print logXdata results, errors, = mpfitexy(logXdata,logYdata,logXerr,logYerr, guess = [2,log10(F0)], fixint=False, quiet=0) index = results[0] F0 = 10**results[1] self.hicFig = plt.figure(1) self.hicAx = self.hicFig.add_subplot(111) plt.xlabel("log("+param+")") plt.ylabel('log(Flux)') x = linspace(xData.min()*E0,xData.max()*E0,1000) y = HIC(x,E0,F0,index) #print yData #print log10(yData) logXdata, logXerr, = self.ConvertData2Log(xData*E0,xErr*E0) self.hicAx.loglog(x,y,'r') self.hicAx.errorbar(xData*E0,yData,xerr=xErr*E0,yerr=yErr,fmt='o',color='b')
def ComputeHIC(self, F0, E0, param='Epeak', indexGuess=2, fixint=True): xData = self.params['values'][param][self.timeIndex:self. tStop].flatten() / E0 xErr = self.params['errors'][param][self.timeIndex:self.tStop].flatten( ) / E0 yData = self.flux[self.timeIndex:self.tStop] yErr = self.fluxError[self.timeIndex:self.tStop] logXdata, logXerr, = self.ConvertData2Log(xData, xErr) logYdata, logYerr, = self.ConvertData2Log(yData, yErr) # print logYdata # print logYerr # print logXerr # print logXdata results, errors, = mpfitexy(logXdata, logYdata, logXerr, logYerr, guess=[indexGuess, log10(F0)], fixint=fixint, quiet=0) index = results[0] F0 = 10**results[1] self.hicFig = plt.figure(1) self.hicAx = self.hicFig.add_subplot(111) plt.xlabel("log(" + param + ")") plt.ylabel('log(Flux)') x = linspace(xData.min() * E0, xData.max() * E0, 1000) y = HIC(x, E0, F0, index) #print yData #print log10(yData) logXdata, logXerr, = self.ConvertData2Log(xData * E0, xErr * E0) self.hicAx.loglog(x, y, 'r') self.hicAx.errorbar(xData * E0, yData, xerr=xErr * E0, yerr=yErr, fmt='o', color='b')
def ComputeHFC(self, E0, param='Epeak', fixint=True): yData = self.params['values'][param][self.timeIndex:self. tStop].flatten() yErr = self.params['errors'][param][self.timeIndex:self.tStop].flatten( ) self.ComputeFluence() xData = self.t90 xErr = self.fluxError[self.timeIndex:self.tStop] # print yData # print yErr # print xData # print xErr logYdata, logYerr, = self.ConvertData2Log(yData, yErr) self.hfcFig = plt.figure(2) self.hfcAx = self.hfcFig.add_subplot(111) plt.xlabel("Time Running Fluence") plt.ylabel("log(" + param + ")") results, errors, = mpfitexy(xData, logYdata, xErr, logYerr, guess=[-2, log10(E0)], fixint=fixint) phi0 = -log10(e) / results[0] phi0err = log10(e) / errors[0] ## This is not right x = linspace(0, xData.max(), 1000) y = HFC(x, E0, phi0) print phi0 print phi0err self.hfcAx.semilogy(x, y, 'r') self.hfcAx.errorbar(xData, yData, xerr=xErr, yerr=yErr, fmt='o', color='b')
def ComputeHFC(self,E0,param='Epeak', fixint=True): yData = self.params['values'][param][self.timeIndex:self.tStop].flatten() yErr = self.params['errors'][param][self.timeIndex:self.tStop].flatten() self.ComputeFluence() xData = self.t90 xErr = self.fluxError[self.timeIndex:self.tStop] # print yData # print yErr # print xData # print xErr logYdata, logYerr, = self.ConvertData2Log(yData,yErr) self.hfcFig = plt.figure(2) self.hfcAx = self.hfcFig.add_subplot(111) plt.xlabel("Time Running Fluence") plt.ylabel("log("+param+")") results, errors, = mpfitexy(xData,logYdata,xErr,logYerr, guess = [-2,log10(E0)], fixint=fixint) phi0 = -log10(e)/results[0] phi0err = log10(e)/errors[0] ## This is not right x = linspace(0,xData.max(),1000) y = HFC(x,E0,phi0) print phi0 print phi0err self.hfcAx.semilogy(x,y,'r') self.hfcAx.errorbar(xData,yData,xerr=xErr,yerr=yErr,fmt='o',color='b')
def ComputeHIC(self,F0,E0,param='Epeak',indexGuess=2,fixint=True): xData = self.params['values'][param][self.timeIndex:self.tStop].flatten()/E0 xErr = self.params['errors'][param][self.timeIndex:self.tStop].flatten()/E0 yData = self.flux[self.timeIndex:self.tStop] yErr = self.fluxError[self.timeIndex:self.tStop] logXdata, logXerr, = self.ConvertData2Log(xData,xErr) logYdata, logYerr, = self.ConvertData2Log(yData,yErr) # print logYdata # print logYerr # print logXerr # print logXdata results, errors, = mpfitexy(logXdata,logYdata,logXerr,logYerr, guess = [indexGuess,log10(F0)], fixint=fixint, quiet=0) index = results[0] F0 = 10**results[1] self.hicFig = plt.figure(1) self.hicAx = self.hicFig.add_subplot(111) plt.xlabel("log("+param+")") plt.ylabel('log(Flux)') x = linspace(xData.min()*E0,xData.max()*E0,1000) y = HIC(x,E0,F0,index) #print yData #print log10(yData) logXdata, logXerr, = self.ConvertData2Log(xData*E0,xErr*E0) self.hicAx.loglog(x,y,'r') self.hicAx.errorbar(xData*E0,yData,xerr=xErr*E0,yerr=yErr,fmt='o',color='b')
def ComputeRangedHIC(self, param): data = self.rs.GetData() data.sort() data = map(lambda x: power(10, x), data) tmp1 = self.params['values'][param].flatten() > data[0] tmp2 = self.params['values'][param].flatten() < data[1] truthTable = logical_and(tmp1, tmp2) E0 = self.params['values'][param][truthTable].flatten().max() xData = self.params['values'][param][truthTable].flatten() / E0 xErr = self.params['errors'][param][truthTable].flatten() / E0 yData = self.flux[truthTable] yErr = array(self.fluxError)[truthTable] logXdata, logXerr, = self.ConvertData2Log(xData, xErr) logYdata, logYerr, = self.ConvertData2Log(yData, yErr) F0 = yData.max() # print logYdata # print logYerr # print logXerr # print logXdata results, errors, = mpfitexy(logXdata, logYdata, logXerr, logYerr, guess=[2, log10(F0)], fixint=False, quiet=0) index = results[0] F0 = 10**results[1] self.hicFig = plt.figure(1) self.hicAx = self.hicFig.add_subplot(111) plt.xlabel("log(" + param + ")") plt.ylabel('log(Flux)') x = linspace(xData.min() * E0, xData.max() * E0, 1000) y = HIC(x, E0, F0, index) #print yData #print log10(yData) logXdata, logXerr, = self.ConvertData2Log(xData * E0, xErr * E0) self.hicAx.loglog(x, y, 'r') self.hicAx.errorbar(xData * E0, yData, xerr=xErr * E0, yerr=yErr, fmt='o', color='b')