GENIE-MC / Generator

The popular GENIE Generator product is used by nearly all accelerator neutrino experiments and it plays a key role in the exploitation of neutrino data. The Generator implements a modern software framework and it includes state-of-the-art physics modules. It captures the latest results of the GENIE global analysis of neutrino scattering data and includes several tunes that were produced using the proprietary Comparisons and Tuning products. The GENIE physics model is universal and comprehensive: It handles all neutrinos and targets, and all processes relevant from MeV to PeV energy scales. The Generator includes several tools (flux drivers, detector geometry navigators, specialized event generation apps, event reweighting engines) to simulate complex experimental setups in full detail and to support generator-related analysis tasks.
http://www.genie-mc.org
42 stars 92 forks source link

CRPA 1p1h implementation #271

Closed sjdolan closed 1 year ago

sjdolan commented 1 year ago

This is a pull request for an implementation of the HF-CRPA model in GENIE. An overview of the model implementation is available in Phys. Rev. D 106, 073001. From a code perspective, this is an extension of the SuSAv2QE hadron-tensor based cross-section calculation to accept a user-defined configuration to use tensors calculated from any of:

The option is available to blend the CRPA tensors with the modified SuSAv2 tensors at large values of momentum transfer for a better treatment of regions of kinematic phase space were a relativistic treatment is required (this is the recommended use of the model). The blending scheme is detailed in the aforementioned paper. WIth this in mind, the full list of QE hadron tensor model configurations available are:

SuSAv2,
CRPA,
HF,
CRPASuSAv2Hybrid,
HFSuSAv2Hybrid,
CRPAPW,
HFPW,
CRPAPWSuSAv2Hybrid,
HFPWSuSAv2Hybrid,
SuSAv2Blend

These are selected via ModelConfiguration.xml by doing for example:

<param type="alg" name="XSecModel@genie::EventGenerator/QEL-CC"> genie::HybridXSecAlgorithm/CRPASuSAv2Hybrid-QEL </param>

I have a full list of example configurations in another branch in my fork I can provide if it's helpful.

As a bonus, a warning message is added to the MECGenerator to warn the user if SuSA or Valencia models are ran with unexpected values of fQ3Max (getting this wrong has been responsible for a lot of wasted CPU cycles!).

sjdolan commented 1 year ago

Looking at the conflicts: The one related to the data file is just because I renamed the tensor directory (to indicate that it also contains the CRPA tensors), so this should be a trivial fix. The one related to SuSAv2QELPXSec.cxx is really just missing one fairly small commit from Julia (https://github.com/GENIE-MC/Generator/commit/25759365d465e8e544dbb0cfc8cdb0f523d1996f) which should be pretty easy to add back in (it also misses some updates to header info).

mroda88 commented 1 year ago

About the conflicts, can I suggest we first merge the present master into your branch? If you want I can open the PR for you to fix this problem.

sjdolan commented 1 year ago

I resolved the conflicts after merging the GENIE master into my dev branch, the code should now be ready for review.

sjdolan commented 1 year ago

Thanks for the review @mroda88. Your comments have been addressed.