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')
Example #2
0
    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')
Example #3
0
    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')
Example #6
0
    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')