Skip to content

Scripts to generate csms spline snippets and stick them into native genie splines

Notifications You must be signed in to change notification settings

plt109/csms_genie_spline_generators

Repository files navigation

Flow:
1. Generate spline snippet, `python gen_my_spline9.py`
Expect output xml file, full_package_snippet_v9c.xml
2. Insert xml spline snippet into original native GENIE splines, replacing the
original values, `python insert_my_splines.py`
Expect output xml file, full_package_conjoined_v9c.xml
3. Check GENIE xml splines with CSMS cross section, `python check_my_splines.py`
Expect things to be relatively smooth, no crazy kinks or ripples, especially
around interfaces (70 GeV, 200 GeV are the default values)

############################### SCRIPTS #######################################
gen_my_spline9.py:
Script to interpolate CSMS cross section values at GENIE knot points, handle
transition regions and write to xml file

insert_my_splines.py:
Script to insert spline snippet generated by `gen_my_spline9.py` into a base
native GENIE xml spline file.

check_my_splines.py
Script to pull values from GENIE xml spline files and plot them out. Good for
eyeballing for weird artefacts. 

############################### SUPPORTING FUNCTIONS ##########################
nu2siFunc.py:
Function to convert cross section in Natural Units to cross section in SI Units.

pullRawKntsFunc2.py:
Function to sum up all subchannels in GENIE xml file

readXSecErrFunc2.py:
Function to read in CSMS cross section files with values ripped from 1106.3723

############################### FOLDERS #######################################

csms_xsec_base:
CSMS neutrino and antineutrino CC and NC xsec on isoscalar targets from table I
and II in 1106.3723.
CSMS neutrino and antineutrino CC and NC xsec on protons from http://www-pnp.physics.ox.ac.uk/~cooper/neutrino/

Each line contains
1: Neutrino energy [GeV]
2: Cross-section [pb]
3: Upward uncertaintes [pb]
4: Downward uncertainties without HERAPDF1.5 member 9 [pb]

native_genie:
full_package_10TeV_default_500knots.xml: Native GENIE splines (!!)
null_list.txt: List of subchannels to be nulled out
survive_list.txt: List of subchannels with values to be replaced by the CSMS cross section values

!!: full_package_10TeV_default_500knots.xml too large to be uploaded to GitHub
Please generate it yourself using 
gmkspl -p 12,-12,14,-14,16,-16 -t 1000080160,1000010010 -e 10000 -o 'full_package_10TeV_default_500knots.xml'

###############################################################################
All the scripts were written and tested using 

GENIE 2.8.6

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 12:54:16) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Darwin *** 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 21 20:07:40 PDT 2018;
root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64

About

Scripts to generate csms spline snippets and stick them into native genie splines

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages