All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
beamspilltimings.fcl
Go to the documentation of this file.
1 #
2 # File: beamspilltimings.fcl
3 # Purpose: Configuration of FNAL beam time structure for GENIEHelper.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
5 # Date: August 19, 2019
6 # Version: 1.0
7 #
8 # Configurations are provided to drive GENIEGen/GENIEHelper to produce a
9 # neutrino interactions with time distribution reflecting the beam time
10 # structure.
11 # `evgb::GENIEHelper` determines the timing of each generated event via an
12 # algorithm configured via `SpillTimeConfig`. One of the available algorithms
13 # is specific to FNAL beams and it is implemented in `nugen` package as
14 # `evgb::EvtTimeFNALBeam` class, with inline documentation worth a reading
15 # (`nugen/EventGeneratorBase/GENIE/EvtTimeFNALBeam.h`).
16 #
17 # The configuration is a string with the name of the algorithm first, and then
18 # the configuration parameters.
19 #
20 # Configurations are provided for BnB and NuMI at some known times.
21 #
22 # Example of usage
23 # -----------------
24 #
25 # Assuming there is a configuration `generator` for `GENIEGen`, FHiCL
26 # configuration can be amended by appending to it:
27 #
28 # physics.producers.generator.SpillTimeConfig: @local::FNAL_BnB_default
29 #
30 #
31 #
32 # Provided configurations
33 # ------------------------
34 #
35 # * `FNAL_BnB_default`: settings from `evgb::EvtTimeFNALBeam` itself
36 # * `FNAL_NuMI_default`: settings from `evgb::EvtTimeFNALBeam` itself
37 #
38 #
39 # Explanation of the configuration parameters
40 # --------------------------------------------
41 #
42 # This documentation reflects the configuration string of
43 # `evgb::EvtTimeFNALBeam` class in `nugen` `v1_00_01` (`nutools` `v3_02_00`).
44 # It is parsed by `evgb::EvtTimeFNALBeam::Config()` (the first word,
45 # representing the name of the algorithm, is stripped by the caller,
46 # `evgb::GENIEHelper`).
47 # The configuration string is, well, a single string, sequence of
48 # case-insensitive words separated by blanks (space, tabulation or new line).
49 # Parameters are parsed in sequence and the latter overrides the previous.
50 # Parameters may appear in any order, except for the algorithm name which must
51 # be the first.
52 #
53 # * `evgb::EvtTimeFNALBeam`: the algorithm name; `evgb::EvtTimeFNALBeam`
54 # describes a beam spill structured in a contiguous sequence of "batches",
55 # each one with a substructure of "buckets". Some batches can be "disabled",
56 # and some of the buckets at the end of each batch may be empty.
57 # Each bucket has a Gaussian time distribution. See the content of
58 # `nugen/EventGeneratorBase/GENIE/EvtTime*.h` for other possible algorithms.
59 # * `intentsity <INT 1> <INT 2> ... <INT M>` describes the relative intensity
60 # of the batches in the spill, and at the same time it defines the number
61 # _M_ of batches in the spill. A standard setting is to have all the batches
62 # (6 for NuMI, just 1 for BnB) set to `1.0`; `GENIEHelper` will take care of
63 # normalizing the numbers to a sum of 1.
64 # * `sigma` or `FWHM` [ns]: the RMS or full width at half maximum peak of the
65 # time structure of a single bucket. The time distribution is always
66 # Gaussian (if specified as FWHM, it is converted to RMS for a Gaussian
67 # distribution).
68 # * `dtbucket` [ns]: the time between the peak of two consecutive buckets.
69 # The default value (18.83 ns) assumes an extraction rate of 53.103 MHz.
70 # * `nperbatch`, `nfilled`: the number of buckets in each spill, and the number
71 # of those which have actual protons in them. The default values include
72 # 84 buckets, of which 81 are filled and the remaining 3, always at the end
73 # of the spill ("notch") are empty.
74 # * `global` [ns]: offset of the start of the spill (i.e. the time of the peak
75 # of the first bucket of the first batch) with respect to the start
76 # of the generator time scale (see `detinfo::DetectorClocks`).
77 # * `Booster`, `NuMI`: presets including all the above in hard-coded fashion;
78 # avoid using these to have better control and awareness of the settings.
79 #
80 # Changes
81 # --------
82 #
83 # 20190819 (petrillo@slac.stanford.edu) [v1.0]
84 # explicitly pick settings hard-coded in `evgb::EvtTimeFNALBeam`
85 #
86 
87 BEGIN_PROLOG
88 
89 ################################################################################
90 ### Booster Neutrino Beam (BnB)
91 ################################################################################
92 #
93 # this configuration is taken from the default settings of
94 # `evgb::EvtTimeFNALBeam` on `nugen` `v1_00_01` for BnB.
95 # According to the comments in the code, "2.0 - 2.5 ns width for Booster is
96 # reasonable", and "it is expected that the Booster width >> NuMI width due to
97 # higher electric fields / deeper buckets".
98 #
99 FNAL_BnB_default: "evgb::EvtTimeFNALBeam
100 intensity 1.0
101 sigma 2.00
102 dtbucket 18.8313277969
103 nperbatch 84
104 nfilled 81
105 global 0.0
106 "
107 
108 
109 ################################################################################
110 ### NuMI
111 ################################################################################
112 #
113 # this configuration is taken from the default settings of
114 # `evgb::EvtTimeFNALBeam` on `nugen` `v1_00_01` for NuMI.
115 # According to the comments in the code, "0.75 ns sigma for NuMI comes from
116 # MINOS Time-of-Flight paper though it could be currently ~ 1ns".
117 #
118 FNAL_NuMI_default: "evgb::EvtTimeFNALBeam
119 intensity 1.0 1.0 1.0 1.0 1.0 1.0
120 sigma 0.75
121 dtbucket 18.8313277969
122 nperbatch 84
123 nfilled 81
124 global 0.0
125 "
126 
127 ################################################################################
128 
129 END_PROLOG