hitfindermodules_dune.fcl
Go to the documentation of this file.
1 #include "hitfindermodules.fcl"
2 #include "clusteralgorithms.fcl"
3 #include "disambigalgorithms.fcl"
4 
5 BEGIN_PROLOG
6 
7 
8 standard_disambigcheat:
9 {
10  module_type: "DisambigCheater"
11  ChanHitLabel: "gaushit"
12 }
13 
14 standard_disambigfromsp:
15 {
16  module_type: "DisambigFromSpacePoints"
17  HitModuleLabel: "gaushit"
18  SpModuleLabel: "reco3d"
19  ExcludeTPCs: [] # if there are TPC volumes with no actual drift towards wires, exclude them here
20  UseNeighbors: true # use neigboring hits to resolve hits missed by spacepoints
21  NumNeighbors: 2 # number of neigboring hits to resolve hits missed by spacepoints
22  MaxDistance: 1000 # neighborhood max distance [cm] used to resolve hits missed with spacepoints
23  MoveLeftovers: "first" # "repeat" - duplicate undisambiguated hits to every allowed wire segment
24  # "first" - put undisambiguated hits on the first allowed wire segment
25  # "drop" - drop undisambiguated hits from the output
26  MonitoringPlots: false # create histograms of no. of unresolved hits at each stage, per plane
27 }
28 
29 hit_repeater:
30 {
31  module_type: "HitRepeater"
32  ChanHitLabel: "gaushit"
33 }
34 
35 emlikehits:
36 {
37  module_type: "EmLikeHits"
38  HitModuleLabel: "hit" # hits used to reconstruct tagged tracks
39  Trk3DModuleLabel: "track" # tagged tracks (hadron/muon- or cascade-like)
40 }
41 
42 # This is the showerhitseparator that divides the output from MVA methods
43 # # identifying the shower hits and track hits.
44 standard_showerhitseparator:
45 {
46  module_type: "ShowerHitSeparator"
47  MVALabel: "emtrkmichelid:emtrkmichel"
48  HitLabel: "linecluster"
49  MVAOutputCut: 0.6
50  SaveTree: false
51 }
52 
53 apa_hitfinder:
54 {
55  module_type: "APAHitFinder"
56  DisambigAlg: @local::apa_disambigalg
57  ChanHitLabel: "gaushit"
58  ClusLabel: "fuzzy"
59 }
60 
61 dunefd_disambigfromsp: @local::standard_disambigfromsp
62 dunefd_disambigfromsp.SpModuleLabel: "spsolve"
63 dunefd_disambigfromsp.ExcludeTPCs: [] # workspace has no outer TPCs, but full FD has, I think
64 dunefd_disambigfromsp.MoveLeftovers: "repeat"
65 
66 pdune_disambigfromsp: @local::standard_disambigfromsp
67 pdune_disambigfromsp.ExcludeTPCs: []
68 pdune_disambigfromsp.MoveLeftovers: "repeat"
69 
70 dunefddphase_gaushitfinder: @local::gaus_hitfinder
71 #dunefddphase_gaushitfinder.MinSig: [6.0, 6.0]
72 #dunefddphase_gaushitfinder.MinWidth: [1.0, 1.0]
73 dunefddphase_gaushitfinder.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 6.0
74 dunefddphase_gaushitfinder.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 6.0
75 dunefddphase_gaushitfinder.InitWidth: [6.0, 6.0]
76 dunefddphase_gaushitfinder.AreaNorms: [13.25, 13.25]
77 #dunefddphase_gaushitfinder.Chi2NDFRetry: 1000.
78 
79 dunefddphase_dprawhitfinder: @local::dpraw_hitfinder
80 
81 dune35t_hit_repeater: @local::hit_repeater
82 dune35t_disambigcheat: @local::standard_disambigcheat
83 
84 dune35t_gaushitfinder: @local::gaus_hitfinder
85 dune35t_apahitfinder: @local::apa_hitfinder
86 dune35t_emlikehits: @local::emlikehits
87 dune35t_hitcheater: @local::standard_hitcheater
88 
89 #dune35t_gaushitfinder.MinSig: [6.0, 6.0, 6.0]
90 #dune35t_gaushitfinder.MinWidth: [1.0, 1.0, 1.0]
91 dune35t_gaushitfinder.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 6.0
92 dune35t_gaushitfinder.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 6.0
93 dune35t_gaushitfinder.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 6.0
94 dune35t_gaushitfinder.InitWidth: [6.0, 6.0, 6.0]
95 dune35t_gaushitfinder.AreaNorms: [13.25, 13.25, 13.25]
96 #dune35t_gaushitfinder.Chi2NDFRetry: 1000.
97 
98 dune35t_disambigalg:
99 {
100  TimeCut: 3. #tolerance for 3 view hits matching, in ticks
101  DistanceCut: 1. #tolerance to determine whether wires cross, in cm
102  DistanceCutClu: 4. #tolerance to get disambiguated hits around a given hit, in cm
103  TimeWiggle: 5. #Buffer to extend cluster windows by to exclude small clusters
104  # of mis-identified hits.
105  ColChannelWiggle: 5 #Buffer to extend cluster windows by to exclude small clusters
106  # of mis-identified hits.
107  DoCleanUpHits: true #clean up wrong hit triplets
108  DBScanAlg: @local::standard_dbscanalg
109 }
110 
111 dune35t_disambigalg.DBScanAlg.eps: 13.
112 dune35t_disambigalg.DBScanAlg.epstwo: 15.
113 
114 dune35t_TimeBasedDisambigAlg:
115 {
116  TimeCut: 3. #tolerance for 3 view hits matching, in ticks
117  DistanceCut: 1. #tolerance to determine whether wires cross, in cm
118  DistanceCutClu: 4. #tolerance to get disambiguated hits around a given hit, in cm
119  TimeWiggle: 5. #Buffer to extend cluster windows by to exclude small clusters
120  # of mis-identified hits.
121  ColChannelWiggle: 5 #Buffer to extend cluster windows by to exclude small clusters
122  # of mis-identified hits.
123 }
124 
125 dune35t_hitfinder35t:
126 {
127  module_type: "HitFinder35t"
128  DisambigAlg: @local::dune35t_disambigalg
129  TimeBasedDisambigAlg: @local::dune35t_TimeBasedDisambigAlg
130  ChanHitLabel: "gaushit"
131  Algorithm: "TripletMatch"
132 }
133 
134 dune35t_handscan:
135 {
136  module_type: "HitHandScan"
137  HandScanFileName: "/dune/app/users/mthiesse/PersistentFiles/handscan.txt"
138  PreviousHitModuleLabel: "hit35t"
139 }
140 
141 dune35t_hitlinefitalg:
142 {
143  FitPolN: 2
144  MinStartPoints: 3
145  MinAlsoPoints: 6
146  IterationsMultiplier: 20
147  InclusionThreshold: 2
148  LogLevel: 2
149 }
150 
151 dune35t_hitfindercounters:
152 {
153  module_type: "HitFinderCounter35t"
154  Debug: false
155  HitsModuleLabel: "gaushit"
156  CounterModuleLabel: "SplitterInput:TRIGGER"
157  CounterDir: "/dune/app/users/mthiesse/PersistentFiles/"
158  CounterFile: "counterInformation.txt"
159  CoincidenceTolerance: 2
160  fConvCountTimeToTicks: 32
161  ExtendCounters: 10
162  AdjacentWireWidth: 10
163  AdjacentTimeWidth: 100
164  CollectionTimeWidth: 50
165  DoHitLineFitAlg: false
166  HitLineFitAlg: @local::dune35t_hitlinefitalg
167 }
168 
169 dune35t_hitfindercounters_sim: @local::dune35t_hitfindercounters
170 dune35t_hitfindercounters_sim.CounterModuleLabel: "simcounter"
171 dune35t_hitfindercounters_sim.CounterDir: "/dune/app/users/mthiesse/PersistentFiles/"
172 dune35t_hitfindercounters_sim.CounterFile: "counterInformation_sim.txt"
173 
174 
175 dune35t_fasthitfinder: @local::standard_fasthitfinder
176 dune35t_fasthitfinder.MinSigInd: 5.0
177 dune35t_fasthitfinder.MinSigCol: 5.0
178 
179 dune35t_clustercrawlerhit: @local::standard_clustercrawlerhit
180 dune35t_clustercrawlerhit.CCHitFinderAlg.ChiNorms: [ 0.31, 0.62, 0.6 ]
181 dune35t_clustercrawlerhit.CCHitFinderAlg.MinPeak: [ 3., 3., 3. ]
182 dune35t_clustercrawlerhit.CCHitFinderAlg.MinRMS: [ 2.3, 2.3, 2.1 ]
183 dune35t_clustercrawlerhit.CCHitFinderAlg.AllowNoHitWire: 2
184 
185 dunefd_disambigcheat: @local::standard_disambigcheat
186 dunefd_gaushitfinder: @local::dune35t_gaushitfinder
187 dunefd_apahitfinder: @local::apa_hitfinder
188 dunefd_hitcheater: @local::standard_hitcheater
189 dunefd_fasthitfinder: @local::dune35t_fasthitfinder
190 dunefd_clustercrawlerhit: @local::dune35t_clustercrawlerhit
191 dunefd_hitfinderfd: @local::dune35t_hitfinder35t
192 dunefd_hitfinderfd.DisambigAlg.DoCleanUpHits: false
193 dunefd_hitfinderfd.DisambigAlg.DistanceCutClu: 100
194 
195 # gauss hit finder for VD module
196 dunevdfd_gaushitfinder: @local::gaus_hitfinder
197 dunevdfd_gaushitfinder.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 0.6
198 dunevdfd_gaushitfinder.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 0.6
199 dunevdfd_gaushitfinder.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 0.6
200 dunevdfd_gaushitfinder.InitWidth: [6.0, 6.0, 6.0]
201 dunevdfd_gaushitfinder.AreaNorms: [13.25, 13.25, 13.25]
202 dunevdfd_gaushitfinder.MaxMultiHit: 4
203 dunevdfd_gaushitfinder.Chi2NDF: 50
204 dunevdfd_gaushitfinder.LongMaxHits: [ 25, 25, 25 ]
205 dunevdfd_gaushitfinder.LongPulseWidth: [ 10, 10, 10 ]
206 dunevdfd_gaushitfinder.PeakFitter: @local::peakfitter_mrqdt
207 dunevdfd_gaushitfinder.CalDataModuleLabel: "wclsdatanfsp:gauss"
208 
209 protodunespmc_gaushitfinder: @local::gaus_hitfinder
210 protodunespmc_gaushitfinder.HitFinderToolVec.CandidateHitsPlane0.RoiThreshold: 0.6
211 protodunespmc_gaushitfinder.HitFinderToolVec.CandidateHitsPlane1.RoiThreshold: 0.6
212 protodunespmc_gaushitfinder.HitFinderToolVec.CandidateHitsPlane2.RoiThreshold: 0.6
213 protodunespmc_gaushitfinder.InitWidth: [6.0, 6.0, 6.0]
214 protodunespmc_gaushitfinder.AreaNorms: [13.25, 13.25, 13.25]
215 protodunespmc_gaushitfinder.MaxMultiHit: 4
216 protodunespmc_gaushitfinder.Chi2NDF: 50
217 protodunespmc_gaushitfinder.LongMaxHits: [ 25, 25, 25 ]
218 protodunespmc_gaushitfinder.LongPulseWidth: [ 10, 10, 10 ]
219 protodunespmc_gaushitfinder.PeakFitter: @local::peakfitter_mrqdt
220 
221 dune35t_rmshitfinderalg:
222 {
223  WindowWidth: 50
224  FilterWidth: 6
225  SigmaRiseThreshold: 2.0
226  SigmaFallThreshold: 0.25
227 }
228 
229 dune35t_robusthitfinder:
230 {
231  module_type: "RobustHitFinder"
232  MakeTree: true
233  Efield: [ 0.25, 0.620, 0.777, 1.772 ] #kV/cm --> 60kV cathode voltage
234  CounterT0ModuleLabel: "t0counter"
235  WireModuleLabel: "caldata"
236  DigitModuleLabel: "caldata"
237  DoWireAssns: true
238  DoRawDigitAssns: false
239  HitGeomDistanceCut: 25
240  MinPedMean: -10
241  MaxPedMean: 4000
242  MinPedRms: 0
243  MaxPedRms: 500
244  MakeupMissedHits: true
245  MissedBufferTicksLow: 0
246  MissedBufferTicksHigh: 0
247  HitLineFitAlg: @local::dune35t_hitlinefitalg
248  RMSHitFinderAlg: @local::dune35t_rmshitfinderalg
249  UseMeasuredCounterPositions: true
250  ConstantHitWidth: true
251  PreHitTicks: 50
252  PostHitTicks: 100
253  Simulation: false
254 }
255 
256 dune35t_robusthitfindersim: @local::dune35t_robusthitfinder
257 dune35t_robusthitfindersim.SearchPreTicks: 100
258 dune35t_robusthitfindersim.SearchPostTicks: 4400
259 dune35t_robusthitfindersim.HitGeomDistanceCut: 25
260 dune35t_robusthitfindersim.UseMeasuredCounterPositions: false
261 dune35t_robusthitfindersim.Simulation: true
262 
263 protodunesp_disambig:
264 {
265  module_type: "HitFinderProtoDUNESP"
266 # so far there's only one algorithm so this value is ignored.
267  ChanHitLabel: "gaushit"
268  Algorithm: "Placeholder_Value"
269  DisambigAlg:
270  {
271  TimeCut: 3
272  DistanceCut: 1
273  }
274 }
275 
276 dune35t_trackhitbacktracker:
277 {
278  module_type: "TrackHitBacktracker"
279  WireModuleLabel: "caldata"
280  TrackModuleLabel: "pmtrack"
281  PrevHitModuleLabel: "linecluster"
282  PreBaselineTicks: 100
283  PostBaselineTicks: 100
284  PulseStartWidthMult: 1.0
285  PulseEndWidthMult: 1.5
286  MakeTree: false
287 }
288 
289 
290 END_PROLOG