All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
services_common_icarus.fcl
Go to the documentation of this file.
1 #
2 # File: services_common_icarus.fcl
3 # Purpose: presets for service configurations for non-simulation jobs.
4 #
5 # The configuration presets can be used as a starting point, with more services added,
6 # some removed, and some configuration amended or rewritten.
7 # A complete example of these cases:
8 #
9 # services: {
10 #
11 # @table::icarus_common_services # include all ICARUS basic services
12 #
13 # # rewrite the configuration of a service:
14 # messages: @local::icarus_message_services_prod
15 #
16 # # rewrite the configuration of a service explicitly:
17 # TFileService: {
18 # fileName: "TreeFile.root"
19 # }
20 #
21 # # add a set of services
22 # @table::icarus_backtracking_services
23 #
24 # # remove a service
25 # TimeTracker: @erase
26 #
27 # } # services
28 #
29 # # amend a single configuration parameter of a service
30 # services.NuRandomService.policy: "random"
31 #
32 #
33 # Available configurations:
34 #
35 # * `icarus_common_services`: minimal set of art + LArSoft services
36 # * `icarus_wirecalibration_services`: for signal processing and TPC wire signal
37 # calibration
38 #
39 #
40 
41 #include "seedservice_icarus.fcl"
42 #include "magfield_larsoft.fcl"
43 
48 #include "sam_icarus.fcl"
49 
50 BEGIN_PROLOG
51 
52 
53 ################################################################################
54 ### icarus_art_services
55 ###
56 #
57 # A set of basic art services you never want to be without.
58 # Includes:
59 # * resource monitoring (`TimeTracker`, `MemoryTracker`)
60 # * message facility, with interactive (non-debug) configuration
61 #
62 # Although you may want to use different message facility service settings.
63 #
64 icarus_art_services: {
65 
66  scheduler: { defaultExceptions: false } # Make all uncaught exceptions fatal.
67 
68  message: @local::icarus_basic_services.message # from `services_basic_icarus.fcl`
69 
70  TimeTracker: {
71  printSummary: true
72  dbOutput: {
73  filename: "TimingReport.db"
74  overwrite: true
75  }
76  }
77  MemoryTracker: {
78  dbOutput: {
79  filename: "MemoryReport.db"
80  overwrite: true
81  }
82  }
83 
84  DuplicateEventTracker: {}
85 
86 } # icarus_art_services
87 
88 
89 ################################################################################
90 ### icarus_random_services
91 ###
92 #
93 # Standard ICARUS configuration of random number related services.
94 #
95 icarus_random_services:
96 {
98  NuRandomService: @local::icarus_default_NuRandomService # seedservice_icarus.fcl
99 
100 } # icarus_random_services
101 
102 
103 ################################################################################
104 ### icarus_minimum_services
105 ###
106 #
107 # Standard ICARUS configuration of the minimum needed services, including
108 # message service, art services, geometry and properties,
109 # but not calibration services.
110 #
111 icarus_minimum_services:
112 {
113  @table::icarus_art_services
114 
115  # Load the service that manages root files for histograms.
116  TFileService: { fileName: "Supplemental-%ifb_%tc-%p.root" }
117 
118  FileCatalogMetadata: @local::art_file_catalog_mc
119 
120  @table::icarus_basic_services
121 
122 } # icarus_common_services
123 
124 
125 ################################################################################
126 ### icarus_common_services
127 ###
128 #
129 # Standard ICARUS configuration of common services, including message service,
130 # art services, geometry and properties, but not calibration services.
131 #
132 icarus_common_services:
133 {
134  @table::icarus_minimum_services
135 
136  @table::icarus_random_services
137 
138 } # icarus_common_services
139 
140 
141 ################################################################################
142 ### icarus_wirecalibration_minimum_services
143 ###
144 #
145 # Standard ICARUS configuration of services required for wire signal calibration
146 # (usually the first step of reconstruction).
147 #
148 icarus_wirecalibration_minimum_services: {
149 
150  @table::icarus_minimum_services
151 
152  SignalShapingICARUSService: @local::icarus_signalshapingservice
153 
154  @table::icarus_calibration_services
155 
156 } # icarus_wirecalibration_minimum_services
157 
158 
159 ################################################################################
160 ### icarus_wirecalibration_services
161 ###
162 #
163 # Standard ICARUS configuration of services required for wire signal calibration
164 # (usually the first step of reconstruction).
165 #
166 icarus_wirecalibration_services: {
167 
168  @table::icarus_wirecalibration_minimum_services
169 
170  @table::icarus_random_services
171 
172 } # icarus_wirecalibration_services
173 
174 
175 ################################################################################
176 
177 icarus_prod_services: {
178  @table::icarus_common_services
179  FileCatalogMetadata: @local::art_file_catalog_mc
180 } # icarus_prod_services
181 
182 END_PROLOG
183 
184 
services RandomNumberGenerator
echo $PWD find $PWD name *fcl xargs perl wapi e s & MemoryTracker
BEGIN_PROLOG could also be dds filename