Belle II Software  release-08-01-10
ClusterPreparer.cc
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 #include <tracking/trackFindingCDC/findlets/combined/ClusterPreparer.h>
9 
10 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
11 
12 using namespace Belle2;
13 using namespace TrackFindingCDC;
14 
16 {
20 }
21 
23 {
24  return "Clusters the wire hits in the CDC to form locally connected groups with two granularities.";
25 }
26 
27 void ClusterPreparer::exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix)
28 {
29  m_superClusterCreator.exposeParameters(moduleParamList, prefixed(prefix, "SuperCluster"));
30  m_clusterRefiner.exposeParameters(moduleParamList, prefix);
31  m_clusterBackgroundDetector.exposeParameters(moduleParamList, prefixed(prefix, "Cluster"));
32 }
33 
34 void ClusterPreparer::apply(std::vector<CDCWireHit>& inputWireHits,
35  std::vector<CDCWireHitCluster>& clusters,
36  std::vector<CDCWireHitCluster>& superClusters)
37 {
38  clusters.reserve(100);
39  superClusters.reserve(50);
40 
41  m_superClusterCreator.apply(inputWireHits, superClusters);
42  m_clusterRefiner.apply(superClusters, clusters);
44 }
The Module parameter list class.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void apply(std::vector< CDCWireHitCluster > &outputClusters) final
Main algorithm applying the cluster background detection.
ClusterRefiner< BridgingWireHitRelationFilter > m_clusterRefiner
Creates the clusters from super clusters.
ClusterBackgroundDetector m_clusterBackgroundDetector
Marks the clusters as background.
std::string getDescription() final
Short description of the findlet.
void apply(std::vector< CDCWireHit > &inputWireHits, std::vector< CDCWireHitCluster > &clusters, std::vector< CDCWireHitCluster > &superClusters) final
Generates the segment from wire hits.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
ClusterPreparer()
Constructor registering the subordinary findlets to the processing signal distribution machinery.
SuperClusterCreator m_superClusterCreator
Composes the super clusters.
void addProcessingSignalListener(ProcessingSignalListener *psl)
Register a processing signal listener to be notified.
void apply(std::vector< CDCWireHit > &inputWireHits, std::vector< CDCWireHitCluster > &outputSuperClusters) final
Main algorithm applying the cluster refinement.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Abstract base class for different kinds of events.