Gfitter software

The software package consists of abstract object-oriented code in C++ using ROOT functionality. Tools for the handling of the data, the fitting, and statistical analyses such as toy Monte Carlo sampling are provided by a core package, where theoretical errors, correlations, and inter-parameter dependencies are consistently dealt with. Theoretical models are inserted as plugin packages, which may be hierarchically organised. The use of dynamic parameter caching avoids the recalculation of unchanged results between fit steps, and thus significantly reduces the amount of computing time required for a fit.


Important Features

Gfitter core package provides parameter (so-called GParameters) fitting via data cards. Currently, the input data are written in XML format, which however can be transparently replaced by any format. The theory to be tested is coded in form of GTheory derivatives, in which the dependent GParameters, defined in the input data card, are booked. Each package comprising a full theory has its own namespace. Parameter and theory handling and the attribution of theories to parameters (through their names) is centrally performed in the Gfitter core package via a central data container class, denoted GStore. The detection of fit parameters is automatic, depending on whether or not a given parameter has an associated GTheory.

A standard Gfitter analysis begins by instantiating a GController object from a user script, followed by an initialisation step and the execution of the actions defined in the data card. Global fits, parameter scans in 1D and 2D, and toy analyses can be performed. The results obtained are persistified in the target ROOT file, and can be exploited for plotting in custom macros.

The parameter fitting is transparent with respect to the fitter implementation, which by default uses TMinuit, but which is extensible via the driving card to the more involved global minima finders Genetic Algorithm and Simulated Annealing, implemented in the ROOT package TMVA.

An important feature of Gfitter is the possibility to cache computation results between fit steps. Each parameter holds pointers to the theories that depend on it. Upon computation of the log-likelihood function in a new fit step, only those theories (or part of theories) that depend on modified parameters (with respect to the previous fit step) are recomputed. The gain in CPU time of this caching mechanism is substantial, and can reach orders of magnitudes in many-parameter fitting problems.

Gfitter offers the possibility to study the behaviour of the log-likelihood test statistics as a function of one or two parameters by one- or two-dimensional scans respectively. For this purpose penalty contributions are added to the log-likelihood test statistics forcing the fit to the parameter value under study. In addition, two-dimensional contour regions of the test statistics can be computed using the corresponding TMinuit functionality.

Gfitter offers the possibilty to perform toy Monte Carlo (MC) analyses repeating the minimisation step for input parameter values randomly generated around expectation values according to specified errors and correlations. For each MC experiment the fit results are recorded allowing a statistical analysis, e.g. , the determination of the p-value. All parameter scans can be optionally performed that way, as opposed to using a Gaussian approximation to estimate the p-value for a given scan point (manifestation of true values). It also allows to derive an overall goodness-of-fit probability.


Latest Gfitter version: Gfitter 2.2

Release date: October 2016

Release notes: This release is implements updates for compatibility ROOT6, newer C++ compilers and Mac OS X.

  • Changes in Makefiles for ROOT6 and Mac OS X.
  • Fixed warnings/errors in source code, due to stricter compilers.
  • Needs ROOT6, version 6.06 and higher.
  • Tested on Mac OS X 10.10 using clang 7 and ROOT 6.06/08, also tested on Scientific Linux 6.7, using GCC 4.7 and 5.3 with ROOT 6.06/01.

Packages included:

  • src/: Gfitter core code (controlling, data handling, fitting, statistics analysis, etc.)

      Gfitter core package provides parameter (so-called GParameters) fitting via data cards. Currently, the input data are written in XML format, which however can be transparently replaced by any format. The theory to be tested is coded in form of GTheory derivatives, in which the dependent GParameters, defined in the input data card, are booked. Each package comprising a full theory has its own namespace. Parameter and theory handling and the attribution of theories to parameters (through their names) is centrally performed in the Gfitter core package via a central data container class, denoted GStore. The detection of fit parameters is automatic, depending on whether or not a given parameter has an associated GTheory.

  • ./: setup scripts, README and instruction files

  • test/: contains Gfitter application macros and XML driving cards

  • gtest/: contains a fit example

  • lib/: contains shared libraries

  • gew/: package for the calculation of electroweak observables; features:

    • MW: full two-loop corrections and known beyond-two-loop corrections (M. Awramik et al., Phys. Rev. D69, 053006 (2004), hep-ph/0311148).
      Implementation of updated version of the parametrisation for MW (v2, hep-ph/0311148v2), including the known four-loop QCD correction and the most recent value of the Fermi constant.
    • sin2θleff: full two-loop corrections and known beyond-two-loop corrections (M. Awramik et al., JHEP 11, 048 (2006), hep-ph/0608099; M. Awramik et al., Nucl. Phys. B813:174-187 (2009), arXiv:0811.1364)
    • Partial and total Z widths: fermionic electroweak two-loop corrections and known beyond-two-loop corrections (A. Freitas, JHEP 1404, 070 (2014), arXiv:1401.2477)
    • Total W width: accurate parametrization of the one-loop result (Cho et. al, arXiv:1104.1769, see also older papers 1, 2, 3).
    • strong coupling: complete fourth-order (3NLO) calculation of the hadronic Z width (P. A. Baikov et al., Phys. Rev. Lett. 108 (2012) 222003, arXiv:1201.5804)
  • goblique/: package for the Standard Model predictions of oblique parameters

  • gstu/: package for the oblique parameter predictions for the Standard Model and beyond-SM models

  • g2hdm/: package for the prediction of observables in generic 2-Higgs doublet models

Download: Gfitter_2.2.tar (Please note that the Gfitter group can provide support only on a best-effort basis.)


View previous software versions

last modified: