-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce inconsistent fit closure test data #2180
base: master
Are you sure you want to change the base?
Conversation
5d33ab7
to
36371a3
Compare
…s it is done for the central values
36371a3
to
809dd6d
Compare
I would need to see chi2 / distances / etc. By running in parallel the seeding might happen differently at some stage but the initialization (if everything goes well) should be equivalent. By eye they look too different to me, but if all metrics are very close it could well be a random fluctuation. |
Looking at the plots I share @scarlehoff's impression, but indeed a full compare report including chi2s and distances would be needed to say it more conclusively. From Stefano's comments during the PC I have the impression that the paper is about to be finished, so I think this PR deserves some priority. It would be very good to have this merged before the paper is on arxiv, because otherwise I'm afraid it may never happen. |
Reimplements #1682
This pull request introduces a new class,
InconsistentCommonData
, to handle inconsistencies within closure tests and includes several related changes across multiple files. The most important changes include the addition of the new class, updates to the configuration parsing, and new filtering methods for handling inconsistent closure data.New Class and Methods:
validphys2/src/validphys/closuretest/inconsistent_closuretest/inconsistent_ct.py
: AddedInconsistentCommonData
class with methods to introduce inconsistencies in closure tests, includingsystematic_errors
property,select_systype_table_indices
,rescale_systematics
,process_commondata
, andexport_uncertainties
.Configuration Updates:
validphys2/src/validphys/config.py
: Addedparse_inconsistent_data_settings
method to parse inconsistent data settings from the YAML file.validphys2/src/validphys/config.py
: Updatedproduce_filter_data
to includeinconsistent_fakedata
parameter for filtering inconsistent closure data. [1] [2]Filtering Methods:
validphys2/src/validphys/filters.py
: Addedfilter_inconsistent_closure_data_by_experiment
and_filter_inconsistent_closure_data
methods to handle filtering of inconsistent closure data. [1] [2]Testing:
validphys2/src/validphys/tests/test_inconsistent_ct.py
: Added unit tests forInconsistentCommonData
class methods, including tests for the getter and setter ofsystematic_errors
,select_systype_table_indices
,rescale_systematics
,process_commondata
, andexport_uncertainties
.Benchmarking of Code
Test 0.0
Test that an inconsistent ct fit (using the inconsistent closure test filter) with lambda = 1.0 gives the same results as a consistent closure test:
https://vp.nnpdf.science/VIdN_z0ETx6Ph0szzKLY0g==
Further tests..
This is the type of agreement found between old and new branch for a DIS only inconsistent closure test with lambda = 0
https://vp.nnpdf.science/sH-C_csbTGCPCdEGFXj_1w==
I also used
parallel_models: true
for the new fit. Is this compatible with the type of agreement that is found between standard runned fits andparallel_models
run fits? (@scarlehoff)