50 cout << endl;
coutCBL <<
"Setting up the fiducial dark matter two-point correlation function model..." << endl;
52 const vector<double> rad =
linear_bin_vector(m_data_model->step, m_data_model->r_min, m_data_model->r_max);
55 if (m_data_model->sigmaNL==0) {
57 vector<double> kk =
logarithmic_bin_vector(m_data_model->step, max(m_data_model->k_min, 1.e-4), min(m_data_model->k_max, 500.)), Pk(m_data_model->step,0);
59 Pk = m_data_model->cosmology->Pk_matter(kk, m_data_model->method_Pk, m_data_model->NL, m_data_model->redshift, m_data_model->store_output, m_data_model->output_root, m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec, m_data_model->file_par);
61 m_data_model->kk = kk;
62 m_data_model->func_Pk = make_shared<glob::FuncGrid>(
glob::FuncGrid(kk, Pk,
"Spline"));
68 vector<double> kk =
logarithmic_bin_vector(m_data_model->step, max(m_data_model->k_min, 1.e-4), min(m_data_model->k_max, 500.)), Pk, PkNW, PkDW(m_data_model->step,0);
69 Pk = m_data_model->cosmology->Pk_matter(kk, m_data_model->method_Pk,
false, m_data_model->redshift, m_data_model->store_output, m_data_model->output_root, m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec, m_data_model->file_par);
70 PkNW = m_data_model->cosmology->Pk_matter(kk,
"EisensteinHu",
false, m_data_model->redshift, m_data_model->store_output, m_data_model->output_root, m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec, m_data_model->file_par);
72 for (
size_t i=0; i<kk.size(); i++)
73 PkDW[i] = PkNW[i]*(1+(Pk[i]/PkNW[i]-1)*exp(-0.5*pow(kk[i]*m_data_model->sigmaNL, 2)));
75 m_data_model->kk = kk;
76 m_data_model->func_Pk = make_shared<glob::FuncGrid>(
glob::FuncGrid(kk, Pk,
"Spline"));
77 m_data_model->func_Pk_NW = make_shared<glob::FuncGrid>(
glob::FuncGrid(kk, PkNW,
"Spline"));
82 m_data_model->func_xi = make_shared<glob::FuncGrid>(
glob::FuncGrid(rad, xi0,
"Spline"));
84 coutCBL <<
"Done!" << endl << endl;
94 const string file_grid = m_data_model->cosmology->create_grid_sigmaM(m_data_model->method_Pk, 0.,
true, m_data_model->output_root,
"Spline", m_data_model->k_max);
99 ifstream fin(file_grid.c_str());
checkIO(fin, file_grid);
101 double MMass,
Sigma, Dln_Sigma;
102 vector<double> mass, sigma;
104 while (fin >>MMass>>
Sigma>>Dln_Sigma) {
105 mass.push_back(MMass);
106 sigma.push_back(
Sigma);
112 m_data_model->func_sigma = make_shared<glob::FuncGrid>(
glob::FuncGrid(mass, sigma,
"Linear", BinType::_logarithmic_));
121 coutCBL <<
"Setting up the fiducial matter power spectrum model" << endl;
123 const vector<double> kk =
logarithmic_bin_vector(m_data_HOD->step, max(m_data_HOD->k_min, 1.e-4), min(m_data_HOD->k_max, 500.));
124 vector<double> PkDM(kk.size());
126 PkDM = m_data_HOD->cosmology->Pk_matter(kk, m_data_HOD->method_Pk, m_data_HOD->NL, m_data_HOD->redshift, m_data_HOD->store_output, m_data_HOD->output_root, m_data_HOD->norm, m_data_HOD->k_min, m_data_HOD->k_max, m_data_HOD->prec, m_data_HOD->input_file);
128 m_data_HOD->func_Pk = make_shared<glob::FuncGrid>(
glob::FuncGrid(kk, PkDM,
"Spline"));
138 const string file_grid = m_data_HOD->cosmology->create_grid_sigmaM(m_data_HOD->method_Pk, 0.,
true, m_data_HOD->output_root, m_data_HOD->interpType, m_data_HOD->k_max, m_data_HOD->input_file, m_data_HOD->is_parameter_file);
143 ifstream fin(file_grid.c_str());
checkIO(fin, file_grid);
145 double MMass,
Sigma, Dln_Sigma;
146 vector<double> mass, sigma, dln_sigma;
148 while (fin >>MMass>>
Sigma>>Dln_Sigma) {
149 mass.push_back(MMass);
150 sigma.push_back(
Sigma);
151 dln_sigma.push_back(Dln_Sigma);
157 m_data_HOD->func_sigma = make_shared<glob::FuncGrid>(
glob::FuncGrid(mass, sigma,
"Spline"));
159 m_data_HOD->func_dlnsigma = make_shared<glob::FuncGrid>(
glob::FuncGrid(mass, dln_sigma,
"Spline"));
169 if (m_data_model->cluster_mass_proxy->ndata()==0)
ErrorCBL(
"m_data_model->cluster_mass_proxy->ndata() is not defined!",
"set_bias_eff_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp");
171 const int npar = cosmo_param.size();
173 const string file = dir+file_grid_bias;
174 ifstream fin(file.c_str());
180 fin.clear(); fin.close();
181 vector<double> mass_grid =
logarithmic_bin_vector(m_data_model->cluster_mass_proxy->ndata()/10,
Min(m_data_model->cluster_mass_proxy->data()),
Max(m_data_model->cluster_mass_proxy->data()));
182 vector<double> parameter, bias_eff;
184 m_data_model->cosmology->generate_bias_eff_grid_one_cosmopar(parameter, bias_eff, dir, file_grid_bias, cosmo_param[0], min_par[0], max_par[0], nbins_par[0], m_data_model->cluster_mass_proxy->data(), mass_grid, m_data_model->cluster_mass_proxy->xx(), m_data_model->model_bias, m_data_model->method_Pk, m_data_model->meanType,
true, m_data_model->output_root, m_data_model->Delta, 1.,
"Spline", m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec,
"NULL",
false, m_data_model->cosmology_mass, m_data_model->redshift_source);
186 m_data_model->cosmopar_bias_interp_1D = bind(
interpolated, placeholders::_1, parameter, bias_eff,
"Spline");
192 vector<double> mass_grid =
logarithmic_bin_vector(m_data_model->cluster_mass_proxy->ndata()/10,
Min(m_data_model->cluster_mass_proxy->data()),
Max(m_data_model->cluster_mass_proxy->data()));
194 vector<double> parameter1, parameter2;
195 vector<vector<double>> bias_eff;
196 m_data_model->cosmology->generate_bias_eff_grid_two_cosmopars(parameter1, parameter2, bias_eff, dir, file_grid_bias, cosmo_param[0], min_par[0], max_par[0], nbins_par[0], cosmo_param[1], min_par[1], max_par[1], nbins_par[1], m_data_model->cluster_mass_proxy->data(), mass_grid, m_data_model->cluster_mass_proxy->xx(), m_data_model->model_bias, m_data_model->method_Pk, m_data_model->meanType,
true, m_data_model->output_root, m_data_model->Delta, 1.,
"Spline", m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec,
par::defaultString,
false, m_data_model->cosmology_mass, m_data_model->redshift_source);
198 m_data_model->cosmopar_bias_interp_2D = bind(
interpolated_2D, placeholders::_1, placeholders::_2, parameter1, parameter2, bias_eff,
"Cubic");
203 ErrorCBL(
"this function works with 1 or 2 cosmological parameters!",
"set_bias_eff_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp");
209 vector<double> parameter, bias_eff;
212 while (getline(fin, line)) {
213 stringstream SS(line);
double _p, _b;
215 parameter.push_back(_p);
216 bias_eff.push_back(_b);
218 fin.clear(); fin.close();
220 m_data_model->cosmopar_bias_interp_1D = bind(
interpolated, placeholders::_1, parameter, bias_eff,
"Spline");
224 fin.clear(); fin.close();
225 vector<double> parameter1, parameter2;
226 vector<vector<double>> bias_eff;
228 read_matrix(file, parameter1, parameter2, bias_eff);
230 m_data_model->cosmopar_bias_interp_2D = bind(
interpolated_2D, placeholders::_1, placeholders::_2, parameter1, parameter2, bias_eff,
"Cubic");
234 ErrorCBL(
"this function works with 1 or 2 cosmological parameters!",
"set_bias_eff_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp");
244 const int npar = cosmo_param.size();
247 vector<double> parameter, bias_eff;
248 m_data_model->cosmology->generate_bias_eff_grid_one_cosmopar(parameter, bias_eff, dir, file_grid_bias, cosmo_param[0], min_par[0], max_par[0], nbins_par[0], m_data_model->redshift, m_data_model->Mass_min, m_data_model->Mass_max, m_data_model->model_bias, m_data_model->model_MF, m_data_model->method_Pk, file_selection_function, column, 1.,
true, m_data_model->output_root, m_data_model->Delta, 1.,
"Spline", m_data_model->norm, m_data_model->k_min, m_data_model->k_max, m_data_model->prec);
250 m_data_model->cosmopar_bias_interp_1D = bind(
interpolated, placeholders::_1, parameter, bias_eff,
"Spline");
254 ErrorCBL(
"",
"set_bias_eff_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp", glob::ExitCode::_workInProgress_);
258 ErrorCBL(
"this function works with 1 or 2 cosmological parameters!",
"set_bias_eff_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp");
271 const int nparameters = 6;
273 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
275 vector<string> parameterName(nparameters);
276 parameterName[0] =
"sigmaNL";
277 parameterName[1] =
"alpha";
278 parameterName[2] =
"B";
279 parameterName[3] =
"A0";
280 parameterName[4] =
"A1";
281 parameterName[5] =
"A2";
283 vector<statistics::PriorDistribution> priors = {sigmaNL_prior, alpha_prior, B_prior, A0_prior, A1_prior, A2_prior};
291 coutCBL <<
"Done!" << endl << endl;
303 m_data_model->poly_order = polynomial_prior.size();
306 const int nparameters = 3+polynomial_prior.size();
308 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
310 vector<string> parameterName(nparameters);
311 vector<statistics::PriorDistribution> priors(nparameters);
312 priors[0] = alpha_prior;
313 priors[1] = fsigma8_prior;
314 priors[2] = bsigma8_prior;
316 parameterName[0] =
"alpha";
317 parameterName[1] =
"f*sigma8";
318 parameterName[2] =
"b*sigma8";
320 for (
size_t i=0; i<polynomial_prior.size(); i++) {
322 priors[i+3] = polynomial_prior[i];
342 m_data_model->poly_order = polynomial_prior.size();
345 const int nparameters = 6+polynomial_prior.size();
347 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
348 parameterType[0] = statistics::ParameterType::_Derived_;
349 parameterType[1] = statistics::ParameterType::_Derived_;
350 parameterType[2] = statistics::ParameterType::_Derived_;
352 vector<string> parameterName(nparameters);
353 vector<statistics::PriorDistribution> priors(nparameters-3);
354 priors[0] = alpha_prior;
355 priors[1] = fsigma8_prior;
356 priors[2] = bsigma8_prior;
358 parameterName[0] =
"peak";
359 parameterName[1] =
"dip";
360 parameterName[2] =
"linear_point";
361 parameterName[3] =
"alpha";
362 parameterName[4] =
"f*sigma8";
363 parameterName[5] =
"b*sigma8";
365 for (
size_t i=0; i<polynomial_prior.size(); i++) {
367 priors[i+3] = polynomial_prior[i];
385 const int nparameters = polynomial_prior.size()+3;
387 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
388 parameterType[0] = statistics::ParameterType::_Derived_;
389 parameterType[1] = statistics::ParameterType::_Derived_;
390 parameterType[2] = statistics::ParameterType::_Derived_;
392 vector<string> parameterName(nparameters);
393 vector<statistics::PriorDistribution> priors(nparameters-3);
395 parameterName[0] =
"peak";
396 parameterName[1] =
"dip";
397 parameterName[2] =
"linear_point";
399 for (
size_t i=0; i<polynomial_prior.size(); i++) {
401 priors[i] = polynomial_prior[i];
427 const int nparameters = cosmo_param.size()+1;
429 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
431 vector<string> parameterName(nparameters);
432 vector<statistics::PriorDistribution> priors(nparameters);
434 parameterName[0] =
"bias";
435 priors[0] = bias_prior;
437 for (
size_t i=0; i<cosmo_param.size(); i++) {
439 priors[i+1] = cosmo_param_prior[i];
459 const int nparameters = 3;
461 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
462 parameterType[1] = statistics::ParameterType::_Derived_;
463 parameterType[2] = statistics::ParameterType::_Derived_;
465 vector<string> parameterName(nparameters);
467 parameterName[0] =
"sigma8";
468 parameterName[1] =
"bias";
469 parameterName[2] =
"sigma8(z)";
471 vector<statistics::PriorDistribution> priors = {sigma8_prior};
487 m_data_model->Cpar = {cosmo_param};
491 set_bias_eff_grid(file_selection_function, column, {cosmo_param}, {min_par}, {max_par}, {nbins_par}, dir, file_grid_bias);
493 set_bias_eff_grid({cosmo_param}, {min_par}, {max_par}, {nbins_par}, dir, file_grid_bias);
496 const int nparameters = 2;
498 vector<statistics::ParameterType> parameterType(nparameters);
499 parameterType[0] = statistics::ParameterType::_Base_;
500 parameterType[1] = statistics::ParameterType::_Derived_;
502 vector<string> parameterName(nparameters);
505 parameterName[1] =
"bias";
507 vector<statistics::PriorDistribution> priors = {cosmo_param_prior};
520 void cbl::modelling::twopt::Modelling_TwoPointCorrelation1D_monopole::set_model_linear_cosmology_clusters_grid (
const cbl::cosmology::CosmologicalParameter cosmo_param1,
const statistics::PriorDistribution cosmo_param_prior1,
const cbl::cosmology::CosmologicalParameter cosmo_param2,
const statistics::PriorDistribution cosmo_param_prior2,
const std::string dir,
const std::string file_grid_bias,
const double min_par1,
const double max_par1,
const int nbins_par1,
const double min_par2,
const double max_par2,
const int nbins_par2,
const std::string file_selection_function,
const std::vector<int> column)
523 m_data_model->Cpar = {cosmo_param1, cosmo_param2};
528 ErrorCBL(
"",
"set_model_linear_cosmology_clusters_grid",
"Modelling_TwoPointCorrelation1D_monopole.cpp", glob::ExitCode::_workInProgress_);
530 set_bias_eff_grid({cosmo_param1, cosmo_param2}, {min_par1, min_par2}, {max_par1, max_par2}, {nbins_par1, nbins_par2}, dir, file_grid_bias);
533 const int nparameters = 4;
535 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
536 parameterType[2] = statistics::ParameterType::_Derived_;
537 parameterType[3] = statistics::ParameterType::_Derived_;
539 vector<string> parameterName(nparameters);
543 parameterName[2] =
"bias";
544 parameterName[3] =
"alpha";
546 vector<statistics::PriorDistribution> priors = {cosmo_param_prior1, cosmo_param_prior2};
564 m_data_model->Cpar = cosmo_param;
567 const int nparameters = (cosmo_param.size());
569 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
571 vector<string> parameterName(nparameters);
573 for (
size_t i=0; i<cosmo_param.size(); i++)
576 vector<statistics::PriorDistribution> priors = cosmo_param_prior;
595 const int nparameters = 2;
597 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
599 vector<string> parameterName(nparameters);
601 parameterName[0] =
"sigma8";
602 parameterName[1] =
"bias";
604 vector<statistics::PriorDistribution> priors = {sigma8_prior, bias_prior};
619 vector<statistics::PriorDistribution> polynomial_prior = {A0_prior, A1_prior, A2_prior};
632 vector<statistics::PriorDistribution> polynomial_prior = {A0_prior, A1_prior, A2_prior};
647 set_fiducial_sigma_data_model();
650 const int nparameters = 5;
652 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
653 parameterType[nparameters-1] = statistics::ParameterType::_Derived_;
655 vector<string> parameterName(nparameters);
657 parameterName[0] =
"M0";
658 parameterName[1] =
"slope";
659 parameterName[2] =
"scatter";
660 parameterName[3] =
"sigmaz";
661 parameterName[4] =
"bias";
663 vector<statistics::PriorDistribution> priors = {M0_prior, slope_prior, scatter_prior, sigmaz_prior};
677 void cbl::modelling::twopt::Modelling_TwoPointCorrelation1D_monopole::set_model_scaling_relation_sigmaz_cosmology (
const std::vector<cbl::cosmology::CosmologicalParameter> cosmo_param,
const std::vector<statistics::PriorDistribution> cosmo_prior,
const statistics::PriorDistribution alpha_prior,
const statistics::PriorDistribution beta_prior,
const statistics::PriorDistribution gamma_prior,
const statistics::PriorDistribution scatter0_prior,
const statistics::PriorDistribution scatterM_prior,
const statistics::PriorDistribution scatterM_exponent_prior,
const statistics::PriorDistribution scatterz_prior,
const statistics::PriorDistribution scatterz_exponent_prior,
const statistics::PriorDistribution sigmaz_prior,
const std::string z_evo)
683 if ((m_data_model->scaling_relation)->data()->xx().size() == 0)
684 ErrorCBL(
"The mass-observable relation is not set! Use the correct set_data_model().",
"set_model_scaling_relation_sigmaz_cosmology",
"Modelling_TwoPointCorrelation1D_monopole.cpp");
686 (m_data_model->scaling_relation)->set_model_MassObservableRelation_cosmology(z_evo, cosmo_param, cosmo_prior, alpha_prior, beta_prior, gamma_prior, scatter0_prior, scatterM_prior, scatterM_exponent_prior, scatterz_prior, scatterz_exponent_prior);
691 m_data_model->Cpar = cosmo_param;
693 const size_t nParams_scaling_relation = (m_data_model->scaling_relation)->likelihood()->parameters()->nparameters();
694 const size_t nParams_base = 1 + nParams_scaling_relation;
695 const size_t nParams_derived = 1;
697 const size_t nParams = nParams_base + nParams_derived;
699 vector<statistics::ParameterType> Par_type (nParams, statistics::ParameterType::_Base_);
700 Par_type[nParams-1] = statistics::ParameterType::_Derived_;
702 vector<string> Par_string (nParams);
703 std::vector<statistics::PriorDistribution> param_prior (nParams_base);
706 for (
size_t i=0; i<nParams_base-1; i++) {
707 Par_string[i] = (m_data_model->scaling_relation)->likelihood()->parameters()->name(i);
708 param_prior[i] = *(m_data_model->scaling_relation)->get_prior(i);
712 Par_string[nParams_base-1] =
"sigmaz";
713 param_prior[nParams_base-1] = sigmaz_prior;
716 Par_string[nParams-1] =
"bias";
719 m_set_prior(param_prior);
733 set_fiducial_sigma_data_model();
736 const int nparameters = 2;
738 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
740 vector<string> parameterName(nparameters);
742 parameterName[0] =
"bias";
743 parameterName[1] =
"sigmaz";
745 vector<statistics::PriorDistribution> priors = {bias_prior, sigmaz_prior};
765 set_fiducial_sigma();
768 const int nparameters = 5;
770 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
772 vector<string> parameterName(nparameters);
774 parameterName[0] =
"Mmin";
775 parameterName[1] =
"sigmalgM";
776 parameterName[2] =
"M0";
777 parameterName[3] =
"M1";
778 parameterName[4] =
"alpha";
780 vector<statistics::PriorDistribution> priors = {Mmin_prior, sigmalgM_prior, M0_prior, M1_prior, alpha_prior};
786 m_model = make_shared<statistics::Model1D>(
statistics::Model1D(&
xi_HOD, nparameters, parameterType, parameterName, m_data_HOD));
796 const int nparameters = (cosmo_param.size()+2);
798 vector<statistics::ParameterType> parameterType(nparameters, statistics::ParameterType::_Base_);
799 parameterType[nparameters-1] = statistics::ParameterType::_Derived_;
801 vector<string> parameterName(nparameters);
802 vector<statistics::PriorDistribution> priors(nparameters-1);
804 for (
size_t i=0; i<cosmo_param.size(); i++) {
806 priors[i] = cosmo_param_prior[i];
809 priors[nparameters-2] = alpha_prior;
811 parameterName[nparameters-2] =
"alpha";
812 parameterName[nparameters-1] =
"bias";
815 m_data_model->Cpar = cosmo_param;
#define coutCBL
CBL print message.
The class Modelling_TwoPointCorrelation1D_monopole.
void set_model_HOD(const statistics::PriorDistribution Mmin_prior={}, const statistics::PriorDistribution sigmalgM_prior={}, const statistics::PriorDistribution M0_prior={}, const statistics::PriorDistribution M1_prior={}, const statistics::PriorDistribution alpha_prior={})
set the HOD parameters used to model the full shape of the monopole of the two-point correlation func...
void set_model_linear_cosmology_cluster_selection_function(const statistics::PriorDistribution alpha_prior, const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param, const std::vector< statistics::PriorDistribution > cosmo_param_prior)
set the model to fit the full shape of the monopole of the two-point correlation function in redshift...
void set_model_linear(const statistics::PriorDistribution alpha_prior, const statistics::PriorDistribution fsigma8_prior, const statistics::PriorDistribution bsigma8_prior, const std::vector< statistics::PriorDistribution > polynomial_prior)
set the model to fit the full shape of the monopole of the two-point correlation function
void set_model_scaling_relation_sigmaz_cosmology(const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param, const std::vector< statistics::PriorDistribution > cosmo_prior, const statistics::PriorDistribution alpha_prior, const statistics::PriorDistribution beta_prior, const statistics::PriorDistribution gamma_prior, const statistics::PriorDistribution scatter0_prior, const statistics::PriorDistribution scatterM_prior, const statistics::PriorDistribution scatterM_exponent_prior, const statistics::PriorDistribution scatterz_prior, const statistics::PriorDistribution scatterz_exponent_prior, const statistics::PriorDistribution sigmaz_prior, const std::string z_evo)
Set the parameters to model the monopole of the two-point correlation function in redshift space,...
void set_model_linear_sigma8_clusters(const statistics::PriorDistribution sigma8_prior={})
set the model to fit the full shape of the monopole of the two-point correlation function with cluste...
void set_model_Kaiser(const statistics::PriorDistribution fsigma8_prior={}, const statistics::PriorDistribution bsigma8_prior={})
set the parameters to model the monopole of the two-point correlation function in redshift space
void set_fiducial_sigma()
set the fiducial model for the variance and its derivative
void set_model_polynomial_LinearPoint(const std::vector< statistics::PriorDistribution > polynomial_prior)
set the model to fit the full shape of the monopole of the two-point correlation function as a polyno...
void set_fiducial_PkDM()
set the fiducial model for the dark matter power spectrum
void set_bias_eff_grid(const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param, const std::vector< double > min_par, const std::vector< double > max_par, const std::vector< int > nbins_par, const std::string dir, const std::string file_grid_bias)
set a grid with effective bias values estimating from a set of masses
void set_model_BAO_LinearPoint(const statistics::PriorDistribution alpha_prior={}, const statistics::PriorDistribution BB_prior={}, const statistics::PriorDistribution A0_prior={}, const statistics::PriorDistribution A1_prior={}, const statistics::PriorDistribution A2_prior={})
set the parameter to model the monopole of the two-point correlation function in real space,...
void set_model_linear_LinearPoint(const statistics::PriorDistribution alpha_prior, const statistics::PriorDistribution fsigma8_prior, const statistics::PriorDistribution bsigma8_prior, const std::vector< statistics::PriorDistribution > polynomial_prior)
set the model to fit the full shape of the monopole of the two-point correlation function,...
void set_model_linear_cosmology_clusters(const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param={}, const std::vector< statistics::PriorDistribution > cosmo_param_prior={})
set the model to fit the full shape of the monopole of the two-point correlation function with cluste...
void set_model_BAO_sigmaNL(const statistics::PriorDistribution sigmaNL_prior={}, const statistics::PriorDistribution alpha_prior={}, const statistics::PriorDistribution BB_prior={}, const statistics::PriorDistribution A0_prior={}, const statistics::PriorDistribution A1_prior={}, const statistics::PriorDistribution A2_prior={})
set the parameter to model the monopole of the two-point correlation function in real space,...
void set_model_linear_bias_cosmology(const statistics::PriorDistribution bias_prior={}, const std::vector< cbl::cosmology::CosmologicalParameter > cosmo_param={}, const std::vector< statistics::PriorDistribution > cosmo_param_prior={})
set the model to fit the full shape of the monopole of the two-point correlation function
void set_fiducial_sigma_data_model()
set the fiducial model for the variance
void set_fiducial_xiDM()
set the fiducial model for the dark matter two-point correlation function and associated quantities
void set_model_scaling_relation_sigmaz(const statistics::PriorDistribution M0_prior={}, const statistics::PriorDistribution slope_prior={}, const statistics::PriorDistribution scatter_prior={}, const statistics::PriorDistribution sigmaz_prior={})
set the parameters to model the monopole of the two-point correlation function in redshift space
void set_model_BAO(const statistics::PriorDistribution alpha_prior={}, const statistics::PriorDistribution bs8_prior={}, const statistics::PriorDistribution A0_prior={}, const statistics::PriorDistribution A1_prior={}, const statistics::PriorDistribution A2_prior={})
set the function to model the monopole of the two-point correlation function, taking into accout geom...
void set_model_sigma8_bias(const statistics::PriorDistribution sigma8_prior={}, const statistics::PriorDistribution bias_prior={})
set the parameters to model the monopole of the two-point correlation function in redshift space
void set_model_bias_sigmaz(const statistics::PriorDistribution bias_prior={}, const statistics::PriorDistribution sigmaz_prior={})
set the parameters to model the monopole of the two-point correlation function in redshift space
void set_model_linear_cosmology_clusters_grid(const cbl::cosmology::CosmologicalParameter cosmo_param, const statistics::PriorDistribution cosmo_param_prior, const std::string dir, const std::string file_grid_bias, const double min_par, const double max_par, const int nbins_par, const std::string file_selection_function=par::defaultString, const std::vector< int > column={0, 1, 2})
set the model to fit the full shape of the monopole of the two-point correlation function with either...
The class PriorDistribution.
static const char fINT[]
conversion symbol for: int -> std::string
static const std::string defaultString
default std::string value
static const double defaultDouble
default double value
CosmologicalParameter
the cosmological parameters
std::string CosmologicalParameter_name(const CosmologicalParameter parameter)
name of the cosmological parameter
std::vector< double > xi0_polynomial_LinearPoint(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function
std::vector< double > xi0_linear(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function
std::vector< double > xi0_linear_bias_cosmology(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function
std::vector< double > xi0_linear_two_cosmo_pars_clusters(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function, the bias is computed by the input clust...
std::vector< double > xi0_damped_scaling_relation_sigmaz_cosmology(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
the damped two-point correlation monopole; from Sereno et al. 2015
std::vector< double > xi0_damped_scaling_relation_sigmaz(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
the damped two-point correlation monopole; from Sereno et al. 2015
std::vector< double > xi_HOD(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
HOD model of the monopole of the two-point correlation function.
std::vector< double > xi0_linear_cosmology_clusters_selection_function(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the redshift-space two-point correlation function of galaxy clusters,...
std::vector< double > xi0_linear_one_cosmo_par_clusters(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function, the bias is computed by the input clust...
std::vector< double > xi0_damped_bias_sigmaz(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
the damped two-point correlation monopole; from Sereno et al. 2015
std::vector< double > xi0_BAO_sigmaNL(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the BAO signal in the monopole of the two-point correlation function
std::vector< double > xi0_linear_cosmology_clusters(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function, the bias is computed by the input clust...
std::vector< double > xi0_linear_sigma8_bias(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function in redshift space
std::vector< double > xi0_linear_sigma8_clusters(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function, the bias is computed by the input clust...
std::vector< double > xi0_linear_LinearPoint(const std::vector< double > rad, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
model for the monopole of the two-point correlation function
@ _Gaussian_Error_
Gaussian likelihood error.
std::vector< double > transform_FFTlog(const std::vector< double > yy, const int dir, const std::vector< double > xx, const std::vector< double > fx, const double mu=0, const double q=0, const double kr=1, const int kropt=0)
wrapper of the FFTlog to compute the discrete Fourier sine or cosine transform of a logarithmically...
The global namespace of the CosmoBolognaLib
T Min(const std::vector< T > vect)
minimum element of a std::vector
std::string conv(const T val, const char *fact)
convert a number to a std::string
void read_matrix(const std::string file_matrix, std::vector< double > &xx, std::vector< double > &yy, std::vector< std::vector< double >> &matrix, const std::vector< int > col={})
read a matrix from file
std::vector< T > logarithmic_bin_vector(const size_t nn, const T min, const T max)
fill a std::vector with logarithmically spaced values
std::vector< T > linear_bin_vector(const size_t nn, const T min, const T max)
fill a std::vector with linearly spaced values
void checkIO(const std::ifstream &fin, const std::string file="NULL")
check if an input file can be opened
double interpolated_2D(const double _x1, const double _x2, const std::vector< double > x1, const std::vector< double > x2, const std::vector< std::vector< double >> yy, const std::string type)
2D interpolation
int ErrorCBL(const std::string msg, const std::string functionCBL, const std::string fileCBL, const cbl::glob::ExitCode exitCode=cbl::glob::ExitCode::_error_)
throw an exception: it is used for handling exceptions inside the CosmoBolognaLib
T Max(const std::vector< T > vect)
maximum element of a std::vector
double interpolated(const double _xx, const std::vector< double > xx, const std::vector< double > yy, const std::string type)
1D interpolation
double Sigma(const std::vector< double > vect)
the standard deviation of a std::vector