LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "MergeClusterAlg.h"
Public Member Functions | |
MergeClusterAlg (fhicl::ParameterSet const &pset) | |
void | FindClusterEndPoints (art::PtrVector< recob::Hit > const &cluster, TVector2 const ¢re, TVector2 const &direction, TVector2 &start, TVector2 &end) |
double | FindClusterOverlap (TVector2 const &direction, TVector2 const ¢re, TVector2 const &start1, TVector2 const &end1, TVector2 const &start2, TVector2 const &end2) |
double | FindCrossingDistance (TVector2 const &direction1, TVector2 const ¢re1, TVector2 const &direction2, TVector2 const ¢re2) |
double | FindMinSeparation (art::PtrVector< recob::Hit > const &cluster1, art::PtrVector< recob::Hit > const &cluster2) |
double | FindProjectedWidth (TVector2 const ¢re1, TVector2 const &start1, TVector2 const &end1, TVector2 const ¢re2, TVector2 const &start2, TVector2 const &end2) |
double | GlobalWire (geo::WireID const &wireID) |
TVector2 | HitCoordinates (art::Ptr< recob::Hit > const &hit) |
int | MergeClusters (std::vector< art::PtrVector< recob::Hit > > const &planeClusters, std::vector< art::PtrVector< recob::Hit > > &clusters) |
void | reconfigure (fhicl::ParameterSet const &p) |
bool | PassCuts (double const &angle, double const &crossingDistance, double const &projectedWidth, double const &separation, double const &overlap, double const &longLength) |
Private Attributes | |
unsigned int | fMinMergeClusterSize |
double | fMaxMergeSeparation |
double | fProjWidthThreshold |
art::ServiceHandle< geo::Geometry > | fGeom |
art::ServiceHandle< art::TFileService > | tfs |
std::map< int, int > | trueClusterMap |
TTree * | fTree |
double | fAngle |
double | fEigenvalue |
int | fCluster1Size |
int | fCluster2Size |
double | fLength1 |
double | fLength2 |
double | fSeparation |
double | fCrossingDistance |
double | fProjectedWidth |
double | fOverlap |
bool | fTrueMerge |
Definition at line 58 of file MergeClusterAlg.h.
cluster::MergeClusterAlg::MergeClusterAlg | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 15 of file MergeClusterAlg.cxx.
References fAngle, fCluster1Size, fCluster2Size, fCrossingDistance, fEigenvalue, fLength1, fLength2, fOverlap, fProjectedWidth, fSeparation, fTree, fTrueMerge, art::TFileDirectory::make(), reconfigure(), and tfs.
void cluster::MergeClusterAlg::FindClusterEndPoints | ( | art::PtrVector< recob::Hit > const & | cluster, |
TVector2 const & | centre, | ||
TVector2 const & | direction, | ||
TVector2 & | start, | ||
TVector2 & | end | ||
) |
Find estimates of cluster start/end points
Definition at line 31 of file MergeClusterAlg.cxx.
References HitCoordinates().
Referenced by MergeClusters().
double cluster::MergeClusterAlg::FindClusterOverlap | ( | TVector2 const & | direction, |
TVector2 const & | centre, | ||
TVector2 const & | start1, | ||
TVector2 const & | end1, | ||
TVector2 const & | start2, | ||
TVector2 const & | end2 | ||
) |
Calculates the overlap of the clusters on the line projected between them
Definition at line 52 of file MergeClusterAlg.cxx.
Referenced by MergeClusters().
double cluster::MergeClusterAlg::FindCrossingDistance | ( | TVector2 const & | direction1, |
TVector2 const & | centre1, | ||
TVector2 const & | direction2, | ||
TVector2 const & | centre2 | ||
) |
Finds the distance between the crossing point of the lines and the closest line centre
Definition at line 86 of file MergeClusterAlg.cxx.
References min.
Referenced by MergeClusters().
double cluster::MergeClusterAlg::FindMinSeparation | ( | art::PtrVector< recob::Hit > const & | cluster1, |
art::PtrVector< recob::Hit > const & | cluster2 | ||
) |
Calculates the minimum separation between two clusters
Definition at line 103 of file MergeClusterAlg.cxx.
References HitCoordinates().
Referenced by MergeClusters().
double cluster::MergeClusterAlg::FindProjectedWidth | ( | TVector2 const & | centre1, |
TVector2 const & | start1, | ||
TVector2 const & | end1, | ||
TVector2 const & | centre2, | ||
TVector2 const & | start2, | ||
TVector2 const & | end2 | ||
) |
Projects clusters parallel to the line which runs through their centres and finds the minimum containing width
Definition at line 127 of file MergeClusterAlg.cxx.
References max.
Referenced by MergeClusters().
double cluster::MergeClusterAlg::GlobalWire | ( | geo::WireID const & | wireID | ) |
Find the global wire position
Definition at line 151 of file MergeClusterAlg.cxx.
References geo::CryostatID::Cryostat, fGeom, geo::WireGeo::GetCenter(), geo::kInduction, geo::GeometryCore::Nwires(), geo::PlaneID::Plane, geo::GeometryCore::SignalType(), geo::TPCID::TPC, geo::WireID::Wire, geo::GeometryCore::WireCoordinate(), and geo::GeometryCore::WireIDToWireGeo().
Referenced by HitCoordinates().
TVector2 cluster::MergeClusterAlg::HitCoordinates | ( | art::Ptr< recob::Hit > const & | hit | ) |
Return the coordinates of this hit in global wire/tick space
Definition at line 172 of file MergeClusterAlg.cxx.
References GlobalWire(), recob::Hit::PeakTime(), and recob::Hit::WireID().
Referenced by FindClusterEndPoints(), FindMinSeparation(), and MergeClusters().
int cluster::MergeClusterAlg::MergeClusters | ( | std::vector< art::PtrVector< recob::Hit > > const & | planeClusters, |
std::vector< art::PtrVector< recob::Hit > > & | clusters | ||
) |
Merges clusters which lie along a straight line
Definition at line 180 of file MergeClusterAlg.cxx.
References art::PtrVector< T >::at(), FindClusterEndPoints(), FindClusterOverlap(), FindCrossingDistance(), FindMinSeparation(), FindProjectedWidth(), fMaxMergeSeparation, fMinMergeClusterSize, HitCoordinates(), hits(), PassCuts(), and art::PtrVector< T >::size().
Referenced by cluster::BlurredClustering::produce().
bool cluster::MergeClusterAlg::PassCuts | ( | double const & | angle, |
double const & | crossingDistance, | ||
double const & | projectedWidth, | ||
double const & | separation, | ||
double const & | overlap, | ||
double const & | longLength | ||
) |
Boolean function which decides whether or not two clusters should be merged, depending on their properties
Definition at line 418 of file MergeClusterAlg.cxx.
References fProjWidthThreshold.
Referenced by MergeClusters().
void cluster::MergeClusterAlg::reconfigure | ( | fhicl::ParameterSet const & | p | ) |
Definition at line 438 of file MergeClusterAlg.cxx.
References fMaxMergeSeparation, fMinMergeClusterSize, fProjWidthThreshold, and fhicl::ParameterSet::get().
Referenced by MergeClusterAlg(), and cluster::BlurredClustering::reconfigure().
|
private |
Definition at line 91 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 93 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 94 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 98 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 92 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 82 of file MergeClusterAlg.h.
Referenced by GlobalWire().
|
private |
Definition at line 95 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 96 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 78 of file MergeClusterAlg.h.
Referenced by MergeClusters(), and reconfigure().
|
private |
Definition at line 77 of file MergeClusterAlg.h.
Referenced by MergeClusters(), and reconfigure().
|
private |
Definition at line 100 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 99 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 79 of file MergeClusterAlg.h.
Referenced by PassCuts(), and reconfigure().
|
private |
Definition at line 97 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 90 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 101 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 84 of file MergeClusterAlg.h.
Referenced by MergeClusterAlg().
|
private |
Definition at line 87 of file MergeClusterAlg.h.