Skip to content

Latest commit

 

History

47 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Which mass sets the black hole? The halo takes over late

Analysis code for the paper of that title (V. Patankar), which asks one conditional question of three cosmological simulations, of 140 real galaxies with measured halo masses, and of two of the simulations at five epochs: once the stellar mass of a galaxy is fixed, does the halo mass still set the mass of its central black hole?

Causal structure is recovered with the FCIT algorithm (Fast Causal Inference with Targeted testing) through the py-tetrad interface to Tetrad; the physical conclusions rest on ordinary conditional regressions and partial correlations, which do not depend on the graph orientation rules.

Where the paper's numbers come from

Every quantity quoted in the paper is produced by one of these scripts. Run them from reanalysis/blackhole/; each writes a CSV into results/.

Script Produces
headline.py The z=0 conditional fits for the three codes, split by star-formation state (Sect. 5, Table 2)
fcit_z0.py The z=0 causal graphs, the penalty scan and the disjoint-halves null (Sect. 5.1)
simba_variants.py The feedback experiment on the five public SIMBA variation runs (Sect. 5.2)
fcit_temporal.py The time-tiered causal search on EAGLE merger trees (Sect. 5.4)
obs_conditional.py The conditional test on the two real samples, and the forward model of each simulation through the real selection and errors (Sect. 6, Table 3)
obs_eiv.py The Bayesian errors-in-variables fit to the real samples (Sect. 6)
time_evolution.py The conditional fit at five epochs, with the routing share (Sect. 7, Table 4)
ceiling.py The upper envelope at fixed halo mass, its drift with redshift, and the arrival fractions along EAGLE main branches (Sect. 8.1)
routing_model.py The two-parameter population model of growth against a halo ceiling (Sect. 8.2)
make_numbers.py Collects the above into results/numbers.tex

Figures: fig_clean.py (Fig. 1), compose_pags.py (Fig. 2), fig_more.py (Figs. 3 and 4), render_pags_gv.py (Fig. 5), fig_new.py (Figs. 6, 7 and 8).

Not used in the final paper, kept because they were run: forecast.py (an observational forecast, superseded by the real-data test), threshold.py (broken-slope fits) and ceiling_model.py (a cooling-radius ceiling model that does not reproduce the measured envelope slope).

Getting the data

None of the input data are redistributed here except the two published observational tables, which are small and are needed to reproduce the central result.

Source How to obtain it
IllustrisTNG (TNG50-1) https://www.tng-project.org, z=0 group catalogue
EAGLE Public database http://virgodb.dur.ac.uk:8080/Eagle/ (McAlpine et al. 2016). pull_eagle.py, pull_eagle_snaps.py and pull_eagle_temporal.py issue the queries and need a login in Data/virgodb_auth (two lines: user, password)
SIMBA http://simba.roe.ac.uk: the m100n1024 flagship and the five m50n512 feedback-variation runs, into Data/simba_variants/
Marasco et al. (2021), 55 galaxies reanalysis/blackhole/data_obs/marasco2021.csv, parsed from the arXiv source of 2105.10508
Gaspari et al. (2019), 85 galaxies reanalysis/blackhole/data_obs/gaspari2019.csv, parsed from the arXiv source of 1904.10972

Definitions are made consistent before anything is compared. Black-hole mass is the subgrid mass in every code; EAGLE's particle mass MassType_BH is floored at the gas-particle mass and is not the black-hole mass. Halo mass is M200c for EAGLE and SIMBA and the subhalo dark-matter mass for TNG50. Black holes are seeded above a halo-mass threshold, so unseeded objects sit at the catalogue floor and are excluded throughout; keeping them makes TNG50 falsely resemble EAGLE.

Requirements

Python 3.11 or later and a JVM for Tetrad. See requirements.txt; graphviz also needs the system dot binary.

Layout

Path Contents
reanalysis/blackhole/ The analysis for this paper
reanalysis/blackhole/data_obs/ The two published observational tables
archive/nsa_alfalfa_2025/ An earlier, separate study of causal structure in the NASA-Sloan Atlas and an ALFALFA cross-match. Not part of this paper
archive/exploratory/ Earlier exploratory scripts, superseded by reanalysis/blackhole/

Outputs (results/, data/, figures) are regenerated by the scripts and are not tracked.

License

GNU General Public License v3.0 — see LICENSE.

Author

Vidit Patankar, Independent Researcher, India. ORCID 0009-0008-8379-6863vidit.patankar16@gmail.com

About

"Causal discovery in galaxy properties: ALFALFA × NSA vs. NSA-only"

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages