prodcosmics_corsika_protodunedp_detsim_311noise.fcl
Go to the documentation of this file.
1 #include "services_dune.fcl"
2 #include "detsimmodules_dune.fcl"
3 #include "tools_dune.fcl"
4 
5 
6 process_name: Detsim
7 
8 services: @local::protodunedphase_simulation_services_legacy
9 services.TFileService: { fileName: "cosmics_corsika_rotation_hist.root" }
10 services.TimeTracker: {}
11 services.MemoryTracker: {} # default is one
12 services.RandomNumberGenerator: {} #ART native random number generator
13 services.FileCatalogMetadata: @local::art_file_catalog_mc
14 services.NuRandomService: @local::random_NuRandomService # seedservice.fcl
15 services.Geometry: @local::protodunedphase_geo
16 services.DetectorPropertiesService: @local::protodunedphase_detproperties
17 
18 #source is now a root file
19 source: {
20  module_type: RootInput
21  maxEvents: 100 # Number of events to create
22 }
23 
24 
25 # Define and configure some modules to do work on each event.
26 # First modules are defined; they are scheduled later.
27 # Modules are grouped by type.
28 physics:
29 {
30 
31  producers:
32  {
33  rns: { module_type: "RandomNumberSaver" }
34  daq: @local::dune_detsim
35  }
36 
37  #define the producer and filter modules for this path, order matters,
38  #filters reject all following items. see lines starting physics.producers below
39  simulate: [ rns,
40  daq
41  ]
42 
43  #define the output stream, there could be more than one if using filters
44  stream1: [ out1 ]
45 
46  #trigger_paths is a keyword and contains the paths that modify the art::event,
47  #ie filters and producers
48  trigger_paths: [simulate]
49 
50  #end_paths is a keyword and contains the paths that do not modify the art::Event,
51  #ie analyzers and output streams. these all run simultaneously
52  end_paths: [stream1]
53 }
54 
55 #block to define where the output goes. if you defined a filter in the physics
56 #block and put it in the trigger_paths then you need to put a
57 SelectEvents: {SelectEvents: [XXX]}
58 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
59 outputs:
60 {
61  out1:
62  {
63  module_type: RootOutput
64  fileName: "%ifb_detsim.root"
65  dataTier: "detector-simulated"
66  compressionLevel: 1
67  }
68 }
69 
70 
71 # Use fixed values instead of DB for pedestals.
72 services.DetPedestalService: @local::dunedp_fixedpeds
73 
74 # DetSim flags.
75 physics.producers.daq.NoiseOn: true
76 physics.producers.daq.PedestalOn: true
77 physics.producers.daq.DistortOn: false
78 physics.producers.daq.SuppressOn: false #false when noise on!
79 physics.producers.daq.KeepEmptyChannels: true
80 
81 # DetSim services.
82 services.ChannelNoiseService: @local::chnoiseold
83 services.PedestalAdditionService: @local::padprovided
84 
85 services.DetPedestalService: @local::dunedp_fixedpeds
86 services.DetPedestalService.FixedDetPedestal.PedMeanErrY: 0
87 services.DetPedestalService.FixedDetPedestal.PedMeanErrZ: 0
88 services.DetPedestalService.FixedDetPedestal.PedMeanY: 60
89 services.DetPedestalService.FixedDetPedestal.PedMeanZ: 60
90 services.DetPedestalService.FixedDetPedestal.PedRmsErrY: 0
91 services.DetPedestalService.FixedDetPedestal.PedRmsErrZ: 0
92 services.DetPedestalService.FixedDetPedestal.PedRmsY: 0
93 services.DetPedestalService.FixedDetPedestal.PedRmsZ: 0
94 
95 services.AdcDistortService: @local::stuckbits
96 services.AdcSuppressService: @local::zsonline
97 services.AdcCompressService: @local::cmpreplace
98 
99 #===================New noise module ===========================================
100 #Configure realistic noise service for DP detectors based on the 311 data
101 #NB: Hardcoded unrotated geometry:
102 
103 services.ChannelNoiseService:{
104 service_provider: DPhaseRealisticNoiseService
105 NoiseModel: "$MRB_SOURCE/dunetpc/dune/DetSim/NoiseModels/729-0_fft_mirror.root" #path to the noise model root file
106 RandomizeX: 15. #0.002
107 RandomizeY: 15. #0.002
108 Smooth: 1000
109 SetFirst0: false
110 SetBaseline: false #if true sum baseline to real noise model
111 NoiseArrayPoints: 1000
112 OldNoiseIndex: false #From ExponentialChannelNoiseService. Keep false
113 }