free.AddScalar('minusK', 'auxiliary',62,1e-3, .75, prior_distribution='lognormal') Minus=lambda x : -x free.AddDependent('Kappa', 'EXTPAR',62,func=Minus,variables=['minusK']) free.AddScalar('A_kappa', 'EXTPAR',64,-2.e3,2.e3) free.AddScalar('mu_eff', 'EXTPAR',65,100.,1000.) free.AddScalar('MA', 'EXTPAR',124,50.,2.e3) # DM direct detection constraints L_Nsd=DirectDetection('PandaX_Nsd_2016.txt') L_Psd=DirectDetection('PandaX_Psd_2016.txt') L_Psi=DirectDetection('LUX201608_Psi.txt') # Setup NTools N=NMSSMTools(input_mold='./inp', #输入文件模板 package_dir='./NTools_Dh_h2', inp_file='inp.dat', output_file='spectr.1.txt', main_routine='rerun' ) N.output_dir=os.path.join(N.package_dir,'out','SLHAout','spectr.1.txt') N.output_omega_dir=N.output_dir.replace('spectr','omega') N.output_decay_dir=N.output_dir.replace('spectr','decay') # Start point free.GetValue('./inp.dat',mapping={'auxiliary':'EXTPAR'})# mapping is used to set value of minusKappa del(free.variable_list['Kappa'].value) free.variable_list['minusK'].value=-free.variable_list['minusK'].value print('Start point is:') newpoint=copy.deepcopy(free) newpoint.Print() Data=DataFile(Dir='mcmc')
,'b->s gamma'#32 ,'B_s->mu+mu-'#35 ,'Muon magn'#37 ,'No Higgs in the'#46 ,'b -> c tau nu'#58 always keep alive ] #r=readSLHA(discountKeys=ignore) #print(read.readline.readline) #print(mcmc.Scan) free=scan() free.AddScalar('tanB','MINPAR',3,1.,60.) N=NMSSMTools(input_mold='./mcmc/inp.dat') free.GetValue('./mcmc/inp.dat') print('Start point is:') newpoint=copy.deepcopy(free) newpoint.Print() Data=DataFile(Dir='mcmc') record_number=-1 try_point=0 last_chisq=1e10 # scan ================================================================== while record_number < target_number: try_point+=1 if try_point%1000==1: print('Trying point %i; %i points recorded; current X2 is %.3e'%(try_point,record_number,last_chisq)) if try_point>1e10:break
mold.AddScalar('MtopR', 'EXTPAR',46,100.,2.e3) mold.AddFollower('MbottomR','EXTPAR',49,'MtopR') mold.AddScalar('Lambda', 'EXTPAR',61,1e-3, .75)#, prior_distribution='lognormal') #mold.AddScalar('Kappa', 'EXTPAR',62,-0.75, -1e-3, prior_distribution='lognormal') mold.AddScalar('minusK', 'auxiliary',62,1e-3, .75)#, prior_distribution='lognormal') Minus=lambda x : -x mold.AddDependent('Kappa', 'EXTPAR',62,func=Minus,variables=['minusK']) mold.AddScalar('A_kappa', 'EXTPAR',64,-2.e3,2.e3) mold.AddScalar('mu_eff', 'EXTPAR',65,100.,1000.) mold.AddScalar('MA', 'EXTPAR',124,50.,2.e3) par_name_list=list(mold.free_parameter_list.keys()) # set NMSSMTools N=NMSSMTools(input_mold='./inp', package_dir='./NTools_Dh', inp_file='inp.dat', output_file='spectr.1.txt', main_routine='rerun' ) N.output_dir=os.path.join(N.package_dir,'out','SLHAout','spectr.1.txt') N.output_omega_dir=N.output_dir.replace('spectr','omega') N.output_decay_dir=N.output_dir.replace('spectr','decay') # collect samples samples=GetSamples(path='./good_samples', patterns=['inp','spectr','omega'], ) # calculate left/right near point on every directions for each samples for sample in samples: number_str=sample.documents['inp'].rsplit('.')[-1] mold.GetValue(sample.documents['inp'],mapping={'auxiliary':'EXTPAR'})
free.Add('M2' ,'EXTPAR' ,2 ,100. ,2000.) free.Add('Atop' ,'EXTPAR' ,11 , -6e3 ,6e3) free.Add('Abottom','EXTPAR' ,12,-6e3,6e3,pace='follow Atop') free.Add('Atau' ,'EXTPAR' ,13 , 100. ,2000.) free.Add('MtauL','EXTPAR' ,33, 100., 2.e3,pace='follow Atau') free.Add('MtauR','EXTPAR' ,36, 100., 2.e3,pace='follow Atau') free.Add('MQ3L' ,'EXTPAR' ,43, 100., 2.e3) free.Add('MtopR' ,'EXTPAR' ,46, 100., 2.e3) free.Add('MbottomR','EXTPAR' ,49, 100., 2.e3 ,pace='follow MtopR') free.Add('Lambda','EXTPAR' ,61 ,1e-3 ,1. ,pace='lognormal') free.Add('Kappa','EXTPAR' ,62 ,1.e-3 ,1. ,pace='lognormal') free.Add('A_kappa','EXTPAR' ,64,-3.e3,3.e3) free.Add('mu_eff','EXTPAR' ,65,100.,1500.) free.Add('MA','EXTPAR',124, 0., 2.e3) N=NMSSMTools() free.GetValue('./mcmc/inp.dat') print('Start point is:') newpoint=copy.deepcopy(free) newpoint.Print() Data=DataFile(Dir='mcmc') record_number=-1 try_point=0 last_chisq=1e10 # scan ================================================================== while record_number < target_number: try_point+=1 if try_point%1000==1: print('Trying point %i; %i points recorded; current X2 is %.3e'%(try_point,record_number,last_chisq))
mold.AddScalar('Lambda', 'EXTPAR', 61, 1e-3, .75) #, prior_distribution='lognormal') #mold.AddScalar('Kappa', 'EXTPAR',62,-0.75, -1e-3, prior_distribution='lognormal') mold.AddScalar('minusK', 'auxiliary', 62, 1e-3, .75) #, prior_distribution='lognormal') Minus = lambda x: -x mold.AddDependent('Kappa', 'EXTPAR', 62, func=Minus, variables=['minusK']) mold.AddScalar('A_kappa', 'EXTPAR', 64, -2.e3, 2.e3) mold.AddScalar('mu_eff', 'EXTPAR', 65, 100., 1000.) mold.AddScalar('MA', 'EXTPAR', 124, 50., 2.e3) par_name_list = list(mold.free_parameter_list.keys()) # set NMSSMTools N = NMSSMTools(input_mold='./inp', package_dir='./NTools_Dh', inp_file='inp.dat', output_file='spectr.1.txt', main_routine='rerun') N.output_dir = os.path.join(N.package_dir, 'out', 'SLHAout', 'spectr.1.txt') N.output_omega_dir = N.output_dir.replace('spectr', 'omega') N.output_decay_dir = N.output_dir.replace('spectr', 'decay') # collect samples samples = GetSamples( path='./diluted_good_samples', patterns=['inp', 'spectr', 'omega'], ) # calculate left/right near point on every directions for each samples for sample in samples[:200]: #636 number_str = sample.documents['inp'].rsplit('.')[-1]
free.Add('mu_eff', 'EXTPAR', 65, 100., 1500.) free.Add('MA', 'EXTPAR', 124, 0., 2.e3) #print(free.block_list);exit() L_Nsd = DirectDetection('PandaX_Nsd_2016.txt') L_Psd = DirectDetection('PandaX_Psd_2016.txt') L_Psi = DirectDetection('LUX201608_Psi.txt') rec_list = open('./mcmc/record_list', 'w') rec_X2 = open('./mcmc/record_chisq', 'w') rec_full = open('./mcmc/record_full', 'w') Data = DataFile(Dir='mcmc') N = NMSSMTools(in_model='inpZ3.dat') free.GetValue('inp.dat') print('Start point is:') for name, par in free.variable_list.items(): print(name, par.block, par.PDG, par.value) newpoint = copy.deepcopy(free) record_number = -1 try_point = 0 last_chisq = 1e50 # scan ================================================================== while record_number < target_number: try_point += 1 if try_point % 1000 == 1: print('Trying point %i; %i points recorded; current X2 is %.3e' %
free.add('M2', 'EXTPAR', 2, 100., 2000., step=None) free.add('Atop', 'EXTPAR', 11, -6e3, 6e3, step=None) free.add('Abottom', 'EXTPAR', 12, -6e3, 6e3, walk=free.Atop) free.add('Atau', 'EXTPAR', 13, 100., 2000., step=None) free.add('MtauL', 'EXTPAR', 33, 100., 2.e3, walk=free.Atau) free.add('MtauR', 'EXTPAR', 36, 100., 2.e3, walk=free.Atau) free.add('MQ3L', 'EXTPAR', 43, 100., 2.e3, step=None) free.add('MtopR', 'EXTPAR', 46, 100., 2.e3, step=None) free.add('MbottomR', 'EXTPAR', 49, 100., 2.e3, walk=free.MtopR) free.add('Lambda', 'EXTPAR', 61, 1e-3, 1., walk='log', step=None) free.add('Kappa', 'EXTPAR', 62, 1.e-3, 1., walk='log', step=None) free.add('A_kappa', 'EXTPAR', 64, -3.e3, 3.e3, step=None) free.add('mu_eff', 'EXTPAR', 65, 100., 1500., step=None) free.add('MA', 'EXTPAR', 124, 0., 2.e3) N = NMSSMTools() GetPoint(free, './mcmc/inp.dat') print('Start point is:') for name in free.VariableList: parameter = getattr(free, name) print(parameter.name, parameter.PDG, parameter.value) free.SetRandom() L_Nsd = DirectDetection('PandaX_Nsd_2016.txt') L_Psd = DirectDetection('PandaX_Psd_2016.txt') L_Psi = DirectDetection('LUX201608_Psi.txt') rec_list = open('./mcmc/record_list', 'w') rec_X2 = open('./mcmc/record_chisq', 'w') rec_full = open('./mcmc/record_full', 'w')
free.add('M2' ,'EXTPAR' ,2 ,100. ,2000.,step=None) free.add('Atop' ,'EXTPAR' ,11 , -6e3 ,6e3,step=None) free.add('Abottom','EXTPAR' ,12,-6e3,6e3,walk=free.Atop) free.add('Atau' ,'EXTPAR' ,13 , 100. ,2000.,step=None) free.add('MtauL','EXTPAR' ,33, 100., 2.e3,walk=free.Atau) free.add('MtauR','EXTPAR' ,36, 100., 2.e3,walk=free.Atau) free.add('MQ3L' ,'EXTPAR' ,43, 100., 2.e3,step=None) free.add('MtopR' ,'EXTPAR' ,46, 100., 2.e3,step=None) free.add('MbottomR','EXTPAR' ,49, 100., 2.e3 ,walk=free.MtopR) free.add('Lambda','EXTPAR' ,61 ,1e-3 ,1. ,walk='log',step=None) free.add('Kappa','EXTPAR' ,62 ,1.e-3 ,1. ,walk='log',step=None) free.add('A_kappa','EXTPAR' ,64,-3.e3,3.e3,step=None) free.add('mu_eff','EXTPAR' ,65,100.,1500.,step=None) free.add('MA','EXTPAR',124, 0., 2.e3) N=NMSSMTools() GetPoint(free,'./mcmc/inp.dat') print('Start point is:') for name in free.VariableList: parameter=getattr(free,name) print(parameter.name,parameter.PDG,parameter.value) free.SetRandom() L_Nsd=DirectDetection('PandaX_Nsd_2016.txt') L_Psd=DirectDetection('PandaX_Psd_2016.txt') L_Psi=DirectDetection('LUX201608_Psi.txt') rec_list=open('./mcmc/record_list','w') rec_X2=open('./mcmc/record_chisq','w') rec_full=open('./mcmc/record_full','w')