Project

General

Profile

UPS products genie phyopt and genie xsec » History » Version 15

Robert Hatcher, 07/15/2015 10:21 AM

1 1 Robert Hatcher
{{toc}}
2 1 Robert Hatcher
3 1 Robert Hatcher
h1. UPS products genie phyopt and genie xsec
4 1 Robert Hatcher
5 9 Robert Hatcher
h2. setup @genie_phyopt@
6 1 Robert Hatcher
7 1 Robert Hatcher
This UPS product provides a standardized way of packaging an alternative @UserPhysicsOptions.xml@ file to the default found in @$GENIE/config@.
8 1 Robert Hatcher
9 3 Robert Hatcher
the basic thought is users (or expts) would invoke:
10 3 Robert Hatcher
<pre>
11 3 Robert Hatcher
  setup genie <version> -q <qualifier>
12 3 Robert Hatcher
  setup genie_phyopt <version> -q dkcharmtau
13 3 Robert Hatcher
</pre>
14 3 Robert Hatcher
which would put in the @$GXMLPATH@ a @UserPhysicsOptions.xml@ file that has been modified to have GENIE decay charm and tau particles
15 3 Robert Hatcher
before they are passed out (i.e. decays are done at the genie stage rather than, say, Geant4).  Only one @UserPhysicsOptions.xml@ file 
16 13 Robert Hatcher
is read for any genie session, so picking the right one is *important*. 
17 3 Robert Hatcher
18 9 Robert Hatcher
h2. setup @genie_xsec@
19 1 Robert Hatcher
20 9 Robert Hatcher
This UPS product provides a standardized way of packaging genie cross-section spline files.
21 9 Robert Hatcher
22 9 Robert Hatcher
the basic thought is users (or expts) would invoke:
23 9 Robert Hatcher
<pre>
24 9 Robert Hatcher
  setup genie <version> -q <qualifier>
25 9 Robert Hatcher
  setup genie_xsec <version> -q default
26 9 Robert Hatcher
</pre>
27 9 Robert Hatcher
28 14 Robert Hatcher
h3. Allowable isotopes
29 14 Robert Hatcher
30 15 Robert Hatcher
GENIE (currently) requires cross-section splines for all isotopes found in the geometry, even those only found in the hierarchy above a sub-element @TopVolume@.
31 1 Robert Hatcher
32 15 Robert Hatcher
Setting up the UPS @genie_xsec@ product set the environment variables:
33 1 Robert Hatcher
34 15 Robert Hatcher
* @$GENIEXSECPATH@ - the path to the data area where the spline files are found
35 15 Robert Hatcher
* @$GENIEXSECFILE@ - the default spline file
36 15 Robert Hatcher
37 15 Robert Hatcher
The default UPS sets contain a large compressed file @gxspl-FNALbig.xml.bz2@ (or @gxspl-NuMIbig.xml.gz@) and 
38 15 Robert Hatcher
a smaller uncompressed file, e.g. @gxspl-FNALsmall.xml@; @GENIEXSECFILE@ points to the later.
39 15 Robert Hatcher
40 14 Robert Hatcher
The current list of isotopes for which splines are generate is (symbol : name, Z, [ A1, A2, ...]):
41 14 Robert Hatcher
<pre>
42 14 Robert Hatcher
ionlist = {
43 14 Robert Hatcher
    'H'  : ['hydrogen',    1, [ 1, 2 ]],  # don't duplicate free proton?
44 14 Robert Hatcher
    'He' : ['helium',      2, [ 4 ]],   # skip 3
45 14 Robert Hatcher
    'Be' : ['beryllium',   4, [ 9 ]],  # only v2.8.6a and beyond
46 14 Robert Hatcher
    'B'  : ['boron',       5, [ 10, 11 ]],
47 14 Robert Hatcher
    'C'  : ['carbon',      6, [ 12, 13 ]],
48 14 Robert Hatcher
    'N'  : ['nitrogen',    7, [ 14, 15 ]],
49 14 Robert Hatcher
    'O'  : ['oxygen',      8, [ 16, 17, 18 ]],
50 14 Robert Hatcher
    'F'  : ['fluorine',    9, [ 19 ]],
51 14 Robert Hatcher
    'Na' : ['sodium',     11, [ 23 ]],
52 14 Robert Hatcher
    'Mg' : ['magnesium',  12, [ 24, 25, 26 ]],
53 14 Robert Hatcher
    'Al' : ['aluminum',   13, [ 27 ]],
54 14 Robert Hatcher
    'Si' : ['silicon',    14, [ 28, 29, 30 ]],
55 14 Robert Hatcher
    'P'  : ['phosphorus', 15, [ 31 ]],
56 14 Robert Hatcher
    'S'  : ['sulfur',     16, [ 32, 33, 34 ]],  # skip 36
57 14 Robert Hatcher
    'Cl' : ['chlorine',   17, [ 35, 36, 37 ]],
58 14 Robert Hatcher
    'Ar' : ['argon',      18, [ 36, 38, 39, 40 ]],
59 14 Robert Hatcher
    'K'  : ['potassium',  19, [ 39, 40, 41 ]],
60 14 Robert Hatcher
    'Ca' : ['calcium',    20, [ 40, 41, 42, 43, 44 ]], # skip 46, 48
61 14 Robert Hatcher
    'Ti' : ['titanium',   22, [ 46, 47, 48, 49, 50 ]],
62 14 Robert Hatcher
    'V'  : ['vanadium',   23, [ 50, 51 ]],
63 14 Robert Hatcher
    'Cr' : ['chromium',   24, [ 50, 51, 52, 53, 54 ]],
64 14 Robert Hatcher
    'Mn' : ['manganese',  25, [ 55 ]],
65 14 Robert Hatcher
    'Fe' : ['iron',       26, [ 54, 56, 57, 58 ]],
66 14 Robert Hatcher
    'Co' : ['cobalt',     27, [ 59 ]],
67 14 Robert Hatcher
    'Ni' : ['nickel',     28, [ 58, 59, 60, 61, 62, 64 ]],
68 14 Robert Hatcher
    'Cu' : ['copper',     29, [ 63, 64, 65 ]],
69 14 Robert Hatcher
    'Zn' : ['zinc',       30, [ 64, 65, 66, 67, 68, 70 ]],
70 14 Robert Hatcher
    'Br' : ['bromine',    35, [ 79, 80, 81 ]],
71 14 Robert Hatcher
    'Sn' : ['tin',        50, [ 116, 117,  # skip 112, 114, 115, 122, 124
72 14 Robert Hatcher
                                118, 119, 120 ]],
73 14 Robert Hatcher
    'Ba' : ['barium',     56, [ 130, 132, 134, 135, 136, 137, 138 ]],
74 1 Robert Hatcher
    'Gd' : ['gadolinium', 64, [ 152, 154, 155, 156, 157, 158, 160 ]],  # only R-2_9_0 and beyond
75 1 Robert Hatcher
    'Pb' : ['lead',       82, [ 204, 206, 207, 208 ]]
76 1 Robert Hatcher
    }
77 1 Robert Hatcher
</pre>
78 15 Robert Hatcher
79 15 Robert Hatcher
But those only exist in the @$GENIEXSECPATH/gxspl-FNALbig.xml.bz2@ (but would need to be uncompressed for GENIE to read them.  
80 15 Robert Hatcher
The @gxspl-FNALsmall.xml@ file pointed to by @$GENIEXSECFILE@ only has:
81 15 Robert Hatcher
82 14 Robert Hatcher
<pre>
83 14 Robert Hatcher
  tgtkeep[1000000010] = 1;  # free-n
84 14 Robert Hatcher
  tgtkeep[1000010010] = 1;  # H1
85 14 Robert Hatcher
  tgtkeep[1000020040] = 1;  # He4
86 14 Robert Hatcher
  tgtkeep[1000040090] = 1;  # Be9  # only v2.8.6a and beyond
87 14 Robert Hatcher
  tgtkeep[1000060120] = 1;  # C12
88 14 Robert Hatcher
  tgtkeep[1000070140] = 1;  # N14
89 14 Robert Hatcher
  tgtkeep[1000080160] = 1;  # O16
90 14 Robert Hatcher
  tgtkeep[1000110230] = 1;  # Na23
91 14 Robert Hatcher
  tgtkeep[1000120240] = 1;  # Mg24
92 14 Robert Hatcher
  tgtkeep[1000130270] = 1;  # Al27
93 14 Robert Hatcher
  tgtkeep[1000140280] = 1;  # Si28
94 14 Robert Hatcher
  tgtkeep[1000150310] = 1;  # P31
95 14 Robert Hatcher
  tgtkeep[1000160320] = 1;  # S32
96 14 Robert Hatcher
  tgtkeep[1000170350] = 1;  # Cl35
97 14 Robert Hatcher
  tgtkeep[1000180400] = 1;  # Ar40
98 14 Robert Hatcher
  tgtkeep[1000190390] = 1;  # K39
99 14 Robert Hatcher
  tgtkeep[1000200400] = 1;  # Ca40
100 14 Robert Hatcher
  tgtkeep[1000220480] = 1;  # Ti48
101 14 Robert Hatcher
  tgtkeep[1000230510] = 1;  # V51
102 14 Robert Hatcher
  tgtkeep[1000240520] = 1;  # Cr52
103 14 Robert Hatcher
  tgtkeep[1000250550] = 1;  # Mn55
104 14 Robert Hatcher
  tgtkeep[1000260540] = 1;  # Fe54
105 14 Robert Hatcher
  tgtkeep[1000260560] = 1;  # Fe56
106 14 Robert Hatcher
  tgtkeep[1000260570] = 1;  # Fe57
107 14 Robert Hatcher
  tgtkeep[1000260580] = 1;  # Fe58
108 14 Robert Hatcher
  tgtkeep[1000280590] = 1;  # Ni59
109 14 Robert Hatcher
  tgtkeep[1000290640] = 1;  # Cu64
110 14 Robert Hatcher
  tgtkeep[1000501190] = 1;  # Sn119
111 1 Robert Hatcher
  tgtkeep[1000561370] = 1;  # Ba137
112 14 Robert Hatcher
  tgtkeep[1000641480] = 1;  # Gd158  # only R-2_9_0 and beyond
113 1 Robert Hatcher
  tgtkeep[1000822070] = 1;  # Pb207
114 1 Robert Hatcher
</pre>
115 1 Robert Hatcher
116 15 Robert Hatcher
h3. Identifying missing isotopes
117 1 Robert Hatcher
118 15 Robert Hatcher
Any geometry with isotopes not found in the supplied spline file eventually fail with a message similar to:
119 15 Robert Hatcher
<pre>
120 15 Robert Hatcher
1436895706 WARN GEVGDriver : [n] <GEVGDriver.cxx::UseSplines (602)> : *** At least a spline (algorithm: genie::LwlynSmithQELCCPXSec/Default, interaction: nu:12;tgt:1000160310;N:2112;proc:Weak[CC],QES; doesn't exist. Reverting back to not using splines
121 15 Robert Hatcher
...
122 15 Robert Hatcher
1436895710 FATAL GEVGDriver : [n] <GEVGDriver.cxx::CreateXSecSumSpline (490)> : You haven't loaded any splines!!
123 15 Robert Hatcher
lar: GEVGDriver.cxx:492: void genie::GEVGDriver::CreateXSecSumSpline(int, double, double, bool): Assertion `fUseSplines' failed.
124 15 Robert Hatcher
</pre>
125 15 Robert Hatcher
126 15 Robert Hatcher
The @nu:12;tgt:1000160310;@ identifies what combination of probe and target couldn't be found in the spline file.  In this case, &nu; ~&mu;~ off of (Z=16,A=31), an isotope of sulfur with a half-life of 2.572 seconds.
127 15 Robert Hatcher
128 15 Robert Hatcher
----
129 15 Robert Hatcher
130 14 Robert Hatcher
h1. Creating new versions of these packages
131 15 Robert Hatcher
132 9 Robert Hatcher
133 11 Robert Hatcher
p{background:yellow}.  This section is only for those with @nusoft@ account access that need to make versions of these for the entire community in: @/nusoft/app/externals@
134 12 Robert Hatcher
For both sets of instructions you must log into a machine as @nusoft@; that machine must have @/nusoft/app/externals/@ mounted. After doing anything the @/nusoft/app/externals@ area please be sure to log your changes in @/nusoft/app/externals/LOG@ by editing the file.
135 10 Robert Hatcher
136 11 Robert Hatcher
h2. install new @genie_phyopt@
137 9 Robert Hatcher
138 6 Robert Hatcher
As @nusoft@:
139 2 Robert Hatcher
<pre>
140 2 Robert Hatcher
source /nusoft/app/externals/setup
141 2 Robert Hatcher
142 3 Robert Hatcher
# GENIE version and qualifier needed for setup
143 2 Robert Hatcher
GVER=v3470
144 2 Robert Hatcher
GQUAL=debug:nu
145 1 Robert Hatcher
# version of genie_phyopt to be generated
146 2 Robert Hatcher
POQUAL=dkcharmtau
147 2 Robert Hatcher
148 1 Robert Hatcher
cd /nusoft/app/externals/genie_phyopt
149 1 Robert Hatcher
setup genie $GVER -q $GQUAL
150 1 Robert Hatcher
./make_skeleton $GVER $POQUAL
151 5 Robert Hatcher
152 5 Robert Hatcher
setup genie_phyopt $GVER -q $POQUAL
153 5 Robert Hatcher
cd $GENIEPHYOPTPATH
154 1 Robert Hatcher
./make_dkcharmtau_phyopt
155 1 Robert Hatcher
156 1 Robert Hatcher
</pre>
157 13 Robert Hatcher
158 13 Robert Hatcher
If other parameters are being modified then it should start by initializing the package with a qualifier other than @dkcharmtau@, but running the@make_dkcharmtau_phyopt@ script as a base (if have GENIE do the decays is the desired behaviour). 
159 13 Robert Hatcher
160 6 Robert Hatcher
161 11 Robert Hatcher
h2. install new @genie_xsec@
162 6 Robert Hatcher
163 6 Robert Hatcher
As @nusoft@:
164 6 Robert Hatcher
<pre>
165 6 Robert Hatcher
source /nusoft/app/externals/setup
166 6 Robert Hatcher
167 6 Robert Hatcher
# GENIE version and qualifier needed for setup
168 6 Robert Hatcher
GVER=v3470
169 6 Robert Hatcher
GQUAL=debug:nu
170 7 Robert Hatcher
# version of genie_xsec to be generated
171 6 Robert Hatcher
XQUAL=default
172 6 Robert Hatcher
173 1 Robert Hatcher
cd /nusoft/app/externals/genie_xsec
174 1 Robert Hatcher
setup genie $GVER -q $GQUAL
175 1 Robert Hatcher
./make_skeleton $GVER $XQUAL
176 6 Robert Hatcher
177 1 Robert Hatcher
cd $GENIEXSECPATH
178 11 Robert Hatcher
pwd
179 11 Robert Hatcher
# verify this is the proper directory
180 11 Robert Hatcher
181 6 Robert Hatcher
[...populate with spline files ...]
182 11 Robert Hatcher
cd /path/to/spline/files/subdir
183 11 Robert Hatcher
cp -va * $GENIEXSECPATH
184 6 Robert Hatcher
</pre>
185 6 Robert Hatcher
186 8 Robert Hatcher
Generating the actual spline files requires running on the grid (and, thus, probably can't  done as the @nusoft@ account).  Instructions can be found at [[Creating_cross-section_spline_files]]