All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
prodsingle_sbnd.fcl
Go to the documentation of this file.
1 #
2 # File: prodsingle_sbnd.fcl
3 # Purpose: Produce single muon events including full SBND detector simulation
4 #
5 # This configuration runs event generation, simulation of propagation through
6 # matter and readout simulation.
7 #
8 # Input: no input file required
9 #
10 # This uses the new, refactored, LArG4
11 #
12 # Dependencies:
13 # - uses the bundle of SBND simulation services
14 
15 
16 #
17 # services
18 #
19 
21 #include "messages_sbnd.fcl"
22 
23 #
24 # modules
25 #
26 
27 #include "singles_sbnd.fcl"
28 
29 #include "larg4_sbnd.fcl"
30 #include "ionandscint_sbnd.fcl"
31 #include "PDFastSim_sbnd.fcl"
32 #include "simdrift_sbnd.fcl"
33 
34 #include "detsimmodules_sbnd.fcl"
35 
36 #include "rootoutput_sbnd.fcl"
37 
38 
39 
40 process_name: SingleGen
41 
42 services:
43 {
44  # Load the service that manages root files for histograms.
45  TFileService: { fileName: "hists_prodsingle_sbnd_%p-%tc.root" }
46  @table::sbnd_simulation_services # load simulation services in bulk
47 }
48 
49 # since this is a configuration typically run as interactive test,
50 # we set up message configuration accordingly:
51 services.message: @local::sbnd_message_services_interactive # from messages_sbnd.fcl
52 
53 
54 # Start each new event with an empty event.
55 source:
56 {
57  module_type: EmptyEvent
58  timestampPlugin: { plugin_type: "GeneratedEventTimestamp" }
59  maxEvents: 10 # Number of events to create
60  firstRun: 1 # Run number to use for this file
61  firstEvent: 1 # number of first event in the file
62 }
63 
64 
65 # Define and configure some modules to do work on each event.
66 # First modules are defined; they are scheduled later.
67 # Modules are grouped by type.
68 physics:
69 {
70 
71  producers:
72  {
73  rns: { module_type: "RandomNumberSaver" }
74 
75  # Generation
76  generator: @local::sbnd_singlep
77 
78  # A dummy module that forces the G4 physics list to be loaded
79  loader: { module_type: "PhysListLoader" }
80 
81  # The geant4 step
82  largeant: @local::sbnd_larg4
83 
84  # Creation of ionization electrons and scintillation photons, inside the active volume
86 
87  # Light propogation inside the active volume
88  pdfastsim: @local::sbnd_pdfastsim_par
89 
90  # Electron propogation
91  simdrift: @local::sbnd_simdrift
92 
93  # Detector simulation
95  }
96 
97  #define the producer and filter modules for this path, order matters,
98  # simulate: [ rns, generator, largeant, daq]
99  # simulate: [ rns, generator ]
100  simulate: [ rns
102  , loader
103  , largeant
104  , ionandscint
105  , pdfastsim
106  , simdrift
107  , daq
108  ]
109 
110  #define the output stream, there could be more than one if using filters
111  stream1: [ out1 ]
112 
113  #ie analyzers and output streams. these all run simultaneously
114  end_paths: [stream1]
115 }
116 
117 # block to define where the output goes. if you defined a filter in the physics
118 # block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
119 # entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
120 outputs:
121 {
122  out1:
123  {
124  @table::sbnd_rootoutput # inherit shared settings
125  fileName: "prodsingle_sbnd_%p-%tc.root" # default file name, can override from command line with -o or --output
126  outputCommands: [ "keep *_*_*_*"
127  , "drop *_ionandscint__*" # Drop the IonAndScint w/ SCE offsets applied
128  ]
129  }
130 }
131 
132 #
133 # at the end of the configuration, we can override single parameters to reflect our needs:
134 #
135 physics.producers.generator.T0: [ 0 ]
136 physics.producers.generator.Theta0XZ: [ 10 ]
BEGIN_PROLOG sbnd_ionandscint
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
process_name pdfastsim
BEGIN_PROLOG pandoraTrackRangeCryoW pandoraTrackRangeCryoW rns
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
tuple loader
Definition: demo.py:7
do source
* file
Definition: file_to_url.sh:69
physics producers trigslidewindowOR6mW physics effSlidingOR6mW physics end_paths
#define the
process_name larg4outtime largeant
source drop raw::ubdaqSoftwareTriggerData_ *_ *_ * maxEvents
Definition: frame-shunt.fcl:6
BEGIN_PROLOG sbnd_simwire
process_name ionandscint
process_name IonAndScint
physics simulate
outputs out1 outputCommands
BEGIN_PROLOG sbnd_rootoutput
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 module_type
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
then echo fcl name
standard_singlep gaussian distribution ie ie ie gaussian gaussian gaussian larg4Main stream1
Definition: multigen.fcl:18
process_name showerreco Particles Coinciding wih the Vertex services ScanOptions nu_mu services ScanOptions Number
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
process_name simdrift
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name