Belle II Software development
SuperClusterCreator.h
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#pragma once
9
10#include <tracking/trackingUtilities/findlets/base/Findlet.h>
11
12#include <tracking/trackFindingCDC/filters/wireHitRelation/WholeWireHitRelationFilter.h>
13
14#include <tracking/trackingUtilities/ca/Clusterizer.h>
15#include <tracking/trackingUtilities/utilities/WeightedRelation.h>
16
17#include <vector>
18#include <string>
19
20namespace Belle2 {
25
26 namespace TrackingUtilities {
27 class CDCWireHit;
29 }
30
31 namespace TrackFindingCDC {
32
34 class SuperClusterCreator : public
35 TrackingUtilities::Findlet<TrackingUtilities::CDCWireHit&, TrackingUtilities::CDCWireHitCluster> {
36
37 private:
40
41 public:
44
46 std::string getDescription() final;
47
49 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
50
51 public:
53 void apply(std::vector<TrackingUtilities::CDCWireHit>& inputWireHits,
54 std::vector<TrackingUtilities::CDCWireHitCluster>& outputSuperClusters) final;
55
56 private:
59
60 private:
62 TrackingUtilities::Clusterizer<TrackingUtilities::CDCWireHit, TrackingUtilities::CDCWireHitCluster> m_wirehitClusterizer;
63
65 std::vector<TrackingUtilities::WeightedRelation<TrackingUtilities::CDCWireHit>> m_wireHitRelations;
66
69 };
70 }
72}
The Module parameter list class.
TrackingUtilities::Findlet< TrackingUtilities::CDCWireHit, TrackingUtilities::CDCWireHitCluster > Super
Type of the base class.
void apply(std::vector< TrackingUtilities::CDCWireHit > &inputWireHits, std::vector< TrackingUtilities::CDCWireHitCluster > &outputSuperClusters) final
Main algorithm applying the cluster refinement.
TrackingUtilities::Clusterizer< TrackingUtilities::CDCWireHit, TrackingUtilities::CDCWireHitCluster > m_wirehitClusterizer
Instance of the hit cluster generator.
bool m_param_expandOverApogeeGap
Parameter : Expand the super clusters over the typical gap at the apogee of the trajectory.
std::string getDescription() final
Short description of the findlet.
std::vector< TrackingUtilities::WeightedRelation< TrackingUtilities::CDCWireHit > > m_wireHitRelations
Memory for the wire hit neighborhood in a cluster.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
WholeWireHitRelationFilter m_wireHitRelationFilter
Wire hit neighborhood relation filter.
Class mapping the neighborhood of wires to the neighborhood of wire hits.
Class representing a hit wire in the central drift chamber.
Definition CDCWireHit.h:58
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition Findlet.h:26
STL class.
Abstract base class for different kinds of events.
STL namespace.