import numpy as np

hod_params = {
    'log10_obs_norm_c': 9.95,
    'log10_m_ch': 11.24,
    'g1': 3.18,
    'g2': 0.245,
    'sigma_log10_O_c': 0.157,
    'norm_s': 0.562,
    'pivot': 12.0,
    'alpha_s': -1.18,
    'beta_s': 2,
    'b0': -1.17,
    'b1': 1.53,
    'b2': -0.217,
    'A_cen': None,
    'A_sat': None,
}

hod_settings = {
    'observables_file': None,
    'observable_z': False,
    'obs_min': np.array([8.0, 8.0]),
    'obs_max': np.array([12.0, 12.0]),
    'zmin': np.array([0.0, 0.2]),
    'zmax': np.array([0.2, 0.5]),
    'nz': 15,
    'nobs': 300,
    'observable_h_unit': '1/h^2',
}

hod_settings_mm = {
    'observables_file': '../input_files/red_cen_lum_pdf.txt',
    'observable_z': True,
}

obs_settings = {
    'observables_file': None,
    'observable_z': False,
    'obs_min': np.array([8.0]),
    'obs_max': np.array([12.0]),
    'zmin': np.array([0.1]),
    'zmax': np.array([0.1]),
    'nz': 1,
    'nobs': 300,
    'observable_h_unit': '1/h^2',
}

kwargs = {
    #        'matter_power_lin': None,
    #        'mead_correction': 'fit_feedback',
    #        'k_vec': np.logspace(-4, 4, 100),
    #        'z_vec': np.linspace(0.0, 3.0, 15),
    #        'lnk_min': np.log(10**(-4.0)),
    #        'lnk_max': np.log(10**(4.0)),
    #        'dlnk': (np.log(10**(-4.0)) - np.log(10**(4.0))) / 100,
    #        'dewiggle': True,
    'Mmin': 9.0,
    'Mmax': 18.0,
    'dlog10m': 0.005,
    #        'mdef_model': 'SOMean',
    #        'hmf_model': 'Tinker10',
    #        'bias_model': 'Tinker10',
    #        'transfer_model': 'CAMB',
    #        'transfer_params': {},
    #        'growth_model': 'CAMB',
    #        'growth_params': {},
    #        'norm_cen': 1.0,
    #        'norm_sat': 1.0,
    #        'eta_cen': 0.0,
    #        'eta_sat': 0.0,
    #        'overdensity': 200,
    #        'delta_c': 1.686,
    #        'one_halo_ktrunc': 0.1,
    #        'two_halo_ktrunc': 2.0,
    #        'matter_power_nl': None,
    #        'bnl': True,
    #        'beta_nl': None,
    #        'omega_c': 0.25,
    #        'omega_m': 0.3,
    #        'omega_b': 0.05,
    #        'h0': 0.7,
    #        'n_s': 0.9,
    #        'sigma_8': 0.8,
    #        'm_nu': 0.06,
    #        'w0': -1.0,
    #        'wa': 0.0,
    #        'tcmb': 2.7255,
    'log10T_AGN': 7.8,
    #        'mb': 10.0**13.0,
    'pointmass': True,
    'hod_model': 'Cacciato',
    'hod_params': hod_params,
    'hod_settings': hod_settings,
    'obs_settings': obs_settings,
    'compute_observable': True,
    'one_halo_ktrunc_ia': 4.0,
    'two_halo_ktrunc_ia': 6.0,
    'fortuna': False,
    't_eff': 0.0,
    'align_params': {
        'central_ia_depends_on': 'halo_mass',
        'satellite_ia_depends_on': 'halo_mass',
        'gamma_2h_amplitude': 5.33,
        'beta_cen': 0.44,
        'beta_two': None,
        'gamma_1h_amplitude': 0.0015,
        'gamma_1h_slope': -2.0,
        'beta_sat': 0.44,
        'mpivot_cen': 13.5,
        'mpivot_sat': 13.5,
        'nmass': 5,
        'n_hankel': 350,
        'nk': 10,
        'ell_max': 6,
    },
}
