clusteralgorithms.fcl
Go to the documentation of this file.
1 #include "trackfinderalgorithms.fcl"
2 #include "cluster3dalgorithms.fcl"
3 #include "calorimetry.fcl"
4 #include "kalmanfilterfittrackmakertool.fcl"
5 BEGIN_PROLOG
6 
7 standard_trajclusteralg:
8 {
9  Mode: 1 # 1(-1) step from US(DS) to DS(US), 2 = don't use
10  NPtsAve: 10 # Number of points to find average charge, Ave chg rms
11  MinPtsFit: [3, 3, 3] # Min number of points in the trajectory fit required on each pass
12  MinPts: [3, 3, 3] # Min number of points in the trajectory required on each pass
13  MaxAngleCode: [0, 1, 2] # Max angle range code allowed on each pass
14  MinMCSMom: [0, 0, 0] # Minimum MCSMom for each pass
15  MaxChi: 20 # Max Chi/DOF for accepting a trajectory fit (long muons)
16  HitErrFac: 0.4 # hit time error for fitting = fHitErrFac * (hit RMS)
17  MinAmp: 1 # Min amplitude for a wire signal being considered present (must be > 0)
18  AngleRanges: [40, 85, 90] # Max angle (degrees) for small, intermediate and large angle trajectories
19  MultHitSep: 2.5 # Hits separated by < MultHitSep * RMS may be combined in a trajectory point
20  ChargeCuts: [4, 0.15, 0.25] # [Max(min) chg pull, Min allowed chg RMS, Max allowed chg RMS]
21 # KinkCuts: [0.4, 1.5, 3] # kink angle, MCS kink significance, nPts fit << OLD
22  KinkCuts: [ 8, 15, 1, 10 ] # << NEW
23  # 0 Number of points to fit at the end of the trajectory
24  # 1 Minimum kink significance
25  # 2 Use charge in significance calculation? (yes if > 0)
26  # 3 3D kink fit length (cm)
27  ProjectionErrFactor: 2 # Factor applied to calculated trajectory error
28  VLAStepSize: 1.5 # Step size for Very Large Angle trajectories
29  JTMaxHitSep: 3 # max hit separation (WSE units) for making Junk Trajectories (<0) turn off
30  MaxWireSkipNoSignal: 3 # max allowed number of not-dead wires if no signal is present
31  MaxWireSkipWithSignal: 100 # max allowed number of not-dead wires if a signal is present
32  QualityCuts: [ 0.8, 3] # Min points/wire, min consecutive pts after a gap
33  MuonTag: [40, 500, 40, 3] # minLength, minMCSMom, maxWireSkip,(min delta-ray length for muon direction tag)
34  DeltaRayTag: [10, 5, 500] # Tag short TJs as delta-rays close to muons [min sep, min MCSMom, max MCSMom]
35 # 0 1 2 3 4 5 6 7 8 9 10 11 12
36  ShowerTag: [ 1, 100, 10, 50, 2.5, 1, 0, 3, 5, 0.7, 1, 10, -13]
37 # 0 Mode (<= 0 OFF, 1 = tag only, 2 = find showers)
38  # 1 Max Tj MCSMom for a shower tag
39  # 2 Max separation
40  # 3 Min energy (MeV)
41  # 4 rms width factor
42  # 5 Min shower 1/2 width (WSE units)
43  # 6 Min ElectronLikelihood (if > 0)
44  # 7 Min Tjs
45  # 8 max parent FOM
46  # 9 max direction FOM
47  # 10 max aspect ratio
48  # 11 not used
49  # 12 Print 2D showers in plane (0,1,2) or all planes (3) or just 3D matching (4)
50  SaveShowerTree: false
51  SaveCRTree: false
52  TagCosmics: false
53  ChkStopCuts: [10, 8, 1.5] # [Min chg slope, nFitPts, Chg fit ChiDOF cut]
54  VertexScoreWeights: [1, 2, 10, 2]
55  # 0 = Vertex error weight
56  # 1 = 3D match weight
57  # 2 = Charge fraction of vertex Tjs near the vertex weight
58  # 3 = Tj MCSMom, ChgRMS, Angle difference significance between Tjs weight
59  Vertex2DCuts: [6, 8, 45, 3, 3, 50, 0.6, 30, 0.8, 0.8] # << NEW increase min Score
60  # 0 User definition of a short Tj => max number of Tj points
61  # 1 max separation between a vertex and the start of a trajectory for a user-defined short Tj
62  # 2 max separation for a user-defined long Tj
63  # 3 max position pull when attaching a Tj to a vertex
64  # 4 max position error for creating a Tj or attaching Tjs to an existing vertex
65  # 5 Min MCSMom of Tjs that can be used to create a vertex
66  # 6 min frac of Points/Wire between a vtx and a Tj. Ideally one if the efficiency is good
67  # 7 min Score
68  # 8 Min charge fraction near a vertex or merge point
69  # 9 max MCSmom asymmetry for a merge
70  Vertex3DCuts: [0.8, 2., 3.]
71  # 0 dX match cut (cm)
72  # 1 dY and dZ match cut (cm)
73  # 2 max separation btw PFParticle end and 3D vertex
74  Match3DCuts: [ 0.5, 10000, 1, 2, 2.0, 2.5, 1]
75  # 0 dx (cm) matching cut
76  # 1 max number of 3-plane matches for any Tj
77  # 2 Attempt 2-view match?
78  # 3 min number of TP3Ds in at least 2 planes to fit in each PFP section
79  # 4 max pull for adding/rejecting TP3Ds in sections
80  # 5 suggested max ChiDOF for a SectionFit
81  # 6 > 0 Don't match muon shower tjs
82  PFPStitchCuts: [ 0.02, 3, 2 ]
83  # 0 = matching angle resolution (radians)
84  # 1 = matching position resolution (cm)
85  # 2 = max angle-position figure of merit
86  SkipAlgs: [ ] # List of algs that should not be used
87  DebugConfig: []
88 }
89 standard_trajclusteralg.CaloAlg: @local::standard_calorimetryalgmc
90 
91 standard_clustercrawleralg:
92 {
93  NumPass: 3 # number of passes through the hit list. 0 = no cluster reco
94  MaxHitsFit: [ 100, 8, 4] # number of hits fitted to a line
95  MinHits: [ 50, 8, 3] # minimum size of a cluster
96  NHitsAve: [ 20, 8, 2] # number of hits to find the average charge and width
97  # at the end of the cluster. NHitsAve should be 1 or 2
98  ChgCut: [ .8, .8, .8] # max fractional hit charge difference for adding hits
99  ChiCut: [ 4, 8, 10] # stop adding hits to clusters if ChiCut is reached
100  MaxWirSkip: [25, 8, 0] # max number of wires to skip without adding a hit
101  MinWirAfterSkip: [2, 2, 1] # min reqd number of consecutive wires with a hit after a skip
102  KinkChiRat: [1.2, 1.2, 0.] # Max consecutive chisq increase for the last 3 hits on the cluster
103  # 0. = no kink check when following
104  KinkAngCut: [0.4, 0.4, 1.5] # kink angle cut (radians) used to follow and merge
105  DoMerge: [false, true, true] # run cluster merging code?
106  TimeDelta: [ 8, 8, 20] # max time difference for cluster merging
107  MergeChgCut: [0.8, 0.8, 0.8] # max charge ratio for cluster merging
108  FindVertices: [true, true, true] # make 2D vertices after clustering?
109  LACrawl: [true, true, true] # crawl Large Angle clusters?
110  LAClusAngleCut: 60 # Large cluster angle cut (0 < 90 degrees). <0 to turn off
111  LAClusMaxHitsFit: 4 #
112  MinHitFrac: 0.6 # Drop clusters having < (#hits/#wires)
113  MinAmp: [5, 5, 5] # Min hit signal amplitude for merging
114  ChgNearWindow: 40 # #of ticks for summing charge near a cluster
115  ChgNearCut: 1.5 # Cluster end is shower-like if (nearby chg)/(cls chg)> cut
116  HitMergeChiCut: 2.5 # Merge cluster hit-multiplets if the separation chisq
117  # is < cut. Set < 0 for no merging
118  MergeAllHits: false # merge all hits before reconstructing clusters
119  MergeOverlapAngCut: 0.1 # Set <= 0 to turn off overlapping cluster merging
120  ChkClusterDS: true # Check reconstruction at DS end of clusters?
121  KillGarbageClusters: 0.1 # Kill ghost clusters, set to 0 to turn off
122  VtxClusterSplit: true # Split clusters that cross vertices
123  FindStarVertices: true # Find vertices with a star topology
124  HitErrFac: 0.2 # hit time error for fitting = fHitErrFac * (hit width)
125  HitMinAmp: 2 # ignore hits with PH < this value
126  ClProjErrFac: 3 # cluster projection error factor
127  AllowNoHitWire: 1 # Allow skipping N wires w no hits (if poor purity)
128  Vertex2DCut: 10 # Max chisq cut for attaching a cluster to a vtx
129  Vertex3DCut: 5 # 2D vtx -> 3D vtx matching cut (chisq)
130  FindHammerClusters: true # look for hammer type clusters
131  RefineVertexClusters: false # (not ready)
132  FindVLAClusters: false # find Very Large Angle clusters (not ready)
133  DebugPlane: -1 # print info only in this plane
134  DebugWire: 0 # set to the Begin Wire and Hit of a cluster to print
135  DebugHit: 0 # out detailed information while crawling
136 }
137 
138 standard_blurredclusteralg:
139 {
140  BlurWire: 6
141  BlurTick: 12
142  SigmaWire: 4
143  SigmaTick: 6
144  ClusterWireDistance: 2
145  ClusterTickDistance: 2
146  MaxTickWidthBlur: 10
147  NeighboursThreshold: 0
148  MinNeighbours: 0
149  MinSize: 2
150  MinSeed: 0.1
151  TimeThreshold: 500
152  ChargeThreshold: 0.07
153 }
154 
155 standard_mergeclusteralg:
156 {
157  MinMergeClusterSize: 3
158  MaxMergeSeparation: 30
159  ProjWidthThreshold: 0.2
160 }
161 
162 standard_houghbasealg:
163 {
164  MaxLines: 50 # The maximum number of Hough lines to look for, 20 had been working!
165  MinHits: 5
166  SaveAccumulator: 0
167  NumAngleCells: 20000 # The number of angle cells to create for the Hough transform,
168  RhoResolutionFactor: 5 # Was set to 5
169  MaxDistance: 1.0 # 0.1 was working (okay, not really, larger is probably better,
170  MaxSlope: 80.0 # 80 was working fine previously
171  RhoZeroOutRange: 0
172  ThetaZeroOutRange: 0
173  HitsPerCluster: 1
174  MissedHits: 1 # Was set to 0
175  MissedHitsDistance: 2.0 #
176  MissedHitsToLineSize: 0.25 # Was set to 0
177 }
178 
179 standard_endpointalg:
180 {
181  TimeBins: 256
182  MaxCorners: 20
183  Gsigma: 1.
184  Window: 5
185  Threshold: 0.1
186  SaveVertexMap: -1
187 }
188 
189 
190 standard_cornerfinderalg:
191 {
192  RawDataModuleLabel: "daq"
193  CalDataModuleLabel: "caldata"
194  Trimming_threshold: 10
195  Trimming_totalThreshold: 5e4
196  Conversion_algorithm: "standard"
197  Conversion_function: "TMath::Gaus(x,0,1)*TMath::Gaus(y,0,1)"
198  Conversion_func_neighborhood: 3
199  Conversion_threshold: 0
200  Conversion_bins_per_input_x: 1
201  Conversion_bins_per_input_y: 1
202  Derivative_method: "Sobel" #Noble
203  Derivative_neighborhood: 1
204  Derivative_BlurFunc: "NotImplemented"
205  Derivative_BlurNeighborhood: 5
206  CornerScore_Noble_epsilon: 1e-5
207  CornerScore_Harris_kappa: 0.05
208  CornerScore_neighborhood: 1
209  CornerScore_algorithm: "Nobel" #Harris
210  MaxSuppress_neighborhood: 3
211  MaxSuppress_threshold: 1000
212  Integral_bin_threshold: 5
213  Integral_fraction_threshold: 0.95
214 
215 
216 }
217 
218 standard_dbscanalg:
219 {
220  eps: 1.0
221  epstwo: 1.5
222  minPts: 2
223  Method: 0 # 0 -- naive findNeighbor implemention
224  # 1 -- findNeigbors with R*-tree
225  # 2 -- DBScan from the paper with R*-tree
226  Metric: 3 # Which RegionQuery distance metric to use.
227  # **ONLY APPLIES** if Method is 1 or 2.
228  #
229  # 0 -- rectangle (no bad channels) **not implemented**
230  # 1 -- Manhattan distance (only uses eps, no bad channels)
231  # **not implemented**
232  # 2 -- Eliptical (no bad channels) **not implemented**
233  # 3 -- findNeighbors-alike: Elliptical and bad
234  # channel aware (not working)
235 }
236 
237 standard_dbscan3dalg:
238 {
239  epsilon: 5.0
240  minpts: 2
241  neighbors: 100
242  badchannelweight: 0.
243 }
244 
245 standard_tcshoweralg:
246 {
247  CalorimetryAlg: @local::standard_calorimetryalgmc
248  ProjectionMatchingAlg: @local::standard_projectionmatchingalg
249 }
250 
251 standard_fuzzyclusteralg:
252 {
253  RunHough: true # Turns on and off the Hough line finder, useful for diagnostics
254  NumberTimeBoundaries: 3 # Number of boundaries in ticks for the drift window to be divided up to make the Hough line finder easier on memory
255  NumberWireBoundaries: 3 # Number of boundaries in wires for the drift window to be divided up to make the Hough line finder easier on memory
256  GenerateHoughLinesOnly: false # Show only the results of the Hough line finder, hits not in a line will not be clustered
257  HoughBaseAlg:{
258  MaxLines: 100
259  MaxDistance: 1
260  MinHits: 5
261  NumAngleCells: 10800
262  SaveAccumulator: 0
263  RhoResolutionFactor: 5
264  MaxSlope: 80.0 # 80 was working fine previously
265  RhoZeroOutRange: 0
266  ThetaZeroOutRange: 0
267  HitsPerCluster: 1
268  MissedHits: 1 # Was set to 0
269  MissedHitsDistance: 1.0 #
270  MissedHitsToLineSize: 0.5 # Was set to 0
271  }
272  DBScanAlg: @local::standard_dbscanalg
273  DoFuzzyRemnantMerge: true # Tell the algorithm to merge fuzzy cluster remnants into showers or tracks (0-off, 1-on)
274  FuzzyRemnantMergeCutoff: 20 # Cut off on distance from hough line to hit in the remnant of the fuzzy cluster
275 
276  DoTrackClusterMerge: true # Turns on merging of track-like Hough lines (0-off, 1-on)
277  ChargeAsymAngleCut: 0.1 # Cut on product of charge asymmetry and the square of the sin of angle between slopes of lines, only for track-like
278  SigmaChargeAsymAngleCut: 1.0 # Cut on product of charge sigma asymmetry and the sin of angle between slopes of lines, only for track-like
279  TrackClusterMergeCutoff: 5.0 # The maximum distance between track-like Hough line endpoints before they can be merged,
280 
281  DoShowerClusterMerge: true # Turns on merging of shower-like Hough line (0-off, 1-on)
282  ShowerClusterMergeAngle: 30 # The maximum angle between slopes of shower-like lines to be merged,
283  ShowerClusterMergeCutoff: 7.5 # The maximum distance between shower-like line endpoints before they can be merged,
284 
285  DoShowerTrackClusterMerge: true # Turns on merging of shower-like and track-like lines (0-off, 1-on)
286  ShowerTrackClusterMergeAngle: 15 # The maximum angle between slopes of shower-like and track-like lines to be merged,
287  ShowerTrackClusterMergeCutoff: 7.5 # The maximum distance between shower-like and track-like line endpoints before they can be merged,
288  ShowerLikenessCut: 10 # Cut on shower likeness (the larger the more shower like, the smaller the less shower like)
289  MaxVertexLines: 100 # Max number of line end points allowed in a Hough line merge region for a merge to happen
290  VertexLinesCutoff: 5.0 # Size of the vertex region to count up lines for MaxVertexLines
291 }
292 
293 standard_clusterparamsalg:
294  {
295  ChargeCutoffThreshold: [500,500,1000]
296  SelectBoxSizePar: 10 #distance along axis
297  SelectBoxSizePerp: 3 #distance perpendicular to axis
298  ForceRightGoing: false
299  MinHitListSize: 40
300  fOutlierRadius: 5
301  #HoughBaseAlg.NumAngleCells: 3000
302  #HoughBaseAlg.RhoResolutionFactor: 4
303  #HoughBaseAlg.MaxLines: 100
304  HitDensityCutoff: 1.9 # Showers is high, tracks low, 0 don't use cut
305  MultiHitWireCutoff: 2.1 # Showers is high, tracks low, 0 don't use cut
306  OffAxisHitsCutoff: 0 # Showers is high, tracks low, 0 don't use cut
307  PrincipalComponentCutoff: 0 # Tracks is high ~1, showers low, 0 don't use cut
308  ShowerSelisORorAND: 0 # 0 = OR, 1 = AND
309 
310  HoughBaseAlg: @local::standard_houghbasealg
311 
312  }
313 
314  standard_clustermatchalg:
315  {
316  DebugMode: true
317  StoreSpacePoint: true
318  MatchAlgoList: [0, 1, 2, 3] # Algorithms enum to be enabled
319  CutParam_NumSpacePoint: 100 # Number of minimum space point to claim a cluster by kSpacePoint
320  CutParam_OverlayTimeFraction: 0.0 # Minimum fraction of overlayed time period used by kRoughTime
321  CutParam_SumChargeRatio: 1000.0 # Maximum difference in fraction of clusters' charge sum used by kSumCharge
322  SpacePointAlg: @local::microboone_spacepointalg
323  }
324  standard_clustermatchalg.SpacePointAlg.Filter: false
325 
326  standard_clustermergealg:
327  {
328  VerboseMode: false
329  MaxAngleDiff: 0
330  MaxSquaredDist: 0
331  }
332 
333 standard_smallclustalg:
334  {
335  RadiusSizePar: 3 #radius of circle in "cm"
336  NHitsInClust: 4 # Max Number of hits in cluster
337  Verbose: false
338  }
339 
340 standard_clustermatchtq:
341 {
342  KSCut: 0.9
343  EnableU: true
344  EnableV: true
345  EnableZ: true
346 }
347 
348 standard_dbscanalg_fast: @local::standard_dbscanalg
349 standard_dbscanalg_fast.eps: 1.25
350 standard_dbscanalg_fast.epstwo: 1.75
351 standard_dbscanalg_fast.Method: 2
352 
353 jp250L_dbscanalg: @local::standard_dbscanalg
354 jp250L_fuzzyclusteralg: @local::standard_fuzzyclusteralg
355 jp250L_houghbasealg: @local::standard_houghbasealg
356 jp250L_houghbasealg.MaxLines: 15
357 jp250L_houghbasealg.MinHits: 3
358 jp250L_houghbasealg.NumAngleCells: 5000
359 jp250L_houghbasealg.MaxDistance: 5.0
360 jp250L_endpointalg: @local::standard_endpointalg
361 
362 bo_dbscanalg: @local::standard_dbscanalg
363 bo_fuzzyclusteralg: @local::standard_fuzzyclusteralg
364 bo_houghbasealg: @local::standard_houghbasealg
365 bo_houghbasealg.MaxLines: 15
366 bo_houghbasealg.MinHits: 3
367 bo_houghbasealg.NumAngleCells: 5000
368 bo_houghbasealg.MaxDistance: 5.0
369 bo_endpointalg: @local::standard_endpointalg
370 bo_clustercrawleralg: @local::standard_clustercrawleralg
371 bo_clustercrawleralg.NumPass: 1
372 bo_clustercrawleralg.MaxHitsFit: [ 8 ]
373 bo_clustercrawleralg.MinHits: [ 3 ]
374 bo_clustercrawleralg.ChgCut: [ 2. ]
375 bo_clustercrawleralg.WidCut: [ 2. ]
376 bo_clustercrawleralg.ChiCut: [ 20. ]
377 bo_clustercrawleralg.MaxWirSkip: [ 25 ]
378 bo_clustercrawleralg.MinWirAfterSkip: [ 1 ]
379 bo_clustercrawleralg.KinkChiRat: [ 2. ]
380 bo_clustercrawleralg.KinkAngCut: [ 0.5 ]
381 bo_clustercrawleralg.DoMerge: [ true ]
382 bo_clustercrawleralg.TimeDelta: [ 10. ]
383 bo_clustercrawleralg.FindVertices: [ false ]
384 bo_clustercrawleralg.HitErrFac: 1.
385 bo_clustermatchtq: @local::standard_clustermatchtq
386 
387 argoneut_dbscanalg: @local::standard_dbscanalg
388 argoneut_fuzzyclusteralg: @local::standard_fuzzyclusteralg
389 argoneut_houghbasealg: @local::standard_houghbasealg
390 argoneut_houghbasealg.MaxLines: 15
391 argoneut_houghbasealg.MinHits: 3
392 argoneut_houghbasealg.NumAngleCells: 5000
393 argoneut_houghbasealg.MaxDistance: 5.0
394 argoneut_endpointalg: @local::standard_endpointalg
395 argoneut_cornerfinderalg: @local::standard_cornerfinderalg
396 argoneut_clusterparamsalg: @local::standard_clusterparamsalg
397 argoneut_clusterparamsalg.HoughBaseAlg: @local::argoneut_houghbasealg
398 argoneut_clusterparamsalg.HoughBaseAlg.NumAngleCells: 3000
399 argoneut_clusterparamsalg.HoughBaseAlg.RhoResolutionFactor: 4
400 argoneut_clusterparamsalg.HoughBaseAlg.MaxLines: 100
401 argoneut_clusterparamsalg.ChargeCutoffThreshold: [200,400]
402 argoneut_clusterparamsalg.ForceRightGoing: true
403 argoneut_smallclustalg: @local::standard_smallclustalg
404 argoneut_clustermatchtq: @local::standard_clustermatchtq
405 argoneut_clustermatchtq.KSCut: 0.5
406 
407 
408 microboone_dbscanalg: @local::standard_dbscanalg_fast
409 microboone_endpointalg: @local::standard_endpointalg
410 microboone_houghbasealg: @local::standard_houghbasealg
411 microboone_houghbasealg.MaxLines: 20
412 microboone_houghbasealg.MaxDistance: 1.0
413 microboone_houghbasealg.MinHits: 5
414 microboone_houghbasealg.NumAngleCells: 20000
415 microboone_houghbasealg.DoHoughLineMerge: 1
416 microboone_fuzzyclusteralg: @local::standard_fuzzyclusteralg
417 microboone_fuzzyclusteralg.Threshold : -20.0
418 microboone_cornerfinderalg: @local::standard_cornerfinderalg
419 microboone_clusterparamsalg: @local::standard_clusterparamsalg
420 microboone_smallclustalg: @local::standard_smallclustalg
421 microboone_clustercrawleralg: @local::standard_clustercrawleralg
422 
423 microboone_trajclusteralg: @local::standard_trajclusteralg
424 microboone_trajclusteralg.MultHitSep: 3.2
425 microboone_trajclusteralg.MaxWireSkipNoSignal: 2
426 microboone_trajclusteralg.MuonTag: [40, 500, 10, 3]
427 microboone_trajclusteralg.VLAStepSize: 1
428 microboone_trajclusteralg.Vertex2DCuts: [ 6, 8, 45, 3, 3, 50, 0.6, 50, 0.8, 0.8]
429 
430 microboone_clustermatchalg: @local::standard_clustermatchalg
431 microboone_clustermergealg: @local::standard_clustermergealg
432 microboone_clustermatchtq: @local::standard_clustermatchtq
433 
434 dune35t_dbscanalg: @local::standard_dbscanalg_fast
435 dune35t_dbscanalg.eps: 2.0
436 dune35t_dbscanalg.epstwo: 2.0
437 dune35t_houghbasealg: @local::standard_houghbasealg
438 #dune35t_houghbasealg.DoHoughLineMerge: 1
439 dune35t_endpointalg: @local::standard_endpointalg
440 dune35t_fuzzyclusteralg: @local::standard_fuzzyclusteralg
441 dune35t_fuzzyclusteralg.HoughBaseAlg: @local::dune35t_houghbasealg
442 #dune35t_fuzzyclusteralg.Threshold: -50.0
443 dune35t_clustercrawleralg: @local::standard_clustercrawleralg
444 dune35t_clustermatchtq: @local::standard_clustermatchtq
445 dune35t_clustermatchtq.KSCut: 0.7
446 
447 dunefd_dbscanalg: @local::standard_dbscanalg_fast
448 dunefd_houghbasealg: @local::standard_houghbasealg
449 dunefd_endpointalg: @local::standard_endpointalg
450 dunefd_fuzzyclusteralg: @local::standard_fuzzyclusteralg
451 dunefd_fuzzyclusteralg.HoughBaseAlg: @local::dunefd_houghbasealg
452 dunefd_clustercrawleralg: @local::standard_clustercrawleralg
453 dunefd_clustermatchtq: @local::standard_clustermatchtq
454 dunefd_clustermatchtq.KSCut: 0.7
455 
456 
457 END_PROLOG