execfile('/afs/slac/u/ki/lances/python/python_HxRG/HxRG_Setup.py')
execfile('/afs/slac/u/ki/lances/python/SPIEPlotSettings.py')
from ReturnRadialProfiles import *
from RadialFits import *
import optimize

BoxSize    = 21
DoCentroid = 1
TvFlag     = 0
Mode       = 0
Slope      = 1

#Guiding
FitsFileName='/nfs/slac/g/ki/ki03/lances/H2RG-32-147/ASIC/Reduced/07Dec14/SAO81134/SAO81134_H2RG_SIPIN_220_Reads_Dec15_2007_04_57_19_I_RPS_Slope.fits'
HxRG_G = HxRG_C(FitsFileName=FitsFileName)
XCen = 1948
YCen = 1522
RadiiG, IntArrG, ReadG=ReturnRadialProfiles(FitsFileName, Mode, TvFlag=TvFlag,\
            XCen=XCen, YCen=YCen, Slope=Slope, BoxSize=BoxSize,\
            DoCentroid=DoCentroid)
Height_G, MuX_G, MuY_G, FWHMX_G, FWHMY_G, FWHM_G, E_G, EA_G = \
            moments(IntArrG, SubSize=1)
mplot.figure(0)
mplot.clf()

mplot.plot(RadiiG, HxRG_G.CGain*IntArrG, 'ro')
#mplot.plot(RadiiG, IntArrG-IntArrG.min(), 'ro')
Amp_G, FWHM_G, Fit_G = RadialGaussFits(RadiiG, \
    HxRG_G.CGain*(IntArrG-IntArrG.min()), \
    IncFitData=1)
Amp_G_M, FWHM_G_M, Beta_G_M, Fit_G_M = RadialMoffatFits(RadiiG, \
    HxRG_G.CGain*(IntArrG-IntArrG.min()), \
    IncFitData=1)
mplot.plot(RadiiG, Fit_G+HxRG_G.CGain*IntArrG.min(), 'r--')
mplot.plot(RadiiG, HxRG_G.CGain*IntArrG.min()+Fit_G_M, 'b--')
mplot.plot(RadiiG, HxRG_G.CGain*IntArrG.min()+9*(1+(RadiiG/3)**2)**(-2), 'g--')
 
#No Guiding
FitsFileName='/nfs/slac/g/ki/ki03/lances/H1RG-022/ASIC/Reduced/07Nov19/SAO5417/SAO5417_I_NegPerDead_H1RG_SIPIN_2500_Reads_Nov19_2007_22_15_46_I_RPS_Slope.fits'
HxRG_NG = HxRG_C(FitsFileName=FitsFileName)
XCen = 910
YCen = 254
RadiiNG, IntArrNG, ReadNG=ReturnRadialProfiles(FitsFileName, Mode, \
            TvFlag=TvFlag,\
            XCen=XCen, YCen=YCen, Slope=Slope, BoxSize=BoxSize,\
            DoCentroid=DoCentroid)
Height_NG, MuX_NG, MuY_NG, FWHMX_NG, FWHMY_NG, FWHM_NG, E_NG, EA_NG = \
         moments(IntArrNG, SubSize=1)

mplot.plot(RadiiNG, HxRG_NG.CGain*IntArrNG, 'bo')
mplot.xlabel(r'\textbf{Radius (Pixels)}')
mplot.ylabel(r'\textbf{electrons per second}')
Amp_NG, FWHM_NG, Fit_NG = RadialGaussFits(RadiiNG, \
        HxRG_NG.CGain*(IntArrNG-IntArrNG.min()),\
        IncFitData=1)
Amp_NG_M, FWHM_NG_M, Beta_NG_M, Fit_NG_M = RadialMoffatFits(RadiiG, \
    HxRG_G.CGain*(IntArrNG-IntArrNG.min()), \
    IncFitData=1)

mplot.plot(RadiiG, Fit_NG+HxRG_NG.CGain*IntArrNG.min(), 'r--')
mplot.plot(RadiiG, HxRG_NG.CGain*IntArrNG.min()+10*exp(-.5*RadiiG**2/3.5**2), 'g--')
mplot.plot(RadiiG, HxRG_NG.CGain*IntArrNG.min()+Fit_NG_M, 'b--')
mplot.plot(RadiiG, HxRG_NG.CGain*IntArrNG.min()+10*(1+(RadiiG/3)**2)**(-2), 'g--')
xlim(0,15)

