prodgenie.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 "Geometry.fcl"
10 #include "RunHistory.fcl"
11 #include "ECALProperties.fcl"
12 
13 #Plugins
14 #include "GENIEGen.fcl"
15 #include "GArG4.fcl"
16 
17 process_name: GenieGen
18 
19 services:
20 {
21  # Load the service that manages root files for histograms.
22  TFileService: { fileName: "prodgenie_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  NuRandomService: @local::standard_NuRandomService
33  MagneticField: @local::standard_mag_garsoft
34 #RunHistory: @local::standard_runhistory
35 ECALProperties: @local::standard_ecalproperties
36  IFDH: {}
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: 10 # Number of events to create
45  firstRun: 1 # Run number to use for this file
46  firstEvent: 1 # number of first event in the file
47 }
48 
49 # Define and configure some modules to do work on each event.
50 # First modules are defined; they are scheduled later.
51 # Modules are grouped by type.
52 physics:
53 {
54 
55  producers:
56  {
57  generator: @local::standard_genie
58  geant: @local::standard_geant
59  rns: { module_type: "RandomNumberSaver" }
60  }
61 
62  #define the producer and filter modules for this path, order matters,
63  #filters reject all following items. see lines starting physics.producers below
64  simulate: [ generator, geant, rns ]
65 
66  #define the output stream, there could be more than one if using filters
67  stream1: [ out1 ]
68 
69  #trigger_paths is a keyword and contains the paths that modify the ::art::event,
70  #ie filters and producers
71  trigger_paths: [simulate]
72 
73 }
74 
75 #block to define where the output goes. if you defined a filter in the physics
76 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
77 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
78 outputs:
79 {
80  out1:
81  {
82  module_type: RootOutput
83  fileName: "genie_gen.root" #default file name, can override from command line with -o or --output
84  }
85 }
86 
87 physics.producers.generator.FluxType: "histogram"
88 physics.producers.generator.TopVolume: "volGArTPC"
89 physics.producers.generator.EventsPerSpill: 1
90 physics.producers.generator.FluxFiles: ["g4lbne_v3r2p4b_FHC_ND_RIK.root"]
91 physics.producers.generator.FluxCopyMethod: "IFDH"
92 physics.producers.generator.FluxSearchPaths: "/pnfs/dune/persistent/TaskForce_Flux/GenieHistFluxFiles/"
93 physics.producers.generator.BeamCenter: [0., 0., -5.]
94 physics.producers.generator.BeamDirection: [0, -0.101, 0.995] # beam angle is 101mrad