1 #include "trackfinderalgorithms.fcl"
2 #include "clusteralgorithms.fcl"
3 #include "pmacosmictagalg.fcl"
4 #include "pmavertexalg.fcl"
5 #include "pmastitchalg.fcl"
9 # only save standard configuration, save experiment-specific configuration in experiment-specific fcl file
11 standard_cctrackmaker:
13 module_type: "CCTrackMaker"
14 HitModuleLabel: "cccluster"
15 ClusterModuleLabel: "cccluster"
16 VertexModuleLabel: "cccluster"
17 MaxDAng: 0.6 # kink angle cut (radians)
18 ChainMaxdX: 1.0 # max dX for merging broken clusters
19 ChainVtxAng: 0.1 # kill 2-cluster US-DS vertices if angle diff < this cut
20 MergeChgAsym: 0.7 # charge asymmetry cut for merging clusters
21 # Order of algorithm calls (1 = vtx, 2 = pln)
22 # First find track matches using clusters associated with 3D vertices (neutrino interactions)
23 # Make tracks from the matches
24 # Next find long track matches (cosmic rays)
25 # Make tracks from the matches
26 # Last find track matches with looser cuts (garbage collection)
27 # Make tracks from the matches
29 XMatchErr: [0.2, 0.2, 2] # end X match uncertainty for alg
30 AngleMatchErr: [0.02, 0.02, 0.03] # end angle match uncertainty for alg
31 ChgAsymFactor: [1, 1, 1] # scale rms by charge asymmetry * this factor for alg
32 MatchMinLen: [2, 20, 5] # cluster match minimum length in 2/3 planes for alg
33 MakeAlgTracks: [true, true, true] # Sort track matches from alg and make tracks?
34 MakePFPs: true # make PFParticles
35 NVtxTrkHitsFit: 4 # number of hits/plane fitted to a vertex, 0 = no vertex fit
36 FiducialCut: 5 # cut (cm) for tagging cosmic rays
37 DeltaRayCut: 5 # cut (cm) for tagging delta-rays
38 HitFitErrFac: 0.1 # Factor applied to SigmaPeakTime for vertex fit
39 uBCode: true # uB code patches
40 DebugAlg: -1 # 1 = vtx, 2 = pln, 666 = MakeClusterChains
41 DebugPlane: -1 # -1 = none
43 PrintAllClusters: false # print clusters as well as cluster chains
44 errorOnFailureToPut: false
47 # Does the full PMA job.
48 # Input: collection of unassociated clusters in 2D views.
49 # Output: 3D track-vertex structure.
50 # First, loops over clusters from each view in order to find/fit individual 3D tracks:
51 # - cluster pairs are processed from the largest, best matching by time, down to small
52 # clusters, new tracks are created and iteratively extended;
53 # - cluster are selected from any pair of views, and the 3rd view is used to validate
54 # the result (if available); all 3 views are used to fine-tune good track candidates;
55 # - track parts are stitched between TPCs;
56 # - vertex candidates are estimated from tracks, tracks connected in vtx are reoptimized
57 # - track-vertex structures are extended and finally PFParticle hierarchy is created,
58 # with tracks and vertices associated to PFPs.
59 standard_pmalgtrackmaker:
61 module_type: "PMAlgTrackMaker"
62 ProjectionMatchingAlg: @local::standard_projectionmatchingalg
63 PMAlgTracking: @local::standard_pmalgtracker
64 PMAlgCosmicTagging: @local::standard_pmalgtagger
65 PMAlgVertexing: @local::standard_pmavertexalg
66 PMAlgStitching: @local::standard_pmastitchalg
68 SaveOnlyBranchingVtx: false # use true to save only vertices interconnecting many tracks, otherwise
69 # vertex is added to the front of each track
70 SavePmaNodes: false # save track nodes (only for algorithm development purposes)
72 HitModuleLabel: "hits" # unclustered hits are used for tracks validation
73 WireModuleLabel: "caldata" # deconvoluted adc is also used for tracks validation
75 ClusterModuleLabel: "cluster" # cluster module label, these clusters are used for track building
76 EmClusterModuleLabel: "" # EM-like clusters, will be excluded from tracking if provided
79 # Trajectory fit using PMA.
80 # Input: clusters associated to PFParticles.
81 # Output: 3D trajectories associated to PFParticles.
82 # Simply use all clusters associated to each PFParticle and fit 3D trajectories (no pattern recognition at all,
83 # no corrections to input objects, etc). Resulting trajectories are associated to existing PFPs.
84 standard_pmalgtrajfitter:
86 module_type: "PMAlgTrajFitter"
87 ProjectionMatchingAlg: @local::standard_projectionmatchingalg
88 PMAlgFitting: @local::standard_pmalgfitter
89 PMAlgVertexing: @local::standard_pmavertexalg
91 SaveOnlyBranchingVtx: false # use true to save only vertices interconnecting many tracks, otherwise
92 # vertex is added to the front of each track
93 SavePmaNodes: false # save track nodes (only for algorithm development purposes)
95 HitModuleLabel: "hits" # tag of unclustered hits, which were used to produce PFPs and clusters
96 PfpModuleLabel: "pandora" # tag of the input PFParticles and associated clusters
99 standard_featuretracker:
101 module_type: "FeatureTracker"
102 HitModuleLabel: "ffthit"
103 LineIntFraction: 0.90
105 CornerPset: @local::standard_cornerfinderalg
106 SpacepointPset: @local::microboone_spacepointalg
109 standard_featuretracker.SpacepointPset.MinViews: 2
112 standard_seedfindermodule:
114 module_type: "SeedFinderModule"
115 InputSource: 1 # 1: use clusters
117 InputModuleLabel: "dbcluster"
118 SeedAlg: @local::standard_seedfinderalgorithm
121 standard_beziertrackermodule:
123 module_type: "BezierTrackerModule"
124 SeedModuleLabel: "seedfinder"
125 HitModuleLabel: "ffthit"
126 ClusterModuleLabel: "dbcluster"
130 BezierTrackerAlgorithm: @local::standard_beziertrackeralgorithm
133 standard_trackcheater:
135 module_type: "TrackCheater"
136 CheatedClusterLabel: "cluster"
137 G4ModuleLabel: "largeant"
140 standard_trackkalmancheater:
142 module_type: "TrackKalmanCheater"
145 HitModuleLabel: "ffthit"
146 ClusterModuleLabel: "dbcluster"
147 MaxTcut: 10. # Maximum delta ray energy in MeV for restricted dE/dx
148 KalmanFilterAlg: @local::standard_kalmanfilteralg
149 SpacePointAlg: @local::standard_spacepointalg
152 standard_track3Dreco:
154 module_type: "Track3Dreco"
155 ClusterModuleLabel: "linemerger"
160 standard_cosmictracker:
162 module_type: "CosmicTracker"
163 ClusterModuleLabel: "linemerger"
169 ClusterMatch: @local::standard_clustermatchtq
170 CTAlg: @local::standard_cosmictrackeralg
173 standard_track3Dkalman:
175 module_type: "Track3DKalman"
176 SpacePtsModuleLabel: "spacepts"
177 GenieGenModuleLabel: "generator" # comment out for real data.
178 G4ModuleLabel: "largeant"
179 PosErr3: [0.02,0.02,0.02] # position resolution, cm.
180 MomErr3: [0.10,0.10,0.2] # momentum resolution, GeV/c.
181 MomStart3: [0.10,0.10,1.5] # GeV/c. Will *not* be Unit norm'd.
186 standard_track3DkalmanSPS:
188 module_type: "Track3DKalmanSPS"
189 ClusterModuleLabel: "dbscan"
190 SpptModuleLabel: "spacepointfinder"
191 GenieGenModuleLabel: "generator" # comment out for real data.
192 G4ModuleLabel: "largeant"
193 PosErr3: [0.05,0.1,0.1] # position resolution, cm.
194 MomErr3: [0.5,0.5,1.8] # momentum resolution, GeV/c.
195 MomStart3: [0.10,0.10,1.5] # GeV/c. Will *not* be Unit norm'd.
202 DecimateU: 1 # on first pass. after that its increased.
205 Chi2HitThresh: 1000000.0
207 SpacePointAlg: @local::standard_spacepointalg
212 module_type: "PFPAna"
213 HitsModuleLabel: "linecluster"
214 ClusterModuleLabel: "linecluster"
215 TrackModuleLabel: "cctrackmaker"
216 PFParticleModuleLabel: "cctrackmaker"
217 VertexModuleLabel: "cctrackmaker"
218 ElecKERange: [50, 10000] # Min, max KE (MeV) for matching Primary only
219 MuonKERange: [50, 10000] # Min, max KE (MeV) for matching
220 PionKERange: [50, 10000] # Min, max KE (MeV) for matching
221 KaonKERange: [50, 10000] # Min, max KE (MeV) for matching
222 ProtKERange: [50, 10000] # Min, max KE (MeV) for matching
223 TrackWeightOption: 1 # 0 = equal weighting, 1 = weight by kinetic energy
224 MergeDaughters: true # merge daughter MC particles with mothers (not electrons)
225 SkipCosmics: true # do not evaluate cosmic rays
226 PrintLevel: 0 # 0 = none, 1 = event summary, 2 += each MC particle, 3 += truth
232 module_type: "TrackAna"
233 TrackModuleLabel: "trackkalmanhit"
234 MCTrackModuleLabel: "mcreco"
235 SpacepointModuleLabel: "spacepointfinder"
236 StitchModuleLabel: "stitch"
237 TrkSpptAssocModuleLabel: "trackkalmanhit"
238 HitSpptAssocModuleLabel: "gaushit"
239 HitModuleLabel: "gaushit"
243 MatchColinearity: 0.98
248 StitchedAnalysis: false
256 module_type: "SeedAna"
257 SeedModuleLabel: "seedfinder"
258 MCTrackModuleLabel: "mcreco"
262 MatchColinearity: 0.97
269 module_type: "SpacePts"
271 ClusterModuleLabel: "linemerger"
272 EndPoint2DModuleLabel: "vertex2d"
274 vertexclusterWindow: 100.
277 standard_spacepointana:
279 module_type: "SpacePointAna"
280 HitModuleLabel: "ffthit"
282 ClusterModuleLabel: "dbcluster"
284 SpacePointAlgTime: @local::standard_spacepointalg
285 SpacePointAlgSep: @local::standard_spacepointalg
286 SpacePointAlgDefault: @local::standard_spacepointalg
289 standard_spacepointfinder:
291 module_type: "SpacePointFinder"
292 ClusterModuleLabel: "dbcluster"
295 SpacePointAlg: @local::standard_spacepointalg
298 standard_spacepointcheater:
300 module_type: "SpacePointCheater"
301 ClusterModuleLabel: "dbcluster"
304 SpacePointAlg: @local::standard_spacepointalg
307 development_beziertrackjoiner:
309 module_type: "BezierTrackJoiner"
310 TrackModuleLabel: "beziertracker"
317 development_beziertrackana:
319 module_type: "BezierTrackAna"
320 BezierTrackModuleLabel: "beziertracker"
323 standard_track3Dkalmanhit:
325 module_type: "Track3DKalmanHit"
328 UsePFParticleHits: false
329 UsePFParticleSeeds: false
330 HitModuleLabel: "ffthit"
331 ClusterModuleLabel: "dbcluster"
332 PFParticleModuleLabel: "pandora"
333 #MaxTcut: 10. # Maximum delta ray energy in MeV for restricted dE/dx
334 #DoDedx: false # dE/dx enable flag.
335 #SelfSeed: false # Generate seeds internally.
336 #LineSurface: false # Store hits on line surfaces.
337 #MinSeedHits: 12 # Minimum number of hits per track seed.
338 #MinSeedChopHits: 50 # Potentially chop seeds that exceed this length.
339 #MaxChopHits: 20 # Maximum number of hits to chop from each end of seed.
340 #MaxSeedChiDF: 20. # Maximum seed track chisquare/dof.
341 #MinSeedSlope: 0.0 # Minimum seed slope (dx/dz).
342 #InitialMomentum: 0.5 # Initial momentum (GeV/c).
343 #KalmanFilterAlg: @local::standard_kalmanfilteralg
344 #SeedFinderAlg: @local::standard_seedfinderalgorithm
345 Track3DKalmanHitAlg: @local::standard_track3Dkalmanhitalg
346 SpacePointAlg: @local::standard_spacepointalg
349 standard_trackstitcher:
351 module_type: "TrackStitcher"
352 TrackModuleLabel: "trk3dsps"
353 SpptModuleLabel: "spacepts"
354 StitchAlg: @local::standard_trackstitcheralg
357 standard_magdriftana:
359 module_type: "MagDriftAna"
360 HitsModuleLabel: "ffthit"
361 LArGeantModuleLabel: "largeant"
364 standard_neutrinotrackingeff:
366 module_type: "NeutrinoTrackingEff"
367 MCTruthModuleLabel: "generator"
368 TrackModuleLabel: "pandora"
380 standard_muontrackingeff:
382 module_type: "MuonTrackingEff"
383 MCTruthModuleLabel: "generator"
384 TrackModuleLabel: "pmtrack"