This repository contains code for running a gamma-ray stacking analysis with Fermi-LAT data. The technique was originally developed by Marco Ajello, Vaidehi Paliya, and Abhishek Desai, and it has been successfully applied to the following studies:
- Extreme blazars (link)
- Star-forming galaxies (link)
- Extragalactic background light (link)
- Ultra-fast outflows (link)
- Molecular outflows (link)
- FRO radio galaxies (link)
The main assumption made with the stacking technique is that the source population can be characterized by average quantities, such as average flux and spectral index. Of course other parameters can also be stacked. 2D TS profiles are then constructed for each source using a binned likelihood analysis, and the individual profiles are summed to obtain the global significance of the signal. See above references for more details.
The stacking analysis requires Fermipy, available here, and it is meant to be ran on a cluster. Specifically, the package is compatible with fermipy v1.2.2, which is based on fermitools v2.2.0, and uses python 3.
Documentation can be found here: https://fermi-stacking-analysis.readthedocs.io/en/latest/
Using pip
pip install fermi-stacking
From source (for developers)
git clone https://github.com/ckarwin/Fermi_Stacking_Analysis.git
cd Fermi_Stacking_Analysis
pip install -e .
1. For any new analysis: - Make a new analysis directory (e.g. mkdir Run_1) - Run command line prompt 'make_stacking_run', which will setup the directory with all needed files. 2. Specify inputs in inputs.yaml. 3. Uncomment functions inside the client code that you want to run. 4. To run the code: - To submit batch jobs: batch script templates are provided for both SLURM and PBS. - To run from terminal: python client.py