standard_reco_dune35tdata_fasthit.fcl
Go to the documentation of this file.
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"
8 #include "t0reco.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"
15 
16 process_name: Reco
17 
18 services:
19 {
20  # Load the service that manages root files for histograms.
21  TFileService: { fileName: "reco_hist.root" }
22  TimeTracker: {}
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
28 }
29 #source is now a root file
30 source:
31 {
32  module_type: RootInput
33  maxEvents: 10 # Number of events to create
34 }
35 
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.
39 physics:
40 {
41 
42  producers:
43  {
44 # random number saver
45  rns: { module_type: RandomNumberSaver }
46 # noise filter
47  unstick: @local::dune35t_unstick
48 # unstuck code
49  daq: @local::dune35t_filterwf
50 # Frequency filter
51  sigmoid: @local::dune35t_sigmoid
52 # Hit finding
53  fasthit: @local::dune35t_fasthitfinder
54 
55  handscan: @local::dune35t_handscan
56 # disambiguation using the counters
57  counterhit: @local::dune35t_hitfindercounters
58 
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
69 # Photon counter T0
70  photont0costrk: @local::lbne35t_photoncountert0matching
71  photont0pmtrack: @local::lbne35t_photoncountert0matching
72 # Muon Counter T0
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
84  }
85 
86  #define the producer and filter modules for this path, order matters,
87  #filters reject all following items. see lines starting physics.producers below
88  reco: [ rns
89  , unstick
90  , daq
91  , sigmoid
92  , fasthit
93 
94  #optical hit reco, flash, counter, TPC wire signals
95  #ophit, opflash
96  , t0counter
97 
98  #manual real-from-noise hit selection
99  #, handscan
100  # disambiguation using the counters.
101  , counterhit
102  #cluster reco
103  #, dbcluster
104  #, linecluster
105  #pmatrack
106  #, pmtrack, photont0pmtrack, pmtrackcalo
107  #shower reconstruction
108  #, blurredcluster, emshower, emshower3d, mergeemshower3d
109 ]
110 
111  #define the output stream, there could be more than one if using filters
112  stream1: [ out1 ]
113 
114  #trigger_paths is a keyword and contains the paths that modify the art::event,
115  #ie filters and producers
116  trigger_paths: [reco]
117 
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
120  end_paths: [stream1]
121 }
122 
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)
126 outputs:
127 {
128  out1:
129  {
130  module_type: RootOutput
131  fileName: "%ifb_%tc_reco.root"
132  dataTier: "full-reconstructed"
133  compressionLevel: 1
134  }
135 }
136 ### Here, we overwrite ALL module labels with the ones defined above.
137 physics.producers.unstick.DigitModuleLabel: "SplitterInput:TPC"
138 
139 physics.producers.daq.RawDigitModuleLabel: "unstick"
140 physics.producers.daq.RawDigitModuleInstance: "TPC"
141 physics.producers.daq.SkipStuckCodes: false
142 
143 physics.producers.sigmoid.DigitModuleLabel: "daq"
144 physics.producers.sigmoid.DigitModuleInstance: ""
145 
146 physics.producers.fasthit.MinSigCol: 80
147 physics.producers.fasthit.MinSigInd: 80
148 physics.producers.fasthit.DigitModuleLabel: "unstick:TPC"
149 
150 physics.producers.t0counter.TriggerModuleLabel: "SplitterInput:TRIGGER"
151 
152 physics.producers.counterhit.HitsModuleLabel: "fasthit"
153 
154 physics.producers.trkshowersplit.HitModuleLabel: "linecluster"
155 physics.producers.pmtrack.HitModuleLabel: "linecluster"
156 
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"
164 
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"
180 
181 #Optical detector configuration
182 physics.producers.ophit.InputModule: "opdigi"
183 physics.producers.opflash.InputModule: "ophit"
184 
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"
194 
195 physics.producers.emshower.ClusterModuleLabel: "blurredcluster"
196 physics.producers.emshower.HitsModuleLabel: "linecluster"
197 physics.producers.emshower.TrackModuleLabel: "pmtrack"
198 
199 physics.producers.emshower3d.HitsModuleLabel: "linecluster"
200 physics.producers.emshower3d.ClustersModuleLabel: "blurredcluster"
201 physics.producers.emshower3d.Trk3DModuleLabel: "pmtrack"
202 
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
208 
209 services.DetectorPropertiesService.NumberTimeSamples: 6000
210 services.DetectorPropertiesService.ReadOutWindowSize: 6000
211 
212 #services.SignalShapingServiceDUNE.DebugFieldShape: true
213 services.SignalShapingServiceDUNE.ASICGainInMVPerFC: [14, 14, 14]
214 services.SignalShapingServiceDUNE.ShapeTimeConst: [3, 3, 3]
215 
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 ]]
219 
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]))"
224 
225 ############## My new parameters -----------------------
226 
227 services.SignalShapingServiceDUNE.ColFilter: "(x>0.001)*[0]*(1-1/(1+exp(-(x-[1])/[2])))"
228 services.SignalShapingServiceDUNE.ColFilterParams: [ 1, 0.150, 0.025 ]
229 
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 ]
234 
235 
236