def run(slhafile, inputs=None, update=False) :
    print(inputs)
    if inputs is None:
        inputs={}
    fhopts = FeynHiggsOpts(default_inputs,inputs)
    recovery={}
    if inputs:
        if inputs.get('drop_extpar'):
            slhafile, recovery=drop_extpar(slhafile)
    if inputs.get('versions') is not None:
        return_value={}
        for version in inputs['versions']:
            FHout = FeynHiggsPrecObs()
            assert len(slhafile) == nslhadata[version]
            error = FHlibs[version].run_feynhiggs(byref(FHout), byref(fhopts), byref(slhafile.data),
                    update)
            return_value.update(ctypes_field_values(FHout, name+version, error))
    #130806 KJ NOTE: in case of no 'versions' specified, the outputs will look like e.g. ('FeynHigs','mh' )
    #instead of ('FeynHiggs2.8.7','mh'), for downward compatiblility. This may change in the future
    else:
        FHout = FeynHiggsPrecObs()
        assert len(slhafile) == nslhadata[default_version]
        error = FHlibs[default_version].run_feynhiggs(byref(FHout), byref(fhopts), byref(slhafile.data),
                update)
        return_value=ctypes_field_values(FHout, name, error)
    #If (!) extpar is dropped for running FH it has to be put back
    for key, value in recovery.items():
        slhafile[key]=value
#    if error: print("ERROR: FH")
    return return_value
def run(slhadata, inputs=None, update=False) :
    SIout = SuperISOPrecObs()
    fname = "/tmp/mc-{u}".format(u=tools.unique_str())
    slhadata.write(fname)
    SIlib.run_superiso(c_char_p(fname.encode('ascii')), byref(SIout))
    tools.rm(fname)
    return tools.ctypes_field_values(SIout, name)
def run(slhadata, inputs=None, update=False) :
    assert len(slhadata) == nslhadata
    fhopts = FeynHiggsOpts(default_inputs,inputs)

    FHout = FeynHiggsPrecObs()
    FHlib.run_feynhiggs(byref(FHout), byref(fhopts), byref(slhadata.data),
            update)
    return ctypes_field_values(FHout, name)
def run(slhadata, inputs=None, update=False):
    if inputs is None:
        inputs = {}
    SIout = SuperISOPrecObs()
    fname = unique_filename(inputs.get("tmp_dir"))
    slhadata.write(fname)
    SIlib.run_superiso(c_char_p(fname.encode("ascii")), byref(SIout))
    rm(fname)
    # FIXME: No error handling yet
    return ctypes_field_values(SIout, name)
def run(slhadata, inputs=None, update=False) :
    MOout = MicromegasPrecObs()
    reader = lambda f: MOlib.run_micromegas(c_char_p(f.encode('ascii')), byref(MOout))
    writer = lambda f: slhadata.write(f)

    fname = "/tmp/mc-{u}".format(u=unique_str())
    writer(fname)
    reader(fname)
    rm(fname)
    return ctypes_field_values(MOout, name)
def run(slhadata, inputs=None, update=False):
    #FIXME: not entirely sure if this is the most elegant way of doing it.
    # We somehow need to set the defaults for the susypope flags and none-slhainputs
    if inputs is None:
        inputs={}
    flags  = susypopeFlags(default_inputs['flags'],inputs.get('flags'))
    n_slha = susypopeNoneSLHA(default_inputs['non_slha_inputs'],inputs.get('non_slha_inputs'))

    spout = susypopeObs()
    SPlib.run_susypope(byref(slhadata.data), byref(n_slha), byref(flags),
            byref(spout))
    return ctypes_field_values(spout, name)
def get_relevant_observables(all_obs):
    all_obs_d=ctypes_field_values(all_obs, name)
    d={
        'MW'             :  all_obs_d[(name,'MSSMObs')][0 ],
        'sin_theta_eff'  :  all_obs_d[(name,'MSSMObs')][26],
        'Gamma_z'        :  all_obs_d[(name,'MSSMObs')][10],
        'Rl'             :  all_obs_d[(name,'MSSMObs')][21],
        'sigma_had'      :  all_obs_d[(name,'MSSMObs')][20],
        'Rb'             :  all_obs_d[(name,'MSSMObs')][25],
        'Rc'             :  all_obs_d[(name,'MSSMObs')][24],
        'Al'             :  all_obs_d[(name,'MSSMObs')][29],
        'Ab'             :  all_obs_d[(name,'MSSMObs')][30],
        'Ac'             :  all_obs_d[(name,'MSSMObs')][31],
        'Afb_l'          :  all_obs_d[(name,'MSSMObs')][32],
        'Afb_b'          :  all_obs_d[(name,'MSSMObs')][33],
        'Afb_c'          :  all_obs_d[(name,'MSSMObs')][34],}
    return {(name,obs):val for obs,val in d.items()}
def run(slhadata, inputs=None, update=False):
    BPout = BPhysicsPrecObs()
    BPlib.run_bphysics(byref(slhadata.data), byref(BPout))
    return ctypes_field_values(BPout, name)
def run(slhadata, inputs=None, update=False):
    BPout = BPhysicsPrecObs()
    error=BPlib.run_bphysics(byref(slhadata.data), byref(BPout))
    if error: print('ERROR: Bphysics') 
    return ctypes_field_values(BPout, name,error)
def run(slhadata, inputs=None, update=False):
    LSPout = lspscatObs()
    LSPin  = lspscatInputs(default_inputs,inputs)
    LSPlib.run_lspscat(byref(slhadata.data), byref(LSPin), byref(LSPout))
    #FIXME: lspscat has no error handling that I know of, maybe should fix this later
    return ctypes_field_values(LSPout, name)
Example #11
0
def run(slhadata, inputs=None, update=False):
    LSPout = lspscatObs()
    LSPin  = lspscatInputs(default_inputs,inputs)
    LSPlib.run_lspscat(byref(slhadata.data), byref(LSPin), byref(LSPout))
    return ctypes_field_values(LSPout, name)