Project

General

Profile

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

Robert Hatcher, 07/14/2015 05:49 PM

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 14 Robert Hatcher
GENIE requires cross-section splines for all isotopes found in the geometry, even those only found in the hierarchy above a sub-element @TopVolume@.
31 14 Robert Hatcher
32 14 Robert Hatcher
The default UPS sets contain a large compressed file @gxspl-FNALbig.xml.bz@ (or gxspl-NuMIbig.xml.gz@) and a smaller uncompressed set, e.g. @gxspl-FNALsmall.xml@.
33 14 Robert Hatcher
The later is pointed to by @$GENIEXSECFILE@, and all live in the directory pointed to by @$GENIEXSECPATH@ defined by the UPS setup.
34 14 Robert Hatcher
35 14 Robert Hatcher
The current list of isotopes for which splines are generate is (symbol : name, Z, [ A1, A2, ...]):
36 14 Robert Hatcher
<pre>
37 14 Robert Hatcher
ionlist = {
38 14 Robert Hatcher
    'H'  : ['hydrogen',    1, [ 1, 2 ]],  # don't duplicate free proton?
39 14 Robert Hatcher
    'He' : ['helium',      2, [ 4 ]],   # skip 3
40 14 Robert Hatcher
    'Be' : ['beryllium',   4, [ 9 ]],  # only v2.8.6a and beyond
41 14 Robert Hatcher
    'B'  : ['boron',       5, [ 10, 11 ]],
42 14 Robert Hatcher
    'C'  : ['carbon',      6, [ 12, 13 ]],
43 14 Robert Hatcher
    'N'  : ['nitrogen',    7, [ 14, 15 ]],
44 14 Robert Hatcher
    'O'  : ['oxygen',      8, [ 16, 17, 18 ]],
45 14 Robert Hatcher
    'F'  : ['fluorine',    9, [ 19 ]],
46 14 Robert Hatcher
    'Na' : ['sodium',     11, [ 23 ]],
47 14 Robert Hatcher
    'Mg' : ['magnesium',  12, [ 24, 25, 26 ]],
48 14 Robert Hatcher
    'Al' : ['aluminum',   13, [ 27 ]],
49 14 Robert Hatcher
    'Si' : ['silicon',    14, [ 28, 29, 30 ]],
50 14 Robert Hatcher
    'P'  : ['phosphorus', 15, [ 31 ]],
51 14 Robert Hatcher
    'S'  : ['sulfur',     16, [ 32, 33, 34 ]],  # skip 36
52 14 Robert Hatcher
    'Cl' : ['chlorine',   17, [ 35, 36, 37 ]],
53 14 Robert Hatcher
    'Ar' : ['argon',      18, [ 36, 38, 39, 40 ]],
54 14 Robert Hatcher
    'K'  : ['potassium',  19, [ 39, 40, 41 ]],
55 14 Robert Hatcher
    'Ca' : ['calcium',    20, [ 40, 41, 42, 43, 44 ]], # skip 46, 48
56 14 Robert Hatcher
    'Ti' : ['titanium',   22, [ 46, 47, 48, 49, 50 ]],
57 14 Robert Hatcher
    'V'  : ['vanadium',   23, [ 50, 51 ]],
58 14 Robert Hatcher
    'Cr' : ['chromium',   24, [ 50, 51, 52, 53, 54 ]],
59 14 Robert Hatcher
    'Mn' : ['manganese',  25, [ 55 ]],
60 14 Robert Hatcher
    'Fe' : ['iron',       26, [ 54, 56, 57, 58 ]],
61 14 Robert Hatcher
    'Co' : ['cobalt',     27, [ 59 ]],
62 14 Robert Hatcher
    'Ni' : ['nickel',     28, [ 58, 59, 60, 61, 62, 64 ]],
63 14 Robert Hatcher
    'Cu' : ['copper',     29, [ 63, 64, 65 ]],
64 14 Robert Hatcher
    'Zn' : ['zinc',       30, [ 64, 65, 66, 67, 68, 70 ]],
65 14 Robert Hatcher
    'Br' : ['bromine',    35, [ 79, 80, 81 ]],
66 14 Robert Hatcher
    'Sn' : ['tin',        50, [ 116, 117,  # skip 112, 114, 115, 122, 124
67 14 Robert Hatcher
                                118, 119, 120 ]],
68 14 Robert Hatcher
    'Ba' : ['barium',     56, [ 130, 132, 134, 135, 136, 137, 138 ]],
69 14 Robert Hatcher
    'Gd' : ['gadolinium', 64, [ 152, 154, 155, 156, 157, 158, 160 ]],  # only R-2_9_0 and beyond
70 14 Robert Hatcher
    'Pb' : ['lead',       82, [ 204, 206, 207, 208 ]]
71 14 Robert Hatcher
    }
72 14 Robert Hatcher
</pre>
73 14 Robert Hatcher
But those only exist in the @$GENIEXSECPATH/gxspl-NuMIbig.xml.gz@ (but would need to be uncompressed for GENIE to read them.  The @gxspl-NuMIsmall.xml@ file pointed to by @$GENIEXSECFILE@ only has:
74 14 Robert Hatcher
<pre>
75 14 Robert Hatcher
  tgtkeep[1000000010] = 1;  # free-n
76 14 Robert Hatcher
  tgtkeep[1000010010] = 1;  # H1
77 14 Robert Hatcher
  tgtkeep[1000020040] = 1;  # He4
78 14 Robert Hatcher
  tgtkeep[1000040090] = 1;  # Be9  # only v2.8.6a and beyond
79 14 Robert Hatcher
  tgtkeep[1000060120] = 1;  # C12
80 14 Robert Hatcher
  tgtkeep[1000070140] = 1;  # N14
81 14 Robert Hatcher
  tgtkeep[1000080160] = 1;  # O16
82 14 Robert Hatcher
  tgtkeep[1000110230] = 1;  # Na23
83 14 Robert Hatcher
  tgtkeep[1000120240] = 1;  # Mg24
84 14 Robert Hatcher
  tgtkeep[1000130270] = 1;  # Al27
85 14 Robert Hatcher
  tgtkeep[1000140280] = 1;  # Si28
86 14 Robert Hatcher
  tgtkeep[1000150310] = 1;  # P31
87 14 Robert Hatcher
  tgtkeep[1000160320] = 1;  # S32
88 14 Robert Hatcher
  tgtkeep[1000170350] = 1;  # Cl35
89 14 Robert Hatcher
  tgtkeep[1000180400] = 1;  # Ar40
90 14 Robert Hatcher
  tgtkeep[1000190390] = 1;  # K39
91 14 Robert Hatcher
  tgtkeep[1000200400] = 1;  # Ca40
92 14 Robert Hatcher
  tgtkeep[1000220480] = 1;  # Ti48
93 14 Robert Hatcher
  tgtkeep[1000230510] = 1;  # V51
94 14 Robert Hatcher
  tgtkeep[1000240520] = 1;  # Cr52
95 14 Robert Hatcher
  tgtkeep[1000250550] = 1;  # Mn55
96 14 Robert Hatcher
  tgtkeep[1000260540] = 1;  # Fe54
97 14 Robert Hatcher
  tgtkeep[1000260560] = 1;  # Fe56
98 14 Robert Hatcher
  tgtkeep[1000260570] = 1;  # Fe57
99 14 Robert Hatcher
  tgtkeep[1000260580] = 1;  # Fe58
100 14 Robert Hatcher
  tgtkeep[1000280590] = 1;  # Ni59
101 14 Robert Hatcher
  tgtkeep[1000290640] = 1;  # Cu64
102 14 Robert Hatcher
  tgtkeep[1000501190] = 1;  # Sn119
103 14 Robert Hatcher
  tgtkeep[1000561370] = 1;  # Ba137
104 14 Robert Hatcher
  tgtkeep[1000641480] = 1;  # Gd158  # only R-2_9_0 and beyond
105 14 Robert Hatcher
  tgtkeep[1000822070] = 1;  # Pb207
106 14 Robert Hatcher
</pre>
107 14 Robert Hatcher
Any geometry with elements beyond these will cause such issues.  
108 14 Robert Hatcher
109 14 Robert Hatcher
110 9 Robert Hatcher
h1. Creating new versions of these packages
111 9 Robert Hatcher
112 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@
113 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.
114 10 Robert Hatcher
115 11 Robert Hatcher
h2. install new @genie_phyopt@
116 9 Robert Hatcher
117 6 Robert Hatcher
As @nusoft@:
118 2 Robert Hatcher
<pre>
119 2 Robert Hatcher
source /nusoft/app/externals/setup
120 2 Robert Hatcher
121 3 Robert Hatcher
# GENIE version and qualifier needed for setup
122 2 Robert Hatcher
GVER=v3470
123 2 Robert Hatcher
GQUAL=debug:nu
124 1 Robert Hatcher
# version of genie_phyopt to be generated
125 2 Robert Hatcher
POQUAL=dkcharmtau
126 2 Robert Hatcher
127 1 Robert Hatcher
cd /nusoft/app/externals/genie_phyopt
128 1 Robert Hatcher
setup genie $GVER -q $GQUAL
129 1 Robert Hatcher
./make_skeleton $GVER $POQUAL
130 5 Robert Hatcher
131 5 Robert Hatcher
setup genie_phyopt $GVER -q $POQUAL
132 5 Robert Hatcher
cd $GENIEPHYOPTPATH
133 1 Robert Hatcher
./make_dkcharmtau_phyopt
134 1 Robert Hatcher
135 1 Robert Hatcher
</pre>
136 13 Robert Hatcher
137 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). 
138 13 Robert Hatcher
139 6 Robert Hatcher
140 11 Robert Hatcher
h2. install new @genie_xsec@
141 6 Robert Hatcher
142 6 Robert Hatcher
As @nusoft@:
143 6 Robert Hatcher
<pre>
144 6 Robert Hatcher
source /nusoft/app/externals/setup
145 6 Robert Hatcher
146 6 Robert Hatcher
# GENIE version and qualifier needed for setup
147 6 Robert Hatcher
GVER=v3470
148 6 Robert Hatcher
GQUAL=debug:nu
149 7 Robert Hatcher
# version of genie_xsec to be generated
150 6 Robert Hatcher
XQUAL=default
151 6 Robert Hatcher
152 1 Robert Hatcher
cd /nusoft/app/externals/genie_xsec
153 1 Robert Hatcher
setup genie $GVER -q $GQUAL
154 1 Robert Hatcher
./make_skeleton $GVER $XQUAL
155 6 Robert Hatcher
156 1 Robert Hatcher
cd $GENIEXSECPATH
157 11 Robert Hatcher
pwd
158 11 Robert Hatcher
# verify this is the proper directory
159 11 Robert Hatcher
160 6 Robert Hatcher
[...populate with spline files ...]
161 11 Robert Hatcher
cd /path/to/spline/files/subdir
162 11 Robert Hatcher
cp -va * $GENIEXSECPATH
163 6 Robert Hatcher
</pre>
164 6 Robert Hatcher
165 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]]