Instrument Response Functions (IRFs)
What are IRFs?
Section titled “What are IRFs?”Instrument Response Functions (IRFs) define the sensitivity and performance characteristics of a gamma-ray observatory under specific observing conditions. sensipy uses CTAO IRFs to calculate sensitivity curves and simulate observations.
IRFs include information about:
- Effective area: How sensitively the telescope collects photons
- Point spread function (PSF): Angular resolution
- Energy dispersion: Energy resolution
- Background rates: Expected background counts
Supported IRF Versions
Section titled “Supported IRF Versions”sensipy supports the following CTA IRF productions:
- prod5-v0.1 (Alpha Configuration, current recommendation from CTAO)
- prod3b-v2 (Legacy support)
Downloading IRFs
Section titled “Downloading IRFs”Automatically with the built-in IRF downloader
Section titled “Automatically with the built-in IRF downloader”You can use the built-in command to download the latest CTAO IRFs:
uv run sensipy-download-ctao-irfspip install sensipysensipy-download-ctao-irfsconda activate my-environmentsensipy-download-ctao-irfsThis will automatically download and organize the latest CTAO IRFs to the ./IRFs/CTAO directory.
Manually
Section titled “Manually”-
Visit the Zenodo repository
Go to the CTA IRF Zenodo page to access the IRF files.
-
Download the required FITS files
Download the
.tar.gzarchives for the sites, zenith angles, and durations you need. For example:CTA-Performance-prod5-v0.1-North-20deg.FITS.tar.gzCTA-Performance-prod5-v0.1-South-20deg.FITS.tar.gz
-
Extract the archives
Extract the downloaded files into an organized directory structure.
IRF Directory Structure
Section titled “IRF Directory Structure”Organize your IRF files following this structure:
DirectoryIRFs/CTAO/ (root directory for all IRFs)
Directoryprod5-v0.1/
Directoryfits/
- CTA-Performance-prod5-v0.1-North-20deg.FITS.tar.gz
- CTA-Performance-prod5-v0.1-South-20deg.FITS.tar.gz
- CTA-Performance-prod5-v0.1-North-40deg.FITS.tar.gz
- …
- …
Directoryprod3b-v2/
Directoryfits/
- …
- …
Loading IRFs
Section titled “Loading IRFs”Once your IRFs are downloaded and organized, you can load them using the IRFHouse class:
from sensipy.ctaoirf import IRFHouse
# Create an IRF house pointing to your IRF directoryhouse = IRFHouse(base_directory="./IRFs/CTAO")
# Load a specific IRFirf = house.get_irf( site="south", configuration="alpha", zenith=20, duration=1800, azimuth="average", version="prod5-v0.1",)
print(irf)