1 #include "services_dune.fcl"
2 #include "backtrackerservice.fcl"
3 #include "particleinventoryservice.fcl"
4 #include "opticaldetectormodules_dune.fcl"
5 #include "opticaldetectorservices_dune.fcl"
8 process_name: OpticalDigitization
12 # Load the service that manages root files for histograms.
13 TFileService: { fileName: "opticaldetectordigitizer_dune35t_hist.root" }
15 MemoryTracker: { } # default is one
16 RandomNumberGenerator: {} #ART native random number generator
17 @table::dune35t_simulation_services_legacy
18 message: @local::standard_info
19 BackTrackerService: @local::dune35t_backtrackerservice # defined in backtrackerservice.fcl
20 ParticleInventoryService: @local::dune35t_particleinventoryservice # defined in backtrackerservice.fcl
23 #source is now a root file
26 module_type: RootInput
27 maxEvents: 10 # Number of events to create
28 #specify from command line with -s or --source
33 # Define and configure some modules to do work on each event.
34 # First modules are defined; they are scheduled later.
35 # Modules are grouped by type.
41 opdigi: # simple digitizer with no noise and high saturation
43 module_type: "OpDetDigitizerDUNE"
44 InputModule: "largeant" # Module that created OpDetPulses (OpticalRawDigits)
45 VoltageToADC: 151.5 # Converting mV to ADC counts (counts in 1 mV)
46 LineNoise: 2.6 # Pedestal RMS in ADC counts
47 DarkNoiseRate: 10.0 # In Hz
48 CrossTalk: 0.165 # Probability of producing 2 PE for 1 incident photon
49 Pedestal: 1500 # in ADC counts
53 rns: { module_type: "RandomNumberSaver" }
58 pmtresponse: @local::dune35t_simphotoncounter
61 module_type: "OpDetDigiAnaDUNE"
62 InputModule: "opdigi" # Module that created OpDetPulses (OpticalRawDigits)
67 #define the producer and filter modules for this path, order matters,
68 #filters reject all following items. see lines starting physics.producers below
69 simulate: [ opdigi, rns ]
70 analyzeIt: [ pmtresponse, opdigiana ]
72 #define the output stream, there could be more than one if using filters
75 #trigger_paths is a keyword and contains the paths that modify the art::event,
76 #ie filters and producers
77 trigger_paths: [ simulate ]
79 #end_paths is a keyword and contains the paths that do not modify the art::Event,
80 #ie analyzers and output streams. these all run simultaneously
81 end_paths: [ analyzeIt, stream1 ]
84 #block to define where the output goes. if you defined a filter in the physics
85 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
86 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
91 module_type: RootOutput
92 fileName: "opticaldetectordigitizer_dune35t_gen.root"
93 #default file name, can override from command line with -o or --output
99 services.DetectorClocksService.FramePeriod: 2600.0 # Readout window end in us
100 services.DetectorClocksService.ClockSpeedOptical: 150.0 # Sampling frequency in MHz