Speaker
Description
Over the last seven years the software stack of the next generation B factory experiment Belle II has grown to over one million lines of C++ and Python code, counting only the part included in offline software releases. This software is used by many physicists for their analysis, many of which will be students with no prior experience in HEP software. A beginner-friendly and up-to-date documentation is vital for quick and efficient analysis.
High energy physics experiments have traditionally been documented using a mix of wiki pages and auto generated C++ documentation. This approach has a few drawbacks: much of the documentation which is not directly code related is prone to become outdated and the C++ documentation is seldom suited for new users.
Sphinx, the well known documentation tool for Python, is aimed at providing a single, structured manual. It provides comfortable support for automatic Python documentation. Moreover it can be easily extended and thus allows us to document most of our custom concepts in an automated manner using ROOT to expose the necessary interface to Python.
This contribution will show our ongoing efforts to provide a beginner friendly user manual for the Belle II software using a novel combination of Sphinx and custom extensions to provide up to date automatic documentation of our framework and analysis tools.