Fast simulation is an essential first step in many HEP analyses. However, the current fast detector simulation toolkits have been written when parallelization and concurrency programming were not yet widely shared concerns.
fads is a re-engineering in Go, addressing such concerns.
fads
is heavily inspired from Delphes and tries to match bit-by-bit the physics results of its C++
counterpart, with a better multicore scalability, leveraging the concurrency features of Go.
fads
currently uses a very naive and CPU hungry jet clustering scheme which scales badly with the combinatorics involved at LHC multiplicities.
For fads
to be competitive in real life scenarii, this needs to be fixed.
The proposed project aims at implementing a faster jet clustering strategy, using Delaunay triangulation. FastJet uses CGAL to achieve performances in O(N ln N) for Cambridge/Aachen and O(N^{3/2}) for anti-kt.
We propose the following steps:
testing
benchmark suitefads
and plug it into the performance regression testsWorking implementation of a O(N ln N) clustering strategy.
Go, C/C++ (to read legacy code and translate it into Go), git.