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
- Add renaming script
- Clean up cmake files
- Document features/convention