trackfinderalgorithms.fcl
Go to the documentation of this file.
1 #include "dataprovider.fcl"
2 
3 BEGIN_PROLOG
4 
5 standard_spacepointalg:
6 {
7  MaxDT: 2.0
8  MaxS: 0.3
9  MinViews: 2
10  EnableU: true
11  EnableV: true
12  EnableW: false
13  Filter: true
14  Merge: false
15  PreferColl: false
16 }
17 
18 standard_seedfinderalgorithm:
19 {
20  SpacePointAlg: @local::standard_spacepointalg
21  InitSeedLength: 2
22  MinPointsInSeed: 4
23  Refits: 5
24  HitResolution: 1
25  OccupancyCut: 0.8
26  MaxViewRMS: [2,2,2]
27  ExtendSeeds: true
28  LengthCut: 0
29 }
30 standard_seedfinderalgorithm.SpacePointAlg.Filter: false
31 
32 standard_projectionmatchingalg:
33 {
34  OptimizationEps: 0.01 # relative change of the obj.fn which stops optimization after adding a node
35  FineTuningEps: 0.0001 # relative change of the obj.fn which stops fine-tuning of optimized track
36  TrkValidationDist2D: 1.0 # max. distance [cm] used in the track validation in the "third" plane
37  HitTestingDist2D: 0.5 # max. distance [cm] used in testing compatibility of hits with the track
38  MinTwoViewFraction: 0.4 # min. fraction of track length covered with hits from many 2D views intertwinted with each other
39  NodeMargin3D: 3.0 # margin in [cm] around TPC for allowed track node positions
40  HitWeightZ: 1.0 # weights used for hits in U, V, Z planes:
41  HitWeightV: 1.0 # - use lower values for planes where hit position is less reliable (e.g. due to S/N)
42  HitWeightU: 1.0 # - relative ratios matter, sum does not need to be 1.0
43 }
44 
45 standard_pmalgtracker:
46 {
47  MinSeedSize1stPass: 20 # min. cluster size used to start building a track in the 1st pass
48  MinSeedSize2ndPass: 4 # ..and in the 2nd pass: differentiate to speed up finding long tracks
49  # w/o checking large number of possibilities, then use as small size
50  # as reasonnable for used clustering algorithm to complete the search
51  # in the second pass
52  TrackLikeThreshold: 0.0 # CNN output threshold for track-like recognition; ClusterModuleLabel
53  # needs to be associated to CNN outputs in case of threshold > 0; will
54  # exclude obvious EM from tracking and tag clean electron tracks as PDG=11
55  #
56  RunVertexing: false # find vertices, join with tracks, reoptimize track-vertex structure
57  #
58  FlipToBeam: false # set the track direction to increasing Z values
59  FlipDownward: false # set the track direction to decreasing Y values (like cosmic rays)
60  FlipToX: false # set the track direction to decreasing X values (like cosmic rays in dual phase)
61  AutoFlip_dQdx: false # set the track direction to increasing dQ/dx (overrides FlipToBeam,
62  # FlipDownward and FlipToX if significant rise of dQ/dx at the track end)
63  #
64  MergeWithinTPC: false # merge witnin single TPC; finds tracks best matching by angle, with limits:
65  MergeTransverseShift: 2.0 # - max. transverse displacement [cm] between tracks
66  MergeAngle: 2.0 # - max. angle [degree] between tracks (nearest segments)
67  #
68  StitchBetweenTPCs: true # stitch between TPCs; finds tracks best matching by angle, with limits:
69  StitchDistToWall: 3.0 # - max. track endpoint distance [cm] to TPC boundary
70  StitchTransverseShift: 3.0 # - max. transverse displacement [cm] between tracks
71  StitchAngle: 10.0 # - max. angle [degree] between tracks (nearest segments)
72  #
73  MatchT0inAPACrossing: false # match T0 of APA-crossing tracks using PMAlgStitcher
74  MatchT0inCPACrossing: false # match T0 of CPA-crossing tracks using PMAlgStitcher
75 
76  Validation: "hits" # "hits": uses hits to validate track
77  # "adc": uses adc image to validate tracks
78  # "calib": uses hits to validate tracks and produce histograms to find adc thresholds
79  # which should be used in "adc" mode
80  AdcValidationThr: [1.0, 1.0, 1.0] # threshold for not-empty pixel in the ADC image used for the track validation, per plane
81  AdcImageAlg: @local::standard_dataprovideralg
82 }
83 
84 standard_pmalgfitter:
85 {
86  TrackingOnlyPdg: [0] # PDG list to select which PFParticles should be reconstructed;
87  # all PFP's are used if the list is empty or starts with 0
88  TrackingSkipPdg: [0] # PDG list to select which PFParticles should NOT be reconstructed,
89  # e.g. skip EM showers; no skipping if the list is empty or starts with 0
90  #
91  RunVertexing: false # find vertices, join with tracks, reoptimize track-vertex structure
92 }
93 
94 standard_beziertrackeralgorithm:
95 {
96  OverlapCut: 0.2
97  DirectJoinDistance: 10.0
98  TrackJoinAngle: 0.5
99  VertexImpactThreshold: 2.0
100  VertexExtrapDistance: 5.0
101  OccupancyThresh: 0.8
102  TrackResolution: 2.0
103  SeedFinder: @local::standard_seedfinderalgorithm
104 
105 }
106 standard_beziertrackeralgorithm.SeedFinder.LengthCut: 2
107 
108 standard_trackstitcheralg:
109 {
110  CosAngTolerance: 0.98
111  SpptSepTolerance: 30.0 # cm
112  CommonComponentStitch: true
113 }
114 
115 standard_kalmanfilteralg:
116 {
117  Trace: false
118  MaxPErr: 0.25 # Maximum pointing error for free propagation.
119  GoodPErr: 0.1 # Pointing error threshold for switching from linearized to free propataion.
120  MaxIncChisq: 10. # Incremental chisquare cut.
121  MaxSeedIncChisq: 1000. # Incremental chisquare cut in seed phase.
122  MaxSmoothIncChisq: 100. # Incremental chisquare cut in smooth phase.
123  MaxEndChisq: 10. # Maximum incremental chisquare for endpoint hit.
124  MinLHits: 20 # Minimum number of measurements for linearized propagation.
125  MaxLDist: 10. # Maximum distance to use linearized propagation using starting guess.
126  MaxPredDist: 5. # Maximum prediction distance to accept a hit.
127  MaxSeedPredDist: 50. # Maximum prediction distance to accept a hit in seed phase.
128  MaxPropDist: 50. # Maximum propagation distance to candidate surface.
129  MinSortDist: 0. # Low threshold to resort hits.
130  MaxSortDist: 2. # High threshold to resort hits.
131  MaxSamePlane: 3 # Maximum consecutive hits in same plane.
132  GapDist: 3. # Minimum gap distance.
133  MaxNoiseHits: 3 # Maximum number of hits in noise cluster.
134  MinSampleDist: 20. # Minimum sample distance (for momentum measurement).
135  FitMomRange: true # Fit momentum using range.
136  FitMomMS: false # Fit momentum using multiple scattering.
137 
138  # Graphical trace options.
139  # For any kine of graphical tracing to work, you need to configure
140  # the event display service to initialize the graphics system.
141 
142  GTrace: false # Graphical trace flag.
143  GTraceWW: 1200 # Window width (pixels).
144  GTraceWH: 800 # Window height (pixels).
145  GTraceXMin: -256. # Graphical trace minimum x (same for each view).
146  GTraceXMax: 512. # Graphical trace maximum x (same for each view).
147  GTraceZMin: [ 0., 0., 0.] # Graphical trace minimum z for each view.
148  GTraceZMax: [ 1040., 1040., 1040.] # Graphical trace maximum z for each view
149 }
150 
151 standard_track3Dkalmanhitalg:
152 {
153  MaxTcut: 10. # Maximum delta ray energy in MeV for restricted dE/dx
154  DoDedx: false # dE/dx enable flag.
155  SelfSeed: false # Generate seeds internally.
156  LineSurface: false # Store hits on line surfaces.
157  MinSeedHits: 12 # Minimum number of hits per track seed.
158  MinSeedChopHits: 50 # Potentially chop seeds that exceed this length.
159  MaxChopHits: 20 # Maximum number of hits to chop from each end of seed.
160  MaxSeedChiDF: 20. # Maximum seed track chisquare/dof.
161  MinSeedSlope: 0.0 # Minimum seed slope (dx/dz).
162  InitialMomentum: 0.5 # Initial momentum (GeV/c).
163  KalmanFilterAlg: @local::standard_kalmanfilteralg
164  SeedFinderAlg: @local::standard_seedfinderalgorithm
165 }
166 
167 standard_cosmictrackeralg:
168 {
169  SPTAlg: 0
170  TrajOnly: false
171  TMatch: 2.5
172  SMatch: 1
173 }
174 
175 argoneut_spacepointalg: @local::standard_spacepointalg
176 argoneut_kalmanfilteralg: @local::standard_kalmanfilteralg
177 argoneut_cosmictrackeralg: @local::standard_cosmictrackeralg
178 argoneut_cosmictrackeralg.SPTAlg: 1
179 argoneut_cosmictrackeralg.TrajOnly: true
180 
181 bo_spacepointalg: @local::standard_spacepointalg
182 bo_spacepointalg.MinViews: 2
183 bo_spacepointalg.EnableW: true
184 bo_kalmanfilteralg: @local::standard_kalmanfilteralg
185 bo_seedfinderalgorithm: @local::standard_seedfinderalgorithm
186 bo_seedfinderalgorithm.SpacePointAlg : @local::bo_spacepointalg
187 bo_seedfinderalgorithm.SpacePointAlg.PreferColl: true
188 bo_seedfinderalgorithm.SpacePointAlg.Filter: false
189 bo_beziertrackeralgorithm: @local::standard_beziertrackeralgorithm
190 bo_beziertrackeralgorithm.SeedFinder: @local::bo_seedfinderalgorithm
191 
192 microboone_spacepointalg: @local::standard_spacepointalg
193 microboone_spacepointalg.MinViews: 3
194 microboone_spacepointalg.EnableW: true
195 microboone_kalmanfilteralg: @local::standard_kalmanfilteralg
196 microboone_seedfinderalgorithm: @local::standard_seedfinderalgorithm
197 microboone_seedfinderalgorithm.SpacePointAlg : {
198  @table::microboone_spacepointalg
199  PreferColl: true
200  Filter: false
201 }
202 microboone_track3Dkalmanhitalg: {
203  @table::standard_track3Dkalmanhitalg
204  KalmanFilterAlg: @local::microboone_kalmanfilteralg
205  SeedFinderAlg: @local::microboone_seedfinderalgorithm
206 }
207 microboone_beziertrackeralgorithm: @local::standard_beziertrackeralgorithm
208 microboone_beziertrackeralgorithm.SeedFinder: @local::microboone_seedfinderalgorithm
209 microboone_trackstitcheralg: @local::standard_trackstitcheralg
210 
211 dune10kt_spacepointalg: @local::standard_spacepointalg
212 dune10kt_spacepointalg.MinViews: 3
213 dune10kt_spacepointalg.EnableW: true
214 dune10kt_kalmanfilteralg: @local::standard_kalmanfilteralg
215 dune34kt_spacepointalg: @local::dune10kt_spacepointalg
216 dune34kt_kalmanfilteralg: @local::dune10kt_kalmanfilteralg
217 dune35t_spacepointalg: @local::standard_spacepointalg
218 dune35t_spacepointalg.MinViews: 3
219 dune35t_spacepointalg.EnableW: true
220 dune35t_kalmanfilteralg: @local::standard_kalmanfilteralg
221 dune35t_seedfinderalgorithm: @local::standard_seedfinderalgorithm
222 dune35t_seedfinderalgorithm.SpacePointAlg : @local::dune35t_spacepointalg
223 dune35t_seedfinderalgorithm.SpacePointAlg.PreferColl: true
224 dune35t_seedfinderalgorithm.SpacePointAlg.Filter: false
225 
226 
227 END_PROLOG