gensingle_test.fcl
Go to the documentation of this file.
1 #
2 # File: gensingle_test.fcl
3 # Brief: single particle generation test with standard geometry
4 # Author: Gianluca Petrillo (petrillo@fnal.gov)
5 # Date: February 24th, 2015
6 # Version: 1.1
7 #
8 # Single particle generation test, with a "neutral" geometry.
9 #
10 # Changes:
11 # 20150224 (petrillo@fnal.gov) [v1.0]
12 # original version from prodsingle.fcl, with ArgoNeuT geometry
13 # 20151002 (petrillo@fnal.gov) [v1.1]
14 # using ChannelStatus service
15 #
16 
17 #include "simulationservices_lartpcdetector.fcl"
18 #include "channelstatus.fcl"
19 #include "singles.fcl"
20 #include "particleinventoryservice.fcl"
21 
22 process_name: SinglesGen
23 
24 services:
25 {
26  # Load the service that manages root files for histograms.
27  TFileService: { fileName: "single_hist.root" }
28  TimeTracker: {}
29  RandomNumberGenerator: {} #ART native random number generator
30  @table::lartpcdetector_simulation_services
31  ChannelStatusService: @local::standard_channelstatus
32 }
33 
34 # remove services we don't need for generation
35 services.LArFFT: @erase
36 services.BackTrackerService: @erase
37 services.ParticleInventoryService: @erase
38 services.ChannelStatusService: @erase
39 
40 
41 #Start each new event with an empty event.
42 source:
43 {
44  module_type: EmptyEvent
45  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
46  maxEvents: 2 # Number of events to create
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::argoneut_singlep
60  rns: { module_type: "RandomNumberSaver" }
61  }
62 
63  #define the producer and filter modules for this path, order matters,
64  #filters reject all following items. see lines starting physics.producers below
65  simulate: [ rns, generator ]
66 
67  #define the output stream, there could be more than one if using filters
68  stream1: [ out1 ]
69 
70  #trigger_paths is a keyword and contains the paths that modify the art::event,
71  #ie filters and producers
72  trigger_paths: [simulate]
73 
74  #end_paths is a keyword and contains the paths that do not modify the art::Event,
75  #ie analyzers and output streams. these all run simultaneously
76  end_paths: [stream1]
77 }
78 
79 #block to define where the output goes. if you defined a filter in the physics
80 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
81 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
82 outputs:
83 {
84  out1:
85  {
86  module_type: RootOutput
87  fileName: "single_gen.root" #default file name, can override from command line with -o or --output
88  }
89 }
90