Belle II Software development
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
12using namespace Belle2;
13using 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
27void 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
34void 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 exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
void apply(const std::vector< CDCWireHitCluster > &inputSuperClusters, std::vector< CDCWireHitCluster > &outputClusters) final
Main algorithm applying the cluster refinement.
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.