/k4RecTracker

Repository hosting tracker related reconstruction code (including vertex detector, outer tracker, tracking...)

Primary LanguageC++Apache License 2.0Apache-2.0

k4RecTracker

This repository hosts Gaudi components related to vertex and tracker reconstruction as well as tracking.

Dependencies

  • ROOT
  • PODIO
  • EDM4HEP
  • Gaudi
  • k4FWCore
  • DD4HEP

Installation

#go somewhere public (to help support team helping you to debug your code)
source /cvmfs/sw-nightlies.hsf.org/key4hep/setup.sh
git clone https://github.com/HEP-FCC/FCCDetectors
cd FCCDetectors
mkdir build install
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install
make install -j 8
cd ../../
export FCCDETECTORS=$PWD/FCCDetectors/;PATH=$PWD/FCCDetectors/install/bin/:$PATH;CMAKE_PREFIX_PATH=$PWD/FCCDetectors/install/:$CMAKE_PREFIX_PATH;LD_LIBRARY_PATH=$PWD/FCCDetectors/install/lib:$LD_LIBRARY_PATH;export PYTHONPATH=$PWD/FCCDetectors/install/python:$PYTHONPATH;LD_LIBRARY_PATH=$PWD/FCCDetectors/install/lib64:$LD_LIBRARY_PATH

git clone git@github.com:BrieucF/k4RecTracker.git
cd k4RecTracker
mkdir build install
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=../install
make install -j 8
cd ../../
export K4RECTRACKER=$PWD/k4RecTracker/install/share/k4RecTracker; PATH=$PWD/k4RecTracker/install/bin/:$PATH; CMAKE_PREFIX_PATH=$PWD/k4RecTracker/install/:$CMAKE_PREFIX_PATH; LD_LIBRARY_PATH=$PWD/k4RecTracker/install/lib:$PWD/k4RecTracker/install/lib64:$LD_LIBRARY_PATH; export PYTHONPATH=$PWD/k4RecTracker/install/python:$PYTHONPATH

The following should be called in the folder hosting both k4RecTracker and FCCDetectors each time you start a new session (even you do not need to re-build):

export FCCDETECTORS=$PWD/FCCDetectors/;PATH=$PWD/FCCDetectors/install/bin/:$PATH;CMAKE_PREFIX_PATH=$PWD/FCCDetectors/install/:$CMAKE_PREFIX_PATH;LD_LIBRARY_PATH=$PWD/FCCDetectors/install/lib:$LD_LIBRARY_PATH;export PYTHONPATH=$PWD/FCCDetectors/install/python:$PYTHONPATH;LD_LIBRARY_PATH=$PWD/FCCDetectors/install/lib64:$LD_LIBRARY_PATH
export K4RECTRACKER=$PWD/k4RecTracker/install/share/k4RecTracker; PATH=$PWD/k4RecTracker/install/bin/:$PATH; CMAKE_PREFIX_PATH=$PWD/k4RecTracker/install/:$CMAKE_PREFIX_PATH; LD_LIBRARY_PATH=$PWD/k4RecTracker/install/lib:$PWD/k4RecTracker/install/lib64:$LD_LIBRARY_PATH; export PYTHONPATH=$PWD/k4RecTracker/install/python:$PYTHONPATH

Installation with makefile

(first copy locally FCCDetectors as above and export the relevant variables)

Cloning:

git clone git@github.com:BrieucF/k4RecTracker.git

Installing:

cd k4RecTracker
make

Setting the environment:

source setup.sh

Fetching data:

make get_data

Repository content

  • DCHdigi: drift chamber digitization (for now, this step produces 'reco' collection)
  • ARCdigi: ARC digitization (for now, this step produces 'reco' collection)
  • VTXdigi: vertex detector digitization (for now, this step produces 'reco' collection)
  • Tracking: tracking algorithms orchestrating GenFit

Execute Examples

k4run DCHdigi/test/runDCHsimpleDigitizer.py
k4run ARCdigi/test/runARCdigitizer.py

Convention

For the syntax, try to follow the LLVM standards. You can format your code before to open a pull request with:

source /cvmfs/sft.cern.ch/lcg/contrib/clang/14.0.6/x86_64-centos7/setup.sh
clang-format -i path_to_your_file

References:

These could perhaps be useful for newcomers:

  1. lhcb-98-064 COMP
  2. Hello World in the Gaudi Framework