LArSoft
v06_85_00
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... | |
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 60 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 308 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 209 of file SpacePointAlg.cxx.
References geo::CryostatID::Cryostat, detinfo::DetectorProperties::GetXTicksOffset(), recob::Hit::PeakTime(), geo::PlaneID::Plane, geo::TPCID::TPC, 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 669 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 459 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 610 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 1527 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 856 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 846 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 866 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 67 of file SpacePointAlg.cxx.
References fEnableU, fEnableV, fEnableW, fFilter, fMaxDT, fMaxS, fMerge, fMinViews, fPreferColl, 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 225 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 105 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 179 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 180 of file SpacePointAlg.h.
Referenced by fillComplexSpacePoint(), fillSpacePoint(), getAssociatedHits(), and makeSpacePoints().