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

Hadron tensor framework & SuSAv2 model implementation #55

Merged
merged 74 commits into from Jul 15, 2020

Conversation

sjgardiner
Copy link
Contributor

@sjgardiner sjgardiner commented Aug 28, 2019

This feature branch refactors the hadron tensor table code used by the Nieves MEC model into a more flexible and general framework. Key new features are:

  • Tensor table files are now self-describing, with locations configurable via XML (as opposed to being hard-coded)
  • New QE+MEC models based on the SuSAv2 approach serve as a proof of concept

See materials on GENIE docDB for more information. After building the susav2 feature branch, SuSAv2 QE+MEC events can be generated using the GTEST19_10b_00_000 tune identifier.

@sjgardiner sjgardiner changed the title Hadron tensor framework & SuSAv2 model implementation Not merge - Hadron tensor framework & SuSAv2 model implementation Aug 28, 2019
@sjgardiner sjgardiner force-pushed the susav2 branch 5 times, most recently from 0153637 to a096f65 Compare Nov 4, 2019
@sjgardiner sjgardiner force-pushed the susav2 branch 2 times, most recently from 0e45869 to 6f54d91 Compare Jul 2, 2020
@candreop candreop added this to the 3.2.0 release milestone Jul 6, 2020
sjgardiner added 21 commits Jul 7, 2020
hadronic tensor using a pre-interpolated TableEntry object. This will be
helpful for the differential cross section implementation.
…he new

HadronTensorPool and HadronTensorI classes
ValenciaHadronTensorI inherit from it. The TabulatedHadronTensor class is
now a subclass of ValenciaHadronTensorI called
TabulatedValenciaHadronTensor.
… the

HadronTensors.xml configuration file accordingly.
tensor objects (which may involve reading in a large file) as necessary
(lazy initialization).
…dron

tensor machinery (which will eventually be used by interaction modes other
than MEC) into it. Adjust the build scripts accordingly.
sjgardiner added 22 commits Jul 7, 2020
Now this is done via the new HybridXSecAlgorithm class, which uses
SuSAv2QELPXSec and LwlynSmithQELCCPXSec as sub-algorithms.
store a null pointer in the owned map to avoid redundant failed lookups in
the future.
…imum

differential cross section in MECGenerator::SelectSuSALeptonKinematics()
MECUtils source file. This will allow it to be re-used in other cases
where we need to scan for the maximum differential xsec in the same phase
space (e.g., for SUSAv2 1p1h)
…ntial

cross section. This avoids problems with missing the minimum Q^2 value.
Rejection sampling is still quite inefficient for EMMEC, but it's usable.
Q^2 cut in the SuSAv2 QEL and MEC cross sections
than scaling by A, we should scale by the number of nucleons matching the
struck nucleon. This gets the ratio of initial-state p vs. n right when
integrating splines.
QELEventGeneratorSuSA. Occasional problems were found when the cache was
used, but there is a negligble impact on performance when the maximum diff
xsec is directly calculated for each event. Reduce the safety factor for
this class to 1.2 in the configuration XML file. Modify the choice of the
layer boundaries in genie::utils::mec::GetMaxXSecTlctl so that the low Q^2
cut and the maximum Tl value are both always included. This will ensure
that the maximum diff xsec is always found even when there are problems
with round-off at the kinematic boundaries.
…RM in

the GTEST19_10b_00_000 tune. This was done previously in the main
EventGenerator.xml file, but the custom one for this tune was not updated.
sjgardiner added 2 commits Jul 9, 2020
genie::utils::mec::GetMaxXSecTlctl. This adjustment addresses a problem
which shows up only at high energies.
differential cross section when generating SuSAv2 events.
@sjgardiner sjgardiner changed the title Not merge - Hadron tensor framework & SuSAv2 model implementation Hadron tensor framework & SuSAv2 model implementation Jul 10, 2020
@sjgardiner sjgardiner self-assigned this Jul 10, 2020
Copy link
Member

@mroda88 mroda88 left a comment

Choose a reason for hiding this comment

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

It works for me. Tested a number of nuclei and I have plots for the comparisons.

@mroda88 mroda88 merged commit e9e9239 into GENIE-MC:master Jul 15, 2020
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.

None yet

3 participants