KLFitter is a library for kinematic fitting using a likelihood approach. It is primarily developed for the case of top quark reconstruction, but it can be easily modified to fit other processes. Detailed documentation:
- List of authors and contributors
- What is KLFitter and how does it work?
- Out-of-the-box example
- Frequently Asked Questions
An auto-generated class reference guide for the KLFitter library is also uploaded to https://KLFitter.github.io/KLFitter/. The uploaded version always corresponds to the latest version of the master branch.
KLFitter is licensed under the GNU Lesser General Public License v3.0. For more information about the licensing terms and conditions, please refer to COPYING and COPYING.lesser for the GNU General Public License and the additional terms of the GNU Lesser General Public License, respectively.
KLFitter depends on the ROOT and BAT libraries. For information about ROOT, please consult the ROOT web page. Information about BAT, installation instructions and the latest BAT releases can be found on the library's web page. The following versions have been tested with KLFitter and are working:
- ROOT v5.34.10 or later
- BAT v0.9.3 and v0.9.4.1
The KLFitter source code can be obtained from this repository (https://github.com/KLFitter/KLFitter). A list of all releases of KLFitter can be found under KLFitter/releases. To download the source code, you can use the git clone command:
git clone https://github.com/KLFitter/KLFitter.gitand, for checking out a specific release, use the git checkout procedure:
cd KLFitter
git checkout $VERSION_TAGBefore KLFitter was made public, it was maintained in non-public SVN repositories. For completeness we also keep a list of all SVN tags of KLFitter and their associated commits in this file.
Before proceeding please make sure that you have a valid installation of ROOT on your system and that cmake is correctly configured (version 3.10 or higher is required).
The standard way to build KLFitter is against an existing BAT installation.
CMake will automatically search for BAT in standard system paths (e.g.,
/usr/local). If BAT is installed in a non-standard location, you should
provide its path either by setting the BAT_ROOT CMake variable or the
$BAT_ROOT (or legacy $BATINSTALLDIR) environment variable.
The build procedure is:
mkdir build && cd build
cmake .. # Add -DBAT_ROOT=/path/to/bat if needed
make -jAlternatively, it is possible to build KLFitter and the BAT library
simultaneously by letting cmake download and compile BAT automatically. For
doing so, use the -DBUILTIN_BAT=TRUE flag:
mkdir build && cd build
cmake -DBUILTIN_BAT=TRUE ..
make -jThis will build both BAT and KLFitter in the sub-folder of the KLFitter directory. For problems with the cmake configuration, please also refer to the Frequently Asked Questions.