LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
Definition of the Cluster3D class. More...
Classes | |
class | ArtOutputHandler |
Public Types | |
using | ModuleType = EDProducer |
using | WorkerType = WorkerT< EDProducer > |
template<typename UserConfig , typename KeysToIgnore = void> | |
using | Table = ProducerBase::Table< UserConfig, KeysToIgnore > |
Public Member Functions | |
Cluster3D (fhicl::ParameterSet const &pset) | |
Constructor. More... | |
virtual | ~Cluster3D () |
Destructor. More... | |
void | beginJob () |
declare the standard art functions that we'll implement in this producer module More... | |
void | endJob () |
void | produce (art::Event &evt) |
void | reconfigure (fhicl::ParameterSet const &pset) |
template<typename PROD , BranchType B = InEvent> | |
ProductID | getProductID (std::string const &instanceName={}) const |
template<typename PROD , BranchType B> | |
ProductID | getProductID (ModuleDescription const &moduleDescription, std::string const &instanceName) const |
bool | modifiesEvent () const |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | consumes (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | consumes (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | consumesMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | consumesView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | consumesView (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
ProductToken< T > | mayConsume (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ProductToken< T > | mayConsume (InputTag const &it) |
template<typename T , BranchType = InEvent> | |
void | mayConsumeMany () |
template<typename Element , BranchType = InEvent> | |
ViewToken< Element > | mayConsumeView (InputTag const &) |
template<typename T , art::BranchType BT> | |
art::ViewToken< T > | mayConsumeView (InputTag const &it) |
base_engine_t & | createEngine (seed_t seed) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make) |
base_engine_t & | createEngine (seed_t seed, std::string const &kind_of_engine_to_make, label_t const &engine_label) |
seed_t | get_seed_value (fhicl::ParameterSet const &pset, char const key[]="seed", seed_t const implicit_seed=-1) |
Static Public Member Functions | |
static cet::exempt_ptr< Consumer > | non_module_context () |
Protected Member Functions | |
CurrentProcessingContext const * | currentContext () const |
void | validateConsumedProduct (BranchType const bt, ProductInfo const &pi) |
void | prepareForJob (fhicl::ParameterSet const &pset) |
void | showMissingConsumes () const |
Private Types | |
using | IdxToPCAMap = std::map< size_t, const reco::PrincipalComponents * > |
Special routine to handle creating and saving space points & edges PCA points. More... | |
Private Member Functions | |
void | PrepareEvent (const art::Event &evt) |
Event Preparation. More... | |
void | InitializeMonitoring () |
Initialize the internal monitoring. More... | |
void | findTrackSeeds (art::Event &evt, reco::ClusterParameters &cluster, RecobHitToPtrMap &hitToPtrMap, std::vector< recob::Seed > &seedVec, art::Assns< recob::Seed, recob::Hit > &seedHitAssns) const |
An interface to the seed finding algorithm. More... | |
void | splitClustersWithMST (reco::ClusterParameters &clusterParameters, reco::ClusterParametersList &clusterParametersList) const |
Attempt to split clusters by using a minimum spanning tree. More... | |
void | splitClustersWithHough (reco::ClusterParameters &clusterParameters, reco::ClusterParametersList &clusterParametersList) const |
Attempt to split clusters using the output of the Hough Filter. More... | |
size_t | ConvertToArtOutput (ArtOutputHandler &output, reco::ClusterParameters &clusterParameters, size_t pfParticleParent, RecobHitToPtrMap &hitToPtrMap, Hit3DToSPPtrMap &hit3DToSPPtrMap) const |
Produces the art output from all the work done in this producer module. More... | |
void | MakeAndSaveSpacePoints (ArtOutputHandler &output, reco::HitPairListPtr &clusHitPairVector, RecobHitToPtrMap &hitToPtrMap, Hit3DToSPPtrMap &hit3DToSPPtrMap, int spacePointStart) const |
Special routine to handle creating and saving space points. More... | |
void | MakeAndSaveVertexPoints (ArtOutputHandler &, dcel2d::VertexList &, dcel2d::HalfEdgeList &) const |
Special routine to handle creating and saving space points & edges associated to voronoi diagrams. More... | |
void | MakeAndSavePCAPoints (ArtOutputHandler &, const reco::PrincipalComponents &, IdxToPCAMap &) const |
size_t | FindAndStoreDaughters (ArtOutputHandler &output, reco::ClusterParameters &clusterParameters, size_t pfParticleParent, IdxToPCAMap &idxToPCAMap, RecobHitToPtrMap &hitToPtrMap, Hit3DToSPPtrMap &hit3DToSPPtrMap) const |
This will produce art output for daughters noting that it needs to be done recursively. More... | |
void | ProduceArtClusters (ArtOutputHandler &output, reco::HitPairList &hitPairList, reco::ClusterParametersList &clusterParametersList, RecobHitToPtrMap &hitToPtrMap) const |
Top level output routine, allows checking cluster status. More... | |
bool | aParallelHitsCluster (const reco::PrincipalComponents &pca) const |
There are several places we will want to know if a candidate cluster is a "parallel hits" type of cluster so encapsulate that here. More... | |
size_t | countUltimateDaughters (reco::ClusterParameters &clusterParameters) const |
Count number of end of line daughters. More... | |
Private Attributes | |
bool | m_enableMonitoring |
Turn on monitoring of this algorithm. More... | |
float | m_parallelHitsCosAng |
Cut for PCA 3rd axis angle to X axis. More... | |
float | m_parallelHitsTransWid |
Cut on transverse width of cluster (PCA 2nd eigenvalue) More... | |
TTree * | m_pRecoTree |
int | m_run |
int | m_event |
int | m_hits |
Keeps track of the number of hits seen. More... | |
float | m_totalTime |
Keeps track of total execution time. More... | |
float | m_artHitsTime |
Keeps track of time to recover hits. More... | |
float | m_makeHitsTime |
Keeps track of time to build 3D hits. More... | |
float | m_buildNeighborhoodTime |
Keeps track of time to build epsilon neighborhood. More... | |
float | m_dbscanTime |
Keeps track of time to run DBScan. More... | |
float | m_pathFindingTime |
Keeps track of the path finding time. More... | |
float | m_finishTime |
Keeps track of time to run output module. More... | |
std::string | m_spacePointInstance |
Special instance name for vertex points. More... | |
geo::Geometry * | m_geometry |
pointer to the Geometry service More... | |
const detinfo::DetectorProperties * | m_detector |
Pointer to the detector properties. More... | |
std::unique_ptr< lar_cluster3d::IHit3DBuilder > | m_hit3DBuilderAlg |
Builds the 3D hits to operate on. More... | |
std::unique_ptr< lar_cluster3d::IClusterAlg > | m_clusterAlg |
Algorithm to do 3D space point clustering. More... | |
std::unique_ptr< lar_cluster3d::IClusterModAlg > | m_clusterMergeAlg |
Algorithm to do cluster merging. More... | |
std::unique_ptr< lar_cluster3d::IClusterModAlg > | m_clusterPathAlg |
Algorithm to do cluster path finding. More... | |
ClusterParamsBuilder | m_clusterBuilder |
Common cluster builder tool. More... | |
PrincipalComponentsAlg | m_pcaAlg |
Principal Components algorithm. More... | |
SkeletonAlg | m_skeletonAlg |
Skeleton point finder. More... | |
HoughSeedFinderAlg | m_seedFinderAlg |
Seed finder. More... | |
PCASeedFinderAlg | m_pcaSeedFinderAlg |
Use PCA axis to find seeds. More... | |
ParallelHitsSeedFinderAlg | m_parallelHitsAlg |
Deal with parallel hits clusters. More... | |
Definition of the Cluster3D class.
Definition at line 109 of file Cluster3D_module.cc.
|
private |
Special routine to handle creating and saving space points & edges PCA points.
output | the object containting the art output |
clusterParamsList | List of clusters to get PCA's from |
Definition at line 330 of file Cluster3D_module.cc.
|
inherited |
Definition at line 34 of file EDProducer.h.
|
inherited |
Definition at line 43 of file EDProducer.h.
|
inherited |
Definition at line 35 of file EDProducer.h.
lar_cluster3d::Cluster3D::Cluster3D | ( | fhicl::ParameterSet const & | pset | ) |
Constructor.
pset | - reference to the parameters used by this module and its algorithms |
Definition at line 433 of file Cluster3D_module.cc.
References m_spacePointInstance, and reconfigure().
|
virtual |
|
inlineprivate |
There are several places we will want to know if a candidate cluster is a "parallel hits" type of cluster so encapsulate that here.
pca | The Principal Components Analysis parameters for the cluster |
Definition at line 370 of file Cluster3D_module.cc.
References countUltimateDaughters(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), m_parallelHitsCosAng, and m_parallelHitsTransWid.
Referenced by findTrackSeeds().
|
virtual |
declare the standard art functions that we'll implement in this producer module
beginJob will be tasked with initializing monitoring, in necessary, but also to init the geometry and detector services (and this probably needs to go in a "beginEvent" method?)
Reimplemented from art::EDProducer.
Definition at line 492 of file Cluster3D_module.cc.
References InitializeMonitoring(), m_detector, m_enableMonitoring, and m_geometry.
|
inherited |
|
inherited |
Definition at line 147 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 162 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 172 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
private |
Produces the art output from all the work done in this producer module.
output | the object containting the art output |
clusterParameters | Cluster info to output (in internal format) |
pfParticleParent | The parent ID reference for the output PFParticle |
hitToPtrMap | This maps our Cluster2D hits back to art Ptr's to reco Hits |
Definition at line 1289 of file Cluster3D_module.cc.
References lar_cluster3d::Cluster3D::ArtOutputHandler::artClusterVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artPCAxisVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artPFParticleVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artSeedVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artSpacePointVector, reco::PrincipalComponents::getAveHitDoca(), reco::PrincipalComponents::getAvePosition(), reco::ClusterParameters::getBestEdgeList(), reco::ClusterParameters::getClusterParams(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), reco::ClusterParameters::getFullPCA(), reco::ClusterParameters::getHitPairListPtr(), reco::PrincipalComponents::getNumHitsUsed(), reco::ClusterParameters::getSkeletonPCA(), reco::PrincipalComponents::getSvdOK(), detinfo::DetectorProperties::GetXTicksCoefficient(), cluster::ClusterParamsImportWrapper< Algo >::ImportHits(), geo::kUnknown, m_detector, reco::RecobClusterParameters::m_endTime, reco::RecobClusterParameters::m_endWire, reco::RecobClusterParameters::m_hitVector, reco::RecobClusterParameters::m_sigmaEndTime, reco::RecobClusterParameters::m_sigmaStartTime, reco::RecobClusterParameters::m_startTime, reco::RecobClusterParameters::m_startWire, reco::RecobClusterParameters::m_view, reco::ClusterHit3D::MADESPACEPOINT, lar_cluster3d::Cluster3D::ArtOutputHandler::makeClusterHitAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartClusterAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartEdgeAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartPCAAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartSeedAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartSpacePointAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makeSpacePointHitAssns(), reco::ClusterHit3D::REJECTEDHIT, and recob::Cluster::Sentry.
Referenced by FindAndStoreDaughters(), and ProduceArtClusters().
|
private |
Count number of end of line daughters.
clusterParams | input cluster parameters to look at |
Definition at line 1251 of file Cluster3D_module.cc.
References reco::ClusterParameters::daughterList().
Referenced by aParallelHitsCluster(), and ProduceArtClusters().
|
inherited |
Definition at line 26 of file EngineCreator.cc.
References art::EngineCreator::rng().
Referenced by evgen::CosmicsGen::CosmicsGen(), rndm::NuRandomService::createEngine(), cluster::fuzzyCluster::fuzzyCluster(), cluster::HoughLineFinder::HoughLineFinder(), art::MixFilter< T >::initEngine_(), larg4::LArG4::LArG4(), evgen::LightSource::LightSource(), evgen::NeutronOsc::NeutronOsc(), evgen::NucleonDecay::NucleonDecay(), opdet::OpMCDigi::OpMCDigi(), opdet::OptDetDigitizer::OptDetDigitizer(), phot::PhotonLibraryPropagation::PhotonLibraryPropagation(), detsim::SimDriftElectrons::SimDriftElectrons(), evgen::SingleGen::SingleGen(), evgen::SNNueAr40CCGen::SNNueAr40CCGen(), ToyOneShowerGen::ToyOneShowerGen(), and trkf::Track3DKalman::Track3DKalman().
|
inherited |
Definition at line 32 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
inherited |
Definition at line 40 of file EngineCreator.cc.
References art::EngineCreator::rng().
|
protectedinherited |
|
virtual |
|
private |
This will produce art output for daughters noting that it needs to be done recursively.
output | the object containting the art output |
clusterParameters | Cluster info to output (in internal format) |
pfParticleParent | The parent ID reference for the output PFParticle |
daughterList | List of PFParticle indices for stored daughters |
hitToPtrMap | This maps our Cluster2D hits back to art Ptr's to reco Hits |
Definition at line 1265 of file Cluster3D_module.cc.
References ConvertToArtOutput(), reco::ClusterParameters::daughterList(), and reco::ClusterParameters::getFullPCA().
Referenced by ProduceArtClusters().
|
private |
An interface to the seed finding algorithm.
evt | the ART event |
cluster | structure of information representing a single cluster |
hitToPtrMap | This maps our Cluster2D hits back to art Ptr's to reco Hits |
seedVec | the output vector of candidate seeds |
seedHitAssns | the associations between the seeds and the 2D hits making them |
This method provides an interface to various algorithms for finding candiate recob::Seed objects and, as well, their candidate related seed hits
Definition at line 631 of file Cluster3D_module.cc.
References aParallelHitsCluster(), lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), util::CreateAssn(), lar_cluster3d::HoughSeedFinderAlg::findTrackSeeds(), lar_cluster3d::PCASeedFinderAlg::findTrackSeeds(), lar_cluster3d::ParallelHitsSeedFinderAlg::findTrackSeeds(), reco::PrincipalComponents::getEigenValues(), reco::ClusterParameters::getFullPCA(), reco::ClusterParameters::getHitPairListPtr(), lar_cluster3d::SkeletonAlg::GetSkeletonHits(), reco::ClusterParameters::getSkeletonPCA(), m_parallelHitsAlg, m_pcaSeedFinderAlg, m_seedFinderAlg, and m_skeletonAlg.
|
inherited |
Definition at line 49 of file EngineCreator.cc.
References fhicl::ParameterSet::get().
Referenced by art::MixFilter< T >::initEngine_().
|
inlineinherited |
|
inherited |
Definition at line 56 of file ProducerBase.h.
References B, and art::ModuleDescription::moduleLabel().
Referenced by art::ProducerBase::modifiesEvent().
|
private |
Initialize the internal monitoring.
Definition at line 597 of file Cluster3D_module.cc.
References m_artHitsTime, m_buildNeighborhoodTime, m_dbscanTime, m_event, m_finishTime, m_hits, m_makeHitsTime, m_pathFindingTime, m_pRecoTree, m_run, m_totalTime, and art::TFileDirectory::make().
Referenced by beginJob().
|
private |
Definition at line 1658 of file Cluster3D_module.cc.
References lar_cluster3d::Cluster3D::ArtOutputHandler::artEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artVertexEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artVertexPointVector, reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenVectors(), art::left(), and art::right().
|
private |
Special routine to handle creating and saving space points.
output | the object containting the art output |
clusterParameters | Cluster info to output (in internal format) |
pfParticleParent | The parent ID reference for the output PFParticle |
hitToPtrMap | This maps our Cluster2D hits back to art Ptr's to reco Hits |
Definition at line 1538 of file Cluster3D_module.cc.
References lar_cluster3d::Cluster3D::ArtOutputHandler::artSpacePointVector, reco::ClusterHit3D::MADESPACEPOINT, lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartSpacePointAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makeSpacePointHitAssns(), and reco::ClusterHit3D::REJECTEDHIT.
Referenced by ProduceArtClusters().
|
private |
Special routine to handle creating and saving space points & edges associated to voronoi diagrams.
output | the object containting the art output |
vertexList | list of vertices in the diagram |
HalfEdgeList | list of half edges in the diagram |
Definition at line 1595 of file Cluster3D_module.cc.
References lar_cluster3d::Cluster3D::ArtOutputHandler::artEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artVertexEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artVertexPointVector, dcel2d::Vertex::getCoords(), dcel2d::HalfEdge::getTargetVertex(), and dcel2d::HalfEdge::getTwinHalfEdge().
Referenced by ProduceArtClusters().
|
inherited |
|
inherited |
Definition at line 190 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inherited |
Definition at line 205 of file Consumer.h.
|
inherited |
|
inherited |
Definition at line 215 of file Consumer.h.
References art::InputTag::instance(), art::InputTag::label(), and art::InputTag::process().
|
inlineinherited |
Definition at line 40 of file ProducerBase.h.
References art::ProducerBase::getProductID().
|
staticinherited |
Definition at line 76 of file Consumer.cc.
Referenced by art::RootOutput::beginSubRun(), art::OutputModule::doBeginRun(), art::OutputModule::doBeginSubRun(), art::OutputModule::doEndRun(), art::OutputModule::doEndSubRun(), art::ProducingService::doPostReadEvent(), art::ProducingService::doPostReadRun(), art::ProducingService::doPostReadSubRun(), art::OutputModule::doWriteEvent(), art::ProcessPackage< L >::postScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::Run >::End::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::postScheduleSignal(), art::BeginEndPackage< Level::SubRun >::End::postScheduleSignal(), art::ProcessPackage< L >::preScheduleSignal(), art::BeginEndPackage< Level::Run >::Begin::preScheduleSignal(), art::BeginEndPackage< Level::SubRun >::Begin::preScheduleSignal(), art::EventProcessor::readEvent(), art::EventProcessor::readRun(), art::EmptyEvent::readRun_(), art::EventProcessor::readSubRun(), and art::EmptyEvent::readSubRun_().
|
private |
Event Preparation.
evt | the ART event |
Definition at line 615 of file Cluster3D_module.cc.
References art::EventID::event(), art::Event::id(), m_artHitsTime, m_buildNeighborhoodTime, m_dbscanTime, m_event, m_finishTime, m_hits, m_makeHitsTime, m_pathFindingTime, m_run, m_totalTime, and art::Event::run().
Referenced by produce().
|
protectedinherited |
Definition at line 89 of file Consumer.cc.
References fhicl::ParameterSet::get_if_present().
Referenced by art::EDProducer::doBeginJob(), art::EDFilter::doBeginJob(), and art::EDAnalyzer::doBeginJob().
|
virtual |
Producer method for reovering the 2D hits and driving the 3D reconstruciton
Implements art::EDProducer.
Definition at line 515 of file Cluster3D_module.cc.
References lar_cluster3d::IClusterAlg::BUILDCLUSTERINFO, lar_cluster3d::IClusterAlg::BUILDHITTOHITMAP, lar_cluster3d::IHit3DBuilder::BUILDTHREEDHITS, lar_cluster3d::IHit3DBuilder::COLLECTARTHITS, art::EventID::event(), art::Event::id(), m_artHitsTime, m_buildNeighborhoodTime, m_clusterAlg, m_clusterMergeAlg, m_clusterPathAlg, m_dbscanTime, m_enableMonitoring, m_event, m_finishTime, m_hit3DBuilderAlg, m_hits, m_makeHitsTime, m_pathFindingTime, m_pRecoTree, m_run, m_spacePointInstance, m_totalTime, lar_cluster3d::Cluster3D::ArtOutputHandler::outputObjects(), lar_cluster3d::IClusterAlg::PATHFINDING, PrepareEvent(), ProduceArtClusters(), art::Event::run(), and lar_cluster3d::IClusterAlg::RUNDBSCAN.
|
private |
Top level output routine, allows checking cluster status.
hitPairList | List of all 3D Hits in internal Cluster3D format |
clusterParametersList | Data structure containing the cluster information to output |
hitToPtrMap | This maps our Cluster2D hits back to art Ptr's to reco Hits |
The workhorse to take the candidate 3D clusters and produce all of the necessary art output
Definition at line 1065 of file Cluster3D_module.cc.
References lar_cluster3d::Cluster3D::ArtOutputHandler::artEdgeVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artPCAxisVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artPFParticleVector, lar_cluster3d::Cluster3D::ArtOutputHandler::artSpacePointVector, ConvertToArtOutput(), countUltimateDaughters(), FindAndStoreDaughters(), reco::PrincipalComponents::getAveHitDoca(), reco::PrincipalComponents::getAvePosition(), reco::PrincipalComponents::getEigenValues(), reco::PrincipalComponents::getEigenVectors(), reco::PrincipalComponents::getNumHitsUsed(), reco::PrincipalComponents::getSvdOK(), recob::PFParticle::kPFParticlePrimary, reco::ClusterHit3D::MADESPACEPOINT, MakeAndSaveSpacePoints(), MakeAndSaveVertexPoints(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartEdgeAssns(), lar_cluster3d::Cluster3D::ArtOutputHandler::makePFPartPCAAssns(), and lar_cluster3d::Cluster3D::ArtOutputHandler::makeSpacePointHitAssns().
Referenced by produce().
void lar_cluster3d::Cluster3D::reconfigure | ( | fhicl::ParameterSet const & | pset | ) |
Definition at line 472 of file Cluster3D_module.cc.
References fhicl::ParameterSet::get(), m_clusterAlg, m_clusterMergeAlg, m_clusterPathAlg, m_enableMonitoring, m_hit3DBuilderAlg, m_parallelHitsAlg, m_parallelHitsCosAng, m_parallelHitsTransWid, m_pcaAlg, m_pcaSeedFinderAlg, m_seedFinderAlg, m_skeletonAlg, lar_cluster3d::HoughSeedFinderAlg::reconfigure(), lar_cluster3d::SkeletonAlg::reconfigure(), lar_cluster3d::PCASeedFinderAlg::reconfigure(), lar_cluster3d::ParallelHitsSeedFinderAlg::reconfigure(), and lar_cluster3d::PrincipalComponentsAlg::reconfigure().
Referenced by Cluster3D().
|
protectedinherited |
Definition at line 125 of file Consumer.cc.
Referenced by art::EDProducer::doEndJob(), art::EDFilter::doEndJob(), art::EDAnalyzer::doEndJob(), and art::RootOutput::endJob().
|
private |
Attempt to split clusters using the output of the Hough Filter.
clusterParameters | The given cluster parameters object to try to split |
clusterParametersList | The list of clusters |
Definition at line 923 of file Cluster3D_module.cc.
References lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), lar_cluster3d::ClusterParamsBuilder::FillClusterParams(), lar_cluster3d::HoughSeedFinderAlg::findTrackHits(), reco::PrincipalComponents::getAveHitDoca(), reco::ClusterParameters::getClusterParams(), reco::ClusterParameters::getFullPCA(), reco::ClusterParameters::getHitPairListPtr(), lar_cluster3d::SkeletonAlg::GetSkeletonHits(), reco::ClusterParameters::getSkeletonPCA(), reco::PrincipalComponents::getSvdOK(), m_clusterBuilder, m_pcaAlg, m_seedFinderAlg, m_skeletonAlg, lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_3D(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc3DDocas(), and x1.
|
private |
Attempt to split clusters by using a minimum spanning tree.
clusterParameters | The given cluster parameters object to try to split |
clusterParametersList | The list of clusters |
Definition at line 733 of file Cluster3D_module.cc.
References lar_cluster3d::SkeletonAlg::AverageSkeletonPositions(), reco::ClusterHit3D::bitsAreSet(), reco::ClusterHit3D::clearStatusBits(), reco::PrincipalComponents::getEigenValues(), reco::ClusterParameters::getHitPairListPtr(), reco::ClusterHit3D::getPosition(), lar_cluster3d::SkeletonAlg::GetSkeletonHits(), reco::ClusterParameters::getSkeletonPCA(), art::left(), m_skeletonAlg, art::right(), reco::ClusterHit3D::SELECTEDBYMST, and reco::ClusterHit3D::setStatusBit().
|
protectedinherited |
Definition at line 101 of file Consumer.cc.
References art::errors::ProductRegistrationFailure.
|
private |
Keeps track of time to recover hits.
Definition at line 397 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Keeps track of time to build epsilon neighborhood.
Definition at line 399 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Algorithm to do 3D space point clustering.
Definition at line 413 of file Cluster3D_module.cc.
Referenced by produce(), and reconfigure().
|
private |
Common cluster builder tool.
Definition at line 416 of file Cluster3D_module.cc.
Referenced by splitClustersWithHough().
|
private |
Algorithm to do cluster merging.
Definition at line 414 of file Cluster3D_module.cc.
Referenced by produce(), and reconfigure().
|
private |
Algorithm to do cluster path finding.
Definition at line 415 of file Cluster3D_module.cc.
Referenced by produce(), and reconfigure().
|
private |
Keeps track of time to run DBScan.
Definition at line 400 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Pointer to the detector properties.
Definition at line 409 of file Cluster3D_module.cc.
Referenced by beginJob(), and ConvertToArtOutput().
|
private |
Turn on monitoring of this algorithm.
Algorithm parameters
Definition at line 385 of file Cluster3D_module.cc.
Referenced by beginJob(), produce(), and reconfigure().
|
private |
Definition at line 394 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Keeps track of time to run output module.
Definition at line 402 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
pointer to the Geometry service
Other useful variables
Definition at line 408 of file Cluster3D_module.cc.
Referenced by beginJob().
|
private |
Builds the 3D hits to operate on.
Definition at line 412 of file Cluster3D_module.cc.
Referenced by produce(), and reconfigure().
|
private |
Keeps track of the number of hits seen.
Definition at line 395 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Keeps track of time to build 3D hits.
Definition at line 398 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Deal with parallel hits clusters.
Definition at line 421 of file Cluster3D_module.cc.
Referenced by findTrackSeeds(), and reconfigure().
|
private |
Cut for PCA 3rd axis angle to X axis.
Definition at line 386 of file Cluster3D_module.cc.
Referenced by aParallelHitsCluster(), and reconfigure().
|
private |
Cut on transverse width of cluster (PCA 2nd eigenvalue)
Definition at line 387 of file Cluster3D_module.cc.
Referenced by aParallelHitsCluster(), and reconfigure().
|
private |
Keeps track of the path finding time.
Definition at line 401 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Principal Components algorithm.
Definition at line 417 of file Cluster3D_module.cc.
Referenced by reconfigure(), and splitClustersWithHough().
|
private |
Use PCA axis to find seeds.
Definition at line 420 of file Cluster3D_module.cc.
Referenced by findTrackSeeds(), and reconfigure().
|
private |
Tree variables for output
Definition at line 392 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), and produce().
|
private |
Definition at line 393 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().
|
private |
Seed finder.
Definition at line 419 of file Cluster3D_module.cc.
Referenced by findTrackSeeds(), reconfigure(), and splitClustersWithHough().
|
private |
Skeleton point finder.
Definition at line 418 of file Cluster3D_module.cc.
Referenced by findTrackSeeds(), reconfigure(), splitClustersWithHough(), and splitClustersWithMST().
|
private |
Special instance name for vertex points.
Definition at line 403 of file Cluster3D_module.cc.
Referenced by Cluster3D(), and produce().
|
private |
Keeps track of total execution time.
Definition at line 396 of file Cluster3D_module.cc.
Referenced by InitializeMonitoring(), PrepareEvent(), and produce().