Skip to content

Conversation

@siranipour
Copy link
Contributor

We now dispatch covmats purely from python. Addresses various points including #1476 (comment) and #1475 (comment)

Let's see what the tests do

@scarlehoff
Copy link
Member

I've rebased your commit on top of #1430 to see whether the test passes also there https://github.com/NNPDF/nnpdf/runs/4333530141?check_suite_focus=true

@siranipour
Copy link
Contributor Author

Looks like the linux tests are passing on the rebase

@scarlehoff scarlehoff linked an issue Nov 26, 2021 that may be closed by this pull request


@check_dataset_cuts_match_theorycovmat
def covmat(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where has all this code and documentation gone? How are the norm_threshold and use_weights_in_covmat arguments handled?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The weights are used in the lower level functions

use_weights_in_covmat=True,

@Zaharid
Copy link
Contributor

Zaharid commented Nov 26, 2021

I am a bit worried that this is going to obscure --help for various things a bit too much. Admittedly that is because reportengine sucks in that regard. That could possibly be remedied with a tutorial on chi²s which we clearly need for other reasons.

@Zaharid
Copy link
Contributor

Zaharid commented Nov 26, 2021

It would be good to have tests that cover the various options passed to the covmat. E.g. the thing with the norm_threshold clearly should have failed something.

@siranipour
Copy link
Contributor Author

I am a bit worried that this is going to obscure --help for various things a bit too much. Admittedly that is because reportengine sucks in that regard. That could possibly be remedied with a tutorial on chi²s which we clearly need for other reasons.

Yeah I couldn't figure out how to do this without having a dummy function which the explicit_node could dispatch on. Let me know if you can think of a better alternative, I was thinking perhaps I've missed something obvious

It would be good to have tests that cover the various options passed to the covmat. E.g. the thing with the norm_threshold clearly should have failed something.

will add now

@Zaharid
Copy link
Contributor

Zaharid commented Nov 26, 2021

One thing I'd like to do someday is have a more restricted version of explict_node that looks like

produce_covmat_t0_considered = dispatch_node(on="use_t0", {True: covmats.t0_covmat_from_systematics, False: covmat_from_systematics})

which does the same thing but additionally knows how to follow the possibilities and produce help.

@siranipour
Copy link
Contributor Author

Yes that would be nice, since it could then dispatch another dispatch_node which is the problem I was having here.

@scarlehoff
Copy link
Member

Should I / Can I rebase #1430 on top of this one already or are more changes needed?

@siranipour
Copy link
Contributor Author

siranipour commented Nov 29, 2021 via email

@Zaharid
Copy link
Contributor

Zaharid commented Nov 29, 2021

It seems ok. I would hope that the documentation challenges are addressed by #1478.

@siranipour
Copy link
Contributor Author

Shall we merge this?

Copy link
Member

@scarlehoff scarlehoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm in favour of merging since everything seems to work in this one and also down the line (#1430 )

@scarrazza scarrazza merged commit 6eb7fdb into master Dec 1, 2021
@scarrazza scarrazza deleted the dispatch_python branch December 1, 2021 15:20
@Zaharid Zaharid added the enhancement New feature or request label May 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

destroyingc++ enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

np.exp() makes libNNPDF fail down the line

5 participants