Skip to content
Snippets Groups Projects
Forked from EIC / detectors / athena
Source project has a limited visibility.
Name Last commit Last update
cmake
examples
src
CMakeLists.txt
README.md

GenFind

GenFit: existing package with good general fitting framework for a number of detectors.

Requires already found seed tracks.

Basic, general finding algorithm needed, this basic functionality to be provided by GenFind, this package.

Track hit pruning, optimization algorithms in GenFit make even imperfect Finding algorithm sufficient.

Proposal:

Simple transform (Hough or otherwise) to feature space given event hits, binning, and maximum bin selection process to identify candidate hits.

Need:

Transforms suitable to geometry, B field. (Hough transform first) Data structure to hold candidate hits. (vector of slcio hit type?) API of functions to talk to GenFit, dd4hep (TGeo geometry, as necessary)

Wrap this, and Genfit, in Marlin Processors to actually use.

Project Template

GenFind built on top of template cmake build including Root-compatible library creation and access to root data types. Template documentation follows:

A project template for building shared libraries and binaries with cmake. It also installs headers and the proper cmake files so that you can use find_package(this_project) in subsequent cmake builds.

Getting started

Here we install to your home directory (instead of /usr/local):

git clone https://github.com/whit2333/project_template.git
mkdir project_build
cd project_build
cmake ../project_template/. -DCMAKE_INSTALL_PREFIX=$HOME
make && make install
export PATH=$HOME/bin:$PATH                         # if it is not included already
export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH   # if it is not included already

Make sure the last two lines are in your bashrc if not a standard location.

Comments

This template is not meant to be the best example and it is probably not using the most current features of cmake. So please don't use it as a sole source for learning cmake because cmake has wonderful documentation.

It is meant to provide a quick starting point.

Please feel free to send questions or comments to Whitney Armstrong (whit@jlab.org). Also pull requests are greatly appreciated!

Todo

  1. Add renaming script
  2. Clean up cmake files
  3. Document features/convention