All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
photpropservices_icarus.fcl
Go to the documentation of this file.
1 #
2 # File: photpropservices_icarus.fcl
3 # Purpose: Configuration of services related to the optical detectors.
4 #
5 # Currently provides:
6 # * `icarus_photonvisibilityservice`: default configuration of
7 # `PhotonVisibilityService` used in higher level standard scripts
8 # (defined at the bottom of this configuration file)
9 # * `icarus_photonvisibilityservice_icarus_v2`: legacy configuration
10 # for use with geometry `icarus_v2`
11 # (e.g. `icarus_geometry_services_legacy_icarus_v2`)
12 # * `icarus_photonvisibilityservice_direct`: configuration of
13 # `PhotonVisibilityService` using a photon visibility library and no mapping
14 # * `icarus_photonvisibilityservice_mapped`: configuration of
15 # `PhotonVisibilityService` using a single cryostat photon visibility
16 # library and a mapping
17 # * `icarus_photonvisibilityservice_mapped_oldPMTmap`: configuration of
18 # `PhotonVisibilityService` using a single cryostat photon visibility
19 # library and a library mapping, for use with the old PMT channel mapping
20 # * `icarus_photonvisibilityservice_2018`: configuration of
21 # `PhotonVisibilityService` using the photon library tagged 20180801
22 # library and a library mapping, for use with the old PMT channel mapping
23 #
24 
25 
26 #include "photpropservices.fcl"
28 
29 
30 BEGIN_PROLOG
31 
32 
33 #################################################################################
34 #
35 # Geometry coordinates for different library files and geometries
36 #
37 # Each configuration includes the library file version (e.g. 20201209)
38 # and the geometry name (e.g. `icarus_v3`)
39 #
41  LibraryFile: "PhotonLibrary/PhotonLibrary-20201209.root"
42 
43  # this stuff is also included in the metadata
44  XMin: -405.0 # cm
45  XMax: -35.0 # cm
46  YMin: -215.0 # cm
47  YMax: 170.0 # cm
48  ZMin: -985.0 # cm
49  ZMax: 985.0 # cm
50 
51 } # icarus_photonlibrary_coordinates_icarusv2
52 
53 
54 icarus_photonlibrary_coordinates_20201209_icarusv3: {
55  LibraryFile: "PhotonLibrary/PhotonLibrary-20201209.root"
56 
57  # this stuff is also included in the metadata;
58  # modified for icarus_v3 geometry (metadata in icarus_data v09_26_01 and earlier encodes icarus_v2)
59  XMin: -395.0 # cm
60  XMax: -25.0 # cm
61  YMin: -215.0 # cm
62  YMax: 170.0 # cm
63  ZMin: -985.0 # cm
64  ZMax: 985.0 # cm
65 
66 } # icarus_photonlibrary_coordinates_20201209_icarusv3
67 
68 
69 ################################################################################
70 #
71 # PhotonVisibilityService configuration
72 #
73 # Use as:
74 #
75 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_direct
76 #
77 #
78 icarus_photonvisibilityservice_direct: {
79 
80  @table::photon_propagation_timing_icarus # from photon_propogation_timing_icarus.fcl
81 
82  LibraryFile: "PhotonLibrary/PhotonLibrary-20201209.root"
83  UseCryoBoundary: false
84  DoNotLoadLibrary: false
85 
86  # coordinates are hard-coded and delegated to:
87  @table::icarus_photonlibrary_coordinates_20201209_icarusv3
88  NX: 74
89  NY: 77
90  NZ: 394
91 
92  IncludePropTime: true
93 
94 } # icarus_photonvisibilityservice_direct
95 
96 
97 ###
98 ### Configuration for first cryostat library and mapping to the other one
99 ###
100 #
101 # This is the configuration expected to work correctly with the current version
102 # of the software.
103 #
104 # This configuration is used for photon visibility library: 20200925.
105 # The "mapped" in the name refers to the mapping from the first cryostat to
106 # the second one.
107 #
108 # Use as:
109 #
110 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_mapped
111 #
112 icarus_photonvisibilityservice_mapped: {
113  @table::icarus_photonvisibilityservice_direct
114 
115  Mapping: {
116  tool_type: ICARUSPhotonMappingTransformations
117  } # Mapping
118 
119 } # icarus_photonvisibilityservice_mapped
120 
121 
122 
123 ###############################################################################
124 ###
125 ### Legacy configurations
126 ###
127 # ----------------------------------------------------------------------------
128 #
129 # This configuration should be used with samples processed with icarus_v2
130 # geometry, that was the default for icaruscode versions
131 #
132 
133 icarus_photonvisibilityservice_icarus_v2: {
134 
135  @table::photon_propagation_timing_icarus # from photon_propogation_timing_icarus.fcl
136 
137  LibraryFile: "PhotonLibrary/PhotonLibrary-20201209.root"
138  UseCryoBoundary: false
139  DoNotLoadLibrary: false
140 
141  # coordinates are hard-coded and delegated to:
143  NX: 74
144  NY: 77
145  NZ: 394
146 
147  IncludePropTime: true
148 
149  Mapping: {
150  tool_type: ICARUSPhotonMappingTransformations
151  } # Mapping
152 
153 } # icarus_photonvisibilityservice_icarus_v2
154 
155 
156 
157 # ----------------------------------------------------------------------------
158 #
159 # This configuration should be used with the "old" PMT channel mapping.
160 # PMT channel mapping reflects the optical detector sorting.
161 # This sorting was changed when moving to the split wire geometry, so that the
162 # new geometry included a new TPC and PMT channel mapping.
163 # For the single wire geometry, this does not apply and the old configuration
164 # is needed.
165 # Use as:
166 #
167 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_noPMTremapping
168 #
169 # This configuration is almost self-contained (i.e. it would be self-contained
170 # except that it relies on
171 # `standard_library_vuv_prop_timing_photonvisibilityservice` which we are not
172 # reproducing here).
173 #
174 icarus_photonvisibilityservice_noPMTremapping: {
175 
176  @table::standard_library_vuv_prop_timing_photonvisibilityservice
177 
178  LibraryFile: "PhotonLibrary/PhotonLibrary-20180801.root"
179  UseCryoBoundary: false
180 
181  XMin: -395 # Was -391 in old geometry
182  XMax: -45 # Was -41 in old geometry
183  YMin: -215.2 # Was -210 in old geometry
184  YMax: 174.8 # Was -180 in old geometry
185  ZMin: -995
186  ZMax: 965
187  NX: 70
188  NY: 78
189  NZ: 392
190 
191  IncludePropTime: true
192 
193  Mapping: {
194  tool_type: ICARUSPhotonMappingTransformations
195  }
196 
197 } # icarus_photonvisibilityservice_noPMTremapping
198 
199 
200 
201 # ----------------------------------------------------------------------------
202 #
203 # This is the configuration used by the "standard" ICARUS job configurations
204 # until icaruscode v08_50_00.
205 # It is part of `icarus_legacy_services` configuration, and it should not
206 # be used by itself since it requires a specific geometry and channel mapping.
207 # Use as:
208 #
209 # services: @local::icarus_legacy_services
210 #
211 # This configuration is almost frozen (i.e. it would be frozen except that it
212 # relies on `standard_library_vuv_prop_timing_photonvisibilityservice` which
213 # we are not reproducing here).
214 #
215 icarus_legacy_photonvisibilityservice_v08_50_00: @local::icarus_photonvisibilityservice_noPMTremapping
216 
217 
218 
219 # ----------------------------------------------------------------------------
220 #
221 # This configuration fits a previous photon library (August 2018) which
222 # was current until `icaruscode` `v09_00_01`.
223 #
224 # The library was generated with the "old" PMT channel mapping, but now you
225 # are going to run it with the new one, so a remapping is needed,
226 # which is coded in this configuration.
227 # For the single wire geometry, this does not apply and the legac...ier
228 # configuration is needed.
229 # Use as:
230 #
231 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_2018
232 #
233 # This configuration is almost self-contained (i.e. it would be self-contained
234 # except that it relies on
235 # `standard_library_vuv_prop_timing_photonvisibilityservice` which we are not
236 # reproducing here).
237 #
238 icarus_photonvisibilityservice_2018: {
239  @table::standard_library_vuv_prop_timing_photonvisibilityservice # TODO copy the old configuration from LArSoft into ICARUS and refer it here
240 
241  LibraryFile: "PhotonLibrary/PhotonLibrary-20180801.root"
242  UseCryoBoundary: false
243 
244  XMin: -395 # Was -391 in old geometry
245  XMax: -45 # Was -41 in old geometry
246  YMin: -215.2 # Was -210 in old geometry
247  YMax: 174.8 # Was -180 in old geometry
248  ZMin: -995
249  ZMax: 965
250  NX: 70
251  NY: 78
252  NZ: 392
253 
254  IncludePropTime: true
255 
256  Mapping: {
257  tool_type: ICARUSPhotonMappingTransformations
258 
259  # use this mapping only with photon visibility maps generated before
260  # v08_50_01 when using split wire geometry;
261  # it expresses that the values in the photon map for the library channel c
262  # it now should be associated to channel CryostatChannelRemap[c] instead
263  CryostatChannelRemap: [
264 
265  179, 89, 178, 88, 177, 87, 176, 86, 175, 85, 174, 84, 173, 83, 172,
266  82, 171, 81, 170, 80, 169, 79, 168, 78, 167, 77, 166, 76, 165, 75,
267  164, 74, 163, 73, 162, 72, 161, 71, 160, 70, 159, 69, 158, 68, 157,
268  67, 156, 66, 155, 65, 154, 64, 153, 63, 152, 62, 151, 61, 150, 60,
269  149, 59, 148, 58, 147, 57, 146, 56, 145, 55, 144, 54, 143, 53, 142,
270  52, 141, 51, 140, 50, 139, 49, 138, 48, 137, 47, 136, 46, 135, 45,
271  134, 44, 133, 43, 132, 42, 131, 41, 130, 40, 129, 39, 128, 38, 127,
272  37, 126, 36, 125, 35, 124, 34, 123, 33, 122, 32, 121, 31, 120, 30,
273  119, 29, 118, 28, 117, 27, 116, 26, 115, 25, 114, 24, 113, 23, 112,
274  22, 111, 21, 110, 20, 109, 19, 108, 18, 107, 17, 106, 16, 105, 15,
275  104, 14, 103, 13, 102, 12, 101, 11, 100, 10, 99, 9, 98, 8, 97,
276  7, 96, 6, 95, 5, 94, 4, 93, 3, 92, 2, 91, 1, 90, 0
277 
278  ]
279 
280  } # Mapping
281 
282 } # icarus_photonvisibilityservice_2018
283 
284 
285 
286 ###############################################################################
287 ###
288 ### Default configuration
289 ###
290 #
291 # This is the configuration used by the "standard" ICARUS job configurations.
292 # Use as:
293 #
294 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice
295 #
296 #
297 icarus_photonvisibilityservice: @local::icarus_photonvisibilityservice_mapped
298 
299 
300 ###############################################################################
301 
302 
303 END_PROLOG
const geo::GeometryCore * geometry
BEGIN_PROLOG icarus_photonlibrary_coordinates_20201209_icarusv2
#define the
return match has_match and(match.match_pdg==11 or match.match_pdg==-11)
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
T copy(T const &v)