Umami merge requestshttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests2023-11-22T10:04:08+01:00https://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 Gadowhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/741Black mismatch2023-10-16T18:55:41+02:00Ivan OleksiyukBlack mismatch## Summary
This MR introduces the following changes
* Changes to black==23.3 in CI as it is stated in dev-requirements
## Conformity
- [ ] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/ma...## Summary
This MR introduces the following changes
* Changes to black==23.3 in CI as it is stated in dev-requirements
## 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/)Ivan OleksiyukIvan Oleksiyukhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/739Change truth label names2023-10-30T15:37:02+01:00Philipp GadowChange truth label names## Summary
This MR introduces the following changes
* Change truth label names to account for changes in DAODs (see salt MR here: https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/salt/-/merge_requests/142/diffs)
## Conform...## Summary
This MR introduces the following changes
* Change truth label names to account for changes in DAODs (see salt MR here: https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/salt/-/merge_requests/142/diffs)
## 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/)Philipp GadowPhilipp Gadowhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/722Adding plot_type to Preprocessing configs2023-04-17T13:17:25+02:00Alexander FrochAdding plot_type to Preprocessing configs## Summary
This MR introduces the following changes
* Adding the option `plot_type` to the preprocessing config which sets the plot type of all plots which are created during preprocessing. This is optional and backward compatible. The...## Summary
This MR introduces the following changes
* Adding the option `plot_type` to the preprocessing config which sets the plot type of all plots which are created during preprocessing. This is optional and backward compatible. The default (if `plot_type` is not given in the config) is pdf.
## 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/714Adding duplicated jets plot to after resampling plots2023-03-28T15:33:04+02:00Alexander FrochAdding duplicated jets plot to after resampling plots## Summary
This MR introduces the following changes
* Adding a histogram how often a jet is duplicated (Duplicated_jet_multiplicity.pdf)
* Fixing preprocessing plots for hybrid resampling (plots are overwritten when the hybrid resampli...## Summary
This MR introduces the following changes
* Adding a histogram how often a jet is duplicated (Duplicated_jet_multiplicity.pdf)
* Fixing preprocessing plots for hybrid resampling (plots are overwritten when the hybrid resampling starts, this is fixed now)
The new plots look like this:
<img src="/uploads/a7804c5f0ceda3e80f6feea4d02d4240/Duplicated_jet_multiplicity.png" width="600" height="450">
## 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/692Adding figsize argument to train configuration2023-01-26T12:05:50+01:00Alexander FrochAdding figsize argument to train configuration## Summary
This MR introduces the following changes
* Adding `figsize` argument to the `train_config` configuration file to adapt the figure size for the training validation plots.
## Conformity
- [x] [Changelog entry](https://gitlab...## Summary
This MR introduces the following changes
* Adding `figsize` argument to the `train_config` configuration file to adapt the figure size for the training validation plots.
## 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/675Rewriting train config Configuration2022-12-06T17:03:27+01:00Alexander FrochRewriting train config Configuration## Summary
This MR introduces the following changes
* Adding dataclasses for the train_config.
Relates to the following issues
* Closes #208
* #181 for the train configs
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch...## Summary
This MR introduces the following changes
* Adding dataclasses for the train_config.
Relates to the following issues
* Closes #208
* #181 for the train configs
## 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/673Moving/adding checks for options to train_config configuration2022-11-23T15:11:58+01:00Alexander FrochMoving/adding checks for options to train_config configuration## Summary
This MR introduces the following changes
* Moving check for `working_point` and `n_jets` to train_config configuration for validation/evaluation with a freshly trained tagger.
* Adding check for `frac_values` to train_config...## Summary
This MR introduces the following changes
* Moving check for `working_point` and `n_jets` to train_config configuration for validation/evaluation with a freshly trained tagger.
* Adding check for `frac_values` to train_config configuration for validation/evaluation with a freshly trained tagger.
* Adding checks for `tagger` and `frac_values_comp` to the train_config configuration for the validation/evaluation without a freshly trained tagger.
* Removing unused checks in various places for the moved/added checks.
* Adding unit tests for the configuration for the new checks
Relates to the following issues
* Closing #208
## 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/669Fixing pylint invalid-name errors2022-11-14T16:43:06+01:00Manuel GuthFixing pylint invalid-name errors## Summary
This MR introduces the following changes
* Fixes the `invalid-name` errors of pylint
Relates to the following issues
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/194
* closes https://gitlab...## Summary
This MR introduces the following changes
* Fixes the `invalid-name` errors of pylint
Relates to the following issues
* https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/issues/194
* closes 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)https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/666Allow for cuts when plotting input variables2022-12-15T12:13:22+01:00Philipp GadowAllow for cuts when plotting input variables## Summary
This MR introduces the following changes
* a `cut_vars_dict` needs to be supplemented when plotting the input variables of jets, tracks, and the track multiplicity
* documentation and example files are modified accordingly
...## Summary
This MR introduces the following changes
* a `cut_vars_dict` needs to be supplemented when plotting the input variables of jets, tracks, and the track multiplicity
* documentation and example files are modified accordingly
## 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/)Philipp GadowPhilipp Gadowhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/658Adding support for combining track/jet inputs in input var plotting2022-10-31T17:59:53+01:00Alexander FrochAdding support for combining track/jet inputs in input var plotting## Summary
This MR introduces the following changes
* Enables the possibility to combine two track variables (or two jet variables) with each other and plot it then (for example, adding nPixHits and nSCTHits).
* Removing the need for a...## Summary
This MR introduces the following changes
* Enables the possibility to combine two track variables (or two jet variables) with each other and plot it then (for example, adding nPixHits and nSCTHits).
* Removing the need for a variable dict from the input variable plotting.
* Documentation is added.
* Example combination is added for both jets and tracks.
Tagging @vdao
## 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/655Fixing issue in the try except blocks of the preprocessing plots2022-10-21T14:56:39+02:00Alexander FrochFixing issue in the try except blocks of the preprocessing plots## Summary
This MR introduces the following changes
* Fixing an issue in the try except blocks of the preprocessing plots. The plots were not correctly made. This is fixed now
## Conformity
- [X] [Changelog entry](https://gitlab.cern....## Summary
This MR introduces the following changes
* Fixing an issue in the try except blocks of the preprocessing plots. The plots were not correctly made. This is fixed now
## 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/644Adding yaml to requirements2022-09-26T15:55:43+02:00Manuel GuthAdding yaml to requirements## Summary
This MR introduces the following changes
* Adding `yaml` to requirements mainly because in the `umami-slim` image no `yaml` is installed
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tool...## Summary
This MR introduces the following changes
* Adding `yaml` to requirements mainly because in the `umami-slim` image no `yaml` is installed
## Conformity
- [x] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [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/639Fix error calculation in ROC plots2022-09-16T09:15:41+02:00Joschka BirkFix error calculation in ROC plots## Summary
This MR introduces the following changes
* In the `evaluate_model.py` script: save the `n_jets_<flavour>` attribute for each dataset
--> Fixes wrong error calculation in ROC curves when using `plotting_umami.py`
## Conf...## Summary
This MR introduces the following changes
* In the `evaluate_model.py` script: save the `n_jets_<flavour>` attribute for each dataset
--> Fixes wrong error calculation in ROC curves when using `plotting_umami.py`
## 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/635readding #!/usr/bin/env python to executable scripts2022-09-12T11:52:59+02:00Manuel Guthreadding #!/usr/bin/env python to executable scripts## Summary
This MR introduces the following changes
* in https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/591 all the `#!/usr/bin/env python` were removed, they need to be added back now for the execu...## Summary
This MR introduces the following changes
* in https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/591 all the `#!/usr/bin/env python` were removed, they need to be added back now for the executable scripts, if not they are not able to run in the packaged images
## Conformity
- [ ] [Changelog entry](https://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/blob/master/changelog.md)
- [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/626Input variable plots: Add option to specify x-label strings2022-09-01T09:56:03+02:00Joschka BirkInput variable plots: Add option to specify x-label strings## Summary
This MR introduces the following changes
* Adds the option to specify a "xlabels" dict in the plotting config, which allows to specify xlabels for the input variables
<img src=/uploads/209b5038b18a365eb7c25ab4beb8dc2f/image...## Summary
This MR introduces the following changes
* Adds the option to specify a "xlabels" dict in the plotting config, which allows to specify xlabels for the input variables
<img src=/uploads/209b5038b18a365eb7c25ab4beb8dc2f/image.png width=900>
## 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/623Input variable plots: Adding support for dataset-specific class labels2022-08-29T10:00:50+02:00Joschka BirkInput variable plots: Adding support for dataset-specific class labels## Summary
This MR introduces the following changes
* adds support for specifying dataset-specific class labels. (Can be useful if you take e.g. light jets, c-jets and b-jets from one sample, but bb-jets from another. - You then don't ...## Summary
This MR introduces the following changes
* adds support for specifying dataset-specific class labels. (Can be useful if you take e.g. light jets, c-jets and b-jets from one sample, but bb-jets from another. - You then don't have to plot e.g. all the light jets from the "bb-sample").
Relates to the following issues
* Closes #169
## Example
If you specify `class_labels=["ujets", "cjets", "singlebjets", "bbjets"]` globally and then for one of the datasets (in this case "Z+jets") you specify `class_labels=["bbjets"]`, the resulting plot will look like this:
<img src=/uploads/ae78c4d64d05a697f76d6cb800cd3b12/image.png width=600>
## 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/621Apply naming scheme for WP and nEpochs2022-08-25T17:43:03+02:00Alexander FrochApply naming scheme for WP and nEpochs## Summary
This MR introduces the following changes
* Replaces all `WP` with `working_point`
* Replaces all `nEpochs` with `n_epochs`
Relates to the following issues
* Closes #167
## Conformity
- [X] [Changelog entry](https://gitla...## Summary
This MR introduces the following changes
* Replaces all `WP` with `working_point`
* Replaces all `nEpochs` with `n_epochs`
Relates to the following issues
* Closes #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_code/)Alexander FrochAlexander Frochhttps://gitlab.cern.ch/atlas-flavor-tagging-tools/algorithms/umami/-/merge_requests/619Fixing multiple issues with the fraction contour plots2022-08-17T18:39:05+02:00Alexander FrochFixing multiple issues with the fraction contour plots## Summary
This MR introduces the following changes
* Fixing an issue with the permutation calculation of the fraction values.
* Fixing marker position check. If the marker is not on the plotted line, an error will be raised.
* Fixing ...## Summary
This MR introduces the following changes
* Fixing an issue with the permutation calculation of the fraction values.
* Fixing marker position check. If the marker is not on the plotted line, an error will be raised.
* Fixing the plotting for multiple rejections with one or more `fixed_rejections`.
* Changing the `plottype` for the contour plots from `Frac_contour` to `fraction_contour`. For backward compatibility reasons, the old `Frac_contour` is still supported but a TODO is added to remove it in future versions.
* A little clean up in the `evaluate_model.py`
## 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/618Adding truth label to results file + Fix flavour retrieval in plotting2022-08-16T13:33:43+02:00Alexander FrochAdding truth label to results file + Fix flavour retrieval in plotting## Summary
This MR introduces the following changes
* **Note:** Unit test files changed! No pipeline will success until this is merged!
* Adding the jet truth labels to the results file produced by `evaluate_model.py` (Like `HadronCone...## Summary
This MR introduces the following changes
* **Note:** Unit test files changed! No pipeline will success until this is merged!
* Adding the jet truth labels to the results file produced by `evaluate_model.py` (Like `HadronConeExclTruthLablID`)
* Removing error prone flavour retrieval from plotting code. This was based on the order of `class_labels` (which needed to be similar to the ones in the preprocess/train config, otherwise this would lead to wrong flavour retrieval). Now it is based on the truth labels which are stored in the results file.
* Adding dummy empty `label` values for plotting. If you only want to plot one model without a model `label` and only the flavour names, this would produce (at the moment) an error. When no `label` is given for the model, an empty string is added to the `model_labels` list to keep the lists dimensionality correct.
* Fixing working point values in the discriminant plots. The x-value was given as label to `puma` which lead to wrong numbers above the vertical lines.
* Sorting the working points which are to be plotted in the discriminant plot in decreasing order so they are correctly printed when `same_height_WP` is `False`.
## 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 Froch