2 # File: photpropservices_icarus.fcl
3 # Purpose: Configuration of services related to the optical detectors.
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
33 #################################################################################
35 # Geometry coordinates for different library files and geometries
37 # Each configuration includes the library file version (e.g. 20201209)
38 # and the geometry name (e.g. `icarus_v3`)
41 LibraryFile:
"PhotonLibrary/PhotonLibrary-20201209.root"
43 # this stuff is also included in the metadata
51 } # icarus_photonlibrary_coordinates_icarusv2
54 icarus_photonlibrary_coordinates_20201209_icarusv3: {
55 LibraryFile:
"PhotonLibrary/PhotonLibrary-20201209.root"
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)
66 } # icarus_photonlibrary_coordinates_20201209_icarusv3
69 ################################################################################
71 # PhotonVisibilityService configuration
75 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_direct
78 icarus_photonvisibilityservice_direct: {
80 @table::photon_propagation_timing_icarus #
from photon_propogation_timing_icarus.fcl
82 LibraryFile:
"PhotonLibrary/PhotonLibrary-20201209.root"
83 UseCryoBoundary:
false
84 DoNotLoadLibrary:
false
86 # coordinates are hard-coded and delegated to:
87 @table::icarus_photonlibrary_coordinates_20201209_icarusv3
94 } # icarus_photonvisibilityservice_direct
98 ### Configuration for first cryostat library and mapping to the other one
101 # This is the configuration expected to work correctly with the current version
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
110 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_mapped
112 icarus_photonvisibilityservice_mapped: {
113 @table::icarus_photonvisibilityservice_direct
116 tool_type: ICARUSPhotonMappingTransformations
119 } # icarus_photonvisibilityservice_mapped
123 ###############################################################################
125 ### Legacy configurations
127 # ----------------------------------------------------------------------------
129 # This configuration should be used with samples processed with icarus_v2
130 # geometry, that was the default for icaruscode versions
133 icarus_photonvisibilityservice_icarus_v2: {
135 @table::photon_propagation_timing_icarus #
from photon_propogation_timing_icarus.fcl
137 LibraryFile:
"PhotonLibrary/PhotonLibrary-20201209.root"
138 UseCryoBoundary:
false
139 DoNotLoadLibrary:
false
141 # coordinates are hard-coded and delegated to:
147 IncludePropTime:
true
150 tool_type: ICARUSPhotonMappingTransformations
153 } # icarus_photonvisibilityservice_icarus_v2
157 # ----------------------------------------------------------------------------
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
167 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_noPMTremapping
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
174 icarus_photonvisibilityservice_noPMTremapping: {
176 @table::standard_library_vuv_prop_timing_photonvisibilityservice
178 LibraryFile:
"PhotonLibrary/PhotonLibrary-20180801.root"
179 UseCryoBoundary:
false
191 IncludePropTime:
true
194 tool_type: ICARUSPhotonMappingTransformations
197 } # icarus_photonvisibilityservice_noPMTremapping
201 # ----------------------------------------------------------------------------
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.
209 # services: @local::icarus_legacy_services
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).
215 icarus_legacy_photonvisibilityservice_v08_50_00: @local::icarus_photonvisibilityservice_noPMTremapping
219 # ----------------------------------------------------------------------------
221 # This configuration fits a previous photon library (August 2018) which
222 # was current until `icaruscode` `v09_00_01`.
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.
231 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice_2018
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
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
241 LibraryFile:
"PhotonLibrary/PhotonLibrary-20180801.root"
242 UseCryoBoundary:
false
254 IncludePropTime:
true
257 tool_type: ICARUSPhotonMappingTransformations
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: [
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
282 } # icarus_photonvisibilityservice_2018
286 ###############################################################################
288 ### Default configuration
291 # This is the configuration used by the "standard" ICARUS job configurations.
294 # services.PhotonVisibilityService: @local::icarus_photonvisibilityservice
297 icarus_photonvisibilityservice: @local::icarus_photonvisibilityservice_mapped
300 ###############################################################################
const geo::GeometryCore * geometry
BEGIN_PROLOG icarus_photonlibrary_coordinates_20201209_icarusv2
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