- Table of contents
- Space Points.
This article describes various aspects of space points, what they are, how they are created, how they used.
recob::SpacePointin svn package RecoBase represents a space point objects. Data members of
recob::SpacePointare as follows.
- Unique ID.
- Position (x, y, z) in the global coordinate system.
- Position error matrix.
SpacePoint objects are persistable, meaning they can be stored in events.
SpacePoints and Hits.¶
Recall that Hits (class
recob::Hit) represent a pulse on a particular wire at a particular time: (t, w). The time determines the x-coordinate in the global coordinate system. The wire number determines some linear combination of y and z coordinates. Hits from different views can be combined into space points with all three spatial coordinates (x, y, z) determined.
SpacePoints are created from Hits (either directly or as a side effect of track reconstruction) as part of the reconstruction chain. SpacePoints that have been constructed from Hits are connected with their parent Hits using art associations (see Use_Associations).
SpacePointAlg (svn package RecoAlg. The SpacePoint tracking module is in svn package TrackFinder.) is an algorithm type class, which means that it is neither an art service nor an art module, but it is nevertheless constructed from an art parameter set. As such, algorithms can easily be data members of modules. Standard configurations for
SpacePointAlg are stored in fcl file TrackFinder/trackfinderalgorithms.fcl.
- Determine whether a collection of Hits is compatible with being made into a SpacePoint, based on time differences and spatial separation (method
- Make a single SpacePoint from specified collection of Hits (method
- Make a collection of SpacePoints from all compatible combinations of Hits from a collection of Hits (method
- Make a collection of SpacePoints from a collection of Hits using MC truth (method
Ghost SpacePoints and filtering.¶
If SpacePoints are reconstructed ab initio from a collection of Hits without being guided by some other kind of pattern recognition (e.g. track reconstruction), then it is likely that many false combinations of Hits will be found to be compatible, and many fake (ghost) space points will be made. To mitigate the ghost SpacePoint problem,
SpacePointAlg supports the concept of filtering, which is enabled by config parameter
Filter (true by default). If filtering is enabled, method
makeSpacePoints will select the best SpacePoint (based on chisquare) from among all candidate SpacePoints with Hits on any single wire in the preferred view. The preferred view is the view with the most Hits, or the collection view if config parameter
PreferColl is true.
SpacePointAlg has another method for dealing with ghost space points called merging, which is enabled by config parameter
Merge (false by default). Rather than selecting the best SpacePoint, the merge algorithm attempts to combine candidate SpacePoints into a single SpacePoint with multiple Hits from the same view (a complex SpacePoint). Currently, merging should be regarded as experimental, and should not be used in any kind of standard reconstruction.
Time-to-distance calculation.¶SpacePoint reconstruction involves a time-to-distance calculation to obtain the x coordinate of the SpacePoint. The entire calculation is contained in service
DetectorPropertiesin package Utilities via the following methods.
DetectorProperties service also includes tunable time offset parameters for each view.
SpacePointFinder(svn package TrackFinder) is a producer module that makes all possible SpacePoints based on all clustered Hits in an event.
SpacePointAlgas a data member.
SpacePointModuleinserts the following data products into the event.
- A collection of SpacePoints (
- SpacePoint-Hit associations.
- SpacePoint-Cluster associations (if config parameter
- A collection of pointers to SpacePoints (
vector<PtrVector<SpacePoint> >)that preserves the cluster structure of the constituent hits. That is, each
PtrVector<SpacePoint>points to space points that were constructed from the same Cluster in each view.
SpacePointCheater (svn package TrackFinder) has the identical functionality as
SpacePointFinder, and makes the same data products, except SpacePoints are made using MC truth.
SpacePointAna (svn package TrackFinder) is an analyzer module that fills histograms using SpacePoints in an event. Among other things, the generated histograms enable to test and/or tune time offsets in the time-to-distance calculation.