|
| 1 | +--- |
| 2 | +title: MCnet/LHAPDF - Test suite and coverage for parton density calculations |
| 3 | +layout: gsoc_proposal |
| 4 | +project: MCnet |
| 5 | +year: 2023 |
| 6 | +organization: |
| 7 | + - UofGlasgow |
| 8 | +difficulty: easy |
| 9 | +duration: 175 |
| 10 | +mentor_avail: June-October |
| 11 | +--- |
| 12 | + |
| 13 | +# Description |
| 14 | + |
| 15 | +The Large Hadron Collider smashes protons into each other at the highest |
| 16 | +energies humanity has ever engineered. Protons are a very convenient type of |
| 17 | +particle for our high-energy beams : they are plentiful, and they don't lose |
| 18 | +(lots of) energy like electrons do when accelerated around the LHC ring. But |
| 19 | +they are not *fundamental* particles: they are made up of a tightly bound |
| 20 | +collection of smaller particles, and to make the most out of LHC experiments we |
| 21 | +need to understand both what we do and don't know about the internal structure |
| 22 | +of the proton that these objects induce. We encode this through so-called parton |
| 23 | +density functions, or PDFs. |
| 24 | + |
| 25 | +The [LHAPDF](https://lhapdf.hepforge.org) C++ library is the LHC's standard |
| 26 | +system for supplying PDF data to both experiments and theory |
| 27 | +calculations. Several years ago it was rewritten from scratch to make it more |
| 28 | +flexible and maintainable, but extensions are now needed. This project will put |
| 29 | +in place a far more complete regression-testing suite and code-coverage |
| 30 | +monitoring to ensure that these new developments preserve the current behaviours, |
| 31 | +which the whole LHC programme depends on being stable. |
| 32 | + |
| 33 | + |
| 34 | +## Task ideas |
| 35 | + |
| 36 | +This project will add continuous-integration (CI) tests in the GitLab system, to |
| 37 | +ensure that all aspects of the LHAPDF calculations are tested on a scalable rota, |
| 38 | +and introduce CI testing of code quality. The intention is to ensure the |
| 39 | +stability of LHAPDF established behaviours to high precision, to give required |
| 40 | +confidence when making new releases and developing new features. The project can |
| 41 | +also include more physics-oriented work for a suitable candidate. |
| 42 | + |
| 43 | + |
| 44 | +## Expected results and milestones |
| 45 | + |
| 46 | + * Familiarise with the LHAPDF framework from interface to calculation components; |
| 47 | + * Familiarise with current LHAPDF CI tests and the GitLab config system; |
| 48 | + * Design and present a new proposal of CI tests to provide feature coverage, |
| 49 | + with a CPU-efficient test schedule, targeting of change-driven tests, and |
| 50 | + a full-suite pre-release test-set; |
| 51 | + * Set up a Mac-based CI test worker, either virtual or physical, and incorporate |
| 52 | + in the test system; |
| 53 | + * Incorporate a trial SonarCloud scan of the LHAPDF codebase, to identify code |
| 54 | + quality issues. |
| 55 | + |
| 56 | + |
| 57 | +## Requirements |
| 58 | + |
| 59 | + * C++ |
| 60 | + * Python |
| 61 | + * CI testing |
| 62 | + * git |
| 63 | + |
| 64 | + |
| 65 | +## Mentors |
| 66 | + |
| 67 | + * **[Andy Buckley](mailto:andy.buckley@cern.ch)** |
| 68 | + * [Max Knobbe](mailto:max.knobbe@uni-goettingen.de) |
| 69 | + |
| 70 | + |
| 71 | +## Links |
| 72 | + |
| 73 | + * [LHAPDF](https://lhapdf.hepforge.org) |
0 commit comments