LArSoft
v06_85_00
Liquid Argon Software toolkit - http://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 (void) |
const pma::TrkCandidateColl & | result (void) |
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 (void) const |
Protected Member Functions | |
void | guideEndpoints (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) |
double | collectSingleViewFront (pma::Track3D &trk, std::vector< art::Ptr< recob::Hit > > &hits) |
bool | reassignHits_1 (const std::vector< art::Ptr< recob::Hit > > &hits, pma::TrkCandidateColl &tracks, size_t trk_idx, double dist2) |
bool | reassignSingleViewEnds_1 (pma::TrkCandidateColl &tracks) |
bool | reassignHits_2 (const std::vector< art::Ptr< recob::Hit > > &hits, pma::TrkCandidateColl &tracks, size_t trk_idx, double dist2) |
bool | reassignSingleViewEnds_2 (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) |
void | freezeBranchingNodes (pma::TrkCandidateColl &tracks) |
void | releaseAllNodes (pma::TrkCandidateColl &tracks) |
bool | mergeCoLinear (pma::TrkCandidateColl &tracks) |
void | mergeCoLinear (pma::tpc_track_map &tracks) |
double | validate (pma::Track3D &trk, unsigned int testView) |
void | fromMaxCluster_tpc (pma::TrkCandidateColl &result, size_t minBuildSize, unsigned int tpc, unsigned int cryo) |
size_t | matchTrack (const pma::TrkCandidateColl &tracks, const std::vector< art::Ptr< recob::Hit > > &hits) const |
pma::TrkCandidate | matchCluster (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 (int first_clu_idx, size_t minSizeCompl, unsigned int tpc, unsigned int cryo, geo::View_t first_view) |
int | matchCluster (const pma::TrkCandidate &trk, size_t minSize, double fraction, unsigned int preferedView, unsigned int testView, unsigned int tpc, unsigned int cryo) const |
bool | extendTrack (pma::TrkCandidate &candidate, const std::vector< art::Ptr< recob::Hit > > &hits, unsigned int testView, bool add_nodes) |
int | maxCluster (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 (void) const |
bool | has (const std::vector< size_t > &v, size_t idx) const |
Definition at line 144 of file PMAlgTracking.h.
Enumerator | |
---|---|
kHits | |
kAdc | |
kCalib |
Definition at line 147 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 292 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 695 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 | ( | void | ) |
Definition at line 989 of file PMAlgTracking.cxx.
References geo::GeometryCore::begin_TPC_id(), geo::GeometryCore::end_TPC_id(), 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(), 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 539 of file PMAlgTracking.cxx.
References pma::Dist2(), hits(), and pma::Track3D::size().
Referenced by reassignSingleViewEnds_1(), and reassignSingleViewEnds_2().
|
private |
Definition at line 566 of file PMAlgTracking.cxx.
References pma::Dist2(), hits(), and pma::Track3D::size().
Referenced by reassignSingleViewEnds_1(), and reassignSingleViewEnds_2().
|
private |
Definition at line 1320 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 862 of file PMAlgTracking.cxx.
References pma::TrkCandidateColl::tracks().
|
private |
Definition at line 1104 of file PMAlgTracking.cxx.
References fCluHits, fInitialClusters, pma::TrkCandidate::IsGood(), geo::kUnknown, matchCluster(), maxCluster(), and pma::TrkCandidateColl::push_back().
Referenced by build().
|
inlineinherited |
Definition at line 65 of file PMAlgTracking.h.
References pma::PMAlgTrackingBase::fPMAlgVertexing, pma::PMAlgTrackingBase::fResult, pma::PMAlgVertexing::getKinks(), pma::PMAlgTrackingBase::guideEndpoints(), pma::PMAlgTrackingBase::PMAlgTrackingBase(), lar::dump::vector(), and pma::PMAlgTrackingBase::~PMAlgTrackingBase().
|
inlineinherited |
Definition at line 62 of file PMAlgTracking.h.
References pma::PMAlgTrackingBase::fPMAlgVertexing, pma::PMAlgTrackingBase::fResult, and pma::PMAlgVertexing::getVertices().
|
protectedinherited |
Definition at line 70 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(), build(), and pma::PMAlgTrackingBase::getKinks().
|
inlineprivate |
Definition at line 313 of file PMAlgTracking.h.
Referenced by listUsedClusters(), matchCluster(), and maxCluster().
void pma::PMAlgTracker::init | ( | const art::FindManyP< recob::Hit > & | hitsFromClusters | ) |
Definition at line 371 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 387 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 1479 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, pma::PMAlgTrackingBase::fResult, fUsedClusters, has(), and matchTrack().
Referenced by build().
|
private |
Definition at line 1133 of file PMAlgTracking.cxx.
References pma::ProjectionMatchingAlg::buildTrack(), pma::TrkCandidate::Clusters(), detinfo::DetectorProperties::ConvertTicksToX(), pma::TrkCandidateColl::empty(), extendTrack(), f, fAvailableViews, fCluHits, fDetProp, 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 288 of file PMAlgTracking.h.
References hits(), and lar::dump::vector().
|
private |
Definition at line 1357 of file PMAlgTracking.cxx.
References pma::TrkCandidate::Clusters(), f, fCluHits, pma::PMAlgTrackingBase::fProjectionMatchingAlg, fUsedClusters, has(), geo::kUnknown, max, n, pma::ProjectionMatchingAlg::testHits(), and pma::TrkCandidate::Track().
|
private |
Definition at line 976 of file PMAlgTracking.cxx.
References pma::PMAlgTrackingBase::fProjectionMatchingAlg, hits(), n, pma::ProjectionMatchingAlg::testHits(), and pma::TrkCandidateColl::tracks().
Referenced by listUsedClusters().
|
private |
Definition at line 1394 of file PMAlgTracking.cxx.
References detinfo::DetectorProperties::ConvertTicksToX(), fCluHits, fDetProp, fInitialClusters, fTriedClusters, fUsedClusters, has(), s, pma::TrkCandidateColl::tracks(), and x.
Referenced by fromMaxCluster_tpc(), and matchCluster().
|
private |
Definition at line 1449 of file PMAlgTracking.cxx.
References fCluHits, fCluWeights, fInitialClusters, fTrackLikeThreshold, fTriedClusters, fUsedClusters, has(), geo::kUnknown, and s.
|
private |
Definition at line 797 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(), pma::Track3D::size(), pma::TrkCandidateColl::size(), and pma::TrkCandidateColl::tracks().
Referenced by build().
|
private |
Definition at line 875 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(), pma::Track3D::size(), and pma::TrkCandidateColl::size().
|
private |
Definition at line 471 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 619 of file PMAlgTracking.cxx.
References pma::Track3D::AddHits(), pma::Track3D::CleanupTails(), pma::PMAlgTrackingBase::fProjectionMatchingAlg, hits(), n, pma::Track3D::RemoveHits(), pma::PMAlgTrackingBase::result(), pma::Track3D::ShiftEndsToHits(), pma::TrkCandidateColl::size(), and pma::ProjectionMatchingAlg::testHits().
Referenced by reassignSingleViewEnds_2().
|
private |
Definition at line 593 of file PMAlgTracking.cxx.
References collectSingleViewEnd(), collectSingleViewFront(), pma::Track3D::DisableSingleViewEnds(), hits(), reassignHits_1(), pma::PMAlgTrackingBase::result(), pma::Track3D::SelectHits(), pma::Track3D::size(), and pma::TrkCandidateColl::size().
Referenced by build().
|
private |
Definition at line 669 of file PMAlgTracking.cxx.
References collectSingleViewEnd(), collectSingleViewFront(), pma::Track3D::DisableSingleViewEnds(), hits(), reassignHits_2(), pma::PMAlgTrackingBase::result(), pma::Track3D::SelectHits(), pma::Track3D::size(), and pma::TrkCandidateColl::size().
|
private |
Definition at line 868 of file PMAlgTracking.cxx.
References pma::TrkCandidateColl::tracks().
|
inlineinherited |
Definition at line 59 of file PMAlgTracking.h.
References pma::PMAlgTrackingBase::fResult.
Referenced by matchCluster(), reassignHits_1(), reassignHits_2(), reassignSingleViewEnds_1(), and reassignSingleViewEnds_2().
|
private |
Definition at line 435 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 360 of file PMAlgTracking.h.
Referenced by build(), PMAlgTracker(), and validate().
|
private |
Definition at line 364 of file PMAlgTracking.h.
Referenced by validate().
|
private |
Definition at line 365 of file PMAlgTracking.h.
Referenced by validate().
|
private |
Definition at line 361 of file PMAlgTracking.h.
Referenced by PMAlgTracker(), and validate().
|
private |
Definition at line 338 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 326 of file PMAlgTracking.h.
Referenced by matchCluster(), and PMAlgTracker().
|
private |
Definition at line 320 of file PMAlgTracking.h.
Referenced by fromMaxCluster_tpc(), init(), listUsedClusters(), matchCluster(), and maxCluster().
|
private |
Definition at line 321 of file PMAlgTracking.h.
Referenced by init(), listUsedClusters(), and maxCluster().
|
private |
Definition at line 344 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 369 of file PMAlgTracking.h.
Referenced by matchCluster(), and maxCluster().
|
private |
Definition at line 336 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 335 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 337 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 368 of file PMAlgTracking.h.
Referenced by build(), matchCluster(), and PMAlgTracker().
|
protectedinherited |
Definition at line 77 of file PMAlgTracking.h.
Referenced by pma::PMAlgTrackingBase::guideEndpoints(), pma::PMAlgTrackingBase::PMAlgTrackingBase(), and validate().
|
private |
Definition at line 324 of file PMAlgTracking.h.
Referenced by build(), fromMaxCluster_tpc(), matchCluster(), and maxCluster().
|
private |
Definition at line 352 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 353 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 342 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 341 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 340 of file PMAlgTracking.h.
Referenced by build().
|
private |
|
private |
Definition at line 331 of file PMAlgTracking.h.
Referenced by build(), and reassignHits_1().
|
private |
Definition at line 333 of file PMAlgTracking.h.
Referenced by matchCluster().
|
protectedinherited |
Definition at line 80 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::build(), build(), pma::PMAlgTrackingBase::getKinks(), and pma::PMAlgTrackingBase::getVertices().
|
protectedinherited |
Definition at line 79 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::buildShowers(), pma::PMAlgFitter::buildTracks(), extendTrack(), pma::PMAlgTrackingBase::guideEndpoints(), matchCluster(), matchTrack(), mergeCoLinear(), reassignHits_1(), reassignHits_2(), and validate().
|
protectedinherited |
Definition at line 82 of file PMAlgTracking.h.
Referenced by pma::PMAlgFitter::build(), build(), pma::PMAlgFitter::buildShowers(), pma::PMAlgFitter::buildTracks(), pma::PMAlgTrackingBase::getKinks(), pma::PMAlgTrackingBase::getVertices(), listUsedClusters(), pma::PMAlgTrackingBase::result(), and pma::PMAlgTrackingBase::~PMAlgTrackingBase().
|
private |
Definition at line 357 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 350 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 347 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 348 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 355 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 349 of file PMAlgTracking.h.
Referenced by mergeCoLinear().
|
private |
Definition at line 345 of file PMAlgTracking.h.
Referenced by build().
|
private |
Definition at line 332 of file PMAlgTracking.h.
Referenced by maxCluster().
|
mutableprivate |
Definition at line 325 of file PMAlgTracking.h.
Referenced by build(), matchCluster(), and maxCluster().
|
private |
Definition at line 324 of file PMAlgTracking.h.
Referenced by build(), listUsedClusters(), matchCluster(), and maxCluster().
|
private |
Definition at line 359 of file PMAlgTracking.h.
Referenced by build(), PMAlgTracker(), and validate().
|
private |
Definition at line 319 of file PMAlgTracking.h.
Referenced by build().