This is a standalone track reconstruction algorithm for the LHCb experiment based on a Cellular Automaton approach. The master repo contains everything needed, including 20 input files in the correct data structure.
You can use cmake and make to compile the repo; you'll need GCC 5.4+.
- cmake CMakeLists.txt
- make
- run using: ./CellularAutomaton pathToFolderContaintingData #FilesToBeProcessed
The thesis to the repo can be found here.
We used Processor Counter Monitor (PCM) to read several of the hardware counters. Its possible to add hardware counters for performance indicators such as FLOPs, Cache hit ratio, bytes read and written. You'll need the PCM repo from here.
Additionally, you'll need to uncomment 4 lines in the CMakeLists.txt file.
The src folder contains:
- main.cpp
- main_pcm.cpp (main file incase you want to use PCM)
- runCellularAutomaton.cpp (the actual CA algorithm)
- Tools.cpp (several functions for reading the input data by Daniel Campora.
The input folder contains 20 simulated event files.
The include folder contains:
- Common.h (defines things like the Event, doublet, track object)
- computation.h (header for runCellularAutomaton)
- Tools.h
The FLOPS folder contains a file detailing the umask of the used FLOP hardware counter.