In [102]:
try:
reload(densprofiles)
reload(define_rcsample)
reload(fitDens)
reload(fitDens.densprofiles)
reload(compareDataModel)
reload(mockDensData)
except NameError:
import densprofiles
import define_rcsample
import fitDens
import compareDataModel
import mockDensData
%pylab inline
import numpy
from matplotlib.pyplot import *
import os, os.path
import pickle
import copy
from galpy.util import bovy_plot, bovy_coords
import triangle
import mwdust
import fitsio
Load the selection function and effective selection function
In [103]:
selectFile= '../savs/selfunc-nospdata.sav'
if os.path.exists(selectFile):
with open(selectFile,'rb') as savefile:
apo= pickle.load(savefile)
with open('../essf/essf_green15.sav','rb') as savefile:
locations= pickle.load(savefile)
effsel= pickle.load(savefile)
distmods= pickle.load(savefile)
with open('../essf/essf_marshall06.sav','rb') as savefile:
mlocations= pickle.load(savefile)
meffsel= pickle.load(savefile)
mdistmods= pickle.load(savefile)
# Fill in regions not covered by Marshall map
meffsel[meffsel < -0.5]= effsel[meffsel < -0.5]
with open('../essf/essf_zero.sav','rb') as savefile:
zlocations= pickle.load(savefile)
zeffsel= pickle.load(savefile)
zdistmods= pickle.load(savefile)
with open('../essf/essf_drimmel03.sav','rb') as savefile:
dlocations= pickle.load(savefile)
deffsel= pickle.load(savefile)
ddistmods= pickle.load(savefile)
# Get (lcen,bcen) for each location
lcen= numpy.zeros(len(locations))
bcen= numpy.zeros(len(locations))
hmax= numpy.zeros(len(locations))
for ii,loc in enumerate(locations):
tlcen, tbcen= apo.glonGlat(loc)
lcen[ii]= tlcen
bcen[ii]= tbcen
hmax[ii]= apo.Hmax(loc,cohort='long')
if numpy.isnan(hmax[ii]):
hmax[ii]= apo.Hmax(loc,cohort='medium')
if numpy.isnan(hmax[ii]):
hmax[ii]= apo.Hmax(loc,cohort='short')
# Get the locations of various subsamples
highbIndx= numpy.fabs(bcen) > 10.
outDiskIndx= (lcen > 150.)*(lcen < 250.)*(True-highbIndx)
betwDiskIndx= (lcen <= 150.)*(lcen >= 70.)*(True-highbIndx)
inDiskIndx= (lcen < 70.)*(lcen >= 25.)*(True-highbIndx)
bulgeIndx= ((lcen < 25.)+(lcen > 335.))*(True-highbIndx)
brightIndx= (hmax <= 12.21)
mediumIndx= (hmax > 12.21)*(hmax <= 12.81)
faintIndx= (hmax > 12.81)
Function to load the data:
In [104]:
ldata= None
data_highbIndx= None
data_outDiskIndx= None
data_betwDiskIndx= None
data_inDiskIndx= None
data_bulgeIndx= None
data_brightIndx= None
data_mediumIndx= None
data_faintIndx= None
def load_data(subsample='lowlow'):
global ldata
global data_highbIndx
global data_outDiskIndx
global data_betwDiskIndx
global data_inDiskIndx
global data_bulgeIndx
global data_brightIndx
global data_mediumIndx
global data_faintIndx
if subsample.lower() == 'all':
ldata= define_rcsample.get_rcsample()
elif subsample.lower() == 'alllowalpha':
ldata= define_rcsample.get_rcsample()
ldata= ldata[ldata[define_rcsample._AFETAG] < 0.1]
elif subsample.lower() == 'lowlow':
ldata= define_rcsample.get_lowlowsample()
elif subsample.lower() == 'highfeh':
ldata= define_rcsample.get_highfehsample()
elif subsample.lower() == 'highalpha':
ldata= define_rcsample.get_highalphasample()
elif subsample.lower() == 'solar':
ldata= define_rcsample.get_solarsample()
# Get the indices of the various subsamples defined above
data_highbIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[highbIndx]: data_highbIndx[ii]= True
data_outDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[outDiskIndx]: data_outDiskIndx[ii]= True
data_betwDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[betwDiskIndx]: data_betwDiskIndx[ii]= True
data_inDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[inDiskIndx]: data_inDiskIndx[ii]= True
data_bulgeIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[bulgeIndx]: data_bulgeIndx[ii]= True
data_brightIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[brightIndx]: data_brightIndx[ii]= True
data_mediumIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[mediumIndx]: data_mediumIndx[ii]= True
data_faintIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[faintIndx]: data_faintIndx[ii]= True
Function to load mock data
In [105]:
def load_mock_data(type='exp',subsample='lowlow',nls=21):
global ldata
global data_highbIndx
global data_outDiskIndx
global data_betwDiskIndx
global data_inDiskIndx
global data_bulgeIndx
global data_brightIndx
global data_mediumIndx
global data_faintIndx
if not nls is None:
ldata= fitsio.read('../mocks/%s-%s-nls21-20k.fits' % (subsample,type))
else:
ldata= fitsio.read('../mocks/%s-%s-20k.fits' % (subsample,type))
# Assign location IDs
locids= numpy.zeros(len(ldata),dtype='int')
XYZ= bovy_coords.galcencyl_to_XYZ(ldata['RC_GALR_H'],ldata['RC_GALPHI_H'],ldata['RC_GALZ_H'],
Xsun=define_rcsample._R0,
Ysun=0.,
Zsun=define_rcsample._Z0)
lbd= bovy_coords.XYZ_to_lbd(XYZ[0],XYZ[1],XYZ[2],degree=True)
for ii,loc in enumerate(locations):
tlcen, tbcen= apo.glonGlat(loc)
trad= apo.radius(loc)
tindx= (tlcen-lbd[:,0])**2.+(tbcen-lbd[:,1])**2. < trad**2.
locids[tindx]= loc
# Get the indices of the various subsamples defined above
data_highbIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[highbIndx]: data_highbIndx[ii]= True
data_outDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[outDiskIndx]: data_outDiskIndx[ii]= True
data_betwDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[betwDiskIndx]: data_betwDiskIndx[ii]= True
data_inDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[inDiskIndx]: data_inDiskIndx[ii]= True
data_bulgeIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[bulgeIndx]: data_bulgeIndx[ii]= True
data_brightIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[brightIndx]: data_brightIndx[ii]= True
data_mediumIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[mediumIndx]: data_mediumIndx[ii]= True
data_faintIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if locids[ii] in numpy.array(locations)[faintIndx]: data_faintIndx[ii]= True
Function to fit and compare the data and the best fit:
In [106]:
def fit(type='brokenexp',fitIndx=None,data_fitIndx=None,dmap='green15'):
if fitIndx is None:
fitIndx= numpy.ones(len(locations),dtype='bool') #True-betwDiskIndx
data_fitIndx= numpy.ones(len(ldata),dtype='bool') #True-data_betwDiskIndx
if dmap == 'green15':
tlocations= copy.deepcopy(locations)
teffsel= copy.deepcopy(effsel)
tdistmods= copy.deepcopy(distmods)
elif dmap.lower() == 'marshall06':
tlocations= copy.deepcopy(mlocations)
teffsel= copy.deepcopy(meffsel)
tdistmods= copy.deepcopy(mdistmods)
elif dmap.lower() == 'zero':
tlocations= copy.deepcopy(zlocations)
teffsel= copy.deepcopy(zeffsel)
tdistmods= copy.deepcopy(zdistmods)
elif dmap.lower() == 'drimmel03':
tlocations= copy.deepcopy(dlocations)
teffsel= copy.deepcopy(deffsel)
tdistmods= copy.deepcopy(ddistmods)
bf= fitDens.fitDens(ldata[data_fitIndx],numpy.array(tlocations)[fitIndx],copy.deepcopy(teffsel)[fitIndx],tdistmods,type=type)[0]
# Full prediction
Xs,pd= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[fitIndx],copy.deepcopy(teffsel)[fitIndx],tdistmods,type=type,coord='dm')
figsize(18,12)
# Now plot the data and the best fit
subplot(2,4,1)
try:
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[highbIndx*fitIndx],copy.deepcopy(teffsel)[highbIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_highbIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_highbIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
bovy_plot.bovy_text(r'$\mathrm{High\ latitude}$',title=True,size=14.)
except ValueError: pass
subplot(2,4,2)
try:
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[outDiskIndx*fitIndx],copy.deepcopy(teffsel)[outDiskIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_outDiskIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_outDiskIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
bovy_plot.bovy_text(r'$\mathrm{Outer\ disk}$',title=True,size=14.)
except ValueError: pass
subplot(2,4,3)
try:
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[betwDiskIndx*fitIndx],copy.deepcopy(teffsel)[betwDiskIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_betwDiskIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_betwDiskIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[betwDiskIndx*fitIndx],copy.deepcopy(meffsel)[betwDiskIndx*fitIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Intermediate\ disk}$',title=True,size=14.)
except ValueError: pass
subplot(2,4,4)
try:
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[inDiskIndx*fitIndx],copy.deepcopy(teffsel)[inDiskIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_inDiskIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_inDiskIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[inDiskIndx],copy.deepcopy(meffsel)[inDiskIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Inner\ disk}$',title=True,size=14.)
except ValueError: pass
subplot(2,4,5)
try:
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[bulgeIndx*fitIndx],copy.deepcopy(teffsel)[bulgeIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_bulgeIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_bulgeIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[bulgeIndx*fitIndx],copy.deepcopy(meffsel)[bulgeIndx*fitIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Towards\ bulge}$',title=True,size=14.)
except ValueError: pass
subplot(2,4,6)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[brightIndx*fitIndx],copy.deepcopy(teffsel)[brightIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_brightIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_brightIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[brightIndx*fitIndx],copy.deepcopy(meffsel)[brightIndx*fitIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Short\ fields}$',title=True,size=14.)
subplot(2,4,7)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[mediumIndx*fitIndx],copy.deepcopy(teffsel)[mediumIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_mediumIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_mediumIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[mediumIndx*fitIndx],copy.deepcopy(meffsel)[mediumIndx*fitIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Medium\ fields}$',title=True,size=14.)
subplot(2,4,8)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(tlocations)[faintIndx*fitIndx],copy.deepcopy(teffsel)[faintIndx*fitIndx],tdistmods,type=type,coord='dm')
hist(ldata['RC_DM_H'][data_faintIndx*data_fitIndx],histtype='step',normed=True,range=[7.,15.5],bins=31)
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
xlabel(r'$\mu$')
bovy_plot.bovy_text(r'$%i / %i\ \mathrm{stars}$' % (numpy.sum(data_faintIndx*data_fitIndx),numpy.sum(data_fitIndx))
+'\n'+r'$%i / %i\ \mathrm{predicted}$' % (numpy.sum(pdt)/numpy.sum(pd)*numpy.sum(data_fitIndx),numpy.sum(data_fitIndx)),top_left=True,size=14.)
Xs,pdt= compareDataModel.predict_spacedist(bf,numpy.array(mlocations)[faintIndx*fitIndx],copy.deepcopy(meffsel)[faintIndx*fitIndx],distmods,type=type,coord='dm')
plot(Xs,pdt/numpy.sum(pdt)/(Xs[1]-Xs[0]))
bovy_plot.bovy_text(r'$\mathrm{Long\ fields}$',title=True,size=14.)
# Return the parameters
return bf
In [107]:
def sample(type='brokenexp',fitIndx=None,data_fitIndx=None,nsamples=3000,dmap='green15'):
if fitIndx is None:
fitIndx= numpy.ones(len(locations),dtype='bool') #True-betwDiskIndx
data_fitIndx= numpy.ones(len(ldata),dtype='bool') #True-data_betwDiskIndx
if dmap == 'green15':
tlocations= copy.deepcopy(locations)
teffsel= copy.deepcopy(effsel)
tdistmods= copy.deepcopy(distmods)
elif dmap.lower() == 'marshall06':
tlocations= copy.deepcopy(mlocations)
teffsel= copy.deepcopy(meffsel)
tdistmods= copy.deepcopy(mdistmods)
elif dmap.lower() == 'zero':
tlocations= copy.deepcopy(zlocations)
teffsel= copy.deepcopy(zeffsel)
tdistmods= copy.deepcopy(zdistmods)
elif dmap.lower() == 'drimmel03':
tlocations= copy.deepcopy(dlocations)
teffsel= copy.deepcopy(deffsel)
tdistmods= copy.deepcopy(ddistmods)
bf, samples= fitDens.fitDens(ldata[data_fitIndx],numpy.array(tlocations)[fitIndx],copy.deepcopy(teffsel)[fitIndx],
tdistmods,type=type,
nsamples=nsamples,mcmc=True)
labels= []
for ii in range(len(bf)): labels.append(r"$\mathrm{param}\ %i$" % ii)
triangle.corner(samples.T,quantiles=[0.16, 0.5, 0.84],labels=labels,
show_titles=True, title_args={"fontsize": 12})
return None
In [108]:
load_data(subsample='lowlow')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [37]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[37]:
In [9]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[9]:
In [85]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[85]:
In [225]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='zero')
Out[225]:
In [8]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[8]:
In [70]:
fit(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[70]:
In [27]:
fit(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[27]:
In [10]:
fit(type='tribrokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[10]:
In [11]:
fit(type='gaussexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[11]:
In [34]:
fit(type='brokentwoexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[34]:
In [35]:
fit(type='brokentwoexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[35]:
In [12]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [10]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [79]:
sample(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [109]:
sample(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [110]:
load_data(subsample='solar')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [14]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[14]:
In [15]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[15]:
In [90]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[90]:
In [89]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='zero')
Out[89]:
In [14]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[14]:
In [92]:
fit(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[92]:
In [43]:
fit(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[43]:
In [37]:
fit(type='brokentwoexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[37]:
In [38]:
fit(type='brokentwoexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[38]:
In [16]:
fit(type='brokenexpfixedspiral',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[16]:
In [17]:
fit(type='gaussexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[17]:
In [18]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [17]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [18]:
sample(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [111]:
sample(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [328]:
sample(type='tribrokentwoexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [112]:
load_data(subsample='highfeh')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [20]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[20]:
In [21]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[21]:
In [92]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[92]:
In [93]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='zero')
Out[93]:
In [20]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[20]:
In [95]:
fit(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[95]:
In [96]:
fit(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[96]:
In [22]:
fit(type='gaussexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[22]:
In [40]:
fit(type='brokentwoexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[40]:
In [41]:
fit(type='brokentwoexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[41]:
In [23]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [22]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [23]:
sample(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [113]:
sample(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [114]:
load_data(subsample='highalpha')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [25]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[25]:
In [26]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[26]:
In [95]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[95]:
In [96]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='zero')
Out[96]:
In [27]:
fit(type='tribrokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[27]:
In [26]:
fit(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[26]:
In [99]:
fit(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[99]:
In [28]:
fit(type='gaussexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[28]:
In [43]:
fit(type='brokentwoexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[43]:
In [44]:
fit(type='brokentwoexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[44]:
In [29]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [28]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [29]:
sample(type='tribrokenexpinvlinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [115]:
sample(type='tribrokenexplinflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [30]:
load_data(subsample='alllowalpha')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [31]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[31]:
In [32]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[32]:
In [33]:
fit(type='gaussexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[33]:
In [34]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [8]:
load_data(subsample='lowlow')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
ldiff= numpy.empty(len(ldata))
bdiff= numpy.empty(len(ldata))
rad= numpy.empty(len(ldata))
for ii in range(len(ldata)):
tlcen, tbcen= apo.glonGlat(ldata[ii]['LOCATION_ID'])
rad[ii]= apo.radius(ldata[ii]['LOCATION_ID'])
ldiff[ii]= ldata['GLON'][ii]-tlcen
bdiff[ii]= ldata['GLAT'][ii]-tbcen
ldiff[ldiff > 180.]-= 360.
ldiff[ldiff < -180.]+= 360.
bdiff[bdiff > 180.]-= 360.
bdiff[bdiff < -180.]+= 360.
ldata= ldata[ldiff**2.+bdiff**2. < rad**2./9.]
# Get the indices of the various subsamples defined above
data_highbIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[highbIndx]: data_highbIndx[ii]= True
data_outDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[outDiskIndx]: data_outDiskIndx[ii]= True
data_betwDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[betwDiskIndx]: data_betwDiskIndx[ii]= True
data_inDiskIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[inDiskIndx]: data_inDiskIndx[ii]= True
data_bulgeIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[bulgeIndx]: data_bulgeIndx[ii]= True
data_brightIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[brightIndx]: data_brightIndx[ii]= True
data_mediumIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[mediumIndx]: data_mediumIndx[ii]= True
data_faintIndx= numpy.zeros(len(ldata),dtype='bool')
for ii in range(len(ldata)):
if ldata[ii]['LOCATION_ID'] in numpy.array(locations)[faintIndx]: data_faintIndx[ii]= True
In [9]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[9]:
In [7]:
load_mock_data(subsample='lowlow',type='exp',nls=None)
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [8]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[8]:
In [9]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[9]:
In [10]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='drimmel03')
Out[10]:
In [16]:
fit(type='tribrokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[16]:
In [11]:
fit(type='tribrokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[11]:
In [12]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [14]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [15]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='drimmel03')
In [9]:
load_mock_data(subsample='lowlow',type='brokenexp',nls=None)
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [10]:
fit(type='tribrokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[10]:
In [41]:
sample(type='tribrokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [61]:
load_mock_data(subsample='lowlow',type='brokenexpflare',nls=21)
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [50]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[50]:
In [49]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[49]:
In [54]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [62]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [63]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [64]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='drimmel03')
In [16]:
load_mock_data(subsample='solar',type='exp')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [26]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[26]:
In [27]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[27]:
In [28]:
fit(type='expplusconst',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='drimmel03')
Out[28]:
In [29]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,dmap='marshall06')
Out[29]:
In [30]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[30]:
In [31]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [32]:
load_mock_data(subsample='solar',type='brokenexp')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [33]:
fit(type='tribrokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[33]:
In [21]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [65]:
load_mock_data(subsample='solar',type='brokenexpflare')
fitIndx= None #True-highbIndx
data_fitIndx= None #True-data_highbIndx
In [56]:
fit(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[56]:
In [57]:
fit(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx)
Out[57]:
In [58]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000)
In [66]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='marshall06')
In [67]:
sample(type='brokenexpflare',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=10000,dmap='drimmel03')
In [60]:
sample(type='brokenexp',fitIndx=fitIndx,data_fitIndx=data_fitIndx,nsamples=20000)
In [47]:
try:
reload(define_rcsample)
except NameError:
import define_rcsample
maps= define_rcsample.MAPs()
In [260]:
def fitmap(tdata,type='brokenexp',dmap='marshall06'):
if dmap == 'green15':
tlocations= copy.deepcopy(locations)
teffsel= copy.deepcopy(effsel)
tdistmods= copy.deepcopy(distmods)
elif dmap.lower() == 'marshall06':
tlocations= copy.deepcopy(mlocations)
teffsel= copy.deepcopy(meffsel)
tdistmods= copy.deepcopy(mdistmods)
elif dmap.lower() == 'zero':
tlocations= copy.deepcopy(zlocations)
teffsel= copy.deepcopy(zeffsel)
tdistmods= copy.deepcopy(zdistmods)
bf= fitDens.fitDens(tdata,numpy.array(tlocations),copy.deepcopy(teffsel),tdistmods,type=type,verbose=False)
return bf
In [107]:
def samplemap(tdata,type='brokenexp',dmap='marshall06',nsamples=3000):
if dmap == 'green15':
tlocations= copy.deepcopy(locations)
teffsel= copy.deepcopy(effsel)
tdistmods= copy.deepcopy(distmods)
elif dmap.lower() == 'marshall06':
tlocations= copy.deepcopy(mlocations)
teffsel= copy.deepcopy(meffsel)
tdistmods= copy.deepcopy(mdistmods)
elif dmap.lower() == 'zero':
tlocations= copy.deepcopy(zlocations)
teffsel= copy.deepcopy(zeffsel)
tdistmods= copy.deepcopy(zdistmods)
bf, samples= fitDens.fitDens(tdata,numpy.array(tlocations),copy.deepcopy(teffsel),tdistmods,type=type,verbose=False,
nsamples=nsamples,mcmc=True)
return samples
In [264]:
type= 'brokenexpflare'
out= []
for map in maps.map():
out.append(fitmap(map,type=type,dmap='marshall06'))
In [281]:
type= 'tribrokenexpflare'
nsamples= 5000
outsamples= []
for map in maps.map():
outsamples.append(samplemap(map,type=type,dmap='marshall06',nsamples=nsamples))
In [284]:
figsize(6,6)
maps.plot(numpy.median(numpy.exp(numpy.array(outsamples)[:,3]),axis=-1),
vmin=4.,vmax=12.,minnstar=15,zlabel=r'$R_{\mathrm{max}}\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [285]:
maps.plot(numpy.std(numpy.exp(numpy.array(outsamples)[:,3]),axis=-1),
vmin=0.,vmax=2.,minnstar=15,zlabel=r'$R_{\mathrm{max}}\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [287]:
maps.plot(numpy.median(numpy.array(outsamples)[:,1],axis=-1),
vmin=1.,vmax=5.,minnstar=15,zlabel=r'$1/h_Z\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [288]:
maps.plot(numpy.std(numpy.array(outsamples)[:,1],axis=-1),
vmin=0.,vmax=.5,minnstar=15,zlabel=r'$\sigma 1/h_Z\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [292]:
maps.plot(-numpy.median(numpy.array(outsamples)[:,4],axis=-1),
vmin=-0.2,vmax=0.2,minnstar=15,zlabel=r'$1/h_{\mathrm{flare}}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [295]:
maps.plot(numpy.std(numpy.array(outsamples)[:,4],axis=-1),
vmin=0.,vmax=0.2,minnstar=15,zlabel=r'$1/h_{\mathrm{flare}}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [289]:
maps.plot(numpy.median(numpy.array(outsamples)[:,2],axis=-1),
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$1/h_{R,\mathrm{out}}\,(\mathrm{kpc}^{-1})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [290]:
plotthis= numpy.median(numpy.array(outsamples)[:,0],axis=-1)
plotthis[numpy.median(numpy.exp(numpy.array(outsamples)[:,3]),axis=-1) < 6.]= numpy.nan
maps.plot(plotthis,
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$1/h_{R,\mathrm{in}}\,(\mathrm{kpc}^{-1})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [265]:
figsize(6,6)
plotthis= numpy.fabs(numpy.array(out)[:,0])
plotthis[numpy.exp(numpy.array(out)[:,3]) < 5.]= numpy.nan
maps.plot(plotthis,
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$1/h_{R,\mathrm{in}}\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [267]:
maps.plot(numpy.array(out)[:,1],vmin=1.,vmax=5.,minnstar=15,zlabel=r'$1/h_Z\,(\mathrm{kpc})$')
Out[267]:
In [268]:
maps.plot(numpy.exp(numpy.array(out)[:,3]),vmin=4.,vmax=12.,minnstar=15,zlabel=r'$R_{\mathrm{max}}\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [269]:
figsize(6,6)
maps.plot(-numpy.log(0.5)*(1./numpy.array(out)[:,0]+1./numpy.array(out)[:,2]),vmin=2.,vmax=8.,
minnstar=15,zlabel=r'$\Delta R\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [104]:
maps.plot(numpy.array(out)[:,2],
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$1/h_{R,\mathrm{out}}\,(\mathrm{kpc})$')
Out[104]:
In [105]:
maps.plot(numpy.array(out)[:,2]/numpy.array(out)[:,0],
vmin=0.,vmax=2,minnstar=15,zlabel=r'$h_{R,\mathrm{in}}/h_{R,\mathrm{out}}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [273]:
maps.plot(-numpy.array(out)[:,4],
vmin=-0.2,vmax=0.2,minnstar=15,zlabel=r'$1/h_{\mathrm{flare}}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [301]:
mapsamples= numpy.reshape(numpy.array(outsamples),(11,7,5,nsamples))
In [302]:
def plot_map_mcmc(fehindx,afeindx):
labels= []
for ii in range(mapsamples.shape[2]): labels.append(r"$\mathrm{param}\ %i$" % ii)
triangle.corner(mapsamples[fehindx,afeindx].T,quantiles=[0.16, 0.5, 0.84],labels=labels,
show_titles=True, title_args={"fontsize": 12},bins=21)
In [308]:
plot_map_mcmc(9,1)
In [305]:
plot_map_mcmc(6,5)
In [309]:
plot_map_mcmc(1,4)
In [310]:
plot_map_mcmc(4,4)
In [352]:
type= 'tribrokentwoexp'
nsamples= 5000
outsamples_twoexp= []
for map in maps.map():
outsamples_twoexp.append(samplemap(map,type=type,dmap='marshall06',nsamples=nsamples))
In [353]:
maps.plot(numpy.median(numpy.array(outsamples_twoexp)[:,1],axis=-1),
vmin=1.,vmax=4.,minnstar=15,zlabel=r'$1/h_Z\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [381]:
maps.plot(numpy.std(numpy.array(outsamples_twoexp)[:,1],axis=-1),
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$1/h_Z\,(\mathrm{kpc})$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [357]:
figsize(6,6)
maps.plot(numpy.median(numpy.array(outsamples_twoexp)[:,5]/numpy.array(outsamples_twoexp)[:,1],axis=-1),
vmin=0.5,vmax=1.5,minnstar=15,zlabel=r'$h_{Z,1}/h_{Z,2}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [358]:
maps.plot(numpy.std(numpy.array(outsamples_twoexp)[:,5]/numpy.array(outsamples_twoexp)[:,1],axis=-1),
vmin=0.,vmax=1.,minnstar=15,zlabel=r'$\sigma h_{Z,1}1/h_{Z,2}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [359]:
maps.plot(numpy.median(densprofiles.ilogit(numpy.array(outsamples_twoexp)[:,4]),axis=-1),
vmin=0.,vmax=.5,minnstar=15,zlabel=r'$1/h_{Z,2}\,(\mathrm{kpc})^{-1}$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [367]:
figsize(6,6)
maps.plot(numpy.median((1.-densprofiles.ilogit(numpy.array(outsamples_twoexp)[:,4]))*numpy.array(outsamples_twoexp)[:,1]
+(densprofiles.ilogit(numpy.array(outsamples_twoexp)[:,4]))*numpy.array(outsamples_twoexp)[:,5],axis=-1),
vmin=0.,vmax=5.,minnstar=15,zlabel=r'$1/h_Z$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [379]:
figsize(6,6)
maps.plot(numpy.std((1.-densprofiles.ilogit(numpy.array(outsamples_twoexp)[:,4]))*numpy.array(outsamples_twoexp)[:,1]
+(densprofiles.ilogit(numpy.array(outsamples_twoexp)[:,4]))*numpy.array(outsamples_twoexp)[:,5],axis=-1),
vmin=0.,vmax=.5,minnstar=15,zlabel=r'$1/h_Z$')
bovy_plot.scatterplot(maps.data[define_rcsample._FEHTAG],maps.data[define_rcsample._AFETAG],contours=True,overplot=True,
levels=[0.68,0.95,0.99,1.01],justcontours=True,aspect=2.,bins=21,
xrange=[maps.xmin,maps.xmax],yrange=[maps.ymin,maps.ymax])
In [389]:
bovy_plot.bovy_plot(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,1],
numpy.median(numpy.array(outsamples_twoexp)[:,5]/numpy.array(outsamples_twoexp)[:,1],axis=-1),
c=densprofiles.ilogit(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,4]),scatter=True,colorbar=True,edgecolor='none',
s=30.,xrange=[0.,5.],yrange=[0.,2.],zorder=1)
errorbar(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,1],numpy.median(numpy.array(outsamples_twoexp)[:,5]/numpy.array(outsamples_twoexp)[:,1],axis=-1),
xerr=numpy.std(numpy.array(outsamples_twoexp),axis=-1)[:,1],yerr=numpy.std(numpy.array(outsamples_twoexp)[:,5]/numpy.array(outsamples_twoexp)[:,1],axis=-1),
marker='None',ls='None',color='k',zorder=0,lw=0.5)
plot((0,10),(1,1))
Out[389]:
In [399]:
figsize(12,6)
subplot(1,2,1)
bovy_plot.bovy_plot(numpy.median(1./numpy.array(outsamples_twoexp),axis=-1)[:,1],
numpy.median(1./numpy.array(outsamples)[:,1],axis=-1),
c=densprofiles.ilogit(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,4]),scatter=True,colorbar=True,edgecolor='none',
s=30.,xrange=[0.,1.],yrange=[0.,1.],zorder=1,gcf=True)
errorbar(numpy.median(1./numpy.array(outsamples_twoexp),axis=-1)[:,1],numpy.median(1./numpy.array(outsamples)[:,1],axis=-1),
yerr=numpy.std(1./numpy.array(outsamples)[:,1],axis=-1),
marker='None',ls='None',color='k',zorder=0,lw=0.5)
plot((0,10),(0,10))
figsize(12,6)
subplot(1,2,2)
bovy_plot.bovy_plot(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,5],
numpy.median(numpy.array(outsamples)[:,1],axis=-1),
c=densprofiles.ilogit(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,4]),scatter=True,colorbar=True,edgecolor='none',
s=30.,xrange=[0.,5.],yrange=[0.,5.],zorder=1,gcf=True)
errorbar(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,5],numpy.median(numpy.array(outsamples)[:,1],axis=-1),
yerr=numpy.std(numpy.array(outsamples)[:,1],axis=-1),
marker='None',ls='None',color='k',zorder=0,lw=0.5)
plot((0,10),(0,10))
Out[399]:
In [397]:
bovy_plot.bovy_plot(numpy.median(1./numpy.array(outsamples)[:,1],axis=-1),
numpy.std(1./numpy.array(outsamples)[:,1],axis=-1),
c=densprofiles.ilogit(numpy.median(numpy.array(outsamples_twoexp),axis=-1)[:,4]),scatter=True,colorbar=True,edgecolor='none',
s=30.,xrange=[0.,1.],yrange=[0.,.4],zorder=1)
Out[397]:
In [401]:
mapsamples= numpy.reshape(numpy.array(outsamples_twoexp),(11,7,6,nsamples))
In [403]:
plot_map_mcmc(6,1)
In [ ]: