1 #include "services_dune.fcl"
2 #include "noisefilter_dune.fcl"
3 #include "caldata_dune.fcl"
4 #include "hitfindermodules_dune.fcl"
5 #include "cluster_dune.fcl"
6 #include "trackfindermodules_dune.fcl"
7 #include "calorimetry_dune35t.fcl"
9 #include "opticaldetectormodules_dune.fcl"
10 #include "photoncountert0matching.fcl"
11 #include "trackshowerhits.fcl"
12 #include "showerfindermodules_dune.fcl"
13 #include "emshower3d.fcl"
14 #include "Sigmoidfilter.fcl"
20 # Load the service that manages root files for histograms.
21 TFileService: { fileName: "reco_hist.root" }
23 MemoryTracker: { } # default is one
24 RandomNumberGenerator: {} #ART native random number generator
25 message: @local::dune_message_services_prod_debug
26 FileCatalogMetadata: @local::art_file_catalog_data
27 @table::dune35t_services_legacy
29 #source is now a root file
32 module_type: RootInput
33 maxEvents: 10 # Number of events to create
36 # Define and configure some modules to do work on each event.
37 # First modules are defined; they are scheduled later.
38 # Modules are grouped by type.
45 rns: { module_type: RandomNumberSaver }
47 unstick: @local::dune35t_unstick
49 daq: @local::dune35t_filterwf
51 sigmoid: @local::dune35t_sigmoid
53 fasthit: @local::dune35t_fasthitfinder
55 handscan: @local::dune35t_handscan
56 # disambiguation using the counters
57 counterhit: @local::dune35t_hitfindercounters
59 # reconstruction using disambiguated hits
60 # fuzzy: @local::dune35t_fuzzycluster
61 dbcluster: @local::dune35t_dbcluster
62 linecluster: @local::dune35t_linecluster
63 costrk: @local::dune35t_cosmictracker
64 # stitch: @local::dune35t_trackstitcher
65 calo: @local::dune35t_calomc
66 pmtrack: @local::dune35t_pmalgtrackmaker
67 pmtrackcalo: @local::dune35t_calomc
68 # kalmanhit: @local::dune35t_track3Dkalmanhit
70 photont0costrk: @local::lbne35t_photoncountert0matching
71 photont0pmtrack: @local::lbne35t_photoncountert0matching
73 t0counter: @local::dune35t_t0counter
74 # photon detector reconstruction
75 ophit: @local::dune35t_ophit
76 opflash: @local::dune35t_opflash
77 # track shower splitter
78 trkshowersplit: @local::standard_trackshowerhits
79 # shower reconstruction
80 blurredcluster: @local::dune35t_blurredcluster
81 emshower: @local::dune35tdata_emshower
82 emshower3d: @local::dune35t_emshower3d
83 mergeemshower3d: @local::dune35t_mergeemshower3d
86 #define the producer and filter modules for this path, order matters,
87 #filters reject all following items. see lines starting physics.producers below
94 #optical hit reco, flash, counter, TPC wire signals
98 #manual real-from-noise hit selection
100 # disambiguation using the counters.
106 #, pmtrack, photont0pmtrack, pmtrackcalo
107 #shower reconstruction
108 #, blurredcluster, emshower, emshower3d, mergeemshower3d
111 #define the output stream, there could be more than one if using filters
114 #trigger_paths is a keyword and contains the paths that modify the art::event,
115 #ie filters and producers
116 trigger_paths: [reco]
118 #end_paths is a keyword and contains the paths that do not modify the art::Event,
119 #ie analyzers and output streams. these all run simultaneously
123 #block to define where the output goes. if you defined a filter in the physics
124 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
125 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
130 module_type: RootOutput
131 fileName: "%ifb_%tc_reco.root"
132 dataTier: "full-reconstructed"
136 ### Here, we overwrite ALL module labels with the ones defined above.
137 physics.producers.unstick.DigitModuleLabel: "SplitterInput:TPC"
139 physics.producers.daq.RawDigitModuleLabel: "unstick"
140 physics.producers.daq.RawDigitModuleInstance: "TPC"
141 physics.producers.daq.SkipStuckCodes: false
143 physics.producers.sigmoid.DigitModuleLabel: "daq"
144 physics.producers.sigmoid.DigitModuleInstance: ""
146 physics.producers.fasthit.MinSigCol: 80
147 physics.producers.fasthit.MinSigInd: 80
148 physics.producers.fasthit.DigitModuleLabel: "unstick:TPC"
150 physics.producers.t0counter.TriggerModuleLabel: "SplitterInput:TRIGGER"
152 physics.producers.counterhit.HitsModuleLabel: "fasthit"
154 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
155 physics.producers.pmtrack.HitModuleLabel: "linecluster"
157 physics.producers.pmtrackcalo.TrackModuleLabel: "pmtrack"
158 physics.producers.pmtrackcalo.SpacePointModuleLabel: "pmtrack"
159 physics.producers.pmtrackcalo.T0ModuleLabel: "photont0pmtrack"
160 physics.producers.photont0pmtrack.TrackModuleLabel: "pmtrack"
161 physics.producers.photont0pmtrack.HitsModuleLabel: "linecluster"
162 physics.producers.photont0pmtrack.ShowerModuleLabel: ""
163 physics.producers.photont0pmtrack.TruthT0ModuleLabel: "mctrutht0pmtrack"
165 #physics.producers.fuzzy.HitsModuleLabel: "fasthit"
166 physics.producers.dbcluster.HitsModuleLabel: "fasthit"
167 physics.producers.linecluster.HitFinderModuleLabel: "fasthit"
168 physics.producers.costrk.ClusterModuleLabel: "linecluster"
169 #physics.producers.stitch.TrackModuleLabel: "costrk"
170 #physics.producers.stitch.SpptModuleLabel: "costrk"
171 physics.producers.photont0costrk.TrackModuleLabel: "costrk"
172 physics.producers.photont0costrk.HitsModuleLabel: "linecluster"
173 physics.producers.photont0costrk.ShowerModuleLabel: ""
174 physics.producers.photont0costrk.TruthT0ModuleLabel: "mctrutht0"
175 physics.producers.calo.TrackModuleLabel: "costrk"
176 physics.producers.calo.SpacePointModuleLabel: "costrk"
177 physics.producers.calo.T0ModuleLabel: "photont0costrk"
178 #physics.producers.kalmanhit.HitModuleLabel: "fasthit"
179 #physics.producers.kalmanhit.ClusterModuleLabel: "fuzzy"
181 #Optical detector configuration
182 physics.producers.ophit.InputModule: "opdigi"
183 physics.producers.opflash.InputModule: "ophit"
185 #physics.producers.linecluster.ClusterCrawlerAlg.TimeDelta: [2,3,3]
186 #shower configuration
187 physics.producers.blurredcluster.HitsModuleLabel: "linecluster"
188 physics.producers.blurredcluster.TrackModuleLabel: "pmtrack"
189 physics.producers.blurredcluster.CreateDebugPDF: false
190 physics.producers.blurredcluster.MergeClusters: false
191 physics.producers.blurredcluster.GlobalTPCRecon: true
192 physics.producers.blurredcluster.ShowerReconOnly: false
193 physics.producers.blurredcluster.VertexModuleLabel: "linecluster"
195 physics.producers.emshower.ClusterModuleLabel: "blurredcluster"
196 physics.producers.emshower.HitsModuleLabel: "linecluster"
197 physics.producers.emshower.TrackModuleLabel: "pmtrack"
199 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
200 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
201 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
203 physics.producers.mergeemshower3d.HitsModuleLabel: "linecluster"
204 physics.producers.mergeemshower3d.ClustersModuleLabel: "blurredcluster"
205 physics.producers.mergeemshower3d.Trk3DModuleLabel: "emshower3d"
206 physics.producers.mergeemshower3d.VtxModuleLabel: "emshower3d"
207 physics.producers.mergeemshower3d.WideConeAngle: 20
209 services.DetectorPropertiesService.NumberTimeSamples: 6000
210 services.DetectorPropertiesService.ReadOutWindowSize: 6000
212 #services.SignalShapingServiceDUNE.DebugFieldShape: true
213 services.SignalShapingServiceDUNE.ASICGainInMVPerFC: [14, 14, 14]
214 services.SignalShapingServiceDUNE.ShapeTimeConst: [3, 3, 3]
216 services.SignalShapingServiceDUNE.NoiseFactVec: [[ 1.12, 0.86, 6.0, 0.55 ],
217 [ 1.12, 0.86, 6.0, 0.55 ],
218 [ 0.89, 0.66, 4.8, 0.43 ]]
220 ############## The standard parameters -----------------------
221 #services.SignalShapingServiceDUNE.ColFilter: "(x>0.0)*[0]*exp(-0.5*(((x-[1])/[2])^2)^[3])"
222 #services.SignalShapingServiceDUNE.IndUFilter: "(x>0.0)*gaus*exp(-0.5*pow(x/[3],[4]))"
223 #services.SignalShapingServiceDUNE.IndVFilter: "(x>0.0)*gaus*exp(-0.5*pow(x/[3],[4]))"
225 ############## My new parameters -----------------------
227 services.SignalShapingServiceDUNE.ColFilter: "(x>0.001)*[0]*(1-1/(1+exp(-(x-[1])/[2])))"
228 services.SignalShapingServiceDUNE.ColFilterParams: [ 1, 0.150, 0.025 ]
230 services.SignalShapingServiceDUNE.IndUFilter: "(x>0.03)*[0]*(1-1/(1+exp(-(x-[1])/[2])))*(1/(1+exp(-(x-[3])/[4])))"
231 services.SignalShapingServiceDUNE.IndUFilterParams: [ 1.0, 0.105, 0.019, 0.018, 0.010 ]
232 services.SignalShapingServiceDUNE.IndVFilter: "(x>0.03)*[0]*(1-1/(1+exp(-(x-[1])/[2])))*(1/(1+exp(-(x-[3])/[4])))"
233 services.SignalShapingServiceDUNE.IndVFilterParams: [ 0.95, 0.125, 0.019, 0.010, 0.0109 ]