prodmarley_microboone.fcl
Go to the documentation of this file.
1 # Generates events in MicroBooNE
2 
3 #include "marley.fcl"
4 #include "services_microboone.fcl"
5 #include "largeantmodules_microboone.fcl"
6 
7 process_name: MarleyGen
8 
9 services:
10 {
11  # Load the service that manages root files for histograms.
12  TFileService: { fileName: "marley_hist.root" }
13  TimeTracker: {}
14  RandomNumberGenerator: {} #ART native random number generator
15  @table::microboone_simulation_services
16 }
17 
18 
19 #Start each new event with an empty event.
20 source:
21 {
22  module_type: EmptyEvent
23  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
24  maxEvents: 100 # Number of events to create
25  firstRun: 1 # Run number to use for this file
26  firstEvent: 1 # Number of first event in the file
27 }
28 
29 # Define and configure some modules to do work on each event.
30 # First modules are defined; they are scheduled later.
31 # Modules are grouped by type.
32 physics:
33 {
34 
35  producers:
36  {
37  # Generate events using MARLEY
38  generator: @local::standard_marley
39  # Track particles in the detector using Geant4
40  largeant: @local::microboone_largeant
41  # Save the state of the LArSoft random number generators
42  rns: { module_type: "RandomNumberSaver" }
43  }
44 
45  # define the producer and filter modules for this path, order matters,
46  # filters reject all following items. see lines starting
47  # physics.producers below
48  simulate: [ generator, largeant, rns ]
49 
50  # define the output stream, there could be more than one if using filters
51  stream1: [ out1 ]
52 
53  # trigger_paths is a keyword and contains the paths that modify the
54  # art::event, ie filters and producers
55  trigger_paths: [simulate]
56 
57  # end_paths is a keyword and contains the paths that do not modify the
58  # art::Event, ie analyzers and output streams. these all run simultaneousy
59  end_paths: [stream1]
60 }
61 
62 # block to define where the output goes. if you defined a filter in the
63 # physics block and put it in the trigger_paths then you need to put a
64 # SelectEvents: {SelectEvents: [XXX]} entry in the output stream you want
65 # those to go to, where XXX is the label of the filter module(s)
66 outputs:
67 {
68  out1:
69  {
70  module_type: RootOutput
71  # default file name, can override from command line with -o or --output
72  fileName: "marley_gen.root"
73  }
74 }
75 
76 # Adjustments to the standard LArG4 parameters
77 services.LArG4Parameters.ParticleKineticEnergyCut: 1.0e-5 # GeV
78 services.LArG4Parameters.StoreTrajectories: true
79 services.LArG4Parameters.KeepEMShowerDaughters: true
80 # Use NeutronHP data (very important for neutrino-induced neutron
81 # emission!) which is not enabled by default in LArSoft.
82 services.LArG4Parameters.UseCustomPhysics: true
83 services.LArG4Parameters.EnabledPhysics: [ "LowEnergyEm",
84  "SynchrotronAndGN",
85  "Ion",
86  "NeutronHP",
87  "Decay",
88  "HadronElastic",
89  "Stopping" ]