Пример #1
0
def do_analysis(i=0,n_ps_groupi=0,psloop1=False,pscomball=False,psloop2bkg=False,psloop2=False,minuit_new=False):
    global emin,emax, eachps_dict, eachps_En_center, TSbkg, TS, ps_norms_loop1, ps_norms
    if method=='polychord':
        polychord=True
    else:
        polychord=False
    b.run_tag = run_tag_energy
    tri = fa.make_triangle(b,run_tag_energy,edep=True,polychord=polychord,minuit_new=minuit_new)
    if psloop1:
        plot_name='triangle_psloop1_i' + str(i+1) + '.pdf'
    if pscomball:
        plot_name='triangle_pscomball.pdf'
    if psloop2bkg:
        plot_name='triangle_psloop2bkg_i' + str(i+1) + '.pdf'
    if psloop2:
        plot_name='triangle_psloop2_i' + str(i+1) + '.pdf'
    tri.make_triangle(plot_name=plot_name)

    if not minuit_new:
        sle = fa.save_log_evidence(b,edep=True,polychord=polychord)

    spect_dir = work_dir + 'data/spect/'
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    if not pscomball:
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],edep=True,band_mask_range=[0,0])
    else:
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],edep=True,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit_new = minuit_new,input_mask=force_ps_mask,the_input_mask=b.mask_total) # spectra over the whole energy range
    cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
    eachps_En_center = cs.En_center
    if psloop1 or pscomball or psloop2:
        cs.make_norm_dict()
    if psloop2 or psloop2bkg or pscomball:
        cs.make_spectra_dict()
    if pscomball:
        cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write=True)
        cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write=True)

    if psloop1:
        # Add in new norm values
        for j in range(n_ps_groupi):
            ps_norms_loop1[i*n_ps_run+j] *= cs.norm_dict['ps_' + str(i*n_ps_run+j+1) + '-0']
        # Update existing norm values if not the first loop
        if i != 0:
            for k in range(i*n_ps_run):
                ps_norms_loop1[k] *= cs.norm_dict['ps_comb-0']

    if psloop2bkg:
        TSbkg = 2*b.s['nested sampling global log-evidence']

    # Add norms to eachps_dict dictionary
    if psloop2:
        TS = 2*b.s['nested sampling global log-evidence'] - TSbkg
        eachts_dict['ps_' + str(i+1)] = TS
        eachps_dict['ps_' + str(i+1)] = cs.spectra_dict['ps_' + str(i+1) + '-0']
        ps_norms[i] *= cs.norm_dict['ps_' + str(i+1) + '-0']
Пример #2
0
def do_spectrum():
    global cs
    kwargs_specrum = {
        'band_mask_range': band_mask_range,
        'mask_ring': mask_ring
    }
    cs = fa.compute_spectra(b,
                            run_tag,
                            b.CTB_en_min,
                            b.CTB_en_max,
                            edep=True,
                            **kwargs_specrum)
    #cs.mask_total_dict['bubs-0']=np.logical_not(b.templates_dict['bubs'][0])

    if f.CTB_en_min == 0:
        over_write = True
    else:
        over_write = False

    cs.make_norm_dict()
    cs.save_norm_dict(norm_file_path,
                      b.CTB_en_min,
                      b.CTB_en_max,
                      over_write=over_write)

    cs.make_spectra_dict()
    cs.save_spectra_dict(spect_file_path,
                         b.CTB_en_min,
                         b.CTB_en_max,
                         over_write=over_write)
Пример #3
0
def do_analysis(minuit_new=False,add_group_ps=False,ps_number=0,fdn=True,fdrun=False):
    global emin,emax, eachps_En_center, ps_norms, diffnormfix
    if method=='polychord':
        polychord=True
    else:
        polychord=False
    b.run_tag = run_tag_energy
    tri = fa.make_triangle(b,run_tag_energy,edep=True,polychord=polychord,minuit_new=minuit_new)
    plot_name='triangle_ps_' + str(ps_number) + '.pdf'
    tri.make_triangle(plot_name=plot_name)

    if not minuit_new:
        sle = fa.save_log_evidence(b,edep=True,polychord=polychord)

    spect_dir = work_dir + 'data/spect/'
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],edep=True,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit_new = minuit_new,input_mask=force_ps_mask,the_input_mask=b.mask_total) # spectra over the whole energy range
    cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
    eachps_En_center = cs.En_center
    cs.make_norm_dict()
    cs.make_spectra_dict()

    if not fdrun:
        full_dict['nfw_ps_'+str(ps_number)] = cs.spectra_dict['nfw-0'] 
        if add_group_ps:
            full_dict['ps_comb_'+str(ps_number)] = cs.spectra_dict['ps_comb-0']
    else:
        diffnormfix = cs.norm_dict[diff + '-0']
Пример #4
0
def do_minuit_analysis(plot_ll_profile=True):
    b.save_minuit()
    if plot_ll_profile:
        b.plot_ll_profile()
    b.calculate_best_fit_minuit()
    b.calculate_norms(True)

    b.run_tag = run_tag_energy
    spect_dir = work_dir + 'data/spect/'
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    if save_norm_label != 'False' and save_norm_label != 'false':
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit=True,input_mask=force_ps_mask,the_input_mask=b.mask_total,edep=True) #spectra over whole energy range
        cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
        cs.make_norm_dict()
        cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)
Пример #5
0
def do_spectrum():
    global cs
    cs=fa.compute_spectra(b,run_tag,b.CTB_en_min,b.CTB_en_max,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit=True,input_mask=force_ps_mask,the_input_mask=b.mask_total,edep=True)
    cs.mask_total_dict['bubs-0']=np.logical_not(b.templates_dict['bubs'][0])
    
    if f.CTB_en_min==CTB_start_bin:
        over_write=True
        print 'Overwriting!'
    else:
        over_write=False
    
    cs.make_norm_dict()
    cs.save_norm_dict(norm_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
    
    cs.make_spectra_dict()
    cs.save_spectra_dict(spect_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
def do_spectrum():
    global cs
    kwargs_specrum={ 'band_mask_range': [-1.,1.],'mask_ring': True, 'outer': outer_plot}
    cs=fa.compute_spectra(b,run_tag,b.CTB_en_min,b.CTB_en_max,edep=True,**kwargs_specrum)
    cs.mask_total_dict['bubs-0']=np.logical_not(b.templates_dict['bubs'][0])
    
    if f.CTB_en_min==0:
        over_write=True
        print 'Overwriting!'
    else:
        over_write=False
    
    cs.make_norm_dict()
    cs.save_norm_dict(norm_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
    
    cs.make_spectra_dict()
    cs.save_spectra_dict(spect_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
Пример #7
0
def do_analysis(minuit_new=False):
    global emin,emax
    if method=='polychord':
        polychord=True
    else:
        polychord=False
    b.run_tag = run_tag_energy
    tri = fa.make_triangle(b,run_tag_energy,edep=True,polychord=polychord,minuit_new=minuit_new)
    tri.make_triangle()

    sle = fa.save_log_evidence(b,edep=True,polychord=polychord)

    cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit=True,input_mask=force_ps_mask,the_input_mask=b.mask_total,edep=True)
    cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
    cs.make_spectra_dict()
    for i in cs.spectra_dict.keys():
        print i,"has flux:",cs.spectra_dict[i]
Пример #8
0
def do_spectrum():
    global cs
    kwargs_specrum = {"band_mask_range": band_mask_range, "mask_ring": mask_ring, "outer": outer_plot}
    cs = fa.compute_spectra(b, run_tag, b.CTB_en_min, b.CTB_en_max, edep=True, **kwargs_specrum)
    cs.mask_total_dict["bubs-0"] = np.logical_not(b.templates_dict["bubs"][0])

    if f.CTB_en_min == 0:
        over_write = True
        print "Overwriting!"
    else:
        over_write = False

    cs.make_norm_dict()
    cs.save_norm_dict(norm_file_path, b.CTB_en_min, b.CTB_en_max, over_write=over_write)

    cs.make_spectra_dict()
    cs.save_spectra_dict(spect_file_path, b.CTB_en_min, b.CTB_en_max, over_write=over_write)
Пример #9
0
def do_spectrum():
    global cs
    # I've left this unchanged at present as it's purely for plotting - that ROI isn't important
    kwargs_specrum={ 'band_mask_range': band_mask_range,'mask_ring': mask_ring, 'outer': outer_plot}
    cs=fa.compute_spectra(b,run_tag,b.CTB_en_min,b.CTB_en_max,edep=True,**kwargs_specrum)
    cs.mask_total_dict['bubs-0']=np.logical_not(b.templates_dict['bubs'][0])
    
    if f.CTB_en_min==0:
        over_write=True
        print 'Overwriting!'
    else:
        over_write=False
    
    cs.make_norm_dict()
    cs.save_norm_dict(norm_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
    
    cs.make_spectra_dict()
    cs.save_spectra_dict(spect_file_path,b.CTB_en_min,b.CTB_en_max,over_write= over_write)
Пример #10
0
def do_analysis(i=0,n_ps_groupi=0,psloop1=False,pscomball=False,psloop2=False,minuit_new=False):
    global emin,emax, eachps_dict, eachps_En_center
    if method=='polychord':
        polychord=True
    else:
        polychord=False
    b.run_tag = run_tag_energy
    tri = fa.make_triangle(b,run_tag_energy,edep=True,polychord=polychord,minuit_new=minuit_new)
    tri.make_triangle()

    if not minuit_new:
        sle = fa.save_log_evidence(b,edep=True,polychord=polychord)

    spect_dir = work_dir + 'data/spect/'
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],edep=True,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit_new = minuit_new,input_mask=force_ps_mask,the_input_mask=b.mask_total) # spectra over the whole energy range
    cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
    eachps_En_center = cs.En_center
    if psloop1 or pscomball:
        cs.make_norm_dict()
    if psloop2 or pscomball:
        cs.make_spectra_dict()
    if pscomball:
        cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
        cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)

    if psloop1:
        # Create pslooptemp and psalltemp 
        pslooptempar = np.zeros(hp.nside2npix(nside))
        if os.path.exists(ps_temp_dir + pslooptemp):
            pslooptempar += fits.open(ps_temp_dir + pslooptemp)[0].data
        for j in range(n_ps_groupi):
            pstempj = b.templates_dict['ps_' + str(i*n_ps_run+j+1) + '-0'][0]
            psnormj = cs.norm_dict['ps_' + str(i*n_ps_run+j+1) + '-0']
            pswritej = pstempj*psnormj
            pslooptempar += pswritej
            fits.append(ps_temp_dir + psalltemp, pswritej)
        fits.writeto(ps_temp_dir + pslooptemp,pslooptempar,clobber=True)

    # Add norms to eachps_dict dictionary
    if psloop2:
        eachps_dict['ps_' + str(i+1)] = cs.spectra_dict['ps_' + str(i+1) + '-0']
#perform scan / load scan
if run:
    print 'The nside for this scan is ', b.nside
    b.perform_scan(run_tag = run_tag_energy)
if analysis:
    b.run_tag = run_tag_energy
    #make triangle plot
    tri = fa.make_triangle(b,run_tag_energy,edep=True)
    tri.make_triangle()

    sle = fa.save_log_evidence(b,edep=True)
    spect_dir = work_dir + 'data/spect/' 
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    if computing_spectra:
        #(self,b,run_tag,En_min,En_max,edep=False,ebin=0,*args,**kwargs)
        cs = fa.compute_spectra(b,run_tag_energy,b.CTB_en_bins[0],b.CTB_en_bins[-1], band_mask_range = [-mask_b_plot,mask_b_plot],mask_ring = False,edep=True) 
        cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
        cs.make_spectra_dict()
        cs.make_norm_dict()
        if save_spect_label != 'False' or save_spect_label != 'false':
            cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
        if save_norm_label != 'False' or save_norm_label != 'false':
            cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)
    else:
        cs = fa.compute_edep_spectra(b,run_tag_energy,b.CTB_en_bins,band_mask_range = [-mask_b_plot,mask_b_plot],mask_ring=False,edep=True) #spectra over whole energy range
        cs.make_spectra_dict()
        cs.save_spectra_dict(spect_dir + save_spect_label)


Пример #12
0
if run:
    b.perform_scan(run_tag = run_tag_energy)


##################
###perform anaysis
if analysis:
    #make triangle plot
    tri = fa.make_triangle(b,run_tag_energy)
    tri.make_triangle()

    sle = fa.save_log_evidence(b)



    spect_dir = work_dir + 'data/spect/' 
    spect_dir_ps = spect_dir + '/ps/'
    for d in [spect_dir,spect_dir_ps]:
        if not os.path.exists(d):
            os.mkdir(d)
    # cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],band_mask_range = [-0.,0.],mask_ring = True,outer=sigma_PSF_deg,lat= 90 - mask_b,lng = mask_ell) #spectra over whole energy range
    cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],band_mask_range = [-0.,0.],mask_ring = False) #spectra over whole energy range
    # cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
    cs.make_spectra_dict()
    print cs.spectra_dict
    cs.make_norm_dict()
    if save_spect_label != 'False' or save_spect_label != 'false':
        cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
    if save_norm_label != 'False' or save_norm_label != 'false':
        cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)
Пример #13
0
def do_analysis(minuit_new=False):
    global emin,emax
    if method=='polychord':
        polychord=True
    else:
        polychord=False
    b.run_tag = run_tag_energy
    tri = fa.make_triangle(b,run_tag_energy,edep=True,polychord=polychord,minuit_new=minuit_new)
    tri.make_triangle()

    sle = fa.save_log_evidence(b,edep=True,polychord=polychord)


    spect_dir = work_dir + 'data/spect/'
    if not os.path.exists(spect_dir):
        os.mkdir(spect_dir)
    if save_norm_label != 'False' and save_norm_label != 'false':
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],edep=True,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit_new = minuit_new,input_mask=force_ps_mask,the_input_mask=b.mask_total) # spectra over the whole energy range
        cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
        cs.make_spectra_dict()
        cs.make_norm_dict()
        cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
        cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)
    else:
        cs = fa.compute_edep_spectra(b,run_tag_energy,b.CTB_en_bins,polychord=polychord,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,minuit_new = minuit_new,input_mask=force_ps_mask,the_input_mask=b.mask_total) #,edep=True)
        cs.make_spectra_dict()
        cs.save_spectra_dict(spect_dir + save_spect_label)

    if n_ebins>1:
        ##plot spectrum
        msp_inst = msp.make_spectra_plot(spect_dir + save_spect_label + '.npy')
        if not fixed_background:
            msp_inst.plot_spectra_median('back',color='Orange',label='back',linestyle='-')
        if nfw_dm:
            msp_inst.plot_spectra_median('nfw',color='Chartreuse',label='nfw',linestyle='-')
        if not fixed_background:
            msp_inst.plot_spectra_band('back',interpolate=True, alpha=0.5,linewidth=0,facecolor='Orange')
        if nfw_dm:
            msp_inst.plot_spectra_band('nfw',interpolate=True, alpha=0.5,linewidth=0,facecolor='Chartreuse')
        if not poiss:
            colors=['Blue','Green','Purple'][0:len(ps_list)]
            for mod,color in map(None,ps_list,colors):
                msp_inst.plot_spectra_median(mod + '-np',color=color,label=mod+'-np',linestyle='--')
                msp_inst.plot_spectra_band(mod + '-np',interpolate=True, alpha=0.5,linewidth=0,facecolor=color)

        plt.axhline(y=0.,color='k',ls='dashed')
        plt.xscale('log')
        plt.xlabel('E [GeV]', fontsize=14)
        plt.ylabel('$E^2 dN / dE$  [GeV / cm$^2$ / s / sr]', fontsize=18)
        plt.title('Spectrum',fontsize=14)
        plt.legend(fontsize=12,loc=3)
        plt.savefig(b.plots_dir_for_run + save_spect_label + '.pdf',bbox_inches='tight')
        plt.close()
    if not poiss:
        print 'medians: ', b.medians_not_log
        print 'norm_non_poiss: ', b.norms_non_poiss
        ##save PS templates/medians
        if len(ps_save_list)>0:
            for comp, filename in map(None,ps_save_list,ps_save_filename_list):
                spti=fa.save_ps_template_info(b,run_tag_energy,edep=True,polychord=polychord,minuit_new = minuit_new)
                spti.save_ps_template(comp,filename)
        ##plot dn/ds across energies
        for ebin_num in range(b.number_energy_bins):
            p3FGL = fa.plot_3FGL(f,CTB_en_min=b.CTB_en_bins[ebin_num],CTB_en_max=b.CTB_en_bins[ebin_num+1],plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,input_mask=force_ps_mask,the_input_mask=b.mask_total)
            p3FGL.configure_3FGL(flux_min=10**-12,flux_max=10**-8,n_flux_bins = 25,only_gal = not(high_lat),error_range = 0.68) 
            pdnds = fa.plot_dnds(b,plane_mask=plot_plane_mask,band_mask_range = [-plot_pmval,plot_pmval],lcut=plot_lcut,lmin=plot_lmin,lmax=plot_lmax,bcut=plot_bcut,bmin=plot_bmin,bmax=plot_bmax,mask_ring=plot_mask_ring,outer=plot_outer,inner=plot_inner,input_mask=force_ps_mask,the_input_mask=b.mask_total)
            plt.figure(figsize=(8,6))
            p3FGL.plot_3FGL(fmt = 'o', color='black',markersize=7,label='3FGL PS')
            colors=['Orange','Chartreuse','Blue'][0:len(ps_list)]
            line_colors=['Red','Green','Purple'][0:len(ps_list)]
            alpha_list=[1,0.75,0.5][0:len(ps_list)]
            for mod,color,line_color,alpha in map(None,ps_list,colors,line_colors,alpha_list):
                print 'plotting source-count function for ', mod
                pdnds.plot_source_count_band(mod,edep=True,ebin=ebin_num,nsteps=100,calculate_dnds=True,facecolor=color,interpolate=True, alpha=alpha,linewidth=0)
                pdnds.plot_source_count_median(mod,edep=True,ebin=ebin_num,color=line_color,linestyle='--',label=mod + ' (median)')
            if len(ps_fixed_filename_list) > 0:
                for comp in map(None,ps_fixed_list):
                    pdnds.plot_fixed_source_count(comp,ebin=ebin_num,linestyle='-',label=comp + ' (fixed)')
            plt.xscale('log')
            plt.yscale('log')
            plt.ylim((2*10**(5),10**12))
            plt.xlim(10**-12., 10**-8.)
            plt.tick_params(axis='x', length=5,width=2,labelsize=18)
            plt.tick_params(axis='y',length=5,width=2,labelsize=18)
            plt.xlabel('$F$  [photons / cm$^2$ / s]', fontsize=18)
            plt.ylabel('$dN/dF$  [photons$^{-1}$ cm$^2$ s deg$^{-2}$]', fontsize=18)
            plt.legend(fontsize=15)
            plt.title('Energy: '+str(np.round(b.CTB_en_bins[ebin_num],3)) + '-'+str(np.round(b.CTB_en_bins[ebin_num+1],3)),fontsize=15)
            plt.savefig(b.plots_dir_for_run + 'dnds_plot_en_'+str(np.round(b.CTB_en_bins[ebin_num],3)) + '-'+str(np.round(b.CTB_en_bins[ebin_num+1],3)) + '.pdf',bbox_inches='tight')
            plt.close()
Пример #14
0
#perform scan / load scan
if run:
    b.perform_scan(run_tag = run_tag_energy)
if analysis:

    #make triangle plot
    tri = fa.make_triangle(b,run_tag_energy)
    tri.make_triangle()

    sle = fa.save_log_evidence(b)

    if poiss:
        spect_dir = work_dir + 'data/spect/' 
        if not os.path.exists(spect_dir):
            os.mkdir(spect_dir)
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1],band_mask_range = [-mask_b_plot,mask_b_plot],mask_ring = True,outer=outer_plot) #spectra over whole energy range
        cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
        cs.make_spectra_dict()
        cs.make_norm_dict()
        if save_spect_label != 'False' or save_spect_label != 'false':
            cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
        if save_norm_label != 'False' or save_norm_label != 'false':
            cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)

        ##plot flux fraction
        plt.figure(figsize=(8,6))
        pflux = fa.plot_flux_fraction(b,band_mask_range = [-mask_b_plot,mask_b_plot], mask_ring = True, outer = outer_plot)
        pflux.plot_flux_fraction_poiss('nfw',color_vert = 'Red',drawstyle='steps-mid',label = 'NFW DM',color='Red')
        plt.legend(fontsize=18)
        plt.xlabel('fraction of flux [%]', fontsize=18)
        plt.ylabel('posterior probability', fontsize=18)
Пример #15
0
#########################
#perform scan / load scan
if run:
    b.perform_scan(run_tag = run_tag_energy)
if analysis:

    #make triangle plot
    tri = fa.make_triangle(b,run_tag_energy)
    tri.make_triangle()

    if poiss:
        spect_dir = work_dir + 'data/spect/' 
        if not os.path.exists(spect_dir):
            os.mkdir(spect_dir)
        cs = fa.compute_spectra(b,run_tag_energy,f.CTB_en_bins[0],f.CTB_en_bins[-1]) #spectra over whole energy range
        cs.mask_total_dict['bubs']=np.logical_not(b.templates_dict_nested['bubs']['summed_templates_not_compressed'])
        cs.make_spectra_dict()
        cs.make_norm_dict()
        if save_spect_label != 'False' or save_spect_label != 'false':
            cs.save_spectra_dict(spect_dir + save_spect_label,emin,emax,over_write= False)
        if save_norm_label != 'False' or save_norm_label != 'false':
            cs.save_norm_dict(spect_dir + save_norm_label,emin,emax,over_write= False)
    else:
        anal = fa.non_poiss_analysis(b,run_tag_energy)

# ##########################
# ###the analysis
# def poiss_analysis():
#   b.load_scan(run_tag = run_tag)
#   print 'The poissonian norms are ...', b.norms_poiss