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
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
f536743
Fix incorrect variable names for compiler flags in Makefile.include
sjgardiner Sep 28, 2018
87ed770
Add .gitignore
sjgardiner Sep 28, 2018
cd28407
Begin refactorization of the MEC hadron tensor calculation
sjgardiner Sep 28, 2018
48fdae3
Finish first draft of the classes needed to compute the hadronic tens…
sjgardiner Sep 28, 2018
d6fcc31
Add protected helper functions that will compute W1, W2, etc. for the
sjgardiner Sep 28, 2018
9ec1262
Fix include guards, add code to compute the differential cross section
sjgardiner Sep 28, 2018
3c26b47
Switch to using the native GENIE functions to manipulate PDG codes
sjgardiner Sep 28, 2018
5a31e6a
Add the HadronTensorPool class
sjgardiner Sep 28, 2018
8cf3375
Fix a few minor bugs and rename the classes from ValenciaHadronX -> H…
sjgardiner Sep 28, 2018
d68b151
Add electron cross section calculation
sjgardiner Sep 28, 2018
a4ad1fd
Add a value for electron hadronic tensors to the HadronTensorType_t enum
sjgardiner Sep 28, 2018
d0fac4b
Refactor the NievesSimoVacasMECPXSec2016 cross section model to use t…
sjgardiner Sep 28, 2018
68ee566
Add the QE_Electron hadron tensor type
sjgardiner Sep 28, 2018
6a2ef96
Create a new base class called HadronTensorI, and make
sjgardiner Sep 28, 2018
ab98b9e
Switch to using a single "file" XML attribute for each hadron tensor
sjgardiner Oct 23, 2018
6380d5a
Swap the interpolation order in BLI2DNonUnifObjectGrid to match what is
sjgardiner Oct 26, 2018
0395170
Use "_EM" instead of "_Electron" in HadronTensorType_t enumerated types
sjgardiner Oct 26, 2018
689808e
Add new versions of all of the Nieves MEC hadron tensor files. Update…
sjgardiner Oct 29, 2018
9cddc2e
Tweak the HadronTensorPool class so that it will only construct hadron
sjgardiner Oct 29, 2018
618ec58
Create a new src/Physics/HadronTensors/ folder and move all of the ha…
sjgardiner Oct 29, 2018
6177a7b
Remove the deprecated MECHadronTensor singleton class
sjgardiner Oct 29, 2018
a573935
Remove the old Nieves MEC hadron tensor files (deprectated in favor o…
sjgardiner Oct 29, 2018
5cd8e69
Add SuSAv2-MEC hadron tensor files for 12C and 16O. Restructure the
sjgardiner Nov 2, 2018
a2a1ceb
Rename the SuSAv2-MEC hadron tensor data files
sjgardiner Nov 2, 2018
02aafe5
Add the genie::SuSAv2MECPXSec class
sjgardiner Nov 2, 2018
afc263d
Add CKM matrix element |Vud|^2 correction factor to the SuSAv2-MEC
sjgardiner Nov 2, 2018
21cc8a0
Add algorithm configuration file for the genie::SuSAv2MECPXSec class
sjgardiner Nov 2, 2018
577e6ec
Fix minor issues with the MEC model configuration files
sjgardiner Nov 2, 2018
e8a59bc
First commit of SuSAv2 1p1h and 2p2h code, current version is only se…
Apr 1, 2019
c0c4f67
General clean up and addition of new tune specifically for SuSA. Over…
Apr 5, 2019
596febe
Turn FSI back on
Apr 5, 2019
eac8002
First version of code to scale xsec to other nucleii and also add had…
Apr 6, 2019
add79e1
Allows for anu QE elastic scattering from H (but untested!). General …
Apr 9, 2019
eb11264
Refactor code that manages hadron tensor tables for Nieves MEC
sjgardiner Apr 27, 2019
127ef9c
Add TuneGeneratorList.xml files for each of the new SuSAv2 tunes
sjgardiner Apr 28, 2019
a256fcf
Fix typos in config/SuSAv2QELHadronTensorModel.xml. These caused the 1H
sjgardiner May 1, 2019
6136800
Scaling to non-carbon targets should now work - including an offset i…
May 24, 2019
964eb7a
Adjust SuSAv2 configuration to work with the new "multiple common lists"
sjgardiner Jul 10, 2019
e76b1e9
Switch to using the EM-NoPauliBlock configuration for EM-RES models i…
sjgardiner Jul 11, 2019
8f7b280
Add EMQE to the allowed channels in SuSAv2QELPXSec::ValidProcess()
sjgardiner Jul 11, 2019
f036dea
Remove S19_10f tune used for testing SuSAv2
sjgardiner Jul 24, 2019
7c84dd7
Remove some testing code not needed for a release of the SuSAv2
sjgardiner Aug 28, 2019
d107270
Remove hard-coded Vud value in favor of retrieving CKM-Vud from the c…
sjgardiner Aug 28, 2019
b6c8f51
For the SuSAv2 model, delegate total and differential cross section
sjgardiner Nov 2, 2019
09d5b05
Delegate event generation for free nucleon targets from
sjgardiner Nov 2, 2019
269bb3e
Revert some unneeded changes
sjgardiner Nov 2, 2019
d8ade47
Rework handling of missing hadron tensor files in
sjgardiner Nov 2, 2019
40054a5
Add KNO2Pythia parameters to the CommonParam.xml file for the SuSAv2 …
sjgardiner Nov 3, 2019
4f7060c
Rename ValenciaHadronTensorI -> LabFrameHadronTensorI and
sjgardiner Nov 4, 2019
f8a0eb8
Fix issue with scaling the hadron tensor contraction for the SuSAv2 m…
sjgardiner Nov 4, 2019
dac59ef
Rename QELKinematicsGeneratorSuSA to QELEventGeneratorSuSA
sjgardiner Nov 4, 2019
a58a411
Rework delegation of free nucleon cross section calculations for SuSAv2.
sjgardiner Nov 4, 2019
c1117e7
In cases where a TabulatedHadronTensorModelI fails to load a table file,
sjgardiner Nov 4, 2019
cca30fb
Use a brute-force scan instead of a hard-coded expression for the max…
sjgardiner Mar 16, 2020
efc1134
Move the GetMaxXSecTlctl() out of the MECGenerator class and into the
sjgardiner Mar 16, 2020
bf6a9d0
Add the "EMQE+EMMEC" event generator list (similar to the existing
sjgardiner Mar 16, 2020
13a44dd
Tweak test tune S19_10b_00_000 configuration so that SuSAv2 can also be
sjgardiner Mar 17, 2020
60070ac
Switch to working with Tl and Q^2 to estimate the maximum MEC differe…
sjgardiner Mar 17, 2020
fffc8ec
Use approach similar to SuSAv2 MEC to get maximum 1p1h cross section for
sjgardiner Apr 28, 2020
1d3824b
Switch to using min Q^2 = 0.4
sjgardiner Apr 28, 2020
3375b34
Enable RES-EM and DIS-EM for the S19_10b_00_00 tune. Enforce the global
sjgardiner Apr 29, 2020
9642362
Revert "Switch to using min Q^2 = 0.4"
sjgardiner May 4, 2020
9956ad4
Fix library ordering problem in genie-config
sjgardiner May 15, 2020
e368bf0
Fix a problem in the hadron tensor table for SuSAv2 EMQE. The transverse
sjgardiner May 15, 2020
2f9a661
Make minor adjustments to the ValidProcess member function for the Su…
sjgardiner May 15, 2020
ade4816
Remove unneeded headers from HybridXSecAlgorithm.cxx
sjgardiner May 15, 2020
6314c85
Rename the temporary SuSAv2 testing tune to "GTEST19_10b"
sjgardiner May 15, 2020
6e19d72
Fix issue with scaling of nuclear EMQE cross section for SuSAv2. Rather
sjgardiner May 15, 2020
6240457
Disable use of the maximum diff xsec cache below 1 TeV for
sjgardiner Jul 1, 2020
eb23294
Add an extra Q-value correction for the SuSAv2 EM MEC model
sjgardiner Jul 1, 2020
0bd978f
Remove PauliBlocker from the event generation workflow for QEL-CC-CHA…
sjgardiner Jul 2, 2020
14a6592
Update the DIS model used by the GTEST19_10b_00_000 tune to use the
sjgardiner Jul 7, 2020
a10fc08
Choose the phase space boundaries more carefully for the scan in
sjgardiner Jul 9, 2020
02ab7ab
Switch to using XML-configurable tolerances for checking the maximum
sjgardiner Jul 9, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
@@ -1,5 +1,6 @@
bin/
lib/
doxygen/
build-env.log
src/make/Make.config
src/make/Make.config_no_paths
Expand Down
6 changes: 6 additions & 0 deletions Makefile
Expand Up @@ -165,6 +165,7 @@ physics-utilities: FORCE
cd ${GENIE}/src/Physics && \
cd Common && $(MAKE) && cd .. && \
cd Decay && $(MAKE) && cd .. && \
cd HadronTensors && $(MAKE) && cd .. && \
cd MuonEnergyLoss && $(MAKE) && cd .. && \
cd PartonDistributions && $(MAKE) && cd .. && \
cd XSectionIntegration && $(MAKE) && \
Expand Down Expand Up @@ -351,6 +352,7 @@ make-install-dirs: FORCE
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/GlashowResonance/XSection
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/GlashowResonance/EventGen
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/Hadronization
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/HadronTensors
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/HadronTransport
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/InverseBetaDecay
mkdir ${GENIE_INC_INSTALLATION_PATH}/Physics/InverseBetaDecay/XSection
Expand Down Expand Up @@ -416,6 +418,7 @@ copy-install-files: FORCE
cd ${GENIE}/src/Physics/GlashowResonance/EventGen && $(MAKE) install && \
cd ${GENIE}/src/Physics/Hadronization && $(MAKE) install && \
cd ${GENIE}/src/Physics/HadronTransport && $(MAKE) install && \
cd ${GENIE}/src/Physics/HadronTensors && $(MAKE) install && \
cd ${GENIE}/src/Physics/InverseBetaDecay/XSection && $(MAKE) install && \
cd ${GENIE}/src/Physics/InverseBetaDecay/EventGen && $(MAKE) install && \
cd ${GENIE}/src/Physics/Multinucleon/XSection && $(MAKE) install && \
Expand Down Expand Up @@ -471,6 +474,7 @@ purge: FORCE
cd ${GENIE}/src/Physics/GlashowResonance/XSection && $(MAKE) purge && \
cd ${GENIE}/src/Physics/GlashowResonance/EventGen && $(MAKE) purge && \
cd ${GENIE}/src/Physics/Hadronization && $(MAKE) purge && \
cd ${GENIE}/src/Physics/HadronTensors && $(MAKE) purge && \
cd ${GENIE}/src/Physics/HadronTransport && $(MAKE) purge && \
cd ${GENIE}/src/Physics/InverseBetaDecay/XSection && $(MAKE) purge && \
cd ${GENIE}/src/Physics/InverseBetaDecay/EventGen && $(MAKE) purge && \
Expand Down Expand Up @@ -528,6 +532,7 @@ clean-files: FORCE
cd ${GENIE}/src/Physics/GlashowResonance/XSection && $(MAKE) clean && \
cd ${GENIE}/src/Physics/GlashowResonance/EventGen && $(MAKE) clean && \
cd ${GENIE}/src/Physics/Hadronization && $(MAKE) clean && \
cd ${GENIE}/src/Physics/HadronTensors && $(MAKE) clean && \
cd ${GENIE}/src/Physics/HadronTransport && $(MAKE) clean && \
cd ${GENIE}/src/Physics/InverseBetaDecay/XSection && $(MAKE) clean && \
cd ${GENIE}/src/Physics/InverseBetaDecay/EventGen && $(MAKE) clean && \
Expand Down Expand Up @@ -599,6 +604,7 @@ distclean: FORCE
cd ${GENIE}/src/Physics/GlashowResonance/EventGen && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/Hadronization && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/HadronTransport && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/HadronTensors && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/InverseBetaDecay/XSection && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/InverseBetaDecay/EventGen && $(MAKE) distclean && \
cd ${GENIE}/src/Physics/Multinucleon/XSection && $(MAKE) distclean && \
Expand Down
21 changes: 20 additions & 1 deletion config/EventGenerator.xml
Expand Up @@ -162,8 +162,25 @@ XSecModel alg Yes Cross section model used at the thread


<!--
"old style" event generation for ccqe
CCQE generator for SuSA-1p1h which is loosely based on the MEC-CC generator-->
<!--
<param_set name="QEL-CC">
<param type="string" name="VldContext"> </param>
<param type="int" name="NModules"> 7 </param>
<param type="alg" name="Module-0"> genie::InitialStateAppender/Default </param>
<param type="alg" name="Module-1"> genie::VertexGenerator/Default </param>
<param type="alg" name="Module-2"> genie::QELEventGeneratorSuSA/Default </param>
<param type="alg" name="Module-3"> genie::UnstableParticleDecayer/BeforeHadronTransport </param>
<param type="alg" name="Module-4"> genie::NucDeExcitationSim/Default </param>
<param type="alg" name="Module-5"> genie::HadronTransporter/Default </param>
<param type="alg" name="Module-6"> genie::UnstableParticleDecayer/AfterHadronTransport </param>
<param type="alg" name="ILstGen"> genie::QELInteractionListGenerator/CC-Default </param>
</param_set>
-->

<!--
"old style" event generation for ccqe
-->
<!--
<param_set name="QEL-CC">
<param type="string" name="VldContext"> </param>
Expand All @@ -184,6 +201,8 @@ XSecModel alg Yes Cross section model used at the thread
</param_set>
-->



<param_set name="QEL-NC">
<param type="string" name="VldContext"> </param>
<param type="int" name="NModules"> 12 </param>
Expand Down
15 changes: 15 additions & 0 deletions config/EventGeneratorListAssembler.xml
Expand Up @@ -176,6 +176,12 @@ Generator-%d alg No
<param type="alg" name="Generator-1"> genie::EventGenerator/QEL-NC </param>
</param_set>

<param_set name="EMQE+EMMEC">
<param type="int" name="NGenerators"> 2 </param>
<param type="alg" name="Generator-0"> genie::EventGenerator/MEC-EM </param>
<param type="alg" name="Generator-1"> genie::EventGenerator/QEL-EM </param>
</param_set>

<param_set name="RES">
<param type="int" name="NGenerators"> 2 </param>
<param type="alg" name="Generator-0"> genie::EventGenerator/RES-CC </param>
Expand Down Expand Up @@ -253,6 +259,15 @@ Generator-%d alg No
<param type="alg" name="Generator-6"> genie::EventGenerator/MEC-CC </param>
</param_set>

<param_set name="CCinclMECnoDIS">
<param type="int" name="NGenerators"> 5 </param>
<param type="alg" name="Generator-0"> genie::EventGenerator/QEL-CC </param>
<param type="alg" name="Generator-1"> genie::EventGenerator/RES-CC </param>
<param type="alg" name="Generator-2"> genie::EventGenerator/COH-CC </param>
<param type="alg" name="Generator-3"> genie::EventGenerator/QEL-CC-CHARM </param>
<param type="alg" name="Generator-4"> genie::EventGenerator/MEC-CC </param>
</param_set>

<param_set name="CCinclMEC+NueEl">
<param type="int" name="NGenerators"> 8 </param>
<param type="alg" name="Generator-0"> genie::EventGenerator/QEL-CC </param>
Expand Down
18 changes: 18 additions & 0 deletions config/FermiMomentumTables.xml
Expand Up @@ -23,5 +23,23 @@
<!-- Pb208 --> <kf nucleus_pdgc="1000822080"> <p> 0.245 </p> <n> 0.283 </n> </kf>
</kf_table>

<!-- From G. Megias thesis: https://idus.us.es/xmlui/handle/11441/74826 -->
<!-- O16 added from private communication -->

<kf_table name="SuSA">
<!-- H2 --> <kf nucleus_pdgc="1000010020"> <p> 0.055 </p> <n> 0.055 </n> </kf>
<!-- He4 --> <kf nucleus_pdgc="1000020040"> <p> 0.115 </p> <n> 0.115 </n> </kf>
<!-- Li6 --> <kf nucleus_pdgc="1000030060"> <p> 0.165 </p> <n> 0.165 </n> </kf>
<!-- C12 --> <kf nucleus_pdgc="1000060120"> <p> 0.228 </p> <n> 0.228 </n> </kf>
<!-- O16 --> <kf nucleus_pdgc="1000080160"> <p> 0.230 </p> <n> 0.230 </n> </kf>
<!-- Al27 --> <kf nucleus_pdgc="1000130270"> <p> 0.236 </p> <n> 0.236 </n> </kf>
<!-- Ca40 --> <kf nucleus_pdgc="1000200400"> <p> 0.241 </p> <n> 0.241 </n> </kf>
<!-- Fe56 --> <kf nucleus_pdgc="1000260560"> <p> 0.241 </p> <n> 0.241 </n> </kf>
<!-- Ni58 --> <kf nucleus_pdgc="1000280580"> <p> 0.245 </p> <n> 0.245 </n> </kf>
<!-- Sn120 --> <kf nucleus_pdgc="1000501200"> <p> 0.245 </p> <n> 0.245 </n> </kf>
<!-- Au197 --> <kf nucleus_pdgc="1000791970"> <p> 0.245 </p> <n> 0.245 </n> </kf>
<!-- Pb208 --> <kf nucleus_pdgc="1000822080"> <p> 0.248 </p> <n> 0.248 </n> </kf>
</kf_table>

</fermi_momentum_const>

1 change: 1 addition & 0 deletions config/G18_10a/MECInteractionListGenerator.xml
Expand Up @@ -19,6 +19,7 @@ Name Type Optional Comment Default
Want `true` for EmpiricalMEC, `false` for NSV
-->
<param type="bool" name="SetDiNucleonCode"> false </param>
<param type="bool" name="SetDiNucleonCodeEM"> true </param>

</param_set>

Expand Down
1 change: 1 addition & 0 deletions config/G18_10b/MECInteractionListGenerator.xml
Expand Up @@ -19,6 +19,7 @@ Name Type Optional Comment Default
Want `true` for EmpiricalMEC, `false` for NSV
-->
<param type="bool" name="SetDiNucleonCode"> false </param>
<param type="bool" name="SetDiNucleonCodeEM"> true </param>

</param_set>

Expand Down
1 change: 1 addition & 0 deletions config/G18_10i/MECInteractionListGenerator.xml
Expand Up @@ -19,6 +19,7 @@ Name Type Optional Comment Default
Want `true` for EmpiricalMEC, `false` for NSV
-->
<param type="bool" name="SetDiNucleonCode"> false </param>
<param type="bool" name="SetDiNucleonCodeEM"> true </param>

</param_set>

Expand Down
1 change: 1 addition & 0 deletions config/G18_10j/MECInteractionListGenerator.xml
Expand Up @@ -19,6 +19,7 @@ Name Type Optional Comment Default
Want `true` for EmpiricalMEC, `false` for NSV
-->
<param type="bool" name="SetDiNucleonCode"> false </param>
<param type="bool" name="SetDiNucleonCodeEM"> true </param>

</param_set>

Expand Down