prodsingle_lartpcdetector.fcl
Go to the documentation of this file.
1 #
2 # File: prodsingle_lartpcdetector.fcl
3 # Purpose: creates a simulated sample of single muons, with "LArTPC detector".
4 # Author: Gianluca Petrillo (petrillo@fnal.gov)
5 # Date: July 29th, 2015
6 # Version: 1.0
7 #
8 # Description:
9 # Creates a simulated sample of single muons, performing generation, detector
10 # and readout simulation with the LArTPC "standard" detector.
11 #
12 # Changes:
13 # 20150729 (petrillo@fnal.gov) [v1.0]
14 # first version, based on prodsingle.fcl
15 #
16 #include "messageservice.fcl"
17 #include "seedservice.fcl"
18 #include "magfield_larsoft.fcl"
19 #include "geometry.fcl"
20 #include "larproperties_lartpcdetector.fcl"
21 #include "detectorproperties_lartpcdetector.fcl"
22 #include "detectorclocks_lartpcdetector.fcl"
23 #include "databaseutil.fcl"
24 #include "simulationservices.fcl"
25 #include "larfft.fcl"
26 #include "singles.fcl"
27 #include "largeantmodules.fcl"
28 #include "detsimmodules.fcl"
29 
30 process_name: SinglesGen
31 
32 
33 services:
34 {
35  # Load the service that manages root files for histograms.
36  TFileService: { fileName: "single_hist.root" }
37  TimeTracker: {}
38  MemoryTracker: {}
39  RandomNumberGenerator: {} # ART native random number generator
40  NuRandomService: @local::per_event_NuRandomService # defined in ${ARTEXTENSIONS_DIR}/fcl/seedservice.fcl
41 
42  # LArSoft services
43  @table::standard_geometry_services # from geometry.fcl
44  LArPropertiesService: @local::lartpcdetector_properties # from larproperties_argoneut.fcl
45  DetectorPropertiesService: @local::lartpcdetector_detproperties # from detectorproperties_lartpcdetector.fcl
46  DetectorClocksService: @local::lartpcdetector_detectorclocks # from detectorclocks_lartpcdetector.fcl
47  DatabaseUtil: @local::standard_database # from databaseutil.fcl
48  LArG4Parameters: @local::standard_largeantparameters # from simulationservices.fcl
49  LArVoxelCalculator: @local::standard_larvoxelcalculator # from simulationservices.fcl
50  MagneticField: @local::no_mag_larsoft # from magfield_larsoft.fcl
51  LArFFT: @local::standard_larfft # from larfft.fcl
52 
53 } # services
54 
55 
56 # Start each new event with an empty event.
57 # Event time stamp is taken from the internal clock of the running node.
58 source:
59 {
60  module_type: EmptyEvent
61  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
62  maxEvents: 10 # Number of events to create
63  firstRun: 1 # Run number to use for this file
64  firstEvent: 1 # number of first event in the file
65 } # source
66 
67 
68 # Define and configure some modules to do work on each event.
69 # First modules are defined; they are scheduled later.
70 # Modules are grouped by type.
71 physics:
72 {
73 
74  producers:
75  {
76  rns: { module_type: "RandomNumberSaver" }
77  generator: @local::standard_singlep # from singles.fcl
78  largeant: @local::standard_largeant # from largeantmodules.fcl
79  daq: @local::standard_simwire # from detsimmodules.fcl
80  } # producers
81 
82  # Define the producer and filter modules for this path; order matters.
83  # Filters reject all following items (none here).
84  # See lines starting physics.producers above.
85  simulate: [ rns, generator, largeant, daq ]
86 
87  # define the output stream, there could be more than one if using filters
88  stream1: [ out1 ]
89 
90  # trigger_paths is a keyword and contains the paths that modify the art::Event,
91  # i.e. filters and producers
92  trigger_paths: [ simulate ]
93 
94  # end_paths is a keyword and contains the paths that do not modify the art::Event,
95  # i.e. analyzers and output streams. These might all run simultaneously.
96  end_paths: [ stream1 ]
97 } # physics
98 
99 
100 # Block to define where the output goes.
101 # If you defined a filter in the physics block and put it in the trigger_paths
102 # then you need to put a SelectEvents: { SelectEvents: [ XXX ] } entry
103 # in the output stream you want those to go to, where XXX is the label of the filter module(s)
104 outputs:
105 {
106  out1:
107  {
108  module_type: RootOutput
109  fileName: "prodsingle_%tc_%p.root"
110  compressionLevel: 1
111  }
112 } # outputs