Classes | Namespaces
SpacePointAlg.h File Reference

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.
 

Detailed Description

Algorithm for generating space points from hits.

Author
H. Greenlee

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.

Bug:
This algorithm makes specific assumptions about geometry and views, and it is not portable.

Definition in file SpacePointAlg.h.