34 #ifndef __MODELLINGMORELATION__
35 #define __MODELLINGMORELATION__
56 namespace massobsrel {
71 std::vector<cosmology::CosmologicalParameter>
Cpar;
74 std::function<double(
const double,
const double,
const std::shared_ptr<void>)>
fz;
77 std::function<double(
const double,
const double)>
z_error;
80 std::function<double(
const double,
const double)>
proxy_error;
125 std::vector<double>
kk;
307 void set_data_model (
const cbl::cosmology::Cosmology cosmology,
const std::vector<double> redshift,
const double redshift_pivot,
const double proxy_pivot,
const double log_base,
const std::vector<double> Nclusters);
385 void set_model_MassObservableRelation_cosmology (
const std::string z_evo,
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);
407 double scaling_relation(
const double alpha,
const double beta,
const double gamma,
const double div_proxy,
const double f_z);
422 std::vector<double>
model_scaling_relation (
const std::vector<double> proxy,
const std::shared_ptr<void> inputs, std::vector<double> ¶meter);
437 std::vector<double>
model_scaling_relation_int (
const std::vector<double> proxy,
const std::shared_ptr<void> inputs, std::vector<double> ¶meter);
std::shared_ptr< data::Data > m_data
input data to be modelled
The class Modelling_MassObservableRelation.
void set_mass_pivot(const double mass_pivot)
Set the mass pivot.
Modelling_MassObservableRelation(const std::shared_ptr< cbl::data::Data > dataset)
constuctor for the modelling of the cluster mass - mass proxy relation. Cosmological units are forced
bool m_isSet_Nclusters
check if the number of clusters in the bin is set
STR_MOrelation_data_model data_model()
get the member m_data_model
virtual ~Modelling_MassObservableRelation()=default
default destructor
STR_MOrelation_data_model m_data_model
the container of parameters for the model computation
void set_data_model(const cbl::cosmology::Cosmology cosmology, const std::vector< double > redshift, const double redshift_pivot, const double proxy_pivot, const double log_base)
Set the data used to construct the scaling relation, written as:
Modelling_MassObservableRelation()=default
default constuctor _MassObservableRelation
void set_model_MassObservableRelation_cosmology(const std::string z_evo, 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)
Set the scaling relation and cosmological parameters, where the scaling relation is written as.
The class PriorDistribution.
static const double alpha
: the fine-structure constant
std::vector< double > model_scaling_relation(const std::vector< double > proxy, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
set the cluster scaling relation model
double scaling_relation(const double alpha, const double beta, const double gamma, const double div_proxy, const double f_z)
compute the mass - mass proxy scaling relation
std::vector< double > model_scaling_relation_int(const std::vector< double > proxy, const std::shared_ptr< void > inputs, std::vector< double > ¶meter)
set the cluster scaling relation model
The global namespace of the CosmoBolognaLib
the structure STR_MOrelation_data_model
std::vector< cosmology::CosmologicalParameter > Cpar
Cosmological parameters.
std::function< double(const double, const double)> proxy_error
function returning the mass proxy error (absolute or relative)
std::vector< double > z_eff_err
Vector of redshift error values.
std::string model_MF
author(s) who proposed the mass function
bool store_output
true the output files created by the Boltzmann solver are stored; false the output files are remove...
double k_min
minimum wave vector module up to which the power spectrum is computed
int step
number of steps used to compute the binned dark matter correlation function
int norm
0 → don't normalize the power spectrum; 1 → normalize the power spectrum
double redshift_pivot
Redshift pivot.
bool is_sigma8_free
true → sigma8 is a free parameter; false → sigma8 can be considered a derived parameter
double log_base
logarithmic base
std::function< double(const double, const double)> z_error
function returning the redshift error (absolute or relative)
std::vector< double > Nclusters
Vector of number of clusters in the stacked bin.
std::vector< double > redshift
Array of redshift values where the scaling relation is evaluated.
std::vector< std::vector< double > > edges_proxy
the mass proxy bin edges
std::vector< double > Mass_vector
vector of masses
std::vector< double > proxy_eff_err
Vector of proxy error values.
double proxy_pivot
Proxy pivot.
std::vector< double > edges_z
the redshift bin edges
double k_max
maximum wave vector module up to which the power spectrum is computed
double prec
accuracy of the GSL integration
std::string output_root
output root of the parameter file used to compute the dark matter power spectrum
STR_MOrelation_data_model()=default
default constructor
bool isDelta_critical
isDelta_critical
double mass_pivot
Mass pivot.
std::shared_ptr< cosmology::Cosmology > cosmology
Fiducial cosmology.
std::vector< double > kk
vector of wave vector modules
std::function< double(const double, const double, const std::shared_ptr< void >)> fz
the redshift evolution function in the scaling relation
std::string file_par
name of the parameter file
double Delta
Δ, the overdensity
std::string method_Pk
method to compute the dark matter power spectrum
double area_rad
the survey aperture Area