##PURPOSE:
## To plot the value of volcano pixels with the regular pixels
##
##

from Return_CR_DbQuantities import *
execfile('/afs/slac/u/ki/lances/python/python_HxRG/HxRG_Setup.py')

PlotDir = '/nfs/slac/g/ki/ki04/lances/H1RG-022/Plots/Cosmics/'
mplot.figure(0)
mplot.clf()
mplot.hold(True)
SaveImg = 0
TvFlag  = 0
MinCosEneDep = 0000
QueryString=' AND COSENEDEP > '+str(MinCosEneDep)
QueryString=' AND COSENEDEP > '+str(MinCosEneDep) + ' AND QLOST < COSENEDEP'
MaxCosEneDep  = 35000.
CosEneDepInds = arange(MaxCosEneDep)

#I FILTER
CosIDs120, CosEneDeps120, QLosts120, QRises120, Fit_Taus120=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=120)
m120, b120, E, CosE = Linefit(CosEneDeps120, QLosts120, RejectCos=0, TvFlag=TvFlag)
m120Str="%.3f" % m120
mplot.plot(CosEneDeps120,QLosts120,'y.')
mplot.plot(CosEneDepInds, m120*CosEneDepInds+b120, 'y-', \
  label='120K'+'\ \ m='+m120Str)

CosIDs130, CosEneDeps130, QLosts130, QRises130, Fit_Taus130=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=130)
m130, b130, E, CosE = Linefit(CosEneDeps130, QLosts130, RejectCos=0, TvFlag=TvFlag)
m130Str="%.3f" % m130
mplot.plot(CosEneDeps130,QLosts130,'b.')
mplot.plot(CosEneDepInds,m130*CosEneDepInds+b130, 'b-', \
  label='130K'+'\ \ m='+m130Str)

CosIDs140, CosEneDeps140, QLosts140, QRises140, Fit_Taus140=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=140)
m140, b140, E, CosE = Linefit(CosEneDeps140, QLosts140, RejectCos=0, TvFlag=TvFlag)
m140Str="%.3f" % m140
mplot.plot(CosEneDeps140,QLosts140,'c.')
mplot.plot(CosEneDepInds,m140*CosEneDepInds+b140, 'c-', \
  label='140K'+'\ \ m='+m140Str)

CosIDs150, CosEneDeps150, QLosts150, QRises150, Fit_Taus150=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=150)
m150, b150, E, CosE = Linefit(CosEneDeps150, QLosts150, RejectCos=0, TvFlag=TvFlag)
m150Str="%.3f" % m150
mplot.plot(CosEneDeps150,QLosts150,'g.')
mplot.plot(CosEneDepInds,m150*CosEneDepInds+b150, 'g-', \
   label='150K'+'\ \ m='+m150Str)

CosIDs160, CosEneDeps160, QLosts160, QRises160, Fit_Taus160=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=160)
m160, b160, E, CosE = Linefit(CosEneDeps160, QLosts160, RejectCos=0, TvFlag=TvFlag)
m160Str="%.3f" % m160
mplot.plot(CosEneDeps160,QLosts160,'r.')
mplot.plot(CosEneDepInds,m160*CosEneDepInds+b160, 'r-',\
   label='160K'+'\ \ m='+m160Str)

CosIDs170, CosEneDeps170, QLosts170, QRises170, Fit_Taus170=\
Return_CR_DbQuantities('H1RG-022', 'LEACH', QueryString, 0, Temp=170)
m170, b170, E170, CosE170 = Linefit(CosEneDeps170, QLosts170, RejectCos=0, TvFlag=TvFlag)
m170Str="%.3f" % m170
mplot.plot(CosEneDeps170,QLosts170,'m.')
mplot.plot(CosEneDepInds,m170*CosEneDepInds+b170, 'm-',\
   label='170K'+'\ \ m='+m170Str)

mplot.xlabel(r'\textbf{e$^{-}$ Deposited by Cosmic Ray}')
mplot.ylabel(r'\textbf{e$^{-}$ Lost from Pixel}')
mplot.legend(numpoints=1, loc=2)
xlim(0,35000)
ylim(0,6000)
mplot.savefig(PlotDir+'QLostVsQDep.png')
mplot.savefig(PlotDir+'QLostVsQDep.eps')


#Plot time constants
mplot.figure(1)
mplot.clf()
mplot.plot(CosEneDeps120, Fit_Taus120, 'y.')
mplot.plot(CosEneDeps130, Fit_Taus130, 'c.')
mplot.plot(CosEneDeps140, Fit_Taus140, 'r.')
mplot.plot(CosEneDeps150, Fit_Taus150, 'g.')
mplot.plot(CosEneDeps160, Fit_Taus160, 'b.')
mplot.plot(CosEneDeps170, Fit_Taus170, 'k.')
ylim(0,400)

if SaveImg == 1:
  mplot.savefig(PlotDir+'EnTauScatterPlots.png')
  mplot.savefig(PlotDir+'EnTauScatterPlots.eps')

