CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
GlobalFunc.h
Go to the documentation of this file.
1 /*******************************************************************
2  * Copyright (C) 2010 by Federico Marulli *
3  * federico.marulli3@unibo.it *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful,*
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public *
16  * License along with this program; if not, write to the Free *
17  * Software Foundation, Inc., *
18  * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19  *******************************************************************/
20 
35 #ifndef __GLOBALFUNC__
36 #define __GLOBALFUNC__
37 
38 
39 #include "ThreePointCorrelation.h"
40 
41 
42 // ============================================================================================
43 
44 
45 namespace cbl {
46 
51 
59  {
60  catalogue::Catalogue ctemp = c1;
61  return ctemp += c2;
62  }
63 
68 
117  void Vmax_DC_distribution (std::vector<double> &dc, std::vector<double> &nObj, const std::vector<double> D_C, const std::vector<double> zobj_min, const std::vector<double> zobj_max, const double z_min, const double z_max, const double zbin_min, const double zbin_max, cosmology::Cosmology &cosm, const double Area, const int nObjRan, const bool norm=1, const std::string file_Vmax=par::defaultString, const double delta_dc_Vmax=100., const int seed=3213);
118 
132  double AP_shift_r (const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2);
133 
147  double AP_shift_rp (const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2);
148 
161  double AP_shift_pi (const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2);
162 
194  void max_separations_AP (const double Rp_max, const double Pi_max, const double redshift, const cosmology::Cosmology &cosm1, const std::vector<cosmology::Cosmology> &cosm2, double &rpM_AP, double &piM_AP, double &rM_AP);
195 
218  double converted_xi (const double RR, const double redshift, const std::vector<double> rr, const std::vector<double> Xi, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2, const bool direction);
219 
250  double converted_xi (const double RP, const double PI, const double redshift, const std::vector<double> rp, const std::vector<double> pi, const std::vector<std::vector<double> > Xi, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2, const bool direction);
251 
253 
254 
260 
271  void redshift_range (const double mean_redshift, const double boxSide, cosmology::Cosmology &real_cosm, double &redshift_min, double &redshift_max);
272 
290  double volume (const double boxSize, const int frac, const double Bord, const double mean_redshift, cosmology::Cosmology &real_cosm);
291 
329  void coord_zSpace (std::vector<double> &ra, std::vector<double> &dec, std::vector<double> &redshift, std::vector<double> &xx, std::vector<double> &yy, std::vector<double> &zz, const std::vector<double> vx, const std::vector<double> vy, const std::vector<double> vz, const double sigmaV, cosmology::Cosmology &real_cosm, const double mean_redshift, const double redshift_min, const double redshift_max, const int seed=3213);
330 
381  void create_mocks (const std::vector<double> xx, const std::vector<double> yy, const std::vector<double> zz, const std::vector<double> vx, const std::vector<double> vy, const std::vector<double> vz, const std::vector<double> var1, const std::vector<double> var2, const std::vector<double> var3, const std::string output_dir, const double boxSize, const int frac, const double Bord, const double mean_redshift, cosmology::Cosmology &real_cosm, const int REAL, const double sigmaV, const int idum, double &Volume);
382 
390  void set_ObjectRegion_SubBoxes (catalogue::Catalogue &data, const int nx, const int ny, const int nz);
391 
398  void set_ObjectRegion_mangle (catalogue::Catalogue &data, const int nSamples, const std::string polygonfile);
399 
408  void set_ObjectRegion_SubBoxes (catalogue::Catalogue &data, catalogue::Catalogue &random, const int nx, const int ny, const int nz);
409 
417  std::vector<double> colatitude (std::vector<double> latitude);
418 
435  void set_ObjectRegion_Tiles_Redshift (catalogue::Catalogue &data, catalogue::Catalogue &random, const int nz);
436 
458  void set_ObjectRegion_RaDec (catalogue::Catalogue &data, const int nCells_Ra, const int nCells_Dec, const bool use_colatitude=true);
459 
483  void set_ObjectRegion_RaDec (catalogue::Catalogue &data, catalogue::Catalogue &random, const int nCells_Ra, const int nCells_Dec, const bool use_colatitude=true);
484 
492  void set_ObjectRegion_mangle (catalogue::Catalogue &data, catalogue::Catalogue &random, const int nSamples, const std::string polygonfile);
493 
499  void set_ObjectRegion_SDSS_stripes (catalogue::Catalogue &data, catalogue::Catalogue &random);
500 
506  void check_regions (catalogue::Catalogue &data, catalogue::Catalogue &random);
507 
509 
515 
543  void reconstruction_fourier_space (const catalogue::Catalogue data, const catalogue::Catalogue random, const bool random_RSD, const cosmology::Cosmology cosmology, const double redshift, const double bias, const double cell_size, const double smoothing_radius, const int interpolation_type=0);
544 
551  catalogue::Catalogue displaced_catalogue (const catalogue::Catalogue input_catalogue);
552 
554 
560 
604  std::vector<double> fit_covariance_matrix_2PCF_monopole (const std::vector<double> mean, const std::vector<std::vector<double>> mock_xi0, const bool doJK, const cbl::cosmology::Cosmology cosmology, const double nObjects, const double Volume, const double bias, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true);
605 
642  std::shared_ptr<cbl::data::Data> generate_mock_2PCF_monopole (const cbl::cosmology::Cosmology cosmology, const double bias, const double nObjects, const double Volume, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true);
643 
680  std::shared_ptr<cbl::data::Data> generate_mock_2PCF_multipoles (const cbl::cosmology::Cosmology cosmology, const double bias, const double nObjects, const double Volume, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true);
681 
683 
684 }
685 
686 
687 #endif
The class ThreePointCorrelation.
The class Catalogue.
Definition: Catalogue.h:654
The class Cosmology.
Definition: Cosmology.h:277
static const std::string defaultString
default std::string value
Definition: Constants.h:336
static const double pi
: the ratio of a circle's circumference to its diameter
Definition: Constants.h:199
double bias(const double Mmin, const double sigmalgM, const double M0, const double M1, const double alpha, const std::shared_ptr< void > inputs)
the mean galaxy bias
The global namespace of the CosmoBolognaLib
Definition: CAMB.h:38
double AP_shift_r(const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2)
the Alcock-Pacinski factor used to shift comoving distances
void set_ObjectRegion_RaDec(catalogue::Catalogue &data, const int nCells_Ra, const int nCells_Dec, const bool use_colatitude=true)
set the object region in angular SubBoxes
Definition: SubSample.cpp:498
catalogue::Catalogue displaced_catalogue(const catalogue::Catalogue input_catalogue)
return a sample with objects displaced, according to the internal variables m_x_displacement,...
void check_regions(catalogue::Catalogue &data, catalogue::Catalogue &random)
check if the subdivision process produced the correct results
Definition: SubSample.cpp:601
void set_ObjectRegion_Tiles_Redshift(catalogue::Catalogue &data, catalogue::Catalogue &random, const int nz)
set data and random objects' regions given R.A.-Dec tiles and a number of redshift sub-samples....
Definition: SubSample.cpp:44
void max_separations_AP(const double Rp_max, const double Pi_max, const double redshift, const cosmology::Cosmology &cosm1, const std::vector< cosmology::Cosmology > &cosm2, double &rpM_AP, double &piM_AP, double &rM_AP)
the maximum comoving separations to be used for the AP test, for a given set of test cosmologies
std::vector< double > colatitude(std::vector< double > latitude)
convert to colatitude
Definition: SubSample.cpp:484
void set_ObjectRegion_SubBoxes(catalogue::Catalogue &data, const int nx, const int ny, const int nz)
set the object region in sub-boxes
Definition: SubSample.cpp:236
void set_ObjectRegion_mangle(catalogue::Catalogue &data, const int nSamples, const std::string polygonfile)
set the object region in sub-regions using mangle
Definition: SubSample.cpp:268
catalogue::Catalogue operator+(const catalogue::Catalogue &c1, const catalogue::Catalogue &c2)
overloading of the + operator, to sum two catalogues
Definition: GlobalFunc.h:58
double converted_xi(const double RR, const double redshift, const std::vector< double > rr, const std::vector< double > Xi, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2, const bool direction)
the 1D two-point correlation function converted from one cosmology to another one
void reconstruction_fourier_space(const catalogue::Catalogue data, const catalogue::Catalogue random, const bool random_RSD, const cosmology::Cosmology cosmology, const double redshift, const double bias, const double cell_size, const double smoothing_radius, const int interpolation_type=0)
compute the non linear displacements of the density field
std::shared_ptr< cbl::data::Data > generate_mock_2PCF_multipoles(const cbl::cosmology::Cosmology cosmology, const double bias, const double nObjects, const double Volume, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true)
generate mock measurementes of the 2PCF multipoles from gaussian covariance matrix
Definition: Forecast.cpp:165
void redshift_range(const double mean_redshift, const double boxSide, cosmology::Cosmology &real_cosm, double &redshift_min, double &redshift_max)
compute the redsfhit range of a simulation box centered at z=mean_redshift
Definition: Func.cpp:45
std::vector< double > fit_covariance_matrix_2PCF_monopole(const std::vector< double > mean, const std::vector< std::vector< double >> mock_xi0, const bool doJK, const cbl::cosmology::Cosmology cosmology, const double nObjects, const double Volume, const double bias, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true)
fit the input covariance matrix using the gaussian model, varying the number of objects and the volum...
Definition: Forecast.cpp:46
double volume(const double boxSize, const int frac, const double Bord, const double mean_redshift, cosmology::Cosmology &real_cosm)
get the volume of a simulation box
Definition: Func.cpp:78
BinType
the binning type
Definition: Kernel.h:505
void coord_zSpace(std::vector< double > &ra, std::vector< double > &dec, std::vector< double > &redshift, std::vector< double > &xx, std::vector< double > &yy, std::vector< double > &zz, const std::vector< double > vx, const std::vector< double > vy, const std::vector< double > vz, const double sigmaV, cosmology::Cosmology &real_cosm, const double mean_redshift, const double redshift_min, const double redshift_max, const int seed=3213)
convert a set of coordinates from real-space to redshift-space
Definition: Func.cpp:94
double AP_shift_pi(const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2)
the Alcock-Pacinski factor used to shift comoving distances parallel to the line-of-sight,...
std::shared_ptr< cbl::data::Data > generate_mock_2PCF_monopole(const cbl::cosmology::Cosmology cosmology, const double bias, const double nObjects, const double Volume, const double redshift, const double rMin, const double rMax, const int nbins, const cbl::BinType bin_type, const std::string method_Pk="CAMB", const double sigma_NL=0., const bool NL=true)
generate mock measurementes of the 2PCF monopole from gaussian covariance matrix
Definition: Forecast.cpp:143
void set_ObjectRegion_SDSS_stripes(catalogue::Catalogue &data, catalogue::Catalogue &random)
set the object region in SDSS stripes
Definition: SubSample.cpp:672
double AP_shift_rp(const double redshift, const cosmology::Cosmology &cosm1, const cosmology::Cosmology &cosm2)
the Alcock-Pacinski factor used to shift comoving distances perpendicular to the line-of-sight,...
void create_mocks(const std::vector< double > xx, const std::vector< double > yy, const std::vector< double > zz, const std::vector< double > vx, const std::vector< double > vy, const std::vector< double > vz, const std::vector< double > var1, const std::vector< double > var2, const std::vector< double > var3, const std::string output_dir, const double boxSize, const int frac, const double Bord, const double mean_redshift, cosmology::Cosmology &real_cosm, const int REAL, const double sigmaV, const int idum, double &Volume)
create a mock catalogue, subdividing a box into sub-boxes and recentering
Definition: Func.cpp:187
void Vmax_DC_distribution(std::vector< double > &dc, std::vector< double > &nObj, const std::vector< double > D_C, const std::vector< double > zobj_min, const std::vector< double > zobj_max, const double z_min, const double z_max, const double zbin_min, const double zbin_max, cosmology::Cosmology &cosm, const double Area, const int nObjRan, const bool norm=1, const std::string file_Vmax=par::defaultString, const double delta_dc_Vmax=100., const int seed=3213)
get a smoothed distribution of comoving distances, estimated with the Vmax method