Constraints: Dark matter progenitor halo mass functions - galacticusorg/galacticus GitHub Wiki

To constrain the dark matter halo progenitor mass function model in Galacticus we calibrate to the suite of MultiDark Planck cold dark matter N-body simulations, plus the Caterpillar cold dark matter N-body simulations.

We make use of the Rockstar halo catalogs/merger trees for the VSMDPL, SMDPL, MDPL2, BigMDPL, and HugeMDPL simulations. For the Caterpillar simulations we similarly make use of Rockstar halo catalogs provided by Alex Ji. (Note that these are constructed using the modified Rockstar described by Griffen et al. (2016)). We remove backsplash halos following the methodology of Benson (2017), and then construct progenitor halo mass functions by identifying progenitors of _z_=0 halos at a set of higher redshifts, and binning those progenitor halos by their mass ratio to the _z_=0 parent halo. This workflow is implemented in the constraints/pipelines/darkMatter/progenitorMassFunctionPreProcess.pl script.

We use the PCH+ model for constructing merger trees (and, therefore, progenitor mass functions), and the Sheth-Tormen halo mass function, with parameter values optimized as described here. When fitting to the N-body data the progenitor mass functions are convolved with the N-body halo mass distribution function (Trenti et al. 2010). A particle swarm optimization algorithm is then used to optimize the parameters of the PCH+ algorithm to maximize the log-likelihood of the model given the N-body data. In constructing this log-likelihood we assume Poisson statistics in the number of N-body halos in each bin to estimate the variance of the mass function. We set a minimum root-variance equal to 10% of the progenitor mass function in each bin, and assume a log-normal distribution in each bin. Uncertainties in the model progenitor mass function are ignored. We exclude from the log-likelihood the contribution from any bin which corresponds to halos of fewer than 300 particles (below which we find that systematic deviations from higher resolution simulations become apparent), and any bin corresponding to mass ratios greater than unity. The likelihoods of the five MultiDark Planck simulations and the Caterpillar simulations are assumed to be independent, and so we sum the log-likelihoods to obtain the final log-likelihood which we maximize. This workflow is part of the dark matter constraints pipeline implemented in the constraints/pipelines/darkMatter/pipeline.pl script.

The resulting optimized parameters for the PCH+ algorithm are:

G0    =+1.143
gamma1=-0.327
gamma2=+0.059
gamma3=+0.646

The following figures show the resulting progenitor halo mass functions. Open circles correspond to individual MultiDark Planck N-body or Caterpillar simulations. Yellow circles with red outlines and error bars show the results from the PCH+ algorithm with the best-fit parameters given above, while small purple points with error bars show results from the original PCH algorithm. Gray shading shows regions excluded from the fitting procedure.

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction

progenitorMassFunction