Vít Kučera
High-energy physicist and enthusiastic programmer with an eye for detail and extensive experience in developing and optimising data analysis frameworks.
Proficient in C++, Python, and various data management tools on Linux platforms.
Ready to bring analytical skills and technical expertise.
Project contributions (non-exhaustive)
Central framework for statistical analysis of trillions of particle collisions recorded by the ALICE experiment at CERN. (570+ users)
Tools: C++, Python, JSON, YAML, GitHub actions, cpplint, cppcheck, clang-tidy, perf, valgrind
- Core of the heavy-flavour analysis framework
- Designed, developed and documented a new framework for reconstruction, identification and analysis of heavy-flavour particles. (180+ users)
- Coordinated a team of 40+ contributors in the early-development and validation stages.
- Selected contributions:
HfHelper
- Helper class for calculations of properties of heavy-flavour decay candidates.
utilsEvSelHf
- Utilities for event selection.
pidCreator
- Workflow to produce particle identification flags combined from several detectors.
DerivedTables
- Definition of the self-contained derived analysis data format.
utilsDerivedData
- Utilities for production of self-contained derived analysis data.
DecayChannels
- Definitions of decay channels relevant in reconstructed data and simulations.
- Utilities
RecoDecay
- Methods for calculating properties of reconstructed decays.
TrackSelectorPID
- Class for track selection using particle identification detectors.
trackUtilities
- Utilities for manipulating parameters of tracks and vertices.
PhysicsConstants
- Definitions of particle codes and masses.
- Productivity tools
- Code quality enhancement
- Systematically fixed compilation warnings and set CMake flags to treat them as errors in CI compilation tests.
- Configured and used cpplint and cppcheck to find and fix bugs.
- O2 linter - Linter to detect framework-specific (and some general C++) issues in the code.
- Integrated into CI and Visual Studio Code.
- Cleaned up header dependencies.
- Applied “Include what you use” with clang-tidy.
- Configured and used clang-format to sort and group
#include
directives.
- Wrote an awk script to fix include style.
- Proposed to add header compilation in the CI build tests.
- Configured and used clang-tidy to check and fix identifier names according to the project naming conventions.
- Continuous integration
- Set up GitHub action workflows for O2 linter and MegaLinter.
- PR title prefix checker - GitHub action to create or check a PR title prefix based on the PR labels.
- Set up the GitHub repository to suggest the PR title as the default merge commit title.
- Set up pre-commit hooks for formatting and linting.
- Configured dependabot for automated scheduled updates of GitHub actions.
- Knowledge sharing and user support
- Organised a hackathon and hands-on sessions at three collaboration-wide tutorial events for the new analysers.
- Provides user support to analysers.
- Initiated creation of an announcement channel to share important news affecting analysers in the community.
- Documentation
- Setup diagnostic tool for helping users remotely with their installations and framework setup.
Framework for automated parallelised local execution, testing and validation of any O2Physics analysis code on large local data samples. (73 users)
Developed to faciliate validation of new O2Physics code against the software used in the previous periods of LHC data taking.
Tools: Bash, Python, YAML, C++, JSON
- Author, developer, maintainer.
- Among several other utilities, it includes a maintenance script for automated maintenance of Git repositories and builds of development packages.
Package for high-energy physicists to perform detection optimisation and analysis of rare (heavy-flavour) particles produced in collisions at the LHC. (48 users)
Tools: Python, Pandas, YAML, Bash
- Analysis code
- Variation script to run the analysis with variations of parameters to assess systematic uncertainties of the results.
- Plotting utilities for preparation of figures for publications.
- Comparison tool for flexible numeric and visual comparison of objects in two output files and result validation.
- Continuous integration
- Set up pre-commit hooks for formatting and linting.
- Configured dependabot for automated scheduled updates of GitHub actions.
- Set up GitHub action workflows for MegaLinter.