LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "SpacePointAlg.h"
Classes | |
struct | HitMCInfo |
Public Member Functions | |
SpacePointAlg (const fhicl::ParameterSet &pset) | |
~SpacePointAlg () | |
bool | filter () const |
bool | merge () const |
double | maxDT () const |
double | maxS () const |
int | minViews () const |
bool | enableU () const |
bool | enableV () const |
bool | enableW () const |
void | reconfigure (const fhicl::ParameterSet &pset) |
void | update () const |
double | correctedTime (const recob::Hit &hit) const |
double | separation (const art::PtrVector< recob::Hit > &hits) const |
bool | compatible (const art::PtrVector< recob::Hit > &hits, bool useMC=false) const |
void | fillSpacePoint (const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &sptv, int sptid) const |
void | fillSpacePoints (std::vector< recob::SpacePoint > &spts, std::multimap< double, KHitTrack > const &trackMap) const |
Fill a collection of space points. More... | |
void | fillComplexSpacePoint (const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &sptv, int sptid) const |
void | makeSpacePoints (const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &spts) const |
void | makeMCTruthSpacePoints (const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &spts) const |
const art::PtrVector< recob::Hit > & | getAssociatedHits (const recob::SpacePoint &spt) const |
void | clearHitMap () const |
int | numHitMap () const |
Private Member Functions | |
void | makeSpacePoints (const art::PtrVector< recob::Hit > &hits, std::vector< recob::SpacePoint > &spts, bool useMC) const |
Private Attributes | |
double | fMaxDT |
Maximum time difference between planes. More... | |
double | fMaxS |
Maximum space separation between wires. More... | |
int | fMinViews |
Mininum number of views per space point. More... | |
bool | fEnableU |
Enable flag (U). More... | |
bool | fEnableV |
Enable flag (V). More... | |
bool | fEnableW |
Enable flag (W). More... | |
bool | fFilter |
Filter flag. More... | |
bool | fMerge |
Merge flag. More... | |
bool | fPreferColl |
Sort by collection wire. More... | |
double | fTickOffsetU |
Tick offset for plane U. More... | |
double | fTickOffsetV |
Tick offset for plane V. More... | |
double | fTickOffsetW |
Tick offset for plane W. More... | |
std::map< const recob::Hit *, HitMCInfo > | fHitMCMap |
std::map< int, art::PtrVector< recob::Hit > > | fSptHitMap |
Definition at line 77 of file SpacePointAlg.h.
trkf::SpacePointAlg::SpacePointAlg | ( | const fhicl::ParameterSet & | pset | ) |
Definition at line 43 of file SpacePointAlg.cxx.
References reconfigure().
trkf::SpacePointAlg::~SpacePointAlg | ( | ) |
Definition at line 63 of file SpacePointAlg.cxx.
|
inline |
Definition at line 145 of file SpacePointAlg.h.
Referenced by trkf::SeedFinderAlgorithm::FindSeeds(), cluster::ClusterMatchAlg::Match_SpacePoint(), trkf::Track3DKalmanHit::prepareForInput(), trkf::BezierTrackerModule::produce(), trkf::TrackKalmanCheater::produce(), and trkf::Track3DKalmanHit::produce().
bool trkf::SpacePointAlg::compatible | ( | const art::PtrVector< recob::Hit > & | hits, |
bool | useMC = false |
||
) | const |
Definition at line 323 of file SpacePointAlg.cxx.
References geo::CryostatID::Cryostat, fHitMCMap, fMaxDT, fMaxS, geo::WireGeo::GetCenter(), detinfo::DetectorProperties::GetXTicksOffset(), geo::WireGeo::HalfL(), trkf::SpacePointAlg::HitMCInfo::pchit, recob::Hit::PeakTime(), geo::PlaneID::Plane, s, art::PtrVector< T >::size(), t1, t2, geo::TPCID::TPC, trkf::SpacePointAlg::HitMCInfo::trackIDs, recob::Hit::View(), recob::Hit::WireID(), and geo::GeometryCore::WireIDToWireGeo().
Referenced by fillSpacePoints(), and makeSpacePoints().
double trkf::SpacePointAlg::correctedTime | ( | const recob::Hit & | hit | ) | const |
Definition at line 218 of file SpacePointAlg.cxx.
References geo::CryostatID::Cryostat, fTickOffsetU, fTickOffsetV, fTickOffsetW, detinfo::DetectorProperties::GetXTicksOffset(), geo::kU, geo::kV, geo::kW, recob::Hit::PeakTime(), geo::PlaneID::Plane, geo::TPCID::TPC, recob::Hit::View(), and recob::Hit::WireID().
Referenced by trkf::SpacePointAna::analyze().
|
inline |
Definition at line 93 of file SpacePointAlg.h.
Referenced by trkf::SeedFinderAlgorithm::GetSeedsFromSortedHits(), trkf::SpacePointFinder::produce(), and trkf::SpacePointCheater::produce().
|
inline |
Definition at line 94 of file SpacePointAlg.h.
Referenced by trkf::SeedFinderAlgorithm::GetSeedsFromSortedHits(), trkf::SpacePointFinder::produce(), and trkf::SpacePointCheater::produce().
|
inline |
Definition at line 95 of file SpacePointAlg.h.
References hits().
Referenced by trkf::SeedFinderAlgorithm::GetSeedsFromSortedHits(), trkf::SpacePointFinder::produce(), and trkf::SpacePointCheater::produce().
void trkf::SpacePointAlg::fillComplexSpacePoint | ( | const art::PtrVector< recob::Hit > & | hits, |
std::vector< recob::SpacePoint > & | sptv, | ||
int | sptid | ||
) | const |
Definition at line 684 of file SpacePointAlg.cxx.
References art::PtrVector< T >::begin(), geo::CryostatID::Cryostat, geo::GeometryCore::Cryostat(), art::PtrVector< T >::end(), art::PtrVector< T >::front(), fSptHitMap, geo::WireGeo::GetCenter(), detinfo::DetectorProperties::GetXTicksCoefficient(), detinfo::DetectorProperties::GetXTicksOffset(), geo::WireGeo::HalfL(), hits(), geo::TPCGeo::Nplanes(), recob::Hit::PeakTime(), geo::PlaneID::Plane, s, recob::Hit::SigmaPeakTime(), art::PtrVector< T >::size(), sw, geo::CryostatGeo::TPC(), geo::TPCID::TPC, w, weight, recob::Hit::WireID(), geo::GeometryCore::WireIDToWireGeo(), and geo::GeometryCore::WirePitch().
Referenced by fillSpacePoints(), and makeSpacePoints().
void trkf::SpacePointAlg::fillSpacePoint | ( | const art::PtrVector< recob::Hit > & | hits, |
std::vector< recob::SpacePoint > & | sptv, | ||
int | sptid | ||
) | const |
Definition at line 474 of file SpacePointAlg.cxx.
References art::PtrVector< T >::begin(), geo::CryostatID::Cryostat, art::PtrVector< T >::end(), fSptHitMap, geo::WireGeo::GetCenter(), detinfo::DetectorProperties::GetXTicksCoefficient(), detinfo::DetectorProperties::GetXTicksOffset(), geo::WireGeo::HalfL(), hits(), recob::Hit::PeakTime(), geo::PlaneID::Plane, s, recob::Hit::SigmaPeakTime(), art::PtrVector< T >::size(), sw, geo::TPCID::TPC, w, recob::Hit::WireID(), geo::GeometryCore::WireIDToWireGeo(), and geo::GeometryCore::WirePitch().
Referenced by fillSpacePoints(), and makeSpacePoints().
void trkf::SpacePointAlg::fillSpacePoints | ( | std::vector< recob::SpacePoint > & | spts, |
std::multimap< double, KHitTrack > const & | trackMap | ||
) | const |
Fill a collection of space points.
Fill a collection of space points.
Arguments:
spts - Collection of space points to fill. sptalg - Space point algorithm object.
This method uses the hits contained in this track to construct space points.
This method does not have any knowledge of what constitutes a good space point, except that Hits are required to be consecutive when sorted by path distance, and space points are required to pass compatibility tests used by the space point algorithm object. This method will make space points from either two or three Hits (even for three-plane detectors), if the space point algorithm is configured to allow it.
Definition at line 625 of file SpacePointAlg.cxx.
References art::PtrVector< T >::clear(), compatible(), fillComplexSpacePoint(), fillSpacePoint(), trkf::KHitWireX::getHit(), trkf::KHitTrack::getHit(), hits(), numHitMap(), art::PtrVector< T >::push_back(), art::PtrVector< T >::size(), and track.
Referenced by trkf::Track3DKalmanHit::createOutputs(), and trkf::TrackKalmanCheater::produce().
|
inline |
Definition at line 88 of file SpacePointAlg.h.
const art::PtrVector< recob::Hit > & trkf::SpacePointAlg::getAssociatedHits | ( | const recob::SpacePoint & | spt | ) | const |
Definition at line 1542 of file SpacePointAlg.cxx.
References fSptHitMap, and recob::SpacePoint::ID().
Referenced by trkf::SpacePointAna::analyze(), trkf::Track3DKalmanHit::createOutputs(), trkf::SeedFinderAlgorithm::FindSeedAtEnd(), trkf::SeedFinderAlgorithm::FindSeeds(), makeSpacePoints(), trkf::TCTrack::produce(), trkf::SpacePointCheater::produce(), trkf::SpacePointFinder::produce(), and trkf::TrackKalmanCheater::produce().
void trkf::SpacePointAlg::makeMCTruthSpacePoints | ( | const art::PtrVector< recob::Hit > & | hits, |
std::vector< recob::SpacePoint > & | spts | ||
) | const |
Definition at line 871 of file SpacePointAlg.cxx.
References makeSpacePoints().
Referenced by trkf::SpacePointAna::analyze(), and trkf::SpacePointCheater::produce().
void trkf::SpacePointAlg::makeSpacePoints | ( | const art::PtrVector< recob::Hit > & | hits, |
std::vector< recob::SpacePoint > & | spts | ||
) | const |
Definition at line 861 of file SpacePointAlg.cxx.
Referenced by trkf::SpacePointAna::analyze(), trkf::SeedFinderAlgorithm::FindSeeds(), trkf::FeatureTracker::Get3DFeaturePoints(), makeMCTruthSpacePoints(), cluster::ClusterMatchAlg::Match_SpacePoint(), trkf::TCTrack::produce(), and trkf::SpacePointFinder::produce().
|
private |
Definition at line 881 of file SpacePointAlg.cxx.
References art::PtrVector< T >::begin(), evd::details::begin(), c1, c2, recob::SpacePoint::Chisq(), art::PtrVector< T >::clear(), compatible(), geo::CryostatID::Cryostat, geo::GeometryCore::Cryostat(), tca::debug, trkf::SpacePointAlg::HitMCInfo::dist2, art::PtrVector< T >::end(), art::PtrVector< T >::erase(), fEnableU, fEnableV, fEnableW, fFilter, fHitMCMap, fillComplexSpacePoint(), fillSpacePoint(), fMaxDT, fMaxS, fMerge, fMinViews, fPreferColl, fSptHitMap, getAssociatedHits(), geo::WireGeo::GetCenter(), detinfo::DetectorProperties::GetXTicksOffset(), geo::WireGeo::HalfL(), cheat::BackTrackerService::HitToAvgSimIDEs(), mf::isDebugEnabled(), geo::kCollection, geo::kU, geo::kV, geo::kZ, max, min, geo::GeometryCore::Ncryostats(), geo::TPCGeo::Nplanes(), geo::CryostatGeo::NTPC(), trkf::SpacePointAlg::HitMCInfo::pchit, recob::Hit::PeakTime(), geo::TPCGeo::Plane(), geo::PlaneID::Plane, art::PtrVector< T >::push_back(), art::PtrVector< T >::reserve(), geo::GeometryCore::SignalType(), cheat::BackTrackerService::SimIDEsToXYZ(), art::PtrVector< T >::size(), t1, t2, geo::CryostatGeo::TPC(), geo::TPCID::TPC, trkf::SpacePointAlg::HitMCInfo::trackIDs, update(), recob::Hit::View(), geo::PlaneGeo::Wire(), geo::WireID::Wire, recob::Hit::WireID(), geo::GeometryCore::WireIDToWireGeo(), geo::GeometryCore::WirePitch(), x, and trkf::SpacePointAlg::HitMCInfo::xyz.
|
inline |
Definition at line 90 of file SpacePointAlg.h.
Referenced by trkf::BezierTrackerAlgorithm::MakeTracks(), and cluster::ClusterMatchAlg::Match_SpacePoint().
|
inline |
Definition at line 91 of file SpacePointAlg.h.
|
inline |
Definition at line 89 of file SpacePointAlg.h.
Referenced by trkf::SpacePointAna::analyze(), and trkf::SpacePointAna::bookHistograms().
|
inline |
Definition at line 92 of file SpacePointAlg.h.
Referenced by trkf::SpacePointCheater::produce(), and trkf::SpacePointFinder::produce().
|
inline |
Definition at line 148 of file SpacePointAlg.h.
Referenced by fillSpacePoints().
void trkf::SpacePointAlg::reconfigure | ( | const fhicl::ParameterSet & | pset | ) |
Definition at line 70 of file SpacePointAlg.cxx.
References fEnableU, fEnableV, fEnableW, fFilter, fMaxDT, fMaxS, fMerge, fMinViews, fPreferColl, fTickOffsetU, fTickOffsetV, fTickOffsetW, and fhicl::ParameterSet::get().
Referenced by trkf::TCTrack::reconfigure(), trkf::SpacePointCheater::reconfigure(), trkf::SpacePointFinder::reconfigure(), trkf::TrackKalmanCheater::reconfigure(), trkf::Track3DKalmanHit::reconfigure(), and SpacePointAlg().
double trkf::SpacePointAlg::separation | ( | const art::PtrVector< recob::Hit > & | hits | ) | const |
Definition at line 240 of file SpacePointAlg.cxx.
References geo::CryostatID::Cryostat, geo::WireGeo::GetCenter(), geo::WireGeo::HalfL(), geo::PlaneID::Plane, s, art::PtrVector< T >::size(), geo::TPCID::TPC, recob::Hit::WireID(), and geo::GeometryCore::WireIDToWireGeo().
Referenced by trkf::SpacePointAna::analyze().
void trkf::SpacePointAlg::update | ( | ) | const |
Definition at line 114 of file SpacePointAlg.cxx.
References geo::GeometryCore::Cryostat(), detinfo::DetectorProperties::GetXTicksOffset(), geo::kCollection, geo::kHorizontal, geo::kInduction, geo::kU, geo::kV, geo::kVertical, geo::kZ, geo::GeometryCore::Ncryostats(), geo::TPCGeo::Nplanes(), geo::CryostatGeo::NTPC(), geo::PlaneGeo::Orientation(), geo::TPCGeo::Plane(), geo::TPCGeo::Plane0Pitch(), geo::TPCGeo::PlaneLocation(), geo::GeometryCore::SignalType(), geo::WireGeo::ThetaZ(), geo::CryostatGeo::TPC(), geo::PlaneGeo::View(), geo::PlaneGeo::Wire(), and geo::TPCGeo::WirePitch().
Referenced by makeSpacePoints().
|
private |
Enable flag (U).
Definition at line 163 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
private |
Enable flag (V).
Definition at line 164 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
private |
Enable flag (W).
Definition at line 165 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
private |
Filter flag.
Definition at line 166 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
mutableprivate |
Definition at line 182 of file SpacePointAlg.h.
Referenced by compatible(), and makeSpacePoints().
|
private |
Maximum time difference between planes.
Definition at line 160 of file SpacePointAlg.h.
Referenced by compatible(), makeSpacePoints(), and reconfigure().
|
private |
Maximum space separation between wires.
Definition at line 161 of file SpacePointAlg.h.
Referenced by compatible(), makeSpacePoints(), and reconfigure().
|
private |
Merge flag.
Definition at line 167 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
private |
Mininum number of views per space point.
Definition at line 162 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
private |
Sort by collection wire.
Definition at line 168 of file SpacePointAlg.h.
Referenced by makeSpacePoints(), and reconfigure().
|
mutableprivate |
Definition at line 183 of file SpacePointAlg.h.
Referenced by fillComplexSpacePoint(), fillSpacePoint(), getAssociatedHits(), and makeSpacePoints().
|
private |
Tick offset for plane U.
Definition at line 169 of file SpacePointAlg.h.
Referenced by correctedTime(), and reconfigure().
|
private |
Tick offset for plane V.
Definition at line 170 of file SpacePointAlg.h.
Referenced by correctedTime(), and reconfigure().
|
private |
Tick offset for plane W.
Definition at line 171 of file SpacePointAlg.h.
Referenced by correctedTime(), and reconfigure().