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
9 # Creates a simulated sample of single muons, performing generation, detector
10 # and readout simulation with the LArTPC "standard" detector.
13 # 20150729 (petrillo@fnal.gov) [v1.0]
14 # first version, based on prodsingle.fcl
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"
26 #include "singles.fcl"
27 #include "largeantmodules.fcl"
28 #include "detsimmodules.fcl"
30 process_name: SinglesGen
35 # Load the service that manages root files for histograms.
36 TFileService: { fileName: "single_hist.root" }
39 RandomNumberGenerator: {} # ART native random number generator
40 NuRandomService: @local::per_event_NuRandomService # defined in ${ARTEXTENSIONS_DIR}/fcl/seedservice.fcl
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
56 # Start each new event with an empty event.
57 # Event time stamp is taken from the internal clock of the running node.
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
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.
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
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 ]
87 # define the output stream, there could be more than one if using filters
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 ]
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 ]
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)
108 module_type: RootOutput
109 fileName: "prodsingle_%tc_%p.root"