Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/Messenger.xml
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
<priority msgstream="SpectralFunc1"> NOTICE </priority>
<priority msgstream="SpectralFunc"> NOTICE </priority>
<priority msgstream="Spline"> INFO </priority>
<priority msgstream="SplinePostProcessor"> WARN </priority>
<priority msgstream="Target"> INFO </priority>
Copy link
Member

@nusense nusense Feb 26, 2026

Choose a reason for hiding this comment

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

I suggest SplinePostProcessor entries in the other Messenger_XYZZY.xml files as well; have them consistent with the general theme of the file.

<priority msgstream="Utils"> INFO </priority>
<priority msgstream="Vtx"> WARN </priority>
Expand Down
35 changes: 35 additions & 0 deletions config/SplinePostProcessor.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
Configuration for the SplinePostProcessor
Tool that forces Gaussian kernel smoothing on selected algorithms

Algorithm Configurable Parameters:
..............................................................................................................................
Name Type Opt Comment Default
..............................................................................................................................

************ *******************************
set Default: Generic configuration parameter
************ *******************************
HandledAlgorithms vec-string no Keys of algorithms handled by this tool.
Stops vec-double no Reference neutrino energies at which the Gaussian kernel has given width
Widths vec-double no Reference widths of the Gaussian kernel at specific neutrino energies
-->

<alg_conf>

<param_set name="Default">

<param type="vec-string" delim="," name="HandledAlgorithms"> genie::NievesQELCCPXSec/ZExp </param>
<param type="vec-double" delim="," name="Stops"> 0.1,0.2,0.5,1.0,2.0,5.0,10.0,50.0,100.0 </param>
<param type="vec-double" delim="," name="Widths"> 0.005,0.01,0.025,0.05,0.1,0.25,0.47,2.34,4.7 </param>
<!-- separate list for nutau due to high thresholds -->
<param type="vec-double" delim="," name="Stops@Pdg=16,-16"> 2.8,3.0,4.0,5.0,10.0 </param>
<param type="vec-double" delim="," name="Widths@Pdg=16,-16"> 0.005,0.01,0.03,0.075,0.1 </param>

Copy link
Member

Choose a reason for hiding this comment

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

Does the stops/widths list for nu_tau(_bar) need to go as far as the standard one? Why or why not?
Also, what happens above the upper stop? We typically generate splines out to E=1000 GeV, though out that high there tends not to be much jitter.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I definitely didn't give too much thought to the stops / widths for nutau, nutaubar. But as you noted -- above the upper stop, the last width is used. Now that I think about it, perhaps the best solution is to add a stop at 1 TeV with some width.

(The scaling between points is linear, currently; line 262 and friends of SplinePostProcessor.cxx. So if last 2 stops are e.g. at 10 GeV, 1e3 GeV; at E =100 GeV, the activation becomes (100-10) / (1000 - 10) = 1/11 , meaning the width at that point is width(10) + (width(1e3) - width(10)) / 11 . Probably should add an option for logarithmic scaling, come to think of it.)

<param type="bool" name="UsePostProcessing"> true </param>

</param_set>

</alg_conf>
3 changes: 3 additions & 0 deletions config/master_config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,9 @@
<config alg="genie::HEDISXSec"> HEDISXSec.xml </config>
<config alg="genie::BostedChristyEMPXSec"> BostedChristyEMPXSec.xml </config>

<!-- ****** CONFIGURATION FOR GENERIC SPLINE POST PROCESSOR ****** -->
<config alg="genie::SplinePostProcessor"> SplinePostProcessor.xml </config>

<!-- ****** CONFIGURATION FOR XSEC ALGORITHMS ****** -->
<config alg="genie::AhrensNCELPXSec"> AhrensNCELPXSec.xml </config>
<config alg="genie::AhrensDMELPXSec"> AhrensDMELPXSec.xml </config>
Expand Down
2 changes: 1 addition & 1 deletion src/Apps/gMakeSplines.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ PDGCodeList * GetNeutrinoCodes(void)
vector<string>::const_iterator iter;
for(iter = nuvec.begin(); iter != nuvec.end(); ++iter) {
list->push_back( atoi(iter->c_str()) );
}
}
Copy link
Member

Choose a reason for hiding this comment

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

Unnecessary addition of trailing blank space.

return list;
}
//____________________________________________________________________________
Expand Down
4 changes: 4 additions & 0 deletions src/Framework/Numerical/LinkDef.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,15 @@
#pragma link off all functions;

#pragma link C++ namespace genie;
#pragma link C++ namespace genie::exceptions;
#pragma link C++ namespace genie::utils::math;
#pragma link C++ namespace genie::utils::gsl;

#pragma link C++ class genie::RandomGen;
#pragma link C++ class genie::Spline;
#pragma link C++ class genie::SplinePostProcessorI;
#pragma link C++ class genie::exceptions::SplineProcessingException;
#pragma link C++ class genie::SplinePostProcessor;
#pragma link C++ class genie::BLI2DGrid;
#pragma link C++ class genie::BLI2DUnifGrid;
#pragma link C++ class genie::BLI2DNonUnifGrid;
Expand Down
Loading