GithubHelp home page GithubHelp logo

KLFitter – The Kinematic Likelihood Fitter

Build Status GitHub release Github commits (since latest release)

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:

An auto-generated class reference guide for the KLFitter library is also uploaded to https://KLFitter.github.io. The uploaded version always corresponds to the latest version of the master branch.

Licensing terms

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.

Dependencies

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

Obtaining KLFitter

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.git

and, for checking out a specific release, use the git checkout procedure:

cd KLFitter
git checkout $VERSION_TAG

Before 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.

Installation via cmake (recommended)

Before proceeding please make sure that you have a valid installation of ROOT on your system and that cmake is correctly configured (version 3.1 or higher is required). As cmake does fully automated configuration, it is possible to build KLFitter and the BAT library simultaneously. BAT will be downloaded during the cmake build process. For doing so, change into the KLFitter directory and then do:

mkdir build && cd build
cmake -DBUILTIN_BAT=TRUE ..
make -j

This will build both BAT and KLFitter in the build sub-folder of the KLFitter directory. If you already have an existing installation of BAT, you can also link the KLFitter library against that version and not download BAT during the cmake build process. For that, make sure that the environment variable $BATINSTALLDIR points to the BAT installation directory and is exported. This variable will be used by FindBAT.cmake, which locates the BAT library. With a local version of BAT, the -DBUILTIN_BAT flag of the cmake command can be omitted, i.e. the KLFitter build procedure becomes:

mkdir build && cd build
cmake ..
make -j

For problems with the cmake configuration, please also refer to the Frequently Asked Questions.

Installation via Makefile (deprecated)

The repository also comes with a Makefile, although using cmake to build KLFitter is the recommended procedure. Compilation via Makefile assumes that you have a working installation of ROOT and BAT. The location of the BAT library is determined with the $BATINSTALLDIR variable, so make sure to set and export it. Then switch to the KLFitter repository directory and call

make -j all && make -j install

to compile KLFitter. The latter command will create a subdirectory build and copy the header and library files into that directory for external usage.

klfitter's Projects

klfitter icon klfitter

Repository hosting the KLFitter library – the Kinematic Likelihood Fitter.

klfitter.github.io icon klfitter.github.io

Repo for the KLFitter class reference guide. KLFitter is hosted at https://github.com/KLFitter/KLFitter.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.