DOI: 10.5281/zenodo.13738963
title: Leptonic SFG emission

description: Data and code supporting publication entitled "Leptonic gamma-ray emission from star-forming galaxies".

Data files description

sfgfit.tar.gz : data model and fit routines

Python package "sfgfit" implementing the gamma-ray ray emission model from star-forming regions. Contains the README file with installation instructions and "pyproject.toml" file with additional package dependencies.

worktree.tar.gz : work tree with scripts, settings and data samples

A copy of the work tree folder structure, containing the scripts, configuration files and final data products; ready to use once unpacked (provided "sfgfit" and FermiPy are installed). Underlying folder structure is as follows:

worktree/├── data  : Fermi/LAT and IACT data sets and analysis scripts for each if of the SFGs considered. Fermi/LAT data sets contain only the final data products (SEDs) as generated by FermiPy; the used intermediate data sets can be re-created using the "analysis.py" and "config.yaml" files in each corresponding subfolder from the full Fermi/LAT event lists, available at https://fermi.gsfc.nasa.gov/ssc/data/access/. To run the SED extraction, it is sufficient to execute the "analysis.py" script in the corresponding subfolder.Example of the underlying structure for M82 galaxy:│   ├── m82│   │   └── data│   │       ├── fermipy│   │       │   ├── lc│   │       │   │   └── 100mev-psf-classes-tuned-1TeV-2024│   │       │   │       └── dt=560d│   │       │   └── sed│   │       │       └── 60mev-psf-classes-tuned-1TeV-2024-bs0.2│   │       │           ├── analysis.py│   │       │           ├── config.yaml│   │       │           └── out│   │       └── iact_sed.ecsv└── scripts    ├── make-analysis : scripts to re-generate analysis folders (with processing scripts and settings) based on universal templates    └── mcmc : Monte Carlo fitting code using "sfgfit" package above alone with its configuration files and output results. Configuration files are for each source and spectral model are stored under the "config/" subfolder.

Demo (test code execution)



Fermi/LAT data analysis: LAT data reduction resource-consuming and takes almost a day on a regular desktop computer. Intermediate files generated by FermiPy are relatively large (around 3Gb per source) and thus are not included here. Provided FermiPy is installed and all-sky event list as well as spacecraft files are downloaded from https://fermi.gsfc.nasa.gov/ssc/data/access/, these can be regenerated as a part of the data analysis run as> cd worktree/data/m82/data/fermipy/sed/60mev-psf-classes-tuned-1TeV-2024-bs0.2/# update the event and spacecraft files paths in the "config.yaml" file> python3 analysis.pyExpected output: "4fgl_j0955.7+6940_sed.fits" in the output folder identical to the one provided here

star-formation emission model fitting: model optimization procedure is MCMC-based and its full run takes up to 30 hr on a 30-core machine. The data sets required for it are provided in the corresponding "worktree/data/*/fermipy/sed/60mev-psf-classes-tuned-1TeV-2024-bs0.2/out/" folders. In order to run optimization for a shorter time (without convergence, only to ensure it works) for a single object (e.g. M82) one may> cd worktree/scripts/mcmc# update the data path templates in "config/m82/sfr-steady-pwl.yaml"> fit-sed-mcmc.py --config=config/m82/sfr-steady-pwl.yamlExpected output: generated "out/m82_sfr2_steady_pwl_model_mcmc.h5" file with MCMC samples, similar to the one provided.


For example, to re-do the MCMC fit for M82 it is sufficient run "fit-sed-mcmc.py --config=config/m82/sfr-steady-pwl.yaml" () The input files for the code are the in the "worktree/data/*/fermipy/sed/60mev-psf-classes-tuned-1TeV-2024-bs0.2/out/" folders.

System requirements

This software was tested on Red Hat Enterprise Linux Server release 7.7, running conda 24.4.0, Python versions 3.8.3 and 3.9.19. Installation time varies depending on system and internet connection speed and can be from few seconds for "sfgfit" to more than 10 minutes for "FermiPy" required to process the data.

Non-standard hardware requirements

None