5 # beam neutrino configurations
7 dunefd_genie: @local::standard_genie
8 dunefd_genie.BeamName: "lbnf"
9 dunefd_genie.EventsPerSpill: 1
10 dunefd_genie.POTPerSpill: 0
11 dunefd_genie.GlobalTimeOffset: 0
12 dunefd_genie.RandomTimeOffset: 0
13 dunefd_genie.EventGeneratorList: "Default"
15 dunefd_genie_hist: @local::dunefd_genie
16 dunefd_genie_hist.FluxType: "histogram"
17 dunefd_genie_hist.FluxFiles: ["g4lbne_v3r2p4b_FHC_FD_RIK.root"]
18 dunefd_genie_hist.FluxCopyMethod: "DIRECT"
19 dunefd_genie_hist.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/GenieHistFluxFiles/"
20 dunefd_genie_hist.BeamCenter: [0., 0., -1.]
21 dunefd_genie_hist.BeamDirection: [0, 0.101, 0.995] # beam angle is 101mrad
22 dunefd_genie_hist.BeamRadius: 7. #sqrt(pow(3.6,2)+pow(6,2)
23 dunefd_genie_hist.TopVolume: "volCryostat"
25 dunefddphase_genie_hist: @local::dunefd_genie_hist
26 dunefddphase_genie_hist.BeamCenter: [0., 0., -1.]
27 dunefddphase_genie_hist.BeamDirection: [0.101, 0, 0.995] # beam angle is 101mrad
28 dunefddphase_genie_hist.BeamRadius: 7.
29 dunefddphase_genie_hist.FiducialCut: "mbox:-610,-160,-10,610,160,610"
31 dunefd_genie_simple_neutrino: @local::dunefd_genie
32 dunefd_genie_simple_neutrino.TopVolume: "volDetEnclosure"
34 dune35t_genie_simple_neutrino: @local::dunefd_genie
35 dune35t_genie_simple_neutrino.TopVolume: "volCryostat"
37 dune35t_genie_hist: @local::dunefd_genie
38 dune35t_genie_hist.BeamCenter: [100., 50., 0.]
39 dune35t_genie_hist.BeamDirection: [0., 0., 0.]
41 dune_fd_genie_nu_simple_flux_workspace_window: @local::dunefd_genie
42 dune_fd_genie_nu_simple_flux_workspace_window.FluxType: "simple_flux"
43 dune_fd_genie_nu_simple_flux_workspace_window.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/ref_01/neutrino/gsimple/far/nominal/"
44 dune_fd_genie_nu_simple_flux_workspace_window.FluxFiles: ["gsimple_LBNE-FarDet_Workspace_g4lbne_v3r3p9_QGSP_BERT_Nominal_neutrino_*root"]
45 dune_fd_genie_nu_simple_flux_workspace_window.FluxCopyMethod: "DIRECT"
46 dune_fd_genie_nu_simple_flux_workspace_window.TopVolume: "volCryostat"
48 dune_fd_genie_nu_simple_flux_workspace_window_rotated_tpc: @local::dune_fd_genie_nu_simple_flux_workspace_window
49 dune_fd_genie_nu_simple_flux_workspace_window_rotated_tpc.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/ref_01/neutrino/gsimple/far/windowRotated10DegreesAroundY/"
50 dune_fd_genie_nu_simple_flux_workspace_window_rotated_tpc.FluxFiles: ["gsimple_LBNE-FarDet_Workspace_Rotated_Window_g4lbne_v3r3p9_QGSP_BERT_Nominal_neutrino_*.root"]
52 dune_fd_genie_anu_simple_flux_workspace_window: @local::dune_fd_genie_nu_simple_flux_workspace_window
53 dune_fd_genie_anu_simple_flux_workspace_window.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/ref_01/antineutrino/gsimple/far/nominal/"
54 dune_fd_genie_anu_simple_flux_workspace_window.FluxFiles: ["gsimple_LBNE-FarDet_Workspace_g4lbne_v3r3p9_QGSP_BERT_Nominal_antineutrino_*.root"]
56 dune_fd_genie_anu_simple_flux_workspace_window_rotated_tpc: @local::dune_fd_genie_nu_simple_flux_workspace_window
57 dune_fd_genie_anu_simple_flux_workspace_window_rotated_tpc.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/ref_01/antineutrino/gsimple/far/windowRotated10DegreesAroundY/"
58 dune_fd_genie_anu_simple_flux_workspace_window_rotated_tpc.FluxFiles: ["gsimple_LBNE-FarDet_Workspace_Rotated_Window_g4lbne_v3r3p9_QGSP_BERT_Nominal_antineutrino_*.root"]
60 #Configurations for 1x2x6 geometry
61 dune_fd_genie_nu_simple_flux_1x2x6_window: @local::dunefd_genie
62 dune_fd_genie_nu_simple_flux_1x2x6_window.FiducialCut: "mbox:-380,-620,-20,380,620,1420"
63 dune_fd_genie_nu_simple_flux_1x2x6_window.FluxType: "simple_flux"
64 dune_fd_genie_nu_simple_flux_1x2x6_window.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/Flux/g4lbne/v3r5p4/QGSP_BERT/OptimizedEngineeredNov2017/neutrino/dune10kt_horizdrift_1x2x6/"
65 dune_fd_genie_nu_simple_flux_1x2x6_window.FluxFiles: ["gsimple_dune10kt_v1_1x2x6_g4lbne_v3r5p4_QGSP_BERT_OptimizedEngineeredNov2017_neutrino_*root"]
66 dune_fd_genie_nu_simple_flux_1x2x6_window.FluxCopyMethod: "DIRECT"
67 dune_fd_genie_nu_simple_flux_1x2x6_window.TopVolume: "volCryostat"
69 dune_fd_genie_nu_simple_flux_1x2x6_window_rotated_tpc: @local::dune_fd_genie_nu_simple_flux_1x2x6_window
70 dune_fd_genie_nu_simple_flux_1x2x6_window_rotated_tpc.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/opt_03/neutrino/gsimple/far/Rotate90Degrees/"
71 dune_fd_genie_nu_simple_flux_1x2x6_window_rotated_tpc.FluxFiles: ["gsimple_dune10kt_v1_1x2x6_Rotate90Degrees_g4lbne_v3r4p2_QGSP_BERT_CP_run15_12388_80GeV_neutrino_*root"]
73 dune_fd_genie_anu_simple_flux_1x2x6_window: @local::dune_fd_genie_nu_simple_flux_1x2x6_window
74 dune_fd_genie_anu_simple_flux_1x2x6_window.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/Flux/g4lbne/v3r5p4/QGSP_BERT/OptimizedEngineeredNov2017/antineutrino/dune10kt_horizdrift_1x2x6/"
75 dune_fd_genie_anu_simple_flux_1x2x6_window.FluxFiles: ["gsimple_dune10kt_v1_1x2x6_g4lbne_v3r5p4_QGSP_BERT_OptimizedEngineeredNov2017_antineutrino*root"]
77 dune_fd_genie_anu_simple_flux_1x2x6_window_rotated_tpc: @local::dune_fd_genie_nu_simple_flux_1x2x6_window
78 dune_fd_genie_anu_simple_flux_1x2x6_window_rotated_tpc.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/opt_03/antineutrino/gsimple/far/Rotate90Degrees/"
79 dune_fd_genie_anu_simple_flux_1x2x6_window_rotated_tpc.FluxFiles: ["gsimple_dune10kt_v1_1x2x6_Rotate90Degrees_g4lbne_v3r4p2_QGSP_BERT_CP_run15_12388_80GeV_antineutrino_*root"]
81 dunefdvd_1x6x6_genie_lbnf_dk2nu: {
82 @table::dune_fd_genie_nu_simple_flux_1x2x6_window
83 FiducialCut: "mbox: -350, -530, -20, 350, 530, 920"
85 DetectorLocation: "dunevd10kt_v1_1x6x6"
86 FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/Flux/g4lbne/v3r5p4/QGSP_BERT/OptimizedEngineeredNov2017/neutrino/flux/"
87 FluxFiles: ["g4lbne_v3r5p4_QGSP_BERT_OptimizedEngineeredNov2017_neutrino*.dk2nu.root"]
90 dunefdvd_1x8x14_genie_lbnf_dk2nu: {
91 @table::dunefdvd_1x6x6_genie_lbnf_dk2nu
92 FiducialCut: "mbox: -370, -750, -30, 370, 750, 2150"
93 DetectorLocation: "dunevd10kt_v1_1x8x14"
96 dunefdvd_1x8x6_genie_lbnf_dk2nu: {
97 @table::dunefdvd_1x6x6_genie_lbnf_dk2nu
98 FiducialCut: "mbox: -370, -750, -30, 370, 750, 920"
99 DetectorLocation: "dunevd10kt_v1_1x8x6"
102 dunefdvd_1x8x6_genie_anu_lbnf_dk2nu_fluxpaths: {
103 FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/Flux/g4lbne/v3r5p4/QGSP_BERT/OptimizedEngineeredNov2017/antineutrino/flux/"
104 FluxFiles: ["g4lbne_v3r5p4_QGSP_BERT_OptimizedEngineeredNov2017_antineutrino*.dk2nu.root"]
107 #atmospheric neutrino configurations
109 # this configuration is tuned on the full geometry (10 kton) of the far detector:
110 dune_fd_genie_atmo: {
111 @table::standard_genie_atmo_flux # inherit from the standard configuration
116 EventGeneratorList: "Default"
119 # now fix the flux window parameters; from GENIE manual:
121 # "For a given direction, determined by the zenith angle and the azimuth angle,
122 # the flux generation surface is a circular area, with radius RT,
123 # which is tangent to a sphere of radius RL centered at the coordinate system origin."
125 # NOTE: in `GENIEHelper` (nutools `v2_26_00`) `BeamCenter` is not used
126 # for the atmospheric neutrino flux (probably, because GENIE does not know
127 # whet to do with it).
129 # Rl is how far from the origin the circular flux window is;
130 # in GENIE style, this is meters; and it should be large enough to include
131 # all the active volume of the detector (in principle, even more).
132 # Now, this radius and center of the circle are pivoting around the origin
133 # of the coordinate system, which in DUNE FD is on one of the faces
134 # (the upstream face of the neutrino beam).
135 # Unfortunately there are like 60 more meters of detector on one side of
136 # that origin, which means we need a large radius Rl (more than 60 meters,
137 # and in fact closer to the size of the diagonal, 5 (+) 5 (+) 60 m),
138 # and the radius of the circle must be large enough that when the circle is
139 # facing down (and since the origin is on a side of the detector,
140 # half of the circle does not see any detector at all), that is 60 meters
141 # of radius. Now, art:
143 # _. _________________________________________________
147 # _L /________________________________________________/ | y
150 # | | !............................................|...| .---->
154 # _ '________________________________________________/
156 # |<-- - - - - - - - - - 62 m - - - - - - - - - -->|
158 # <========= LBNF is there; beam neutrinos go: -------->
160 # The origin of the DUNE coordinate system, which is the pivot GENIE rotates
161 # the flux window around, is marked by (*).
164 # Rt is the radius of the circular flux window; again, should be large enough
165 # that its "shadow" covers the detector
167 # given that we picked a window specific to a volume, it makes sense to
168 # specify the volume here as well (the dimensions are in the cartoon above):
169 TopVolume: "volCryostat"
172 # now, about the orientation:
173 # the flux is defined and interpreted by GENIE in a geographical reference
174 # frame where z is orthogonal to earth surface pointing to the zenith,
175 # x points toward south and y toward east (right-handed coordinate system).
176 # DUNE geometry points z along the LBNF beam, and y in the plane containing z
177 # and the vertical (see the axis triad in the cartoon above).
178 # The flux needs to be rotated in that system, and GENIEHelper allows us to
179 # express a rotation as in: what are the coordinates of the new axes,
180 # expressed in the old reference frame.
181 # Here we are rotating the geographical local frame ("old") into DUNE frame
182 # ("new"). The rotation is complicate, and here we take heavy shortcuts:
183 # * DUNE y axis should be the direction of the vertical (which makes the
184 # beam come with an angle); so this is effectively the geographic z axis
185 # * DUNE z axis roughly points to Fermilab; since Fermilab is east-south-east
186 # of DUNE, the angle to Fermilab from the geographical x axis as defined
187 # above is positive and close to 90 degrees (in fact, roughly 81 degrees);
188 # but z verse is the opposite, from Fermilab (LBNF) to DUNE FD,
189 # effectively pointing WNW.
190 # * DUNE x axis will have enough good taste to adapt and make the frame
191 # right-handed; this would mean pointing SSW.
192 # My shortcuts so far: z becomes from ESE becomes just E, and# x axis goes
193 # south. Defining phi as the angle from south, measured toward west
194 # (counterclockwise), which is the geographical convention ("old"), this is
195 # equivalent to Fermilab being at phi = pi/2 (again, z points backward).
197 # To be tested: complete rotation is:
199 # +sin(phi), -cos(phi), +0.000,
200 # +0.000, +0.000, +1.000, # new y is old z
201 # -cos(phi), -sin(phi), +0.000 # new z
204 # A rough estimation of the actual phi is +81 degrees, or +1.414 rad.
205 # Finally, note that the Bartol flux the most standard producton picks
206 # (from http://www-pnp.physics.ox.ac.uk/~barr/fluxfiles)
207 # have no azimut parametrization, so phi does not really matter yet.
208 # Honda flux, on the other hand, does have such parametrization.
212 +1.0, +0.0, +0.0, # new x axis in old coordinates: be nice and fix things (ends up the same)
213 +0.0, +0.0, +1.0, # new y axis in old coordinates: vertical
214 +0.0, -1.0, +0.0 # new z axis in old coordinates: westward
217 # A more complete rotation is available as
218 # `dune_fd_atmo_flux_rotation_precise` below.
220 # NOTE: these rotations will need to be removed or fixed if feature request
221 # 21185 (https://cdcvs.fnal.gov/redmine/issues/21185) is implemented.
224 } # dune_fd_genie_atmo
228 # the following snipper can be added to an existing configuration
229 # (including the ones with `dune_fd_genie_atmo` above) to test a
230 # more precise rotation which correctly aligns the detector to
231 # the geographic coordinates (see issue #20034).
232 # Usage: plug it at the end of the generator configuration:
238 # @table::dune_fd_atmo_flux_rotation_precise
243 # or overwrite the existing configuration like in:
245 # physics.producers.generator: {
246 # @table::physics.producers.generator
247 # @table::dune_fd_atmo_flux_rotation_precise
250 # WARNING: this configuration was, at the time it was added
251 # (October 29, 2018), UNTESTED.
253 dune_fd_atmo_flux_rotation_precise: {
254 # the details of this rotation are explained in `dune_fd_genie_atmo`;
255 # the imparted rotation is phi = 1.414 rad (81.016 degrees)
256 # from southward direction counterclockwise
257 # (and rounded to 4 significant digits).
260 +0.9877, -0.1564, +0.0000, # new x axis in old coordinates: be nice and fix things (ends up the same)
261 +0.0000, +0.0000, +1.0000, # new y axis in old coordinates: vertical
262 -0.1564, -0.9877, +0.0000 # new z axis in old coordinates: away from Batavia, IL
265 } # dune_fd_atmo_flux_rotation_precise
268 dune_fd_genie_atmo_min_flux: @local::dune_fd_genie_atmo
269 dune_fd_genie_atmo_min_flux.TopVolume: "volCryostat"
270 dune_fd_genie_atmo_min_flux.FluxType: "atmo_BARTOL"
271 dune_fd_genie_atmo_min_flux.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/atmos/Bartol/"
272 dune_fd_genie_atmo_min_flux.FluxFiles: ["fmin20_0401z.sou_nue","fmin20_0401z.sou_num","fmin20_0401z.sou_nbe","fmin20_0401z.sou_nbm"]
273 #dune_fd_genie_atmo_min_flux.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/atmos/Bartol/"
274 #dune_fd_genie_atmo_min_flux.FluxFiles: ["fmin10_0401z.sou_nue","fmin10_0401z.sou_num","fmin10_0401z.sou_nbe","fmin10_0401z.sou_nbm"]
275 dune_fd_genie_atmo_min_flux.FluxCopyMethod: "DIRECT"
277 dune_fd_genie_atmo_max_flux: @local::dune_fd_genie_atmo
278 dune_fd_genie_atmo_max_flux.TopVolume: "volCryostat"
279 dune_fd_genie_atmo_max_flux.FluxType: "atmo_BARTOL"
280 dune_fd_genie_atmo_max_flux.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/atmos/Bartol/"
281 dune_fd_genie_atmo_max_flux.FluxFiles: ["fmax20_0401z.sou_nue","fmax20_0401z.sou_num","fmax20_0401z.sou_nbe","fmax20_0401z.sou_nbm"]
282 #dune_fd_genie_atmo_max_flux.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/atmos/Bartol/"
283 #dune_fd_genie_atmo_max_flux.FluxFiles: ["fmax10_0401z.sou_nue","fmax10_0401z.sou_num","fmax10_0401z.sou_nbe","fmax10_0401z.sou_nbm"]
284 dune_fd_genie_atmo_max_flux.FluxCopyMethod: "DIRECT"
286 dune_fd_genie_atmo_max_hondaflux: @local::dune_fd_genie_atmo
287 dune_fd_genie_atmo_max_hondaflux.TopVolume: "volCryostat"
288 dune_fd_genie_atmo_max_hondaflux.FluxType: "atmo_HONDA"
289 dune_fd_genie_atmo_max_hondaflux.FluxSearchPaths: "/cvmfs/dune.osgstorage.org/pnfs/fnal.gov/usr/dune/persistent/stash/TaskForce_Flux/atmos/Honda/"
290 dune_fd_genie_atmo_max_hondaflux.FluxFiles: ["hms-ally-20-12-solmax.d","hms-ally-20-12-solmax.d","hms-ally-20-12-solmax.d","hms-ally-20-12-solmax.d"]
291 dune_fd_genie_atmo_max_hondaflux.FluxCopyMethod: "DIRECT"
293 dune_fd_genie_atmo_min_hondaflux: @local::dune_fd_genie_atmo_max_hondaflux
294 dune_fd_genie_atmo_min_hondaflux.FluxFiles: ["hms-ally-20-12-solmin.d","hms-ally-20-12-solmin.d","hms-ally-20-12-solmin.d","hms-ally-20-12-solmin.d"]