prodtext.fcl
Go to the documentation of this file.
1 #NuTools Services
2 #include "magfield.fcl"
3 #include "seedservice.fcl"
4 
5 #GArSoft Services
6 #include "DetectorClocks.fcl"
7 #include "DetectorProperties.fcl"
8 #include "GArProperties.fcl"
9 #include "ECALProperties.fcl"
10 #include "Geometry.fcl"
11 #include "RunHistory.fcl"
12 
13 #Plugins
14 #include "TextFileGen.fcl"
15 #include "GArG4.fcl"
16 
17 process_name: TextGen
18 
19 services:
20 {
21  # Load the service that manages root files for histograms.
22  TFileService: { fileName: "single_hist.root" }
23  TimeTracker: {}
24  RandomNumberGenerator: {} #ART native random number generator
25  #See Geometry.fcl for the list of geometries available
26  GeometryGAr: @local::nd_hall_mpd_only_SPYv3_geo
27  GeometryGArConfigurationWriter: {}
28  ExptGeoHelperInterface: @local::standard_geometry_helper
29  DetectorClocks: @local::standard_clocks
30  DetectorProperties: @local::standard_detproperties
31  GArProperties: @local::standard_garproperties
32  ECALProperties: @local::standard_ecalproperties
33  NuRandomService: @local::standard_NuRandomService
34  MagneticField: @local::standard_mag_garsoft
35  #RunHistory: @local::standard_runhistory
36 }
37 
38 
39 #Start each new event with an empty event.
40 source:
41 {
42  module_type: EmptyEvent
43  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
44  maxEvents: 1 # Number of events to create n.b. this should correspond to the number of events
45  # in the used text file, else either too few events will be produced or an exception will be
46  # thrown(?) can also use the '-n' flag
47  firstRun: 1 # Run number to use for this file
48  firstEvent: 1 # number of first event in the file
49 }
50 
51 # Define and configure some modules to do work on each event.
52 # First modules are defined; they are scheduled later.
53 # Modules are grouped by type.
54 physics:
55 {
56 
57  producers:
58  {
59  generator: @local::standard_textfilegen
60  geant: @local::standard_geant
61  rns: { module_type: "RandomNumberSaver" }
62  }
63 
64  #define the producer and filter modules for this path, order matters,
65  #filters reject all following items. see lines starting physics.producers below
66  simulate: [ generator, geant, rns ]
67 
68  #define the output stream, there could be more than one if using filters
69  stream1: [ out1 ]
70 
71  #trigger_paths is a keyword and contains the paths that modify the ::art::event,
72  #ie filters and producers
73  trigger_paths: [simulate]
74 
75 }
76 
77 #block to define where the output goes. if you defined a filter in the physics
78 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
79 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
80 outputs:
81 {
82  out1:
83  {
84  module_type: RootOutput
85  fileName: "text_gen.root" #default file name, can override from command line with -o or --output
86  }
87 }
88