Class DBScanLArMatchHits

Inheritance Relationships

Base Type

  • public larcv_base

Class Documentation

class DBScanLArMatchHits : public larcv_base

cluster larflow3d hits using dbscan

Basically an interface between IO managers and the cluster_sdbscan_larflow3dhits() routine, which uses Simple DBScan from ublarcvapp.

Public Functions

DBScanLArMatchHits()

default constructor

virtual ~DBScanLArMatchHits()
void process(larcv::IOManager &iolc, larlite::storage_manager &ioll)

process data in event containers

Parameters
  • iolcv: LArCV IO manager with event data
  • ioll: larlite storage_manager with event data

void set_min_larmatch_score(float min_score)

set minimum larmatch score to include hits

void set_dbscan_pars(float maxdist, int minsize, int maxkd)

set parameters that control dbscan behavior

void set_input_larflowhit_tree_name(std::string treename)

set the input tree name for larflow3dhit container

void set_output_larflowhit_tree_name(std::string treename)

set the output tree name where larflowcluster objects will be stored

Protected Functions

larlite::larflowcluster makeLArFlowCluster(cluster_t &cluster, const std::vector<larlite::larflow3dhit> &source_lfhit_v)

convert cluster data in cluster_t into a larflowcluster object

Return
cluster represented as larlite::larflowcluster object
Parameters
  • cluster: cluster produced by cluster_sdbscan_larflow3dhits()
  • source_lfhit_v: larflow3dhit vector passed into cluster_sdbscan_larflow3dhits()

cluster_t absorb_nearby_hits(const cluster_t &cluster, const std::vector<larlite::larflow3dhit> &hit_v, std::vector<int> &used_hits_v, float max_dist2line)

assign spacepoints to cluster made using downsampled set of spacepoints

Return
A new cluster_t object that includes all assigned spacepoints
Parameters
  • cluster: The cluster made using downsampled space points
  • hit_v: Container with all spacepoints (i.e. not downsampled)
  • used_hits_v: Vector same size as hit_v, containing 1 if hit is already used. If 1, will not be added to current cluster.
  • max_dist2line: Maximum distance a space point can be from the downsampled cluster’s 1st principle component

void makeCluster(const std::vector<larlite::larflow3dhit> &inputhits, std::vector<cluster_t> &output_cluster_v, std::vector<int> &used_hits_v)

make cluster_t objects using given vector of larflow3dhit objects

Parameters
  • inputhits: Input vector of larflow3dhit objects to cluster
  • output_cluster_v: Output clusters found
  • used_hits_v: Vector same length as inputhits. If 1, that hit has already been assigned to a cluster. This function updates this flag for hits claimed while running this method.

Protected Attributes

std::string _input_larflowhit_tree_name

name of tree to get larflow3dhit data from

std::string _out_cluster_tree_name

name of tree which will store larlite::larflowcluster objects

float _min_larmatch_score

larmatch score threshold for including points in clustering

float _maxdist

max distance value used in dbscan

int _minsize

minimum size of cluster

int _maxkd

max number of neighbors a spacepoint can have in dbscan