Algorithm for generating space points from hits. More...
#include <map>
#include <vector>
#include "canvas/Persistency/Common/PtrVector.h"
#include "fhiclcpp/fwd.h"
Go to the source code of this file.
Classes | |
class | trkf::SpacePointAlg |
struct | trkf::SpacePointAlg::HitMCInfo |
Namespaces | |
detinfo | |
General LArSoft Utilities. | |
trkf | |
recob | |
Reconstruction base classes. | |
Algorithm for generating space points from hits.
This class calculates space points (recob::SpacePoint) from an unsorted collection of hits (recob::Hit). The resulting space points will contain one hit from from two or three views.
FCL parameters:
MaxDT - The maximum time difference (ticks) between any pair of hits. MaxS - The maximum 3-view wire separation parameter S (cm). MinViews - Minimum number of views to make a space point (2 or 3). EnableU - Use U view hits. EnableV - Use V view hits. EnableW - Use W view hits. Filter - Filter space points flag. Merge - Merge space points flag. PreferColl - Collection view will be used for filtering and merging, and space points will be sorted by collection wire.
The parameters fMaxDT and fMaxS are used to implement a notion of whether the input hits are compatible with being a space point. Parameter MaxS is a cut on the 3-plane wire separation parameter S, which is defined as follows:
S = sin(theta_vw)*u + sin(theta_wu)*v + sin(theta_uv)*w
where wire coordinates (u,v,w) are measured in cm with respect to a common origin.
The time offsets are subtracted from times embedded in hits before comparing times in different planes, and before converting time to distance.
If enabled, filtering eliminates multiple space points with similar times on the same wire of the most popluated plane.
If enabled, merging combines multiple space points with similar times on the same wire of the most populated plane (potentially producing space points with more hits than the number of planes).
There should eventually be a better way to specify time offsets.
Definition in file SpacePointAlg.h.