LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "BezierTrackerAlgorithm.h"
Public Member Functions | |
BezierTrackerAlgorithm (fhicl::ParameterSet const &pset) | |
virtual | ~BezierTrackerAlgorithm () |
void | FilterOverlapTracks (std::vector< trkf::BezierTrack > &BTracks, std::vector< art::PtrVector< recob::Hit > > &HitVecs, std::vector< std::vector< std::pair< int, int > > > &ClustersUsed) |
void | MakeDirectJoins (std::vector< trkf::BezierTrack > &BTracks, std::vector< art::PtrVector< recob::Hit > > &HitVecs, std::vector< std::vector< std::pair< int, int > > > &ClustersUsed) |
void | AddPtrVectors (art::PtrVector< recob::Hit > &Receiever, art::PtrVector< recob::Hit > const &ToAdd) |
trkf::SeedFinderAlgorithm * | GetSeedFinderAlgorithm () |
void | MakeVertexJoins (std::vector< trkf::BezierTrack > &BTracks, std::vector< recob::Vertex > &Vertices, std::vector< std::vector< int > > &Mapping) |
void | MakeOverlapJoins (std::vector< trkf::BezierTrack > &BTracks, std::vector< art::PtrVector< recob::Hit > > &HitVecs, std::vector< std::vector< std::pair< int, int > > > &ClustersUsed) |
std::vector< trkf::BezierTrack > | MakeTracks (std::vector< std::vector< art::PtrVector< recob::Hit > > > &SortedHits, std::vector< art::PtrVector< recob::Hit > > &HitAssocs, std::vector< std::vector< std::pair< int, int > > > &ClustersUsed) |
void | GetTracksForCombo (std::vector< recob::Seed > &Seeds, art::PtrVector< recob::Hit > &UHits, art::PtrVector< recob::Hit > &VHits, art::PtrVector< recob::Hit > &WHits) |
std::vector< std::vector< recob::Seed > > | OrganizeSeedsIntoTracks (std::vector< recob::Seed > &AllSeeds, std::vector< art::PtrVector< recob::Hit > * > &AllHits, std::vector< art::PtrVector< recob::Hit > > &WhichHitsPerSeed, std::vector< std::vector< std::vector< int > > * > &OrgHits, std::vector< std::vector< std::vector< int > > > &WhichHitsPerTrack) |
void | GetSeedDirProjected (recob::Seed const &TheSeed, std::vector< double > &WireCoord, std::vector< double > &TimeCoord) |
bool | EvaluateOccupancy (recob::Seed &Seed1, recob::Seed &Seed2, double dThresh, std::vector< art::PtrVector< recob::Hit > * > &AllHits, std::vector< std::vector< std::vector< int > > * > &OrgHits, std::vector< uint32_t > &LowChan, std::vector< uint32_t > &HighChan, std::vector< std::vector< int > > &HitStatus, std::vector< std::vector< int > > &TheseHits) |
void | SortTracksByLength (std::vector< trkf::BezierTrack > &BTracks, std::vector< art::PtrVector< recob::Hit > > &HitVecs, std::vector< std::vector< std::pair< int, int > > > &ClustersUsed) |
void | CalculateGeometricalElements () |
trkf::BezierTrack | JoinTracks (trkf::BezierTrack &BT1, trkf::BezierTrack &BT2) |
void | reconfigure (fhicl::ParameterSet const &pset) |
Private Member Functions | |
void | GetImpact (TVector3 t1pt, TVector3 t1dir, TVector3 t2pt, TVector3 t2dir, double &ImpactParam, double &Dist1, double &Dist2) |
Private Attributes | |
double | fOverlapCut |
double | fDirectJoinDistance |
double | fTrackJoinAngle |
double | fOccupancyThresh |
double | fTrackResolution |
double | fVertexImpactThreshold |
double | fVertexExtrapDistance |
std::vector< double > | fPitches |
std::vector< double > | fPlaneTimeOffsets |
std::vector< TVector3 > | fPitchDir |
std::vector< TVector3 > | fWireDir |
std::vector< double > | fWireZeroOffset |
TVector3 | fXDir |
TVector3 | fYDir |
TVector3 | fZDir |
SeedFinderAlgorithm * | fTheSeedFinder |
Definition at line 34 of file BezierTrackerAlgorithm.h.
|
explicit |
Definition at line 33 of file BezierTrackerAlgorithm.cxx.
References reconfigure().
|
virtual |
Definition at line 41 of file BezierTrackerAlgorithm.cxx.
void trkf::BezierTrackerAlgorithm::AddPtrVectors | ( | art::PtrVector< recob::Hit > & | Receiever, |
art::PtrVector< recob::Hit > const & | ToAdd | ||
) |
Definition at line 533 of file BezierTrackerAlgorithm.cxx.
References art::PtrVector< T >::at(), art::PtrVector< T >::push_back(), and art::PtrVector< T >::size().
Referenced by MakeDirectJoins(), and MakeOverlapJoins().
void trkf::BezierTrackerAlgorithm::CalculateGeometricalElements | ( | ) |
Definition at line 1050 of file BezierTrackerAlgorithm.cxx.
References fPitchDir, fPitches, fPlaneTimeOffsets, fWireDir, fWireZeroOffset, fXDir, fYDir, fZDir, detinfo::DetectorProperties::GetXTicksOffset(), geo::kU, geo::kV, geo::kW, n, geo::GeometryCore::WireEndPoints(), and geo::GeometryCore::WirePitch().
Referenced by reconfigure().
bool trkf::BezierTrackerAlgorithm::EvaluateOccupancy | ( | recob::Seed & | Seed1, |
recob::Seed & | Seed2, | ||
double | dThresh, | ||
std::vector< art::PtrVector< recob::Hit > * > & | AllHits, | ||
std::vector< std::vector< std::vector< int > > * > & | OrgHits, | ||
std::vector< uint32_t > & | LowChan, | ||
std::vector< uint32_t > & | HighChan, | ||
std::vector< std::vector< int > > & | HitStatus, | ||
std::vector< std::vector< int > > & | TheseHits | ||
) |
Definition at line 969 of file BezierTrackerAlgorithm.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), d, fOccupancyThresh, fPitchDir, fPitches, fWireDir, fWireZeroOffset, fXDir, trkf::BezierCurveHelper::GetBezierPoints(), recob::Seed::GetDistance(), n, recob::Hit::PeakTime(), geo::WireID::Wire, and recob::Hit::WireID().
Referenced by OrganizeSeedsIntoTracks().
void trkf::BezierTrackerAlgorithm::FilterOverlapTracks | ( | std::vector< trkf::BezierTrack > & | BTracks, |
std::vector< art::PtrVector< recob::Hit > > & | HitVecs, | ||
std::vector< std::vector< std::pair< int, int > > > & | ClustersUsed | ||
) |
Definition at line 276 of file BezierTrackerAlgorithm.cxx.
References fTrackResolution, t1, and t2.
|
private |
Definition at line 1332 of file BezierTrackerAlgorithm.cxx.
Referenced by MakeVertexJoins().
void trkf::BezierTrackerAlgorithm::GetSeedDirProjected | ( | recob::Seed const & | TheSeed, |
std::vector< double > & | WireCoord, | ||
std::vector< double > & | TimeCoord | ||
) |
Definition at line 1022 of file BezierTrackerAlgorithm.cxx.
References detinfo::DetectorProperties::ConvertXToTicks(), dir, fPitchDir, fPitches, fXDir, recob::Seed::GetDirection(), and n.
Referenced by OrganizeSeedsIntoTracks().
|
inline |
Definition at line 53 of file BezierTrackerAlgorithm.h.
References lar::dump::vector().
Referenced by MakeTracks().
void trkf::BezierTrackerAlgorithm::GetTracksForCombo | ( | std::vector< recob::Seed > & | Seeds, |
art::PtrVector< recob::Hit > & | UHits, | ||
art::PtrVector< recob::Hit > & | VHits, | ||
art::PtrVector< recob::Hit > & | WHits | ||
) |
trkf::BezierTrack trkf::BezierTrackerAlgorithm::JoinTracks | ( | trkf::BezierTrack & | BT1, |
trkf::BezierTrack & | BT2 | ||
) |
Definition at line 519 of file BezierTrackerAlgorithm.cxx.
References trkf::BezierTrack::GetSeedVector().
Referenced by MakeDirectJoins(), and MakeOverlapJoins().
void trkf::BezierTrackerAlgorithm::MakeDirectJoins | ( | std::vector< trkf::BezierTrack > & | BTracks, |
std::vector< art::PtrVector< recob::Hit > > & | HitVecs, | ||
std::vector< std::vector< std::pair< int, int > > > & | ClustersUsed | ||
) |
Definition at line 448 of file BezierTrackerAlgorithm.cxx.
References AddPtrVectors(), fDirectJoinDistance, fTrackJoinAngle, fTrackResolution, JoinTracks(), t1, and t2.
void trkf::BezierTrackerAlgorithm::MakeOverlapJoins | ( | std::vector< trkf::BezierTrack > & | BTracks, |
std::vector< art::PtrVector< recob::Hit > > & | HitVecs, | ||
std::vector< std::vector< std::pair< int, int > > > & | ClustersUsed | ||
) |
Definition at line 340 of file BezierTrackerAlgorithm.cxx.
References AddPtrVectors(), fTrackResolution, JoinTracks(), t1, and t2.
std::vector< trkf::BezierTrack > trkf::BezierTrackerAlgorithm::MakeTracks | ( | std::vector< std::vector< art::PtrVector< recob::Hit > > > & | SortedHits, |
std::vector< art::PtrVector< recob::Hit > > & | HitAssocs, | ||
std::vector< std::vector< std::pair< int, int > > > & | ClustersUsed | ||
) |
Definition at line 71 of file BezierTrackerAlgorithm.cxx.
References fPitches, fPlaneTimeOffsets, fWireZeroOffset, GetSeedFinderAlgorithm(), trkf::SeedFinderAlgorithm::GetSeedsFromUnSortedHits(), trkf::SeedFinderAlgorithm::GetSpacePointAlg(), geo::GeometryCore::IntersectionPoint(), geo::kU, geo::kV, geo::kW, max, trkf::SpacePointAlg::maxDT(), min, geo::GeometryCore::Nchannels(), OrganizeSeedsIntoTracks(), art::PtrVector< T >::push_back(), y, and z.
void trkf::BezierTrackerAlgorithm::MakeVertexJoins | ( | std::vector< trkf::BezierTrack > & | BTracks, |
std::vector< recob::Vertex > & | Vertices, | ||
std::vector< std::vector< int > > & | Mapping | ||
) |
Definition at line 1103 of file BezierTrackerAlgorithm.cxx.
References fVertexExtrapDistance, fVertexImpactThreshold, GetImpact(), n, and pt.
std::vector< std::vector< recob::Seed > > trkf::BezierTrackerAlgorithm::OrganizeSeedsIntoTracks | ( | std::vector< recob::Seed > & | AllSeeds, |
std::vector< art::PtrVector< recob::Hit > * > & | AllHits, | ||
std::vector< art::PtrVector< recob::Hit > > & | WhichHitsPerSeed, | ||
std::vector< std::vector< std::vector< int > > * > & | OrgHits, | ||
std::vector< std::vector< std::vector< int > > > & | WhichHitsPerTrack | ||
) |
Definition at line 545 of file BezierTrackerAlgorithm.cxx.
References EvaluateOccupancy(), fOverlapCut, fTrackJoinAngle, fTrackResolution, fZDir, GetSeedDirProjected(), geo::kU, geo::kV, geo::kW, max, min, n, and lar::dump::vector().
Referenced by MakeTracks().
void trkf::BezierTrackerAlgorithm::reconfigure | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 48 of file BezierTrackerAlgorithm.cxx.
References CalculateGeometricalElements(), fDirectJoinDistance, fOccupancyThresh, fOverlapCut, fTheSeedFinder, fTrackJoinAngle, fTrackResolution, fVertexExtrapDistance, fVertexImpactThreshold, and fhicl::ParameterSet::get().
Referenced by BezierTrackerAlgorithm().
void trkf::BezierTrackerAlgorithm::SortTracksByLength | ( | std::vector< trkf::BezierTrack > & | BTracks, |
std::vector< art::PtrVector< recob::Hit > > & | HitVecs, | ||
std::vector< std::vector< std::pair< int, int > > > & | ClustersUsed | ||
) |
|
private |
Definition at line 93 of file BezierTrackerAlgorithm.h.
Referenced by MakeDirectJoins(), and reconfigure().
|
private |
Definition at line 95 of file BezierTrackerAlgorithm.h.
Referenced by EvaluateOccupancy(), and reconfigure().
|
private |
Definition at line 92 of file BezierTrackerAlgorithm.h.
Referenced by OrganizeSeedsIntoTracks(), and reconfigure().
|
private |
Definition at line 103 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), EvaluateOccupancy(), and GetSeedDirProjected().
|
private |
Definition at line 101 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), EvaluateOccupancy(), GetSeedDirProjected(), and MakeTracks().
|
private |
Definition at line 102 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), and MakeTracks().
|
private |
Definition at line 114 of file BezierTrackerAlgorithm.h.
Referenced by reconfigure().
|
private |
Definition at line 94 of file BezierTrackerAlgorithm.h.
Referenced by MakeDirectJoins(), OrganizeSeedsIntoTracks(), and reconfigure().
|
private |
Definition at line 96 of file BezierTrackerAlgorithm.h.
Referenced by FilterOverlapTracks(), MakeDirectJoins(), MakeOverlapJoins(), OrganizeSeedsIntoTracks(), and reconfigure().
|
private |
Definition at line 99 of file BezierTrackerAlgorithm.h.
Referenced by MakeVertexJoins(), and reconfigure().
|
private |
Definition at line 98 of file BezierTrackerAlgorithm.h.
Referenced by MakeVertexJoins(), and reconfigure().
|
private |
Definition at line 104 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), and EvaluateOccupancy().
|
private |
Definition at line 105 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), EvaluateOccupancy(), and MakeTracks().
|
private |
Definition at line 106 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), EvaluateOccupancy(), and GetSeedDirProjected().
|
private |
Definition at line 106 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements().
|
private |
Definition at line 106 of file BezierTrackerAlgorithm.h.
Referenced by CalculateGeometricalElements(), OrganizeSeedsIntoTracks(), and SortTracksByLength().