DBScanAlg_DUNE35t class definiton. More...
#include <DBScanAlg_DUNE35t.h>
Public Types | |
enum | TimeValues { BUILDTHREEDHITS = 0, BUILDHITTOHITMAP = 1, RUNDBSCAN = 2, NUMTIMEVALUES } |
enumerate the possible values for time checking if monitoring timing More... | |
Public Member Functions | |
DBScanAlg_DUNE35t (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
virtual | ~DBScanAlg_DUNE35t () |
Destructor. More... | |
void | reconfigure (fhicl::ParameterSet const &pset) |
void | ClusterHitsDBScan (ViewToHitVectorMap &viewToHitVectorMap, ViewToWireToHitSetMap &viewToWiretoHitSetMap, HitPairList &hitPairList, reco::HitPairClusterMap &hitPairClusterMap) |
Given a set of recob hits, run DBscan to form 3D clusters. More... | |
double | getTimeToExecute (TimeValues index) const |
If monitoring, recover the time to execute a particular function. More... | |
Private Types | |
typedef std::list< const reco::ClusterHit3D * > | EpsPairNeighborhoodList |
typedef std::pair< DBScanParams, EpsPairNeighborhoodList > | EpsPairNeighborhoodPair |
typedef std::map< const reco::ClusterHit3D *, EpsPairNeighborhoodPair > | EpsPairNeighborhoodMap |
typedef std::pair< const reco::ClusterHit3D *, EpsPairNeighborhoodPair > | EpsPairNeighborhoodMapPair |
typedef std::vector< EpsPairNeighborhoodMapPair > | EpsPairNeighborhoodMapVec |
Private Member Functions | |
size_t | BuildHitPairMap (ViewToHitVectorMap &viewToHitVectorMap, ViewToWireToHitSetMap &viewToWiretoHitSetMap, HitPairList &hitPairList) const |
Given the ClusterHit2D objects, build the HitPairMap. More... | |
reco::ClusterHit3D | makeHitPair (const reco::ClusterHit2D *hit1, const reco::ClusterHit2D *hit2, double hitWidthSclFctr=1., size_t hitPairCntr=0) const |
Make a HitPair object by checking two hits. More... | |
reco::ClusterHit3D | makeHitTriplet (const reco::ClusterHit3D &pair, const reco::ClusterHit2D *hit2) const |
Make a HitPair object by checking two hits. More... | |
const reco::ClusterHit2D * | FindBestMatchingHit (const Hit2DSet &hit2DSet, const reco::ClusterHit3D &pair, double pairDeltaTimeLimits) const |
A utility routine for finding a 2D hit closest in time to the given pair. More... | |
int | FindNumberInRange (const Hit2DSet &hit2DSet, const reco::ClusterHit3D &pair, double range) const |
A utility routine for returning the number of 2D hits from the list in a given range. More... | |
bool | consistentPairs (const reco::ClusterHit3D *pair1, const reco::ClusterHit3D *pair2) const |
The bigger question: are two pairs of hits consistent? More... | |
void | expandCluster (EpsPairNeighborhoodMapVec &nMap, EpsPairNeighborhoodMapVec::iterator vecItr, reco::HitPairListPtr &cluster, size_t minPts) const |
the main routine for DBScan More... | |
size_t | BuildNeighborhoodMap (HitPairList &hitPairList, EpsPairNeighborhoodMapVec &epsPairNeighborhoodMapVec) const |
Given an input HitPairList, build out the map of nearest neighbors. More... | |
geo::WireID | NearestWireID (const double *position, const geo::View_t &view) const |
Jacket the calls to finding the nearest wire in order to intercept the exceptions if out of range. More... | |
geo::WireID | NearestWireID_mod (const double *position, const geo::PlaneID &thePlaneID) const |
Private Attributes | |
size_t | m_minPairPts |
Data members to follow. More... | |
double | m_timeAdvanceGap |
double | m_numSigmaPeakTime |
double | m_EpsMaxDist |
bool | m_enableMonitoring |
int | m_hits |
std::vector< float > | m_timeVector |
geo::Geometry * | m_geometry |
DBScanAlg_DUNE35t class definiton.
Definition at line 86 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 161 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 163 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 164 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 165 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 162 of file DBScanAlg_DUNE35t.h.
enumerate the possible values for time checking if monitoring timing
Enumerator | |
---|---|
BUILDTHREEDHITS | |
BUILDHITTOHITMAP | |
RUNDBSCAN | |
NUMTIMEVALUES |
Definition at line 114 of file DBScanAlg_DUNE35t.h.
lar_cluster3d::DBScanAlg_DUNE35t::DBScanAlg_DUNE35t | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset |
Definition at line 36 of file DBScanAlg_DUNE35t.cxx.
|
virtual |
|
private |
Given the ClusterHit2D objects, build the HitPairMap.
Given input 2D hits, build out the lists of possible 3D hits
The current strategy: ideally all 3D hits would be comprised of a triplet of 2D hits, one from each view However, we have concern that, in particular, the v-plane may have some inefficiency which we have to be be prepared to deal with. The idea, then, is to first make the association of hits in the U and W planes and then look for the match in the V plane. In the event we don't find the match in the V plane then we will evaluate the situation and in some instances keep the U-W pairs in order to keep efficiency high.
Definition at line 306 of file DBScanAlg_DUNE35t.cxx.
|
private |
Given an input HitPairList, build out the map of nearest neighbors.
Definition at line 468 of file DBScanAlg_DUNE35t.cxx.
void lar_cluster3d::DBScanAlg_DUNE35t::ClusterHitsDBScan | ( | ViewToHitVectorMap & | viewToHitVectorMap, |
ViewToWireToHitSetMap & | viewToWiretoHitSetMap, | ||
HitPairList & | hitPairList, | ||
reco::HitPairClusterMap & | hitPairClusterMap | ||
) |
Given a set of recob hits, run DBscan to form 3D clusters.
Driver for processing input 2D hits, transforming to 3D hits and building lists of associated 3D hits (candidate 3D clusters)
Definition at line 208 of file DBScanAlg_DUNE35t.cxx.
|
private |
The bigger question: are two pairs of hits consistent?
Definition at line 578 of file DBScanAlg_DUNE35t.cxx.
|
private |
the main routine for DBScan
Definition at line 66 of file DBScanAlg_DUNE35t.cxx.
|
private |
A utility routine for finding a 2D hit closest in time to the given pair.
Definition at line 929 of file DBScanAlg_DUNE35t.cxx.
|
private |
A utility routine for returning the number of 2D hits from the list in a given range.
Definition at line 958 of file DBScanAlg_DUNE35t.cxx.
|
inline |
If monitoring, recover the time to execute a particular function.
Definition at line 123 of file DBScanAlg_DUNE35t.h.
|
private |
Make a HitPair object by checking two hits.
Definition at line 716 of file DBScanAlg_DUNE35t.cxx.
|
private |
Make a HitPair object by checking two hits.
Definition at line 813 of file DBScanAlg_DUNE35t.cxx.
|
private |
Jacket the calls to finding the nearest wire in order to intercept the exceptions if out of range.
Definition at line 984 of file DBScanAlg_DUNE35t.cxx.
|
private |
Definition at line 1006 of file DBScanAlg_DUNE35t.cxx.
void lar_cluster3d::DBScanAlg_DUNE35t::reconfigure | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 49 of file DBScanAlg_DUNE35t.cxx.
|
private |
Definition at line 198 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 196 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 202 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 199 of file DBScanAlg_DUNE35t.h.
|
private |
Data members to follow.
Definition at line 193 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 195 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 194 of file DBScanAlg_DUNE35t.h.
|
private |
Definition at line 200 of file DBScanAlg_DUNE35t.h.