How to run CorrHOD_cubic#

import numpy as np
import matplotlib.pyplot as plt
from pathlib import Path

from pycorr import project_to_multipoles

from CorrHOD import CorrHOD_cubic

# Get the number of threads available
import multiprocessing
nthread = multiprocessing.cpu_count()
print(f'Number of threads available: {nthread}')
Number of threads available: 256
# Logging
import sys
from CorrHOD import create_logger
from mockfactory import setup_logging

# Get a logger object
setup_logging() # Initialize the logging for all the loggers that will not have a handler 
logger = create_logger('CorrHOD', level='debug', stream=sys.stdout)
# Define the parameters we will use
path2config = Path('config.yaml')

# let's define some parameters to pass to the HOD model
HOD_params = {
    'logM_cut': 12,
    'logM1':    13, 
    'sigma':    0.32, 
    'alpha':    1.11, 
    'kappa':    10**(-1.43), 
    'alpha_c':  0.0, 
    'alpha_s':  0.0, 
    'Bcent':    0.0, 
    'Bsat':     0.0
}
# The parameters we did not define will take the default values from the config file

# DensitySplit parameters
nquantiles = 10 # Number of quantiles to split the sample

# Correlation functions parameters
sbins = np.linspace(0.1, 30, 50) # Bins in s for the CFs (default ones)
edges = [sbins, np.linspace(-1, 1, 60)]
# Initialize the CorrHOD object
Object = CorrHOD_cubic(path2config, HOD_params, los='z')
Object.initialize_halo() # Load the halo catalog
Object.populate_halos() # Populate the halos with galaxies

print('Tracer used: ', Object.tracer)
Loading simulation by slab,  0
Loading simulation by slab,  1
Loading simulation by slab,  2
Loading simulation by slab,  3
Loading simulation by slab,  4
Loading simulation by slab,  5
Loading simulation by slab,  6
Loading simulation by slab,  7
Loading simulation by slab,  8
Loading simulation by slab,  9
Loading simulation by slab,  10
Loading simulation by slab,  11
Loading simulation by slab,  12
Loading simulation by slab,  13
Loading simulation by slab,  14
Loading simulation by slab,  15
Loading simulation by slab,  16
Loading simulation by slab,  17
Loading simulation by slab,  18
Loading simulation by slab,  19
Loading simulation by slab,  20
Loading simulation by slab,  21
Loading simulation by slab,  22
Loading simulation by slab,  23
Loading simulation by slab,  24
Loading simulation by slab,  25
Loading simulation by slab,  26
Loading simulation by slab,  27
Loading simulation by slab,  28
Loading simulation by slab,  29
Loading simulation by slab,  30
Loading simulation by slab,  31
Loading simulation by slab,  32
Loading simulation by slab,  33
gen mocks 26.767639636993408
Number density of the populated halos : 9.89e-04 h^3/Mpc^3
Tracer used:  LRG
data_positions = Object.get_tracer_positions() # Get the positions of the galaxies
# Compute the DensitySplit
quantiles, density = Object.compute_DensitySplit(nquantiles=nquantiles, nthread=nthread)
[000133.50] [0/1] 07-13 13:33  FFTWEngine                INFO     Loading wisdom from wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
[000133.55] [0/1] 07-13 13:33  FFTWEngine                INFO     Saving wisdom to wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
fig, ax = plt.subplots(1, 2, figsize=(12, 4))

# Plot the quantiles density
from pandas import qcut
density_quantiles = []
q_cut = qcut(density, nquantiles, labels=False) 

for i in range(nquantiles):
    density_quantiles.append(density[q_cut == i])
    ax[1].hist(density_quantiles[i], bins=100, density=True, alpha=0.8, label=f'Q{i}')

ax[0].hist(density, bins=500, density=True, alpha=0.7, color='k')

ax[0].set_xlabel(r'$\Delta(R_s)$', fontsize=15)
ax[1].set_xlabel(r'$\Delta(R_s)$', fontsize=15)
ax[0].set_ylabel('PDF', fontsize=15)
fig.suptitle(f'Density PDFs for {nquantiles} quantiles', fontsize=15);
../_images/b301dec4b6da7a6e3becac1bb4cdadddca1615079aa4e0075e226c89631c5447.png
# Plot the positions in the sky
fig, ax = plt.subplots(1, 2, figsize=(12, 5))
boxsize = Object.boxsize

cut = data_positions[:, 2] < 50
ax[0].scatter(data_positions[cut, 0], data_positions[cut, 1], s=0.1, color='grey', label='Galaxies')
ax[1].scatter(data_positions[cut, 0], data_positions[cut, 1], s=0.1, color='grey', label='Galaxies')

for i, ids in enumerate([0, nquantiles-1]):
    cut = quantiles[ids][:, 2] < 50

    ax[i].scatter(quantiles[ids][cut, 0], quantiles[ids][cut, 1], s=0.1, color='crimson', label='Density split')
    ax[i].set_title(f'DS{ids}', fontsize=12)

    ax[i].set_xlabel('x [Mpc/h]', fontsize=12)
    ax[i].set_ylabel('x [Mpc/h]', fontsize=12)
#     ax[i].set_xlim(0, boxsize)
#     ax[i].set_ylim(0, boxsize)

ax[0].legend(fontsize=12, markerscale=5, loc='upper left')
plt.show();
../_images/40622d63a06bd3bf4329bc5b65eac2cf6bfa3f01acb40ef11b6c8b8e3f2ee9d5.png
# Downsample galaxies and quantiles to speed up the computing time 
new_n = 5e-4 # New number density
Object.downsample_data(new_n=new_n);
Downsampling the data to a number density of 5.00e-04 h^3/Mpc^3: 4000000 galaxies remaining from 7911150 galaxies
# Compute the 2PCF
xi = Object.compute_2pcf(edges=edges, nthread=nthread)

xi.plot(mode='poles'); # Quick way to plot the CFs from pycorr
[000468.74] [0/1] 07-13 13:39  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000468.74] [0/1] 07-13 13:39  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000468.74] [0/1] 07-13 13:39  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000485.09] [0/1] 07-13 13:39  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
../_images/0207f625482acefafba6870321871dfbc1b44bcc21bcb536e4b85736cc23b1de.png
# Compute the Cross-Correlation for DS0 and DS9
xi_0 = Object.compute_cross_corr(0, edges=edges, nthread=nthread)
xi_9 = Object.compute_cross_corr(9, edges=edges, nthread=nthread)

The run_all() method#

The following code will run the full analysis for the cubic HOD model.

import numpy as np
import matplotlib.pyplot as plt
from pathlib import Path

from CorrHOD import CorrHOD_cubic

# Get the number of threads available
import multiprocessing
nthread = multiprocessing.cpu_count()
print(f'Number of threads available: {nthread}')

# Get the loggers
import sys
from CorrHOD import create_logger
from mockfactory import setup_logging

setup_logging() # Initialize the logging for all the loggers that will not have a handler 
logger = create_logger('CorrHOD', level='debug', stream=sys.stdout)

path2config = Path('config.yaml')

HOD_params = {
    'logM_cut': 12,
    'logM1':    13, 
    'sigma':    0.32, 
    'alpha':    1.11, 
    'kappa':    10**(-1.43), 
    'alpha_c':  0.0, 
    'alpha_s':  0.0, 
    'Bcent':    0.0, 
    'Bsat':     0.0
}

# DensitySplit parameters
nquantiles = 10 # Number of quantiles to split the sample

Object = CorrHOD_cubic(path2config, HOD_params)

# We artificially reduce the number density to speed up the computation time
new_n = 1e-4 # Density to downsample to after the DensitySplit

Object.run_all(downsample_to=new_n, nquantiles=nquantiles, nthread=nthread)
Number of threads available: 256
Running CorrHOD with the following parameters (0) :
	 Simulation : AbacusSummit_base_c000_ph000
	 logM_cut : 12
	 logM1 : 13
	 sigma : 0.32
	 alpha : 1.11
	 kappa : 0.03715352290971726
	 alpha_c : 0.0
	 alpha_s : 0.0
	 Bcent : 0.0
	 Bsat : 0.0
	 Number density : 1.00e-03 h^3/Mpc^3

Initializing and populating the halos ...
Loading simulation by slab,  0
Loading simulation by slab,  1
Loading simulation by slab,  2
Loading simulation by slab,  3
Loading simulation by slab,  4
Loading simulation by slab,  5
Loading simulation by slab,  6
Loading simulation by slab,  7
Loading simulation by slab,  8
Loading simulation by slab,  9
Loading simulation by slab,  10
Loading simulation by slab,  11
Loading simulation by slab,  12
Loading simulation by slab,  13
Loading simulation by slab,  14
Loading simulation by slab,  15
Loading simulation by slab,  16
Loading simulation by slab,  17
Loading simulation by slab,  18
Loading simulation by slab,  19
Loading simulation by slab,  20
Loading simulation by slab,  21
Loading simulation by slab,  22
Loading simulation by slab,  23
Loading simulation by slab,  24
Loading simulation by slab,  25
Loading simulation by slab,  26
Loading simulation by slab,  27
Loading simulation by slab,  28
Loading simulation by slab,  29
Loading simulation by slab,  30
Loading simulation by slab,  31
Loading simulation by slab,  32
Loading simulation by slab,  33
Initialized the halos in 59.05 s

gen mocks 28.902310609817505
Number density of the populated halos : 9.89e-04 h^3/Mpc^3

Computing along the x line of sight ...

Computing the DensitySplit ...
[000091.32] [0/1] 07-13 13:42  FFTWEngine                INFO     Loading wisdom from wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
[000091.36] [0/1] 07-13 13:42  FFTWEngine                INFO     Saving wisdom to wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
Computed the DensitySplit in 28.80 s

Downsampling the data to a number density of 1.00e-04 h^3/Mpc^3: 800000 galaxies remaining from 7911150 galaxies
Downsampled the galaxies to 1.00e-04 h^3/Mpc^3

Computing the 2PCF ...
[000120.57] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000120.57] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000120.57] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000137.96] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the 2PCF in 17.40 s

Computing the auto-correlation and cross-correlation of quantile 0 ...
[000137.97] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000137.97] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000137.97] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000152.72] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 0 in 14.76 s
[000152.73] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000152.73] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000152.73] [0/1] 07-13 13:43  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000181.82] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 0 in 29.09 s
Computing the auto-correlation and cross-correlation of quantile 1 ...
[000181.82] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000181.82] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000181.82] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000196.89] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 1 in 15.07 s
[000196.89] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000196.89] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000196.89] [0/1] 07-13 13:44  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000224.87] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 1 in 27.98 s
Computing the auto-correlation and cross-correlation of quantile 2 ...
[000224.87] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000224.87] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000224.87] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000239.84] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 2 in 14.97 s
[000239.84] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000239.84] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000239.84] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000269.96] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 2 in 30.12 s
Computing the auto-correlation and cross-correlation of quantile 3 ...
[000269.96] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000269.96] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000269.96] [0/1] 07-13 13:45  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000288.69] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 3 in 18.73 s
[000288.69] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000288.69] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000288.69] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000318.63] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 3 in 29.94 s
Computing the auto-correlation and cross-correlation of quantile 4 ...
[000318.64] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000318.64] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000318.64] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000334.95] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 4 in 16.31 s
[000334.95] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000334.95] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000334.95] [0/1] 07-13 13:46  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000362.38] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 4 in 27.43 s
Computing the auto-correlation and cross-correlation of quantile 5 ...
[000362.38] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000362.38] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000362.38] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000380.17] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 5 in 17.79 s
[000380.17] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000380.17] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000380.17] [0/1] 07-13 13:47  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000408.83] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 5 in 28.66 s
Computing the auto-correlation and cross-correlation of quantile 6 ...
[000408.84] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000408.84] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000408.84] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000426.93] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 6 in 18.09 s
[000426.93] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000426.93] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000426.93] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000455.50] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 6 in 28.58 s
Computing the auto-correlation and cross-correlation of quantile 7 ...
[000455.51] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000455.51] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000455.51] [0/1] 07-13 13:48  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000472.28] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 7 in 16.78 s
[000472.29] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000472.29] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000472.29] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000500.90] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 7 in 28.62 s
Computing the auto-correlation and cross-correlation of quantile 8 ...
[000500.91] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000500.91] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000500.91] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000518.14] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 8 in 17.23 s
[000518.14] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000518.14] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000518.14] [0/1] 07-13 13:49  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000545.67] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 8 in 27.53 s
Computing the auto-correlation and cross-correlation of quantile 9 ...
[000545.67] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000545.67] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000545.67] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000561.11] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 9 in 15.45 s
[000561.12] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000561.12] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000561.12] [0/1] 07-13 13:50  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000588.69] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 9 in 27.57 s

Ran los 'x' in 500.67 s

Computing along the y line of sight ...

Computing the DensitySplit ...
[000592.06] [0/1] 07-13 13:51  FFTWEngine                INFO     Loading wisdom from wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
[000592.11] [0/1] 07-13 13:51  FFTWEngine                INFO     Saving wisdom to wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
Computed the DensitySplit in 26.47 s

Downsampling the data to a number density of 1.00e-04 h^3/Mpc^3: 800000 galaxies remaining from 7911150 galaxies
Downsampled the galaxies to 1.00e-04 h^3/Mpc^3

Computing the 2PCF ...
[000618.84] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000618.84] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000618.84] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000636.07] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the 2PCF in 17.23 s

Computing the auto-correlation and cross-correlation of quantile 0 ...
[000636.07] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000636.07] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000636.07] [0/1] 07-13 13:51  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000650.51] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 0 in 14.44 s
[000650.51] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000650.51] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000650.51] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000680.30] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 0 in 29.79 s
Computing the auto-correlation and cross-correlation of quantile 1 ...
[000680.31] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000680.31] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000680.31] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000697.02] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 1 in 16.71 s
[000697.02] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000697.02] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000697.02] [0/1] 07-13 13:52  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000725.90] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 1 in 28.88 s
Computing the auto-correlation and cross-correlation of quantile 2 ...
[000725.90] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000725.90] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000725.90] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000742.42] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 2 in 16.52 s
[000742.42] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000742.42] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000742.42] [0/1] 07-13 13:53  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000772.34] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 2 in 29.92 s
Computing the auto-correlation and cross-correlation of quantile 3 ...
[000772.34] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000772.34] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000772.34] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000788.47] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 3 in 16.14 s
[000788.48] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000788.48] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000788.48] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000816.69] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 3 in 28.21 s
Computing the auto-correlation and cross-correlation of quantile 4 ...
[000816.69] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000816.69] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000816.69] [0/1] 07-13 13:54  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000835.74] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 4 in 19.05 s
[000835.74] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000835.74] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000835.74] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000863.57] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 4 in 27.83 s
Computing the auto-correlation and cross-correlation of quantile 5 ...
[000863.57] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000863.57] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000863.57] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000879.13] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 5 in 15.56 s
[000879.14] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000879.14] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000879.14] [0/1] 07-13 13:55  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000907.94] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 5 in 28.81 s
Computing the auto-correlation and cross-correlation of quantile 6 ...
[000907.94] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000907.94] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000907.94] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000923.42] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 6 in 15.48 s
[000923.42] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000923.42] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000923.43] [0/1] 07-13 13:56  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000952.93] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 6 in 29.51 s
Computing the auto-correlation and cross-correlation of quantile 7 ...
[000952.93] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000952.93] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000952.93] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000969.57] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 7 in 16.64 s
[000969.57] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000969.57] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Running cross-correlation.
[000969.57] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[000998.86] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 7 in 29.29 s
Computing the auto-correlation and cross-correlation of quantile 8 ...
[000998.86] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[000998.86] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Running auto-correlation.
[000998.86] [0/1] 07-13 13:57  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001014.46] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 8 in 15.60 s
[001014.46] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001014.46] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001014.46] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001042.25] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 8 in 27.79 s
Computing the auto-correlation and cross-correlation of quantile 9 ...
[001042.25] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001042.25] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001042.25] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001056.30] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 9 in 14.04 s
[001056.30] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001056.30] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001056.30] [0/1] 07-13 13:58  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001084.05] [0/1] 07-13 13:59  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 9 in 27.75 s

Ran los 'y' in 495.36 s

Computing along the z line of sight ...

Computing the DensitySplit ...
[001087.41] [0/1] 07-13 13:59  FFTWEngine                INFO     Loading wisdom from wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
[001087.45] [0/1] 07-13 13:59  FFTWEngine                INFO     Saving wisdom to wisdom.shape-400-400-400.type-float64.nthreads-256.npy.
Computed the DensitySplit in 25.63 s

Downsampling the data to a number density of 1.00e-04 h^3/Mpc^3: 800000 galaxies remaining from 7911150 galaxies
Downsampled the galaxies to 1.00e-04 h^3/Mpc^3

Computing the 2PCF ...
[001113.05] [0/1] 07-13 13:59  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001113.05] [0/1] 07-13 13:59  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001113.05] [0/1] 07-13 13:59  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001128.82] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the 2PCF in 15.77 s

Computing the auto-correlation and cross-correlation of quantile 0 ...
[001128.82] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001128.82] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001128.82] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001142.55] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 0 in 13.73 s
[001142.55] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001142.55] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001142.56] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001168.90] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 0 in 26.34 s
Computing the auto-correlation and cross-correlation of quantile 1 ...
[001168.90] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001168.90] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001168.90] [0/1] 07-13 14:00  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001185.22] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 1 in 16.32 s
[001185.22] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001185.22] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001185.23] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001211.90] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 1 in 26.67 s
Computing the auto-correlation and cross-correlation of quantile 2 ...
[001211.90] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001211.90] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001211.90] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001231.07] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 2 in 19.18 s
[001231.08] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001231.08] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001231.08] [0/1] 07-13 14:01  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001258.71] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 2 in 27.64 s
Computing the auto-correlation and cross-correlation of quantile 3 ...
[001258.71] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001258.72] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001258.72] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001274.21] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 3 in 15.50 s
[001274.21] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001274.22] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001274.22] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001301.29] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 3 in 27.08 s
Computing the auto-correlation and cross-correlation of quantile 4 ...
[001301.30] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001301.30] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001301.30] [0/1] 07-13 14:02  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001316.41] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 4 in 15.11 s
[001316.41] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001316.41] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001316.41] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001342.85] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 4 in 26.44 s
Computing the auto-correlation and cross-correlation of quantile 5 ...
[001342.85] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001342.85] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001342.85] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001360.05] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 5 in 17.21 s
[001360.06] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001360.06] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001360.06] [0/1] 07-13 14:03  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001387.60] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 5 in 27.54 s
Computing the auto-correlation and cross-correlation of quantile 6 ...
[001387.60] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001387.60] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001387.60] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001402.59] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 6 in 14.99 s
[001402.59] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001402.59] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001402.59] [0/1] 07-13 14:04  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001429.81] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 6 in 27.22 s
Computing the auto-correlation and cross-correlation of quantile 7 ...
[001429.82] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001429.82] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001429.82] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001444.88] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 7 in 15.07 s
[001444.88] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001444.88] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001444.88] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001472.80] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 7 in 27.92 s
Computing the auto-correlation and cross-correlation of quantile 8 ...
[001472.81] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001472.81] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001472.81] [0/1] 07-13 14:05  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001488.37] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 8 in 15.56 s
[001488.37] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001488.37] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001488.37] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001517.50] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 8 in 29.13 s
Computing the auto-correlation and cross-correlation of quantile 9 ...
[001517.51] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001517.51] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Running auto-correlation.
[001517.51] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001534.08] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the auto-correlation of quantile 9 in 16.58 s
[001534.08] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Using estimator <class 'pycorr.twopoint_estimator.NaturalTwoPointEstimator'>.
[001534.08] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Running cross-correlation.
[001534.08] [0/1] 07-13 14:06  TwoPointCorrelationFunction INFO     Computing two-point counts D1D2.
[001562.70] [0/1] 07-13 14:07  TwoPointCorrelationFunction INFO     Analytically computing two-point counts R1R2.
Computed the cross-correlation of quantile 9 in 28.62 s

Ran los 'z' in 478.65 s

Run_all in 1562.64 s
# Plot the CFs

fig, ax = plt.subplots(2, 3, sharex=True, figsize=(16, 7))

colors = [f'C{i}' for i in range(nquantiles)]

s = Object.CF['average']['s'] # Get the separation s (identical for all CFs)

for i in range(nquantiles):
    
    color = colors[i]
    alpha = 0.6
    
    # Plot the multipoles of the auto correlation
    poles1 = Object.CF['average']['Auto'][f'DS{i}']
    ax[0,0].plot(s, poles1[0]*s**2, alpha=alpha, color=color, label = f'DS{i}')
    ax[0,1].plot(s, poles1[1]*s**2, alpha=alpha, color=color)
    ax[0,2].plot(s, poles1[2]*s**2, alpha=alpha, color=color)

    # Plot the multipoles of the cross correlation
    poles2 = Object.CF['average']['Cross'][f'DS{i}']
    ax[1,0].plot(s, poles2[0]*s**2, alpha=alpha, color=color)
    ax[1,1].plot(s, poles2[1]*s**2, alpha=alpha, color=color)
    ax[1,2].plot(s, poles2[2]*s**2, alpha=alpha, color=color)
    
#Add the 2PCF on both plots

poles = Object.CF['average']['2PCF']
for i in [0, 1]:
    ax[i,0].plot(s, poles[0]*s**2, alpha=alpha, color='k', ls='--', label='2PCF')
    ax[i,1].plot(s, poles[1]*s**2, alpha=alpha, color='k', ls='--')
    ax[i,2].plot(s, poles[2]*s**2, alpha=alpha, color='k', ls='--')


ax[0,0].legend()
ax[1,0].set_xlabel(r'$s$')
ax[1,0].set_ylabel(r'$s^2\xi_l(s)$')
ax[0,0].set_ylabel(r'$s^2\xi_l(s)$')
ax[0,0].set_title('Monopole', fontsize=11)
ax[0,1].set_title('Quadrupole', fontsize=11)
ax[0,2].set_title('Hexadecapole', fontsize=11)
fig.suptitle('Auto (top) and Cross (bottom) Correlation for c000', fontsize=15, y=1);
../_images/d2b886119817552c8eb4acc573a1c9343bd1ed2ef0f99130145533f8d9a35a78.png
# Access the times

# The times are stored in a dictionary
times_dict = Object.times_dict

# Let's compute some interesting times to look at

total_time = times_dict['run_all']

mean_los_time = np.mean([times_dict[los]['run_los'] for los in ['x', 'y', 'z']], axis=0)
mean_2PCF_time = np.mean([times_dict[los]['compute_2pcf'] for los in ['x', 'y', 'z']], axis=0)
mean_auto_time = np.mean([times_dict[los]['compute_auto_corr'][f'DS{i}'] for los in ['x', 'y', 'z'] for i in range(nquantiles)], axis=0)
mean_cross_time = np.mean([times_dict[los]['compute_cross_corr'][f'DS{i}'] for los in ['x', 'y', 'z'] for i in range(nquantiles)], axis=0)
total_auto_time = np.mean([np.sum([times_dict[los]['compute_auto_corr'][f'DS{i}'] for i in range(nquantiles)], axis=0) for los in ['x', 'y', 'z']], axis=0)
total_cross_time = np.mean([np.sum([times_dict[los]['compute_cross_corr'][f'DS{i}'] for i in range(nquantiles)], axis=0) for los in ['x', 'y', 'z']], axis=0)

#Display the times
print(f'Total time: {total_time:.2f} s')
print(f'Mean time for computing a LOS: {mean_los_time:.2f} s')
print(f'Mean time for computing the 2PCF: {mean_2PCF_time:.2f} s')
print(f'Mean time for computing an auto correlation: {mean_auto_time:.2f} s')
print(f'Mean time for computing a cross correlation: {mean_cross_time:.2f} s')
print(f'Mean time for computing all auto correlations: {total_auto_time:.2f} s')
print(f'Mean time for computing all cross correlations: {total_cross_time:.2f} s')
Total time: 1562.64 s
Mean time for computing a LOS: 491.56 s
Mean time for computing the 2PCF: 16.80 s
Mean time for computing an auto correlation: 16.15 s
Mean time for computing a cross correlation: 28.26 s
Mean time for computing all auto correlations: 161.54 s
Mean time for computing all cross correlations: 282.64 s

Load a catalog in the class#

It is also possible to run the analysis on a catalog that is not generated by the class. The catalog must be a pandas array.

# Import the data
import pandas as pd
from CorrHOD.catalogs import read_fits

path = '/global/cfs/cdirs/desi/cosmosim/FirstGenMocks/AbacusSummit/CubicBox/BGS_v2/z0.200/AbacusSummit_base_c000_ph000/BGS_box_ph000.fits'
data_cubic = read_fits(path, check_cubic_format=True, print_column_names=True)

# Apply some cuts to the data
mask = (data_cubic['R_MAG_ABS'] < -21.5).to_numpy() # Create a mask to select the galaxies that are brighter than the magnitude cut
data_cubic = pd.DataFrame(data_cubic.values[mask], columns=data_cubic.columns) # Apply the mask to the data
# Create a CorrHOD object to make computation easier
path2config = Path('config.yaml') # Useless here, but we need it to create the object
Object = CorrHOD_cubic(path2config) 
Object.cubic_dict = data_cubic
# And then, run the analysis as usual
Object.get_tracer_positions(); # Get the positions of the tracers and get the coordinates in the right shift

...