1 #include "services_dune.fcl"
2 #include "singles_dune.fcl"
3 #include "largeantmodules_dune.fcl"
4 #include "detsimmodules_dune.fcl"
5 #include "mccheatermodules.fcl"
6 #include "photpropservices_dune.fcl"
7 #include "opticaldetectormodules_dune.fcl"
14 module_type: "TextFileGen"
15 InputFileName: "vectors/yscan.vec" # name of file containing events in hepevt format to
16 # put into simb::MCTruth objects for use in LArSoft
26 # Load the service that manages root files for histograms.
27 TFileService: { fileName: "protodune_optical_example_yscan_hist.root" }
29 RandomNumberGenerator: {} #ART native random number generator
30 message: @local::standard_info
31 @table::protodune_simulation_services
36 #Start each new event with an empty event.
39 module_type: EmptyEvent
40 timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
41 maxEvents: 20 # Number of events to create
42 firstRun: 1 # Run number to use for this file
43 firstEvent: 1 # number of first event in the file
46 # Define and configure some modules to do work on each event.
47 # First modules are defined; they are scheduled later.
48 # Modules are grouped by type.
54 generator: @local::standard_textfilegen
55 largeant: @local::dunefd_largeant
56 rns: { module_type: "RandomNumberSaver" }
61 pmtresponse: @local::dunefd_simphotoncounter
64 # This name defines a job step below, and will appear as a directory
65 # in the output histogram file.
68 # The "module_type" tells us which module to run. The name here
69 # matches the name supplied to DEFINE_ART_MODULE near the end of
70 # AnalysisExample_module.cc.
72 module_type: "AnalysisExample"
74 # The input parameters for our AnalysisExample module. Compare
75 # the names you see here with the reconfigure method in
76 # AnalysisExample.cxx. You will want to add/remove/rename the
77 # example parameters below to suit your task.
79 # If you are reading any objects created by the simulation, then
80 # don't change the value of this parameter. This is the name of
81 # the 'producer' that ran the simulation module in a previous
82 # job. An example of a job file that runs the simulation is
83 # ${LARSIM_DIR}/job/prodsingle.fcl; look for "largeant:". It's
84 # unlikely that anyone would change the name of this producer.
86 SimulationLabel: "largeant"
88 # Hits can be created by more than one module in
89 # ${LARRECO_DIR}/source/HitFinder. For this example, I picked
90 # the one that's usually run first.
94 # The same for clusters:
96 ClusterLabel: "fuzzycluster"
98 # In this example, which primary particle(s) we'll focus on in an event.
102 # dx used for the dE/dx calculation; units are cm.
108 #define the producer and filter modules for this path, order matters,
109 #filters reject all following items. see lines starting physics.producers below
110 # simulate: [ generator, largeant, daq, rns ]
111 simulate: [ generator, largeant, rns ]
112 analyzeIt: [ AnalysisExample, pmtresponse]
114 #define the output stream, there could be more than one if using filters
117 #trigger_paths is a keyword and contains the paths that modify the art::event,
118 #ie filters and producers
119 trigger_paths: [simulate]
121 #end_paths is a keyword and contains the paths that do not modify the art::Event,
122 #ie analyzers and output streams. these all run simultaneously
123 end_paths: [analyzeIt, stream1]
126 #block to define where the output goes. if you defined a filter in the physics
127 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
128 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
133 module_type: RootOutput
134 fileName: "protodune_optical_example_yscan_gen.root" #default file name, can override from command line with -o or --output