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

Third coding sprint, 7-11 July, MPIK Heidelberg (Germany)



List of features on which we worked at the 3rd coding sprint (not all are resolved or closed yet)


Pictures of the 3rd coding sprint can be found at https://www.dropbox.com/sh/z14lr6wtvlkm1z1/AAA7jCZONfLqWYSK46b2FFXTa


The third GammaLib / ctools coding sprint will take place in the second week of July 2014 at MPIK (Heidelberg, Germany).
See the Coding_sprints page for information on previous / future coding sprints.

We will start on Monday (July 7th) at 1:30 pm and finish on Friday (July 11th) before lunch.
If you arrive before 12:30 on Monday you can join us for lunch and of course you can also have lunch on Friday and stay until the afternoon if you like.

You can reach MPIK with bus number 39, get a visitor pass at the MPIK main gate and then go to the “central seminar room” in the library building number 12.
If you haven’t been to MPIK before see here .
The meeting room and cantine are wheelchair accessible.

If you haven’t contributed to Gammalib / ctools before, please have a look at [Contributing_to_GammaLib].
You should have checked out the source code with git, built and installed Gammalib and ctools before you arrive, but of course we’ll help get you started at the coding sprint in case you run into any problems.

A limited number of rooms at the MPIK guesthouse on our premises in the woods above the city (code: Hess) are available: single rooms à 35 Euros (no breakfast! EMBL cafeteria nearby). Please email directly to to book a room. The guest houses are not wheelchair accessible.
If you’d like to stay in Heidelberg, please find and book a hotel yourself online.

We will have lunch together every day at the EMBL cantine buffet. The price per person is 8 Euro, tap water is free, soft drinks are 1.50 Euro extra.

If you have any questions, please write an email to .


Monday afternoon and Tuesday morning is reserved for an introduction by Jürgen as well as status reports and discussions.
We will then split up in small groups and work on certain issues and features for the rest of the week.

If you would like to present or discuss something (or have been asked to do so), please add it to this list.

  • 12h30-13h30: Lunch
  • 13h30-15h30: Introduction to GammaLib / ctools (Jürgen)
  • 15h30-16h00: Coffee break
  • 16h00-18h00: Status reports on ctools science verification and usage (times including discussion)
    • Fermi ctools analysis (20 min, Jürgen (Anneli only comes on Wednesday))
    • HESS HAP ctools analysis (20 min, Chia-Chun)
    • HESS ParisAnalysis ctools analysis (20 min, Stefan for Michael)
    • VERITAS ctools analysis (10 min, Rolf for Nathan)
    • CTA starburst simulations (10 min, Stefan)
    • CTA Crab Nebula simulations (10 min, Rolf)
    • Galactic plane simulations with ctools (10 min, Helene)
  • 9h30-10h30: other contributions
  • 10h30-11h00: Coffee break
  • 11h00-12h00: Gammalib / ctools 1.0 release plan / discussion (all)
  • 12h00-13h00: Gammalib / ctools paper plan / discussion (all)
  • 13h00-14h00: Lunch
  • 14h00-18h00: Coding
  • 9h30-18h00: Coding
  • 12:30-13:30: Lunch
  • 13:30-14:00: German Hermann will show some and explain some hardware that is being built at MPIK for the CTA FlashCam ... those that are interested can come along after lunch before going back to coding.
  • 9h30-18h00: Coding
  • 9h30-12h30: Coding, Debriefing, Next steps
  • 12h30-13h30: Lunch (optional)

Work plan

Some things that came up on Monday

  • Solve problems with elliptical model fitting (see #754, #784; may be sufficient to add more tolerant integration algorithm)
  • Speed-up binned analysis (see #1205)
  • Write an utility to select (or filter) bins from (or in) a counts map (see #1217)
  • Introduce exposure maps (needs some thought about how they should be used)
  • Fix diffuse model fitting problems (#1198)
  • Write-up encountered problems (end users, but also developers) https://cta-redmine.irap.omp.eu/projects/gammalib/wiki/Most_frequently_encountered_problems
  • Write script to make ctlike analysis in energy bins
  • Write script(s) to make plots, including Butterfly plots

Continuation of previous works (to be completed)

  • Implementation of energy resolution handling (Christoph,Ellis): implementation mostly done, high-level testing, profiling/accuracy checks, and documentation still need to be done
  • Traditional analysis methods (Pierrick,Maria,Anneli): a simple ON-OFF analysis methods using reflected regions exists, needs to be tested for faint fluxes and compared to existing pipelines, needs to implement ring regions and create ctools
  • Implementation of averaged instead of run-wised fitting (Chia-Chun): involves more about handling of IRFs
  • Analysis of VERITAS data with gammalib/ctools (Nathan,Lucie,Maria): more testing

New developments (to be updated)

  • Already listed feature requests (issue numbers to be given)
  • Problems with diffuse models (Pierrick, currently under investigation, #1198 potentially solved after #1151)
  • Improve analysis of extended sources because takes far too much time compared to point source (Michael,Rolf)
  • Interface with FACT events and response (Matteo)

List of features, actions, etc. that could be handled during the code sprint

I (JK) went over the list of issues and extracted those that might be relevant for the coding sprint (in decreasing order or issue number)

#1217 - Allow setting Emin and Emax in ctlike
#1205 - Improve computational speed for CTA binned analysis
#1199 - Adding new class GCTAPsfMap
#1198 - Incorrect results for fitting of diffuse models
#1197 - Gammlib should check consistency of model and observation xmls
#1140 - Have consistent units for spectral models
#1135 - Prefactor of GModelSpatialDiffuseMap is ignored in Monte Carlo simulation
#1126 - Add GCTAEdisp2D class (2nd code sprint leftover)
#1125 - Add unit test for 3D interpolation in GCTAResponseTable
#1124 - implement region rotation (linked to ON-OFF method)
#1123 - Implement energy dependent SkyRegion (linked to ON-OFF method)
#1122 - Calculate IRFs for GSkyRegions (linked to ON-OFF method)
#1121 - create GSkyRegionSkyMap class (linked to ON-OFF method)
#1118 - Document CTA energy dispersion in the GammaLib user manual
#1060 - Investigate whether a more precise curvature matrix computation is needed (related to computation of error bars)

#1152 - Add ctool for quick look and checks
#1145 - ctobssim should also fill the DETX and DETY columns
#1136 - Allow for energy integration in ctmodel
#1115 - Create pointing simulation tool
#1037 - Implement ctools to combine run-wise IRFs for fast binned likelihood analysis


(please add your name here if you will come to this coding sprint)

  • Jürgen Knödlseder (IRAP, Toulouse)
  • Pierrick Martin (IRAP, Toulouse)
  • Christoph Deil (MPIK, Heidelberg)
  • Ellis Owen (MPIK, Heidelberg)
  • Chia-Chun (MPIK, Heidelberg)
  • Rolf Buehler (DESY, Zeuthen)
  • Hubert Siejkowski (ACC Cyfronet AGH)
  • Stefan Ohm (DESY, Zeuthen)
  • Helene Laffon (CENBG, Bordeaux) from Monday to Thursday morning
  • David Sanchez (LAPP, Annecy-le-vieux)
  • Anneli Schulz (DESY, Zeuthen) from Wednesday - Friday


  • Maria Krause (DESY, Zeuthen)
  • Michael Mayer (DESY, Zeuthen)
  • Matteo Balbo (ISDC, Geneve)
  • Lucie Gerard (DESY, Zeuthen)

Preparatory SeeVogh minutes (12 mai)

Participants: Andrea Giuliani, Chia-Chun Lu, Christoph Deil, Hubert Siejkowski, Matteo Balbo, Roland Walter, Pierrick Martin, Rolf Buehler, Nathan Kelley-Hoskins, Jürgen Knödlseder


We decided to focus the third coding sprint on science validation and on steering the code towards a gammalib release 1.0 (ideally, the code base should be ready for the release after the coding sprint). Although energy dispersion and on/off analysis were believed to be not central for the gammalib release 1.0, existing code that supports these features will be in the code base, and if possible, should also be tested. We would however release version 1.0 even if these features are nut fully supported.

Some more thinking and discussion is needed before fixing the priorities of the code sprint. A roadmap document needs to be written for gammalib release 1.0 that should help setting the priorities.

The meeting will be divided in three sessions:
  • introduction (composed of general presentation by Jürgen and status reports on new features and results since the last coding sprint at DESY)
  • science validation (composed of presentations of HESS, VERITAS, FACT, Fermi, ASTRI results ... and maybe even more)
  • coding


  • Create a wiki page to summarize analysis examples (Jürgen)
  • Provide HESS 1DC data for coding sprint including gammalib compliant IRFs (Chia-Chun)
  • Create issue (if it does not yet exist) to explain the needs for IRF averging (Chia-Chun)
  • Provide documentation about gammalib IRF handling and data format to ISDC for FACT analysis (Jürgen)
  • Create a ctools / gammalib mailing list (Jürgen)
  • Write a gammalib release 1.0 roadmap document (Jürgen)

3rd-coding-sprint.jpg (133 KB) Knödlseder Jürgen, 07/18/2014 09:31 AM

3nd-coding-sprint.pdf (7.83 MB) Preview Knödlseder Jürgen, 07/18/2014 09:33 AM

cta_crab.pdf - Slides from presentation on Crab nebula simulations (682 KB) Preview Buehler Rolf, 07/18/2014 11:16 AM


Also available in: PDF HTML TXT