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
SampleAnalyzer
code (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
,Delphes
and/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
madanalysis5
repository. - 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.md
and modify appropriate section ofdoc/releases/changelog-dev.md
. - Once you are done, request one of the maintainers to review your PR.