-
Notifications
You must be signed in to change notification settings - Fork 105
BDM Resonant Scattering #471
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
base: master
Are you sure you want to change the base?
Conversation
Splines for BDM models
Added description of fork
remove 'AllNeutrino'
nusense
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't a review of the physics but of the general code, especially changes to existing code.
| http://www.genie-mc.org for more information. This fork adds the capability to simulate boosted dark matter | ||
| scattering via resonant baryon production. It is intended for future merger into an official GENIE release. | ||
|
|
||
| The GENIE Generator product is an advanced physics simulation used by nearly all modern neutrino experiments and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before any merge the previous paragraph about being a fork should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually a big block of stuff here is a reversion of some more recent changes and care must be taken in what's merged in.
| <param type="alg" name="Module-9"> genie::UnstableParticleDecayer/AfterHadronTransport </param> | ||
| <param type="alg" name="ILstGen"> genie::DMRESInteractionListGenerator/DM-Default </param> | ||
| </param_set> | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason that "RES-DM" is not clustered with "RES-DMv1" and "RES-DMv2" up near line 117. Or perhaps those should be down here. Or they're vestigial and need to be removed?
| <param type="alg" name="Generator-0"> genie::EventGenerator/DMEL </param> | ||
| <param type="alg" name="Generator-1"> genie::EventGenerator/DMDIS </param> | ||
| <param type="alg" name="Generator-2"> genie::EventGenerator/DME </param> | ||
| </param_set> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the name of this param set include "DM" rather than just be "NonRes"
| <priority msgstream="DMELKinematics"> WARN </priority> | ||
| <priority msgstream="DMELXSec"> NOTICE </priority> | ||
| <priority msgstream="DMRes"> INFO </priority> | ||
| <priority msgstream="EventGenerator"> WARN </priority> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should an entry for msgstream "DMRes" be added (at different levels) to all the other `Messenger_XYZZY.xml" files?
| mcj_driver->UseFluxDriver(flux_driver); | ||
| mcj_driver->UseGeomAnalyzer(geom_driver); | ||
| mcj_driver->ForceInteraction(); | ||
| mcj_driver->Configure(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This addition of mcj_driver->ForceInteraction() doesn't seem DM related and would change the behavior of this application. Is it something that really should be done, or is it leftover from some testing?
|
|
||
|
|
||
|
|
||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might want to clear up a bunch of empty lines here and right below the next block of code.
| bool is_dm = proc_info.IsDarkMatter(); | ||
|
|
||
| if (!is_dm && !is_DM) return false; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a fan of two variables only differentiated by case. Perhaps using is_dmres might be warranted.
| Igor Kakorin <[email protected]> | ||
| Joint Institute for Nuclear Research | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this Igor Kakorin's code or Zachary Orr's? Also check the copyright ranges ... should probably be up to 2026.
| fAmpl.fMinus3 = k3_Sqrt2 * (fkrdm.Tv * (fQuV - fQdV) + fkrdm.Ta * (fQdA - fQuA)); | ||
| fAmpl.fMinus1 = (1/2) * k1_Sqrt3 * (2 * fkrdm.Lamda * (fkrdm.Rv * (5 * fQdV + fQuV) - fkrdm.Ra * (5 * fQdA + fQuA)) + 3 * kSqrt2 * (fkrdm.Tv * (fQuV - fQdV) + fkrdm.Ta * (fQdA - fQuA))); | ||
| fAmpl.fPlus1 = (1/2) * k1_Sqrt3 * (-2 * fkrdm.Lamda * (fkrdm.Ra * fQuA + fkrdm.Rv * (5 * fQdV + fQuV)) + fQdA * (3 * kSqrt2 * fkrdm.Ta - 10 * fkrdm.Lamda * fkrdm.Ra) + 3 * kSqrt2 * fkrdm.Tv * (fQdV - fQuV) - 3 * kSqrt2 * fQuA * fkrdm.Ta); | ||
| fAmpl.fPlus3 = k3_Sqrt2 * (fkrdm.Tv * (fQdV - fQuV) + fkrdm.Ta * (fQdA - fQuA)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In C++ (1/2) is done as integer math and will always yield zero. You need to make at least one of the two a floating point type.
| fAmpl.fMinus3 = 0; | ||
| fAmpl.fMinus1 = (1/2) * k1_Sqrt3 * L2 * (fkrdm.Ra * (fQuA - 4 * fQdA) - fkrdm.Rv * (fQuV - 4 * fQdV)); | ||
| fAmpl.fPlus1 = (1/2) * k1_Sqrt3 * L2 * (fkrdm.Ra * (fQuA - 4 * fQdA) + fkrdm.Rv * (fQuV - 4 * fQdV)); | ||
| fAmpl.fPlus3 = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again (1/2) is 0. Last mention... You'll need to check everywhere (not just this file and these two instances) for this.
Added Resonant scattering to the Boosted Dark Matter physics module. Modified the framework to include Boosted Dark Matter Resonant Scattering.