def _setup_mockparams_densfunc(type,sample): """Return the parameters of the mock density for this type""" if type.lower() == 'exp': if sample.lower() == 'lowlow': return [0.,1./0.3] elif sample.lower() == 'solar': return [1./3.,1./0.3] else: return [1./3.,1./0.3] elif type.lower() == 'expplusconst': if sample.lower() == 'lowlow': return [0.,1./0.3,numpy.log(0.1)] else: return [1./3.,1./0.3,numpy.log(0.1)] elif type.lower() == 'twoexp': return [1./3.,1./0.3,1./4.,1./0.5,densprofiles.logit(0.5)] elif type.lower() == 'brokenexp': if sample.lower() == 'lowlow': return [-0.2,1./.3,0.2,numpy.log(11.)] elif sample.lower() == 'solar': return [-1./6.,1./0.3,1./2.,numpy.log(8.)] else: return [-1./6.,1./0.3,1./2.,numpy.log(6.)] elif type.lower() == 'brokenexpflare': if sample.lower() == 'lowlow': return [-0.2,1./.3,0.2,numpy.log(11.),-0.1] elif sample.lower() == 'solar': return [-1./6.,1./0.3,1./2.,numpy.log(8.),-0.1] else: return [-1./6.,1./0.3,1./2.,numpy.log(6.),-0.1] elif type.lower() == 'gaussexp': if sample.lower() == 'lowlow': return [.4,1./0.3,numpy.log(11.)] else: return [1./3.,1./0.3,numpy.log(10.)]
def _setup_mockparams_densfunc(type, sample): """Return the parameters of the mock density for this type""" if type.lower() == 'exp': if sample.lower() == 'lowlow': return [0., 1. / 0.3] elif sample.lower() == 'solar': return [1. / 3., 1. / 0.3] else: return [1. / 3., 1. / 0.3] elif type.lower() == 'expplusconst': if sample.lower() == 'lowlow': return [0., 1. / 0.3, numpy.log(0.1)] else: return [1. / 3., 1. / 0.3, numpy.log(0.1)] elif type.lower() == 'twoexp': return [1. / 3., 1. / 0.3, 1. / 4., 1. / 0.5, densprofiles.logit(0.5)] elif type.lower() == 'brokenexp': if sample.lower() == 'lowlow': return [-0.2, 1. / .3, 0.2, numpy.log(11.)] elif sample.lower() == 'solar': return [-1. / 6., 1. / 0.3, 1. / 2., numpy.log(8.)] else: return [-1. / 6., 1. / 0.3, 1. / 2., numpy.log(6.)] elif type.lower() == 'brokenexpflare': if sample.lower() == 'lowlow': return [-0.2, 1. / .3, 0.2, numpy.log(11.), -0.1] elif sample.lower() == 'solar': return [-1. / 6., 1. / 0.3, 1. / 2., numpy.log(8.), -0.1] else: return [-1. / 6., 1. / 0.3, 1. / 2., numpy.log(6.), -0.1] elif type.lower() == 'gaussexp': if sample.lower() == 'lowlow': return [.4, 1. / 0.3, numpy.log(11.)] else: return [1. / 3., 1. / 0.3, numpy.log(10.)]
def _setup_initparams_densfunc(type,data): """Return the initial parameters of the density for this type, might depend on the data""" if type.lower() == 'exp': return [1./3.,1./0.3] elif type.lower() == 'expplusconst': return [1./3.,1./0.3,numpy.log(0.1)] elif type.lower() == 'twoexp': return [1./3.,1./0.3,1./4.,1./0.5,densprofiles.logit(0.5)] elif type.lower() == 'brokenexp': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H']))] elif type.lower() == 'tribrokenexp': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H']))] elif type.lower() == 'symbrokenexp': return [0.4,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenexpflare': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), -1./5.] elif type.lower() == 'tribrokenexpflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), -1./5.] elif type.lower() == 'tribrokenexpfixedflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H']))] elif type.lower() == 'brokentwoexp': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), densprofiles.logit(0.5),1./0.8] elif type.lower() == 'brokentwoexpflare': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), densprofiles.logit(0.5),1./0.8,-0.2] elif type.lower() == 'tribrokentwoexp': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), densprofiles.logit(0.5),1./0.8] elif type.lower() == 'gaussexp': return [1./3.,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenquadexp': return [1./3.,1./0.3,1./3.,numpy.log(10.)] elif type.lower() == 'symbrokenquadexp': return [1./3.,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenexpfixedspiral': return [1./6.,1./0.3,1./2.,numpy.log(14.),numpy.log(1.)] elif type.lower() == 'tribrokenexplinflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), 0.] elif type.lower() == 'tribrokenexpinvlinflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data['RC_GALR_H'])), -1./5.]
def _setup_initparams_densfunc(type,data, pos_keys=['RC_GALR_H', 'RC_GALPHI_H', 'RC_GALZ_H']): """Return the initial parameters of the density for this type, might depend on the data""" if type.lower() == 'exp': return [1./3.,1./0.3] elif type.lower() == 'expplusconst': return [1./3.,1./0.3,numpy.log(0.1)] elif type.lower() == 'twoexp': return [1./3.,1./0.3,1./4.,1./0.5,densprofiles.logit(0.5)] elif type.lower() == 'brokenexp': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]]))] elif type.lower() == 'tribrokenexp': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]]))] elif type.lower() == 'symbrokenexp': return [0.4,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenexpflare': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), -1./5.] elif type.lower() == 'tribrokenexpflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), -1./5.] elif type.lower() == 'tribrokenexpfixedflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]]))] elif type.lower() == 'brokentwoexp': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), densprofiles.logit(0.5),1./0.8] elif type.lower() == 'brokentwoexpflare': return [-1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), densprofiles.logit(0.5),1./0.8,-0.2] elif type.lower() == 'tribrokentwoexp': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), densprofiles.logit(0.5),1./0.8] elif type.lower() == 'gaussexp': return [1./3.,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenquadexp': return [1./3.,1./0.3,1./3.,numpy.log(10.)] elif type.lower() == 'symbrokenquadexp': return [1./3.,1./0.3,numpy.log(10.)] elif type.lower() == 'brokenexpfixedspiral': return [1./6.,1./0.3,1./2.,numpy.log(14.),numpy.log(1.)] elif type.lower() == 'tribrokenexplinflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), 0.] elif type.lower() == 'tribrokenexpinvlinflare': return [1./3.,1./0.3,1./3.,numpy.log(numpy.median(data[pos_keys[0]])), -1./5.]