We are happy to accept contributions to madanalysis5 via
Pull Requests to our GitHub repository.
You can begin this with forking the main repository.
Unless there is a very small fix that does not require any discussion, please always first open an issue to discuss your request with the development team. For a good example, please check out the PR #12 proposed by Matthew Feickert (@matthewfeickert).
If the desired change is not limited to a couple of lines of code, please create a draft pull request. This draft should detail the context of the change, its description and the benefits of the implementation.
- If there is a change within the
SampleAnalyzercode (thec++core ofMadAnalysis5), please provide information on the backwards compatibility tests that have been done. These should preferably include the running of a selected set of PAD analyses with different backends (i.e.SFS,Delphesand/or theMA5tune), and rely on a large enough event sample to make sure everything runs smoothly. - If there is a change within the Python interface of the program, please proceed with standard tests such as plotting existing variables in the partonic, hadronic and reconstructed mode.
- Please additionally make sure to add examples on how to use the new implementation.
- If there are any drawbacks of your implementation, these should be specified. Possible solutions should be offered, if any.
Here are the steps to follow to make a pull request:
- Fork the
madanalysis5repository. - Open an issue and discuss the implementation with the developers.
- Commit your changes to a feature branch on your fork and push all your changes there.
- Start a draft pull request (see above) and let the developers know about your
progress. If there is a branch named
dev, please propose to merge to that branch. Otherwise, please proceed withmain. - Pull the main (or
dev, if exists) branch to make sure that there is no conflict with the current developments of the code. - Make sure that you have added your name to the list of contributors in
doc/CONTRIBUTORS.mdand modify appropriate section ofdoc/releases/changelog-dev.md. - Once you are done, request one of the maintainers to review your PR.