Skip to content
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

ROOT/GSL integrator #25

Merged
merged 7 commits into from
Mar 13, 2024

Conversation

forthommel
Copy link
Contributor

@forthommel forthommel commented Feb 23, 2024

This PR introduces a new "event_generator" module implementation, based on ROOT's Math::IntegratorMultiDim.

It allows to compute cross sections with more numerical stability than the usual Foam method, thanks in particular to ROOT's C++ wrappers to GSL's Vegas, Miser, and plain Monte Carlo integrator algorithms implementations.

This results in shorter runs for most algorithms used, and comparable or better precisions reached for a same run time. For instance, running the epic_scenario_DVCS.xml example on an 8th Gen Intel CORE i7 vPro with 16 Gb RAM:

  • Foam (with 100k events generation upstream, 22'45" run):
    Integrated cross-section (value) [nb]: 4.745535713297
    Integrated cross-section (uncertainty) [nb]: 0.0190818197995742
    
  • Plain (no event generation, 1'17" run):
    Integrated cross-section (value) [nb]: 4.88435227940284
    Integrated cross-section (uncertainty) [nb]: 0.324427311999416
    
  • Miser (no event generation, 1'38" run):
    Integrated cross-section (value) [nb]: 4.71182617972158
    Integrated cross-section (uncertainty) [nb]: 0.0555660423376965
    
  • Vegas (no event generation, 8'59" run):
    Integrated cross-section (value) [nb]: 4.74743323842268
    Integrated cross-section (uncertainty) [nb]: 0.00602654005686526
    

Copy link

@JJJhonzon JJJhonzon left a comment

Choose a reason for hiding this comment

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

de

@forthommel
Copy link
Contributor Author

Hello @pawelsznajder.
In this last commit a35715e, we try to minimalise the changes in the EPiC workflow by computing the cross section at the initialisation stage, instead of the end of the run.
The PR is now ready for your review!

FYI: @hamzeh-khanpour

@pawelsznajder pawelsznajder merged commit 7e0daac into pawelsznajder:main Mar 13, 2024
@forthommel forthommel deleted the root-gsl-integrator branch March 13, 2024 16:51
@forthommel
Copy link
Contributor Author

Many thanks for your fast reaction, @pawelsznajder!

@pawelsznajder
Copy link
Owner

I would not call it very fast ;) I totally forgot to make the merge after our last discussion, sorry for that. Anyway, the new release (including your changes) should be ready in few minutes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants