|
| 1 | +--- |
| 2 | +title: ROOT Documentation |
| 3 | +layout: gsdocs_proposal |
| 4 | +project: ROOT |
| 5 | +year: 2020 |
| 6 | +organization: |
| 7 | + - CERN |
| 8 | +--- |
| 9 | + |
| 10 | +## Description of project idea |
| 11 | + |
| 12 | +The ROOT system [1] [2] is the main data analysis and data presentation tool used in high |
| 13 | +energy physics world-wide. More than 1 exabyte of data are stored in the ROOT format. |
| 14 | + |
| 15 | +ROOT is being made available under the LGPL 2.1+, which allows |
| 16 | +ROOT to be used in a wide range of open and closed environments. |
| 17 | + |
| 18 | +ROOT it is written in C++ with dynamic Python bindings. Thanks to its |
| 19 | +capabilities and performance it is also used in industry. |
| 20 | + |
| 21 | +ROOT's documentation and web site are a key parts of the ROOT project [6]. They are |
| 22 | +evolving in parallel and complement each other. The basis is the reference Guide [4] |
| 23 | +documenting all the ROOT C++ components. A large set of tutorials [5], helping to |
| 24 | +enter the ROOT world, is also provided. And finally a "Manual" |
| 25 | +guides users trough the ROOT tools and concepts [7]. |
| 26 | + |
| 27 | +ROOT's documentation needs to be improved in various areas: |
| 28 | + - It is difficult for non-physicists. |
| 29 | + - Some important parts like the Python bindings are weakly documented. |
| 30 | + - We are missing tutorials illustrating the functionalities provided by ROOT 7. |
| 31 | + - New key data format need detailed Technical specifications. |
| 32 | + |
| 33 | +## Tasks |
| 34 | + |
| 35 | + Possible tasks might include: |
| 36 | + |
| 37 | +- Because ROOT's documentation is mainly physics-oriented, it is more |
| 38 | + difficult for non-physicists to pick up ROOT. The Manual should address this. |
| 39 | +- The ROOT Python bindings suffers from a lack of documentation. It should be extended in |
| 40 | + the reference guide. |
| 41 | +- Series of new "tutorials for modern analysis" is needed to illustrate the |
| 42 | + functionalities provided by ROOT 7. |
| 43 | +- RNTuple is the new data format ROOT will provide in the future. It will be the sucessor |
| 44 | + of the TTree object which is used to stored the 1 exabyte of data previously mentioned. |
| 45 | + Therefore, detailed Technical specifications of this new object is crucial. |
| 46 | + |
| 47 | +## Project duration |
| 48 | + |
| 49 | +This is expected to be a long (6 months) project which will possibly continue |
| 50 | +after this period. |
| 51 | + |
| 52 | +## Related material |
| 53 | + |
| 54 | + 1. [ROOT web site](https://root.cern) |
| 55 | + 2. [ROOT GiHub repository](https://github.com/root-project/) |
| 56 | + 3. [ROOT User's Guide](https://root.cern/guides/users-guide) |
| 57 | + 4. [ROOT Reference Guide](https://root.cern/doc/master/) |
| 58 | + 5. [ROOT tutorials](https://root.cern/doc/master/group__Tutorials.html) |
| 59 | + 6. [ROOT web site GitHub repository](https://github.com/root-project/web) |
| 60 | + 7. [ROOT manual in the web site](https://root-project.github.io/web/manual/) |
| 61 | + |
| 62 | +## Expected results |
| 63 | + |
| 64 | +The deliverables of the projects will be directly visible online in the various area |
| 65 | +mentioned in the "Tasks" paragraph. The writers will directly commit his work as pull |
| 66 | +requests to the web site repository. |
| 67 | + |
| 68 | +The minimum results for each task to consider the project successful are: |
| 69 | + |
| 70 | +- Make sur the manual, at least in the introductory part of each section, does not |
| 71 | + require physics knowledges. |
| 72 | +- With the help of the ROOT Python experts implement the structure of a guide for ROOT python |
| 73 | + bindings. |
| 74 | +- Start to implement new "tutorials for modern analysis" to illustrate the |
| 75 | + functionalities provided by ROOT 7. |
| 76 | +- At least a skeleton of the RNTuple Technical specifications should be implemented. |
| 77 | + |
| 78 | +## Experience required |
| 79 | + |
| 80 | +Besides good technical writer skills, the following additional technical skills are mandatory: |
| 81 | + |
| 82 | + - Programming Knowledges (python and C++) |
| 83 | + - Web coding (html, markdown, jekyll, etc ..) |
| 84 | + - Tools : git/github |
| 85 | + |
| 86 | +## Mentors |
| 87 | + |
| 88 | + * [Olivier Couet ](mailto:[email protected]) |
| 89 | + * [Axel Naumann ](mailto:[email protected]) |
0 commit comments