Welcome to the FLaapLUC (Fermi-LAT automatic aperture photometry Light C<->Urve) pipeline !
This pipeline can be used to quickly generate short- or long-term Fermi-LAT light curves. It relies on the Fermi-LAT aperture photometric analysis (cf. e.g. http://fermi.gsfc.nasa.gov/ssc/data/analysis/scitools/aperture_photometry.html), which basically assumes that the data set, within 1 degree around the source, is background-free.
Thus, it is meant to have a rough feeling about the variability of a source, but is absolutely not reliable enough to obtain publication-ready results.
The pipeline can be used to assess the variability of a particular source, using the script flaapluc
, or to process all the sources included in a "master" list of sources listSources.txt
using the script flaapluc-allsources
.
The pipeline generates light curves from Fermi-LAT data, using an unusually small "region of interest" of 1 degree, in which the data set is assumed to be background-free. No likelihood fit is performed with the aperture photometry method. If you want a reliable result, please consider performing a standard Fermi-LAT data analysis (cf. http://fermi.gsfc.nasa.gov/ssc/data/analysis/scitools/).
For a given source, the pipeline first looks whether the source of interest has a counterpart in the 4FGL catalogue. This is done by scanning the "master" list of sources listSources.txt
, which includes a column with the 4FGL name, if any, for a given source.
- If the source is included in the 4FGL catalogue, the scripts use the catalogue FITS file as given in the input configuration file to generate an XML model file using the script
make4FGLxml.py
. This script was contributed to the Fermi Science Tools by T. Johnson. It means that we assume that the spectral parameters of our source of interest is as per the 4FGL catalogue. This is of course not valid for a source with a strong spectral variability. - If the source is not included in the 4FGL catalogue, the pipeline assumes that the spectrum of the source is a power-law with a photon index Gamma=-2.5. This value is encoded in the file
automaticLightCurve.py
in the functionprocessSrc
. Feel free to change this value.
On a local machine, the script flaapluc-allsources
can call the shell command parallel
, to process different sources in parallel (1 thread per source), in an Unix "nice" way. It means that if other processes are running on the machine, the pipeline will not overload the machine.
If the last flux point of a source is above the trigger threshold, a mail will be generated and sent, with a PNG figure of the light curve in attachement.
The trigger threshold is set to 1.e-6 ph cm^-2 s^-1 by default. However, this threshold can be individually set for each source in the file listSources.txt
. Moreover, a long term data set can be computed, and a dynamical trigger threshold can be used to rely on long term data to assess if a source is active or not. Look at the configuration files to set your custom sigma level above the long term averaged light curve to generate a trigger.
Information on installation and setup can be found in INSTALL.md
.
The pipeline includes:
flaapluc
: to process a single source.flaapluc-allsources
: to process a bunch of sources, which actually calls the classautomaticLightCurve
for each individual source.listSources.txt
: an example of a list of sources.dummy.cfg
: a configuration file where the user enters the configuration to make the pipeline work, such as file paths for inputs and outputs. You can of course have use several configuration files in one site.README.md
: this file.
Help can be found on the two individual scripts, by typing:
flaapluc -h
flaapluc-allsources -h
The pipeline uses an allsky file as input, which could easily be created using enrico
. FLaapLUC
is actually using enrico
and can use it to generate an allsky file on the fly for you.
FLaapLUC
depends on the Fermi Science Tools. The installation process should take care of this dependency, but see https://github.com/fermi-lat/Fermitools-conda/wiki for more details. More specifically, the automaticLightCurve
class should be able to find the gt_apps
Python module provided in the Fermi Science Tools.