###################################
# Input parameter declarations
###################################

Parameters:

  #SM parameters.
  StandardModel_SLHA2: !import StandardModel_SLHA2_SingletDM_scan_15.yaml

  #Nuclear matrix parameters.
  nuclear_params_sigmas_sigmal:
    sigmas:
      range: [19, 67]
    sigmal: 
      range: [31, 85]
    deltau:  0.842
    deltad:  -0.427
    deltas:  -0.085
  StandardModel_Higgs:
    mH:
      range: [124.1, 127.3]

  SingletDM:
    mS:
      range: [45., 10000.]
      prior_type: log
    lambda_hS:
      range: [0.0001, 10.00]
      prior_type: log

  Halo_gNFW_rho0:
    rho0:
      range: [0.2, 0.8]
    v0: 235.0
    vesc: 550.0
    vrot: 235.0
    rs: 20.0
    r_sun: 8.5
    alpha: 1
    beta: 3
    gamma: 1


Priors:

  # All the priors are simple for this scan, so they are specified directly in the Parameters section.

Printer:

  printer: hdf5

  options:
    output_file: "SingletDM.hdf5"
    group: "/SingletDM"

Scanner:
  use_scanner: diver

  scanners:

    multinest:
      plugin: multinest
      like:  LogLike
      nlive: 20000
      tol: 0.0001

    diver:
      plugin: diver
      like: LogLike
      NP: 50000
      verbosity: 1
      convthresh: 0.0001
      
    twalk:
      plugin: twalk
      tolerance: 0.01
      projection_dimension: 2
      chain_number: 512

    great:
      plugin: great
      nTrialLists: 17
      nTrials: 20000
      like: LogLike
      aux_printer_ind_samples_options:

###############################
# Observables of interest
###############################


ObsLikes:

    # LHC likelihoods
    - capability: lnL_Higgs_invWidth
      purpose: LogLike

    # Precision physics likelihoods
    - capability: lnL_h_mass
      purpose:    LogLike

    # Dark matter likelihoods
    - capability: lnL_oh2
      purpose:    LogLike

    - capability: lnL_FermiLATdwarfs
      purpose:    LogLike

    - capability: XENON100_2012_LogLikelihood
      purpose:    LogLike

    - capability: LUX_2015_LogLikelihood
      purpose:    LogLike

    - capability: LUX_2016_LogLikelihood
      purpose:    LogLike

    - capability: PandaX_2016_LogLikelihood
      purpose:    LogLike

    - capability: SuperCDMS_2014_LogLikelihood
      purpose:    LogLike

    - capability: IC79_loglike
      purpose:    LogLike

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

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

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

    - capability: lnL_mbmb
      purpose:    LogLike

    - capability: lnL_mcmc
      purpose:    LogLike

    - capability: lnL_light_quark_masses
      purpose:    LogLike

    - capability: lnL_alpha_em
      purpose:    LogLike

    - capability: lnL_alpha_s
      purpose:    LogLike

    - capability: lnL_GF
      purpose:  LogLike

    # Other observables
    - purpose:    Observable
      capability: RD_oh2

    - purpose:    Observable
      capability: mwimp

    - purpose:    Observable
      capability: sigmav

    - purpose:    Observable
      capability: sigma_SI_p

    - purpose:    Observable
      capability: sigma_SI_n

Rules:

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

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

  # Use the DarkBit native calculator for the relic density
  - capability: RD_oh2
    function: RD_oh2_general
    options:
      fast: 1

  # 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

  # 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

  # Choose to get the spectrum from SpecBit proper, not an SLHA file.
  - capability: SingletDM_spectrum
    function: get_SingletDM_spectrum

Logger:

  redirection:
    [Default] : "default.log"
    [DecayBit] : "DecayBit.log"
    [DarkBit] : "DarkBit.log"
    [PrecisionBit] : "PrecisionBit.log"
    [SpecBit] : "SpecBit.log"
    [Dependency Resolver] : "dep_resolver.log"

KeyValues:

  dependency_resolution:
    prefer_model_specific_functions: true

  likelihood:
    model_invalid_for_lnlike_below: -5e5
    model_invalid_for_lnlike_below_alt: -1e5

  default_output_path: "SingletDM_full/"


