2nd coding sprint



1 issue   (1 closed — 0 open)

Updated over 8 years ago by Knödlseder Jürgen


The second ctools/gammalib coding sprint will take place from the 27th to the 31st of January of 2014 at DESY (Zeuthen, Germany). Please watch this page for upcoming information about the date and the goals of the second coding sprint.

See the Coding_sprints page for information on previous / future coding sprints.

Introduction to ctools and GammaLib (presentation for Monday afternoon)

Registration page and participants

Please register at this page: https://indico.desy.de/conferenceDisplay.py?confId=9237 before January 10th 2014

The current list of participants is here: https://indico.desy.de/confRegistrantsDisplay.py/list?confId=9237


Please make sure before you come that
  • you have an account on https://cta-redmine.irap.omp.eu/ (send an e-mail to if you need git access at IRAP; otherwise use github)
  • you have installed git
  • you have made a clone of gammalib and ctools on your laptop
  • you managed to compile gammalib and ctools
For more information on these issues, please read (most applies as well to ctools):

and have a look at http://gammalib.sourceforge.net/

Installing gammalib and ctools for development

Unless you want to specify installation details or anything non-standard, the following steps should lead to a standard installation of gammalib/ctools for development:

export GIT_SSL_NO_VERIFY=true

git clone https://user@cta-git.irap.omp.eu/gammalib  # replace 'user' by your user name on the IRAP Redmine system
cd gammalib/
sudo make install

cd ..

git clone https://user@cta-git.irap.omp.eu/ctools  # replace 'user' by your user name on the IRAP Redmine system
cd ctools/
sudo make install

# in .bashrc
export GAMMALIB="/usr/local/gamma" 
source $GAMMALIB/bin/gammalib-init.sh
Note that the user can be dropped for installation, yet you won’t be able to push some modifications back to the IRAP git server. Thus if you intend to write code, please add your user here.

In case you want to install ctools in a different location (which is possible, but not really recommended), you need an additional configuration step

export CTOOLS="/my/special/ctools/path" 
source $GAMMALIB/bin/ctools-init.sh
(if gammalib and ctools live in the same directory, only the GAMMALIB environment variable and configuration is required).

Code sprint backlogs

The code sprint backlogs are here:


This area is for brainstorming ... please share your ideas what should be a focus of this coding spring (and gammalib / ctools development in the coming months in general).
Please add you name after the topic(s) your interested in, so we get a feeling on who wants to do what.

  • Implement energy resolution (#1036): Christoph, Ellis
  • Implement general scheme to handle event classes (#1001): Chia-Chun
  • Implement ctool to combine run-wise event lists and IRFs (#1037): Chia-Chun
  • Implement ctool to create cube background model from off run list (#1038): Christoph
  • Implement reflected regions background method (#1044): Maria, Pierrick, Anneli
  • Implement handling of background information in instrument coordinate and derivation from CTA simulations (#1096): Lucie, Rolf
  • Likelihood fits to Fermi, HESS and other MWL data using gammalib-external physical SED modeling packages:
  • Implement SED fitting using external “model cubes” (N+1 dimensional data cube, containing SED templates for N parameters; gammalib determines best fitting values of these N parameters, see #599):
  • Optimize binned CTA analysis:
  • Implement some selected GammaLib issues (https://cta-redmine.irap.omp.eu/projects/gammalib/issues):
  • Implement unbinned analysis for Fermi-LAT:
  • Check / discuss results from ctools analyses against HESS software. (Discussed and agreed to not do this at the coding sprint):

Identified projects at the December 11th SeeVogh meeting

We identified two different main parts where we want to work on during the sprint. Every part has four sub-projects which are important for us to implement.
  • Enhance and extend general gammalib functionality
    • Implement energy resolution:
      Good thing to start with, because structure is already there. It would have to be optimised to not cost too much computation speed
    • Implement the position fit for Fermi-LAT:
      The implementation would allow to simultaneously fit spectrum and position of a source. This would lead to an improvement to the Fermi Science Tools.
    • SED modelling with gammalib:
      provide FITS files with precomputed SEDs to gammalib, so we would be able to fit physical models, e.g. Inverse Compton to the data. For this, we could follow the XSPEC approach
    • Adaptive binning used in binned analysis:
      Since the PSF of many instruments vary with energy, we could optimise the binned analysis, by using an adaptive spatial binning (like in the Fermi-internal package pointlike). For this, we probably would have to extend GSkymap to allow different bin sizes.
  • Make gammalib/ctools specifically more flexible and suited for IACT analysis
    • create a cool which groups events to event classes:
      would allow to analyse different event classes with different IRFs - resulting in a sensitivity gain
    • implement energy threshold parameter:
      allow ctools to handle the energy threshold information given in a FITS Header keyword. The cut on the energy could be applied automatically
    • create ctool to create background models from off runs: Karl
      This tool should take a off run list as input and built background models from the data. For this, the GSkymap functionality might be enhanced to allow smoothing, oversampling etc.
    • Implement reflected regions method
      The reflected regions method should be available in gammalib. This however, requires on-off likelihood determination. This is already pretty well advanced and currently in a testing phase. We may want to implement other methods such as ring background, which are more complex.
Issues by