#include <DBScanAlg.h>
Public Member Functions | |
DBScanAlg (fhicl::ParameterSet const &pset) | |
void | InitScan (const detinfo::DetectorClocksData &clockData, const detinfo::DetectorPropertiesData &detProp, const std::vector< art::Ptr< recob::Hit >> &allhits, std::set< uint32_t > badChannels, const std::vector< geo::WireID > &wireids=std::vector< geo::WireID >()) |
double | getSimilarity (const std::vector< double > v1, const std::vector< double > v2) |
std::vector< unsigned int > | findNeighbors (unsigned int pid, double threshold, double threshold2) |
void | computeSimilarity () |
void | run_cluster () |
double | getSimilarity2 (const std::vector< double > v1, const std::vector< double > v2) |
void | computeSimilarity2 () |
double | getWidthFactor (const std::vector< double > v1, const std::vector< double > v2) |
void | computeWidthFactor () |
Public Attributes | |
std::vector< std::vector< unsigned int > > | fclusters |
collection of something More... | |
std::vector< std::vector< double > > | fps |
the collection of points we are working on More... | |
std::vector< unsigned int > | fpointId_to_clusterId |
mapping point_id -> clusterId More... | |
std::vector< std::vector< double > > | fsim |
std::vector< std::vector< double > > | fsim2 |
std::vector< std::vector< double > > | fsim3 |
double | fMaxWidth |
RTree | fRTree |
std::vector< dbsPoint > | fRect |
Private Member Functions | |
void | run_dbscan_cluster () |
void | run_FN_cluster () |
void | run_FN_naive_cluster () |
bool | ExpandCluster (unsigned int point, unsigned int clusterID) |
std::set< unsigned int > | RegionQuery (unsigned int point) |
std::vector< unsigned int > | RegionQuery_vector (unsigned int point) |
Private Attributes | |
double | fEps |
double | fEps2 |
unsigned int | fMinPts |
unsigned int | fClusterMethod |
Which clustering method to use. More... | |
unsigned int | fDistanceMetric |
Which distance metric to use. More... | |
std::vector< bool > | fnoise |
std::vector< bool > | fvisited |
std::vector< double > | fWirePitch |
the pitch of the wires in each plane More... | |
std::set< uint32_t > | fBadChannels |
set of bad channels in this detector More... | |
std::vector< uint32_t > | fBadWireSum |
Definition at line 52 of file DBScanAlg.h.
|
explicit |
Definition at line 261 of file DBScanAlg.cxx.
void cluster::DBScanAlg::computeSimilarity | ( | ) |
Definition at line 487 of file DBScanAlg.cxx.
void cluster::DBScanAlg::computeSimilarity2 | ( | ) |
Definition at line 500 of file DBScanAlg.cxx.
void cluster::DBScanAlg::computeWidthFactor | ( | ) |
Definition at line 513 of file DBScanAlg.cxx.
|
private |
Definition at line 631 of file DBScanAlg.cxx.
std::vector< unsigned int > cluster::DBScanAlg::findNeighbors | ( | unsigned int | pid, |
double | threshold, | ||
double | threshold2 | ||
) |
Definition at line 470 of file DBScanAlg.cxx.
double cluster::DBScanAlg::getSimilarity | ( | const std::vector< double > | v1, |
const std::vector< double > | v2 | ||
) |
Definition at line 365 of file DBScanAlg.cxx.
double cluster::DBScanAlg::getSimilarity2 | ( | const std::vector< double > | v1, |
const std::vector< double > | v2 | ||
) |
Definition at line 402 of file DBScanAlg.cxx.
double cluster::DBScanAlg::getWidthFactor | ( | const std::vector< double > | v1, |
const std::vector< double > | v2 | ||
) |
Definition at line 441 of file DBScanAlg.cxx.
void cluster::DBScanAlg::InitScan | ( | const detinfo::DetectorClocksData & | clockData, |
const detinfo::DetectorPropertiesData & | detProp, | ||
const std::vector< art::Ptr< recob::Hit >> & | allhits, | ||
std::set< uint32_t > | badChannels, | ||
const std::vector< geo::WireID > & | wireids = std::vector<geo::WireID>() |
||
) |
get 2 first wires and find their spacing (wire_dist)
Definition at line 272 of file DBScanAlg.cxx.
|
private |
Definition at line 593 of file DBScanAlg.cxx.
|
private |
Definition at line 609 of file DBScanAlg.cxx.
void cluster::DBScanAlg::run_cluster | ( | ) |
Definition at line 530 of file DBScanAlg.cxx.
|
private |
Definition at line 549 of file DBScanAlg.cxx.
|
private |
Definition at line 676 of file DBScanAlg.cxx.
|
private |
Definition at line 754 of file DBScanAlg.cxx.
|
private |
set of bad channels in this detector
Definition at line 98 of file DBScanAlg.h.
|
private |
running total of bad channels. Used for fast intervening dead wire counting ala fBadChannelSum[m]-fBadChannelSum[n].
Definition at line 99 of file DBScanAlg.h.
|
private |
Which clustering method to use.
Definition at line 91 of file DBScanAlg.h.
std::vector<std::vector<unsigned int> > cluster::DBScanAlg::fclusters |
collection of something
Definition at line 71 of file DBScanAlg.h.
|
private |
Which distance metric to use.
Definition at line 92 of file DBScanAlg.h.
|
private |
Definition at line 86 of file DBScanAlg.h.
|
private |
Definition at line 87 of file DBScanAlg.h.
double cluster::DBScanAlg::fMaxWidth |
Definition at line 77 of file DBScanAlg.h.
|
private |
Definition at line 89 of file DBScanAlg.h.
|
private |
Definition at line 95 of file DBScanAlg.h.
std::vector<unsigned int> cluster::DBScanAlg::fpointId_to_clusterId |
mapping point_id -> clusterId
Definition at line 73 of file DBScanAlg.h.
std::vector<std::vector<double> > cluster::DBScanAlg::fps |
the collection of points we are working on
Definition at line 72 of file DBScanAlg.h.
std::vector<dbsPoint> cluster::DBScanAlg::fRect |
Definition at line 80 of file DBScanAlg.h.
RTree cluster::DBScanAlg::fRTree |
Definition at line 79 of file DBScanAlg.h.
std::vector<std::vector<double> > cluster::DBScanAlg::fsim |
Definition at line 74 of file DBScanAlg.h.
std::vector<std::vector<double> > cluster::DBScanAlg::fsim2 |
Definition at line 75 of file DBScanAlg.h.
std::vector<std::vector<double> > cluster::DBScanAlg::fsim3 |
Definition at line 76 of file DBScanAlg.h.
|
private |
Definition at line 96 of file DBScanAlg.h.
|
private |
the pitch of the wires in each plane
Definition at line 97 of file DBScanAlg.h.