Parameters:

  #BSM parameters
  SingletDM_running:
    mS:
      range: [45., 100.]
      prior_type: log
    lambda_hS:
      range: [0.0001, 3.55]
      prior_type: log
    lambda_S:
      range: [0.0001, 3.55]
      prior_type: log

  #SM parameters.
  StandardModel_SLHA2: !import StandardModel_SLHA2_scan.yaml

  StandardModel_Higgs_running:
    mH:
      range: [80,180]
    QEWSB:
      same_as: StandardModel_SLHA2::mT

  # Nuclear matrix parameters.
  nuclear_params_sigmas_sigmal:
    sigmas:
      range: [19, 67]
    sigmal:
      range: [5, 95]
    deltau:  0.842
    deltad:  -0.427
    deltas:  -0.085

  # Dark matter halo parameters
  Halo_gNFW_rho0:
    rho0:
      range: [0.2, 0.8]
    v0:
      range: [216, 264]
    vesc:
      range: [437, 629]
    vrot:
      same_as: Halo_gNFW_rho0::v0
    rs: 20.0
    r_sun: 8.5
    alpha: 1
    beta: 3
    gamma: 1


Printer:

  printer: hdf5

  options:
    output_file: "SingletDM_Z2_lowmass_ms_X17.hdf5"
    group: "/singlet"
    disable_combine_routines: true


Scanner:

 use_scanner: diver

 scanners:

    diver:
      plugin: diver
      like: LogLike
      NP: 50000
      verbosity: 1
      convthresh: 0.00001


ObsLikes:

    # LHC likelihoods
    - capability: lnL_Higgs_invWidth
      purpose: LogLike

    # Precision physics likelihoods
    - capability: lnL_h_mass
      purpose:    LogLike

    # Vacuum stability and perturbitivity
    - capability: VS_likelihood
      purpose: LogLike

    # Dark matter likelihoods
    - capability: lnL_oh2
      purpose:    LogLike

    - capability: lnL_FermiLATdwarfs
      purpose:    LogLike

    - capability: XENON1T_2017_LogLikelihood
      purpose:    LogLike

    - capability: LUX_2016_LogLikelihood
      purpose:    LogLike

    - capability: PandaX_2016_LogLikelihood
      purpose:    LogLike

    - capability: PandaX_2017_LogLikelihood
      purpose:    LogLike

    # SM nuisance parameter likelihoods
    - capability: lnL_t_mass
      purpose:    LogLike

    - capability: lnL_alpha_s
      purpose:    LogLike

    # SI nuclear nuisance parameter likelihood
    - capability: lnL_SI_nuclear_parameters
      purpose:    LogLike

    # DM Local Halo likelihoods
    - capability: lnL_rho0
      purpose: LogLike

    - capability: lnL_v0
      purpose: LogLike

    - capability: lnL_vesc
      purpose: LogLike

    # Observables
    - purpose:    Observable
      capability: find_non_perturb_scale

    - purpose:    Observable
      capability: get_lambdaB

    - purpose:    Observable
      capability: expected_lifetime

    - purpose:    Observable
      capability: mwimp

    - purpose:    Observable
      capability: sigmav

    - purpose:    Observable
      capability: sigma_SI_p

    - purpose:    Observable
      capability: sigma_SI_n

    - purpose:    Observable
      capability: RD_oh2

    - purpose:    Observable
      capability: SingletDM_spectrum
      function:   get_SingletDM_spectrum_as_map


Rules:

  # Set v0 to 240 +/- 8 km/s based on Reid et al [arXiv:1401.5377]
  - capability: lnL_v0
    function: lnL_v0_gaussian
    options:
      v0_obs: 240
      v0_obserr: 8

  # Set sigma_l to 50 +/- 15 MeV based on Bishara et al [arXiv:1707.06998]
  - capability: lnL_SI_nuclear_parameters
    function: lnL_sigmas_sigmal
    options:
      sigmal_obs: 50.0
      sigmal_obserr: 15.0

  # Compute spectrum with FS and invalidate if non-perturbitive below the top mass scale only (default).
  - function: get_SingletDM_spectrum_pole
    options:
      check_perturb: false
      check_perturb_pts: 10
      mass_cut: [["S",45,70]]

  # Choose to rescale signals in direct and indirect detection by the relic density fraction
  - capability: RD_fraction
    function: RD_fraction_leq_one

  # Choose to use MicrOmegas to compute the relic density
  - capability: RD_oh2
    function: RD_oh2_MicrOmegas

  # Initialisation Settings for MicrOmegas
  - function: MicrOmegas_SingletDM_3_6_9_2_init
    options:
       VZdecay: 1 # 0 - no 3 body final states, 1 - virtual Z in annihilations, 2 - virtual Z in coannihilations
       VWdecay: 1 # 0 - no 3 body final states, 1 - virtual W in annihilations, 2 - virtual W in coannihilations

  # Relic density settings for MicrOmegas
  - capability: RD_oh2_Xf_MicrOmegas
    function: RD_oh2_Xf_MicrOmegas
    options:
      fast: 1  # 0: standard (default), 1: fast
      Beps: 1e-5  #  1e-5: standard, 1: switches coann off
    backends:
    - {backend: MicrOmegas_SingletDM}

  # Choose to implement the relic density likelihood as an upper bound, not a detection
  - capability: lnL_oh2
    function: lnL_oh2_upperlimit

  # Choose to use detailed Fermi Pass 8 dwarf likelihoood from gamlike
  - capability: lnL_FermiLATdwarfs
    function:  lnL_FermiLATdwarfs_gamLike

  # Choose to use DarkSUSY yield tables for indirect detection
  - capability: SimYieldTable
    function: SimYieldTable_DarkSUSY
    options:
      allow_yield_extrapolation: true

  # Choose to use the Z2-specific locator of the high-scale Higgs minimum
  - capability: vacuum_stability
    function: find_min_lambda_SingletDM

  # Use DarkBit's own calculations of the direct detection couplings
  - capability: DD_couplings
    function: DD_couplings_SingletDM

  # Choose to get decays from DecayBit proper, not from an SLHA file.
  - capability: decay_rates
    function: all_decays


Logger:

  redirection:

    [Dependency Resolver] : "dep_resolver.log"
    [Backends]: "backends.log"
    [Core]: "core.log"
    [Printers]: "printers.log"
    [Logger]: "logger.log"
    [Models]: "models.log"
    [Scanner]: "scanner.log"
    [Utilities]: "utils.log"
    [Error]: "errors.log"
    [DecayBit,Warning] : "DecayBit.log"
    [SpecBit,Warning] : "SpecBit.log"


KeyValues:

  dependency_resolution:
    prefer_model_specific_functions: true

  likelihood:
    model_invalid_for_lnlike_below: -1e4

  debug: false

  default_output_path: "./output/"
