All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
prodtext_standard_icarus.fcl
Go to the documentation of this file.
1 #
2 # File: prodtext_standard_icarus.fcl
3 # Purpose: Runs `TextFileGen` module on an input file `HEPevents.txt`.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
5 # Date: March 1, 2021
6 #
7 # This module effectively converts events from a HEP text format in a
8 # `HEPevents.txt` file (not provided) into nugen/LArSoft MC truth record for
9 # use with ICARUS.
10 #
11 # Note that the module sets the position of the events exactly where the input
12 # file places them, and therefore the input file should know about the detector
13 # geometry.
14 #
15 # The active volume of ICARUS TPC can be approximated (in LArSoft v09_17_00) as
16 #
17 # (-369.63,-214.61,-984.951) -- (-70.80,167.71,984.951) cm
18 # ( 70.80,-214.61,-984.951) -- (369.63,167.71,984.951) cm
19 #
20 # (which includes some cathode volume as well). Because of this deterministic
21 # feature, `Geometry` service would not be required by this job. This
22 # configuration demands it nevertheless for stronger consistency enforcement.
23 # If this is not desired and the output files should be "geometry-agnostic",
24 # just add in the overridden configuration file (see below for an example) the
25 # following lines:
26 #
27 # services.Geometry: @erase
28 # services.GeometryConfigurationWriter: @erase
29 # services.ExptGeoHelperInterface: @erase
30 #
31 # The output file name will be `prodtext_standard_icarus_%tc-GenText.root`
32 # (`%tc` being a timestamp assigned by art).
33 #
34 #
35 # How to run a job with this configuration
36 # =========================================
37 #
38 # A different input file ("MyEvents.txt") can be processed by running a
39 # configuration like the following:
40 #
41 # #include "prodtext_standard_icarus.fcl"
42 #
43 # physics.producers.generator.InputFileName: "MyEvents.txt"
44 #
45 # outputs.rootoutput.fileName: "MyEvents_icarus_%tc-%p.root"
46 #
47 # where the last line changes the output file name for convenience (the same
48 # effect can be achieved by specifying `-o "MyEvents_icarus_%tc-%p.root"`
49 # argument to `lar` executable).
50 #
51 # In every case, the number of events in the input file should be specified
52 # either in the configuration (`source.MaxEvents: 10`) or on the command line
53 # (`lar -n 10 ...`). Specifying a number of events larger than the ones in the
54 # input files will result in the excess events being created with no particles.
55 #
56 #
57 
58 #include "messages_icarus.fcl"
59 #include "geometry_icarus.fcl"
61 #include "rootoutput_icarus.fcl"
62 
63 
64 # ------------------------------------------------------------------------------
65 process_name: GenText
66 
67 
68 # ------------------------------------------------------------------------------
69 services: {
70 
71  @table::icarus_art_services # from `services_common_icarus.fcl`
72 
73  message: @local::icarus_message_services_interactive # from `messages_icarus.fcl`
74 
75  @table::icarus_geometry_services # from `geometry_icarus.fcl`
76 
77 } # services
78 
79 
80 # ------------------------------------------------------------------------------
81 source: {
82  module_type: EmptyEvent
83  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
84 }
85 
86 
87 # ------------------------------------------------------------------------------
88 physics: {
89 
90  producers: {
91 
92  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
93 
94  generator: {
95  module_type: TextFileGen
96  InputFileName: "HEPevents.txt"
97  }
98 
99  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
100 
101  } # producers
102 
103  simulate: [ generator ]
104 
105  stream: [ rootoutput ]
106 
107 } # physics
108 
109 
110 # ------------------------------------------------------------------------------
111 outputs: {
112  rootoutput: {
113  @table::icarus_rootoutput # from `rootoutput_icarus.fcl`
114  fileName: "prodtext_standard_icarus_%tc-%p.root"
115  }
116 }
117 
118 
119 # ------------------------------------------------------------------------------
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
do source
physics simulate
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name