LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PMAlgTracking.h"
Classes | |
struct | Config |
Public Types | |
enum | EValidationMode { kHits = 1, kAdc = 2, kCalib = 3 } |
Public Member Functions | |
PMAlgTracker (const std::vector< art::Ptr< recob::Hit >> &allhitlist, const std::vector< recob::Wire > &wires, const pma::ProjectionMatchingAlg::Config &pmalgConfig, const pma::PMAlgTracker::Config &pmalgTrackerConfig, const pma::PMAlgVertexing::Config &pmvtxConfig, const pma::PMAlgStitching::Config &pmstitchConfig, const pma::PMAlgCosmicTagger::Config &pmtaggerConfig, const std::vector< TH1F * > &hpassing, const std::vector< TH1F * > &hrejected) | |
void | init (const art::FindManyP< recob::Hit > &hitsFromClusters) |
void | init (const art::FindManyP< recob::Hit > &hitsFromClusters, const std::vector< float > &trackLike) |
void | init (const art::FindManyP< recob::Hit > &hitsFromClusters, const art::FindManyP< recob::Hit > &hitsFromEmParts) |
int | build (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp) |
const pma::TrkCandidateColl & | result () |
std::vector< std::pair< TVector3, std::vector< std::pair< size_t, bool > > > > | getVertices (bool onlyBranching=false) const |
std::vector< std::pair< TVector3, size_t > > | getKinks () const |
Protected Member Functions | |
void | guideEndpoints (detinfo::DetectorPropertiesData const &detProp, pma::TrkCandidateColl &tracks) |
Protected Attributes | |
pma::cryo_tpc_view_hitmap | fHitMap |
pma::ProjectionMatchingAlg | fProjectionMatchingAlg |
pma::PMAlgVertexing | fPMAlgVertexing |
pma::TrkCandidateColl | fResult |
Private Member Functions | |
double | collectSingleViewEnd (pma::Track3D &trk, std::vector< art::Ptr< recob::Hit >> &hits) const |
double | collectSingleViewFront (pma::Track3D &trk, std::vector< art::Ptr< recob::Hit >> &hits) const |
bool | reassignHits_1 (detinfo::DetectorPropertiesData const &detProp, const std::vector< art::Ptr< recob::Hit >> &hits, pma::TrkCandidateColl &tracks, size_t trk_idx, double dist2) |
bool | reassignSingleViewEnds_1 (detinfo::DetectorPropertiesData const &detProp, pma::TrkCandidateColl &tracks) |
bool | areCoLinear (pma::Track3D *trk1, pma::Track3D *trk2, double &dist, double &cos3d, bool &reverseOrder, double distThr, double distThrMin, double distProjThr, double cosThr) const |
void | freezeBranchingNodes (pma::TrkCandidateColl &tracks) const |
void | releaseAllNodes (pma::TrkCandidateColl &tracks) const |
bool | mergeCoLinear (detinfo::DetectorPropertiesData const &detProp, pma::TrkCandidateColl &tracks) const |
void | mergeCoLinear (detinfo::DetectorClocksData const &clockData, detinfo::DetectorPropertiesData const &detProp, pma::tpc_track_map &tracks) const |
double | validate (detinfo::DetectorPropertiesData const &detProp, pma::Track3D &trk, unsigned int testView) |
void | fromMaxCluster_tpc (detinfo::DetectorPropertiesData const &detProp, pma::TrkCandidateColl &result, size_t minBuildSize, unsigned int tpc, unsigned int cryo) |
size_t | matchTrack (detinfo::DetectorPropertiesData const &detProp, const pma::TrkCandidateColl &tracks, const std::vector< art::Ptr< recob::Hit >> &hits) const |
pma::TrkCandidate | matchCluster (detinfo::DetectorPropertiesData const &detProp, int first_clu_idx, const std::vector< art::Ptr< recob::Hit >> &first_hits, size_t minSizeCompl, unsigned int tpc, unsigned int cryo, geo::View_t first_view) |
pma::TrkCandidate | matchCluster (detinfo::DetectorPropertiesData const &detProp, int first_clu_idx, size_t minSizeCompl, unsigned int tpc, unsigned int cryo, geo::View_t first_view) |
int | matchCluster (detinfo::DetectorPropertiesData const &detProp, const pma::TrkCandidate &trk, size_t minSize, double fraction, unsigned int preferedView, unsigned int testView) const |
bool | extendTrack (detinfo::DetectorPropertiesData const &detProp, pma::TrkCandidate &candidate, const std::vector< art::Ptr< recob::Hit >> &hits, unsigned int testView, bool add_nodes) |
int | maxCluster (detinfo::DetectorPropertiesData const &detProp, int first_idx_tag, const pma::TrkCandidateColl &candidates, float xmin, float xmax, size_t min_clu_size, geo::View_t view, unsigned int tpc, unsigned int cryo) const |
int | maxCluster (size_t min_clu_size, geo::View_t view, unsigned int tpc, unsigned int cryo) const |
void | listUsedClusters (detinfo::DetectorPropertiesData const &detProp) const |
bool | has (const std::vector< size_t > &v, size_t idx) const |
Definition at line 155 of file PMAlgTracking.h.
Enumerator | |
---|---|
kHits | |
kAdc | |
kCalib |
Definition at line 157 of file PMAlgTracking.h.
pma::PMAlgTracker::PMAlgTracker | ( | const std::vector< art::Ptr< recob::Hit >> & | allhitlist, |
const std::vector< recob::Wire > & | wires, | ||
const pma::ProjectionMatchingAlg::Config & | pmalgConfig, | ||
const pma::PMAlgTracker::Config & | pmalgTrackerConfig, | ||
const pma::PMAlgVertexing::Config & | pmvtxConfig, | ||
const pma::PMAlgStitching::Config & | pmstitchConfig, | ||
const pma::PMAlgCosmicTagger::Config & | pmtaggerConfig, | ||
const std::vector< TH1F * > & | hpassing, | ||
const std::vector< TH1F * > & | hrejected | ||
) |
Definition at line 284 of file PMAlgTracking.cxx.
References pma::PMAlgTracker::Config::AdcImageAlg, pma::PMAlgTracker::Config::AdcValidationThr, fAdcImages, fAdcValidationThr, fAvailableViews, fGeom, fValidation, kAdc, kCalib, kHits, geo::GeometryCore::MaxPlanes(), pma::PMAlgTracker::Config::Validation, and geo::GeometryCore::Views().
|
private |
Definition at line 633 of file PMAlgTracking.cxx.
References pma::Track3D::back(), d, pma::Dist2(), pma::Track3D::Flip(), pma::Track3D::front(), pma::GetProjectionToSegment(), pma::Track3D::Length(), pma::Track3D::Nodes(), pma::Hit3D::Point3D(), pma::Track3D::Segments(), and tmp.
Referenced by mergeCoLinear().
int pma::PMAlgTracker::build | ( | detinfo::DetectorClocksData const & | clockData, |
detinfo::DetectorPropertiesData const & | detProp | ||
) |
Definition at line 946 of file PMAlgTracking.cxx.
References fAdcImages, fAutoFlip_dQdx, fCosmicTagger, fFlipDownward, fFlipToBeam, fFlipToX, fGeom, fInitialClusters, pma::TrkCandidateColl::flipTreesByDQdx(), pma::TrkCandidateColl::flipTreesToCoordinate(), fMatchT0inAPACrossing, fMatchT0inCPACrossing, fMergeWithinTPC, fMinSeedSize1stPass, fMinSeedSize2ndPass, pma::PMAlgTrackingBase::fPMAlgVertexing, pma::PMAlgTrackingBase::fResult, fromMaxCluster_tpc(), fRunVertexing, fStitchBetweenTPCs, fStitcher, fTagCosmicTracks, fTriedClusters, fUsedClusters, fValidation, fWires, pma::PMAlgTrackingBase::guideEndpoints(), geo::GeometryCore::Iterate(), kHits, listUsedClusters(), geo::GeometryCore::MaxPlanes(), mergeCoLinear(), pma::TrkCandidateColl::push_back(), reassignSingleViewEnds_1(), pma::PMAlgVertexing::run(), pma::TrkCandidateColl::setParentDaughterConnections(), pma::TrkCandidateColl::setTreeIds(), pma::TrkCandidateColl::size(), pma::PMAlgStitching::StitchTracksAPA(), pma::PMAlgStitching::StitchTracksCPA(), and pma::PMAlgCosmicTagger::tag().
|
private |
Definition at line 568 of file PMAlgTracking.cxx.
References pma::Dist2(), hits(), and pma::Track3D::size().
Referenced by reassignSingleViewEnds_1().
|
private |
Definition at line 588 of file PMAlgTracking.cxx.
References pma::Dist2(), hits(), and pma::Track3D::size().
Referenced by reassignSingleViewEnds_1().
|
private |
Definition at line 1295 of file PMAlgTracking.cxx.
References pma::ProjectionMatchingAlg::extendTrack(), pma::PMAlgTrackingBase::fProjectionMatchingAlg, pma::Track3D::GetMse(), hits(), pma::TrkCandidate::Mse(), pma::TrkCandidate::SetMse(), pma::TrkCandidate::SetTrack(), pma::TrkCandidate::SetValidation(), pma::Track3D::SortHits(), pma::TrkCandidate::Track(), validate(), and pma::TrkCandidate::Validation().
Referenced by matchCluster().
|
private |
Definition at line 821 of file PMAlgTracking.cxx.
References pma::TrkCandidateColl::tracks().
|
private |
Definition at line 1065 of file PMAlgTracking.cxx.
References util::empty(), fCluHits, fInitialClusters, pma::TrkCandidate::IsGood(), geo::kUnknown, matchCluster(), maxCluster(), and pma::TrkCandidateColl::push_back().
Referenced by build().
|
inlineinherited |
Definition at line 74 of file PMAlgTracking.h.
References lar::dump::vector().
|
inlineinherited |
Definition at line 68 of file PMAlgTracking.h.
|
protectedinherited |
Definition at line 79 of file PMAlgTracking.cxx.
References pma::PMAlgTrackingBase::fHitMap, pma::PMAlgTrackingBase::fProjectionMatchingAlg, pma::ProjectionMatchingAlg::guideEndpoints(), pma::Track3D::kBegin, pma::Track3D::kEnd, and pma::TrkCandidateColl::tracks().
Referenced by pma::PMAlgFitter::build(), and build().
|
inlineprivate |
Definition at line 356 of file PMAlgTracking.h.
Referenced by listUsedClusters(), matchCluster(), and maxCluster().
void pma::PMAlgTracker::init | ( | const art::FindManyP< recob::Hit > & | hitsFromClusters | ) |
Definition at line 367 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, and lar::dump::vector().
Referenced by trkf::PMAlgTrackMaker::init().
void pma::PMAlgTracker::init | ( | const art::FindManyP< recob::Hit > & | hitsFromClusters, |
const std::vector< float > & | trackLike | ||
) |
Definition at line 385 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, and lar::dump::vector().
void pma::PMAlgTracker::init | ( | const art::FindManyP< recob::Hit > & | hitsFromClusters, |
const art::FindManyP< recob::Hit > & | hitsFromEmParts | ||
) |
Definition at line 403 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, n, and lar::dump::vector().
|
private |
Definition at line 1459 of file PMAlgTracking.cxx.
References util::empty(), fCluHits, fCluWeights, pma::PMAlgTrackingBase::fResult, fUsedClusters, has(), matchTrack(), and util::size().
Referenced by build().
|
private |
Definition at line 1098 of file PMAlgTracking.cxx.
References pma::ProjectionMatchingAlg::buildTrack(), pma::TrkCandidate::Clusters(), detinfo::DetectorPropertiesData::ConvertTicksToX(), pma::TrkCandidateColl::empty(), extendTrack(), f, fAvailableViews, fCluHits, fGeom, fInitialClusters, fMinTwoViewFraction, pma::PMAlgTrackingBase::fProjectionMatchingAlg, fTriedClusters, fUsedClusters, pma::Track3D::GetMse(), geo::TPCGeo::HasPlane(), pma::ProjectionMatchingAlg::isContained(), pma::TrkCandidate::IsValid(), geo::kUnknown, maxCluster(), pma::TrkCandidateColl::push_back(), pma::PMAlgTrackingBase::result(), pma::TrkCandidate::SetGood(), pma::TrkCandidate::SetMse(), pma::TrkCandidate::SetTrack(), pma::TrkCandidate::SetValidation(), pma::TrkCandidateColl::size(), geo::GeometryCore::TPC(), pma::TrkCandidate::Track(), pma::ProjectionMatchingAlg::twoViewFraction(), validate(), and x.
Referenced by fromMaxCluster_tpc(), and reassignHits_1().
|
inlineprivate |
Definition at line 318 of file PMAlgTracking.h.
References hits(), and lar::dump::vector().
|
private |
Definition at line 1331 of file PMAlgTracking.cxx.
References pma::TrkCandidate::Clusters(), util::empty(), f, fCluHits, pma::PMAlgTrackingBase::fProjectionMatchingAlg, fUsedClusters, has(), geo::kUnknown, n, pma::ProjectionMatchingAlg::testHits(), and pma::TrkCandidate::Track().
|
private |
Definition at line 932 of file PMAlgTracking.cxx.
References pma::PMAlgTrackingBase::fProjectionMatchingAlg, hits(), n, pma::ProjectionMatchingAlg::testHits(), and pma::TrkCandidateColl::tracks().
Referenced by listUsedClusters().
|
private |
Definition at line 1373 of file PMAlgTracking.cxx.
References detinfo::DetectorPropertiesData::ConvertTicksToX(), fCluHits, fInitialClusters, fTriedClusters, fUsedClusters, has(), util::size(), pma::TrkCandidateColl::tracks(), and x.
Referenced by fromMaxCluster_tpc(), and matchCluster().
|
private |
Definition at line 1430 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, fInitialClusters, fTrackLikeThreshold, fTriedClusters, fUsedClusters, has(), and geo::kUnknown.
|
private |
Definition at line 758 of file PMAlgTracking.cxx.
References areCoLinear(), pma::Track3D::back(), d, pma::Dist2(), pma::TrkCandidateColl::erase_at(), fMergeAngle, fMergeTransverseShift, pma::PMAlgTrackingBase::fProjectionMatchingAlg, pma::Track3D::front(), pma::ProjectionMatchingAlg::mergeTracks(), pma::Hit3D::Point3D(), r, pma::TrkCandidateColl::size(), pma::Track3D::size(), and pma::TrkCandidateColl::tracks().
Referenced by build().
|
private |
Definition at line 834 of file PMAlgTracking.cxx.
References pma::Track3D::ApplyDriftShiftInTree(), areCoLinear(), pma::Track3D::back(), d, geo::TPCGeo::DetectDriftDirection(), pma::Dist2(), pma::PMAlgTrackingBase::fProjectionMatchingAlg, pma::Track3D::front(), fStitchAngle, fStitchDistToWall, fStitchTransverseShift, pma::ProjectionMatchingAlg::mergeTracks(), pma::Track3D::Nodes(), pma::Hit3D::Point3D(), r, pma::TrkCandidateColl::size(), and pma::Track3D::size().
|
private |
Definition at line 493 of file PMAlgTracking.cxx.
References pma::Track3D::CleanupTails(), pma::ProjectionMatchingAlg::extendTrack(), fMinSeedSize2ndPass, pma::PMAlgTrackingBase::fProjectionMatchingAlg, hits(), pma::ProjectionMatchingAlg::isContained(), pma::TrkCandidate::IsGood(), matchCluster(), n, pma::TrkCandidateColl::push_back(), pma::Track3D::RemoveHits(), pma::PMAlgTrackingBase::result(), pma::Track3D::ShiftEndsToHits(), pma::TrkCandidateColl::size(), pma::Track3D::SortHits(), and pma::ProjectionMatchingAlg::testHits().
Referenced by reassignSingleViewEnds_1().
|
private |
Definition at line 608 of file PMAlgTracking.cxx.
References collectSingleViewEnd(), collectSingleViewFront(), pma::Track3D::DisableSingleViewEnds(), hits(), reassignHits_1(), pma::PMAlgTrackingBase::result(), pma::Track3D::SelectHits(), pma::TrkCandidateColl::size(), and pma::Track3D::size().
Referenced by build().
|
private |
Definition at line 827 of file PMAlgTracking.cxx.
References pma::TrkCandidateColl::tracks().
|
inlineinherited |
Definition at line 66 of file PMAlgTracking.h.
Referenced by matchCluster(), reassignHits_1(), and reassignSingleViewEnds_1().
|
private |
Definition at line 442 of file PMAlgTracking.cxx.
References fAdcImages, fAdcInPassingPoints, fAdcInRejectedPoints, fAdcValidationThr, pma::PMAlgTrackingBase::fHitMap, pma::Track3D::FirstElement(), pma::PMAlgTrackingBase::fProjectionMatchingAlg, pma::Track3D::FrontCryo(), pma::Track3D::FrontTPC(), fValidation, pma::Node3D::GetDistToWall(), kAdc, kCalib, kHits, geo::kUnknown, pma::Track3D::LastElement(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), and pma::ProjectionMatchingAlg::validate_on_adc_test().
Referenced by extendTrack(), and matchCluster().
|
private |
Definition at line 411 of file PMAlgTracking.h.
Referenced by build(), PMAlgTracker(), and validate().
|
private |
Definition at line 415 of file PMAlgTracking.h.
Referenced by validate().
|
private |
Definition at line 416 of file PMAlgTracking.h.
Referenced by validate().
|
private |
Definition at line 412 of file PMAlgTracking.h.
Referenced by PMAlgTracker(), and validate().
|
private |
Definition at line 382 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 370 of file PMAlgTracking.h.
Referenced by matchCluster(), and PMAlgTracker().
|
private |
Definition at line 364 of file PMAlgTracking.h.
Referenced by fromMaxCluster_tpc(), init(), listUsedClusters(), matchCluster(), and maxCluster().
|
private |
Definition at line 365 of file PMAlgTracking.h.
Referenced by init(), listUsedClusters(), and maxCluster().
|
private |
Definition at line 390 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 380 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 379 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 381 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 419 of file PMAlgTracking.h.
Referenced by build(), matchCluster(), and PMAlgTracker().
|
protectedinherited |
Definition at line 88 of file PMAlgTracking.h.
Referenced by pma::PMAlgTrackingBase::guideEndpoints(), pma::PMAlgTrackingBase::PMAlgTrackingBase(), and validate().
|
private |
Definition at line 368 of file PMAlgTracking.h.
Referenced by build(), fromMaxCluster_tpc(), matchCluster(), and maxCluster().
|
private |
Definition at line 401 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 403 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 388 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 386 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 384 of file PMAlgTracking.h.
Referenced by build().
|
private |
|
private |
Definition at line 375 of file PMAlgTracking.h.
Referenced by build(), and reassignHits_1().
|
private |
Definition at line 377 of file PMAlgTracking.h.
Referenced by matchCluster().
|
protectedinherited |
Definition at line 91 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::build(), and build().
|
protectedinherited |
Definition at line 90 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::buildShowers(), pma::PMAlgFitter::buildTracks(), extendTrack(), pma::PMAlgTrackingBase::guideEndpoints(), matchCluster(), matchTrack(), mergeCoLinear(), reassignHits_1(), and validate().
|
protectedinherited |
Definition at line 93 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::build(), build(), pma::PMAlgFitter::buildShowers(), pma::PMAlgFitter::buildTracks(), listUsedClusters(), and pma::PMAlgTrackingBase::~PMAlgTrackingBase().
|
private |
Definition at line 408 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 399 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 394 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 396 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 406 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 397 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 391 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 376 of file PMAlgTracking.h.
Referenced by maxCluster().
|
mutableprivate |
Definition at line 369 of file PMAlgTracking.h.
Referenced by build(), matchCluster(), and maxCluster().
|
private |
Definition at line 368 of file PMAlgTracking.h.
Referenced by build(), listUsedClusters(), matchCluster(), and maxCluster().
|
private |
Definition at line 410 of file PMAlgTracking.h.
Referenced by build(), PMAlgTracker(), and validate().
|
private |
Definition at line 363 of file PMAlgTracking.h.
Referenced by build().