Umami merge requestshttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests2022-04-05T18:36:33+02:00https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/501Extend flexibility in input var plotting functions2022-04-05T18:36:33+02:00Joschka BirkExtend flexibility in input var plotting functions## Summary
This MR introduces the following changes
* using `**kwargs` in the plotting functions, allowing to specify any parameter that is understood in the plotting API (in this case the `histogram_plot` class) in the config file for...## Summary
This MR introduces the following changes
* using `**kwargs` in the plotting functions, allowing to specify any parameter that is understood in the plotting API (in this case the `histogram_plot` class) in the config file for plotting
* removed the `check_kwargs_var_plots` function
* moved the "kwargs translation" (for backwards compatibility) to the high-level functions in `plot_input_vars.py` (--> kwargs are translated to new naming right away, such that the new naming is used consistently afterwards)
* making `histogram_plot` functions less verbose (`logger.info` -> `logger.debug`), to reduce stdout in large plotting scripts
* adding a script that converts the "Parameters" section of certain docstrings to markdown tables. The resulting files can then be used in the docs (using our placeholder syntax we introduced in !476)
## Example
With this change, you can now e.g. remove the ATLAS branding from the input var plots by simply adding `atlas_brand: ""` to the `plot_settings` in the config:
<img src="/uploads/668c189f5dbb218c5ed3d2d028d6f55c/nTracks_per_Jet_All.png" height=500>
-->
<img src=/uploads/24e13d84e1c13e6e42998a4d1ba206b2/image.png height=200>
-->
<img src=/uploads/f1bf9920b2a34750feca933089d62dcc/nTracks_per_Jet_All.png height=500>
Relates to the following issues
* #147
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Joschka BirkJoschka Birkhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/476Adding code blocks to docs directly from repo2022-04-05T14:25:06+02:00Joschka BirkAdding code blocks to docs directly from repo## Summary
This MR introduces the following changes
* Automated replacement of file-placeholders in documentation using a simple python script. This allows to get rid of code blocks in cases where we copy over whole files.
Relates to ...## Summary
This MR introduces the following changes
* Automated replacement of file-placeholders in documentation using a simple python script. This allows to get rid of code blocks in cases where we copy over whole files.
Relates to the following issues
* First step towards #111
### Example
The file placeholders of the form `§§§<filename>:<start>:<end>§§§` in the markdown file on the left will be replaced with the content of the actual files (from line `<start>` to line `<end>`), resulting in the docs page on the right. This all happens in the CI pipeline, such that the actual files of the repo are untouched.
![image](/uploads/f73b87361a151e70561f8a40a3ab0126/image.png)
## ToDos
- [x] make script more general such that we don't have to modify the ci config every time a new script needs replacements (probably the script should just go throught all documentation files)
- [x] add support for line numbers
- [x] change to syntax `§§§<filename>:start:end§§§`
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Joschka BirkJoschka Birkhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/396adding plotting module2022-02-11T13:37:58+01:00Manuel Guthadding plotting modulethis MR introduces a new module `umami.plotting` (open for other name suggestions) which moves the plotting into one module using class syntax making everything more modular and then easier to call via python API
in this first step the ...this MR introduces a new module `umami.plotting` (open for other name suggestions) which moves the plotting into one module using class syntax making everything more modular and then easier to call via python API
in this first step the roc curves are being introduced
- `figure_base` class having all the information about the figure and its over all style
- `roc` class containing info about one roc curve and allows to calculate the ratio to another roc curve etc.
do people haven thoughts about this new way of doing things? @alfroch @pgadow @svanstro @birk
first step towards #100
An example how the roc plotting is done now
```python
from umami.plotting import roc, roc_plot
plot_roc = roc_plot(
n_ratio_panels=2, ylabel="background Rejection", xlabel="b-jets efficiency"
)
plot_roc.add_roc(
roc(
sig_eff,
rnnip_ujets_rej,
n_test=100000,
rej_class="ujets",
signal_class="bjets",
label="RNNIP",
colour="#AA3377",
),
reference=True,
)
plot_roc.add_roc(
roc(
sig_eff,
dips_ujets_rej,
n_test=100000,
rej_class="ujets",
signal_class="bjets",
label="DIPS",
colour="#228833",
),
)
plot_roc.add_roc(
roc(
sig_eff,
rnnip_cjets_rej,
n_test=100000,
rej_class="cjets",
signal_class="bjets",
label="RNNIP",
colour="#AA3377",
),
reference=True,
)
plot_roc.add_roc(
roc(
sig_eff,
dips_cjets_rej,
n_test=100000,
rej_class="cjets",
signal_class="bjets",
label="DIPS",
colour="#228833",
),
)
plot_roc.set_ratio_class(1, "ujets")
plot_roc.set_ratio_class(2, "cjets")
plot_roc.draw(
rlabel=[
"light-flavour jets ratio",
"c-jets ratio",
],
leg_class_labels=[
"light-flavour jets rejection",
"c-jets rejection",
],
)
plot_roc.savefig("roc.pdf")
```https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/740Integration of upp pre-processing package into umami framework2023-11-29T11:36:38+01:00Ivan OleksiyukIntegration of upp pre-processing package into umami framework## Summary
This MR introduces the following changes
* possibility to comfortably use upp preprocessing in umami framework,
basically one can now do all the same pre-processing steps but with using upp config file (with some tweaks)!
*...## Summary
This MR introduces the following changes
* possibility to comfortably use upp preprocessing in umami framework,
basically one can now do all the same pre-processing steps but with using upp config file (with some tweaks)!
* examples on how to utilise upp config file in preprocessing
Relates to the following issues
* https://github.com/umami-hep/umami-preprocessing/pull/30
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/240
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/233
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/234
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/231
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Rewrite PreprocessingIvan OleksiyukIvan Oleksiyukhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/724Removing unused preprocessing UnderSamplingProp + Fixing coverage issue2023-04-18T14:00:47+02:00Alexander FrochRemoving unused preprocessing UnderSamplingProp + Fixing coverage issue## Summary
This MR introduces the following changes
* Removes the unused `UnderSamplingProp` method from resampling methods.
* Fixing a bug in the artefacts so that some coverage files were not correctly saved.
## Conformity
- [x] [Ch...## Summary
This MR introduces the following changes
* Removes the unused `UnderSamplingProp` method from resampling methods.
* Fixing a bug in the artefacts so that some coverage files were not correctly saved.
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [X] [Documentation](https://umami-docs.web.cern.ch)
- [X] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [X] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/540Moving to puma package2022-05-18T14:30:13+02:00Manuel GuthMoving to puma package## Summary
This MR introduces the following changes
* switching to [puma package](https://github.com/umami-hep/puma) as plotting API
Relates to the following issues
* relates to https://gitlab.cern.ch/atlas-flavor-tagging-tools/algo...## Summary
This MR introduces the following changes
* switching to [puma package](https://github.com/umami-hep/puma) as plotting API
Relates to the following issues
* relates to https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/168
*
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/522renaming variables to match snake_case style2022-04-19T17:27:42+02:00Manuel Guthrenaming variables to match snake_case style## Summary
This MR introduces the following changes
* Renaming a bunch of functions and variables to match snake_case style
Relates to the following issues
* first step towards https://gitlab.cern.ch/atlas-flavor-tagging-tools/algori...## Summary
This MR introduces the following changes
* Renaming a bunch of functions and variables to match snake_case style
Relates to the following issues
* first step towards https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/167
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/511Adding URL support to placeholder syntax2022-04-11T16:45:45+02:00Joschka BirkAdding URL support to placeholder syntax## Summary
This MR introduces the following changes
* adding support for specifying a URL in the markdown placeholders
## Example
It works just like the placeholders we already use, but for a url the syntax changes from `§§§<filename>...## Summary
This MR introduces the following changes
* adding support for specifying a URL in the markdown placeholders
## Example
It works just like the placeholders we already use, but for a url the syntax changes from `§§§<filename>:<start>:<end>§§§` to `§§§url="<url>":<start>:<end>§§§`
The left side shows a placeholder with a URL specified. On the right side you see the inserted content of the file living at this URL after rendering the md file.
<img src=/uploads/a1ca8bd3ead9d2dc0e137fbeacd4b107/image.png width=1500>
## Conformity
- ~[ ] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)~
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- ~[ ] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)~Joschka BirkJoschka Birkhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/482slim image update2022-03-16T08:55:55+01:00Manuel Guthslim image update## Summary
This MR introduces the following changes
* updates the umami slim image
Relates to the following issues
* closes #151
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/uma...## Summary
This MR introduces the following changes
* updates the umami slim image
Relates to the following issues
* closes #151
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/480Add example plots to docs2022-03-16T15:18:47+01:00Joschka BirkAdd example plots to docs## Summary
This MR introduces the following changes
* adds a job to the CI pipeline which runs the example scripts in `examples/plotting` and hands the resulting plots as artifacts to the job which creates the docs
* updates in the doc...## Summary
This MR introduces the following changes
* adds a job to the CI pipeline which runs the example scripts in `examples/plotting` and hands the resulting plots as artifacts to the job which creates the docs
* updates in the docs, adding the above mentioned plots
* adds docs section for pt_vs_eff plot
* adds optional `add_pt` argument to dummy data
* fixing small bug in `replace_placeholders_in_md.py` which resulted in one line missing at the end
Relates to the following issues
* first step towards #159
The result is that we can add the output plot of an example script directly to the docs, which then also corresponds to the most recent version of the code.
<img src="/uploads/4ad17c915dd654bd2c15dbb7bd840225/image.png" height="800">
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- ~~[x] [Documentation](https://umami-docs.web.cern.ch)~~
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Joschka BirkJoschka Birkhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/475dummy data generation2022-03-14T10:55:42+01:00Manuel Guthdummy data generation## Summary
This MR introduces the following changes
* ability to generate dummy data, especially for plotting tests
* reorganises plotting python API docs
* deactivates umami slim image creation in all branches
## Conformity
- [x] [C...## Summary
This MR introduces the following changes
* ability to generate dummy data, especially for plotting tests
* reorganises plotting python API docs
* deactivates umami slim image creation in all branches
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/421Updating doc strings for yaml tools2022-02-15T21:21:58+01:00Manuel GuthUpdating doc strings for yaml toolshttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/407adding black in ci2022-02-09T14:48:11+01:00Manuel Guthadding black in cihttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/405Adding integration test for evaluation without a freshly trained tagger2022-02-09T13:30:04+01:00Alexander FrochAdding integration test for evaluation without a freshly trained taggerThis MR adds a integration test for the evaluation without a freshly trained tagger.This MR adds a integration test for the evaluation without a freshly trained tagger.Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/330Fixing typo check in input variable plotting2022-01-11T11:51:59+01:00Alexander FrochFixing typo check in input variable plottingThis MR fixes #108. Correct checks are added and unit tests to check the behavior are implemented.
Closes #108This MR fixes #108. Correct checks are added and unit tests to check the behavior are implemented.
Closes #108Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/322Kaniko Docker Builder2021-12-17T14:16:36+01:00Jackson BarrKaniko Docker BuilderChanging docker building to use the Kaniko builder, addressing #87.
closes #87Changing docker building to use the Kaniko builder, addressing #87.
closes #87https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/302move weights calculation to resampling2021-12-21T18:29:58+01:00Frederic Rennermove weights calculation to resamplingRemove weight initialization from prepare and move the weights calculation to the write step. Also moved the options for the weighting procedure into the sampling options of the preprocess config.
Closes #96Remove weight initialization from prepare and move the weights calculation to the write step. Also moved the options for the weighting procedure into the sampling options of the preprocess config.
Closes #96Frederic RennerFrederic Rennerhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/290running black on umami2021-12-06T14:12:51+01:00Frederic Rennerrunning black on umamihttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/192Add weighting class2021-12-01T11:32:57+01:00Frederic RennerAdd weighting classThis adds the Weighting class to calculate sample_weights as a preprocessing method. I also did some general refactoring from the ```Undersampling``` class into the ```Resampling``` base class to avoid code duplication. I would like to h...This adds the Weighting class to calculate sample_weights as a preprocessing method. I also did some general refactoring from the ```Undersampling``` class into the ```Resampling``` base class to avoid code duplication. I would like to hear your opinion on it.
Closes #64https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/746Update paper branch2023-11-22T10:04:08+01:00Philipp GadowUpdate paper branch## Summary
This MR introduces the following changes
* adds a "how to contribute" section to the documentation
* adds a tutorial based on the JetClass dataset
Relates to the following issues
* https://github.com/umami-hep/umami/issues...## Summary
This MR introduces the following changes
* adds a "how to contribute" section to the documentation
* adds a tutorial based on the JetClass dataset
Relates to the following issues
* https://github.com/umami-hep/umami/issues/4
* https://github.com/umami-hep/umami/issues/2
* https://github.com/umami-hep/umami/issues/1
## Conformity
- [ ] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [x] [Documentation](https://umami-docs.web.cern.ch)
- [x] [Development guidelines](https://umami-docs.web.cern.ch/setup/development/)
- [x] [Style guides](https://umami-docs.web.cern.ch/setup/development/good-practices/)Philipp GadowPhilipp Gadow