 |
Belle II Software
release-05-02-19
|
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 #include <framework/core/Module.h>
17 #include <mdst/dataobjects/EventLevelTrackingInfo.h>
19 #include <tracking/trackFindingVXD/algorithms/CellularAutomaton.h>
20 #include <tracking/trackFindingVXD/algorithms/PathCollectorRecursive.h>
21 #include <tracking/trackFindingVXD/algorithms/NodeFamilyDefiner.h>
22 #include <tracking/trackFindingVXD/algorithms/SPTCSelectorXBestPerFamily.h>
24 #include <tracking/trackFindingVXD/segmentNetwork/CACell.h>
25 #include <tracking/trackFindingVXD/segmentNetwork/DirectedNodeNetworkContainer.h>
27 #include <tracking/trackFindingVXD/tcTools/SpacePointTrackCandCreator.h>
28 #include <tracking/spacePointCreation/SpacePointTrackCand.h>
30 #include <tracking/trackFindingVXD/algorithms/CAValidator.h>
31 #include <tracking/trackFindingVXD/algorithms/NodeCompatibilityCheckerBase.h>
46 class TrackFinderVXDBasicPathFinderModule final :
public Module {
53 using Path = std::vector<NodeType*>;
67 void event()
override;
std::unique_ptr< SPTCSelectorXBestPerFamily > m_sptcSelector
Pointer to SPTC selector class which performes the x best candidate selection.
std::vector< Path > m_collectedPaths
Path collection obtained from evaluation of the provided segment network.
std::string m_PARAMSpacePointTrackCandArrayName
module parameters
unsigned short m_PARAMmaxFamilies
Maximal number of families in event; if exceeded, the execution of the trackfinder will be stopped.
This class assigns a common family identifier to all CACells in the network that are connected.
TrackFinderVXDBasicPathFinderModule()
Constructor.
bool m_PARAMstoreSubsets
Regulates if every subset of sufficient length of a path shall be collected as separate path or not.
void event() override
event
StoreObjPtr< EventLevelTrackingInfo > m_eventLevelTrackingInfo
Acccess to the EventLevelTrackingInfo object in the datastore.
The CellularAutomaton class This class serves as a functor for the algorithm itself.
unsigned int m_eventCounter
Event number counter.
Network of directed nodes of the type EntryType.
Path finder for generic ContainerType.
std::string m_PARAMsecMapName
the name of the SectorMap used for this instance.
bool m_PARAMprintNetworks
If true for each event and each network created a file with a graph is created.
bool m_PARAMstrictSeeding
Regulates if every node with enough nodes below it is used as a seed or only the outermost nodes.
CellularAutomaton< NodeNetworkType, Belle2::CAValidator< Belle2::CACell > > m_cellularAutomaton
member variables
NodeFamilyDefiner< NodeNetworkType, NodeType, Path > m_familyDefiner
Class to evaluate connected nodes, in this case for the directed node network, and assigns a family t...
Belle2::DirectedNode< Belle2::Segment< Belle2::TrackNode >, Belle2::CACell > NodeType
Using NodeType for DirectedNode with Segments and CACells.
Abstract base class for different kinds of events.
PathCollectorRecursive< NodeNetworkType, NodeType, Path, Belle2::NodeCompatibilityCheckerBase< NodeType > > m_pathCollector
Algorithm for finding paths of segments.
unsigned short m_PARAMxBestPerFamily
Maximal number of best candidates to be created per family.
The CACell class This Class stores all relevant information one wants to have stored in a cell for a ...
bool m_PARAMselectBestPerFamily
If true create track candidate only for the best candidate of a family.
std::string m_PARAMNetworkName
name for StoreObjPtr<DirectedNodeNetwork> which contains the networks needed
SpacePointTrackCandCreator< StoreArray< Belle2::SpacePointTrackCand > > m_sptcCreator
Tool for creating SPTCs, which fills storeArray directly.
void beginRun() override
beginRun
StoreArray< Belle2::SpacePointTrackCand > m_TCs
output containers
void initialize() override
initialize
std::string m_PARAMEventLevelTrackingInfoName
Name of the EventLevelTrackingInfo that should be used (different one for ROI-finding)
std::vector< NodeType * > Path
Using Path for vector of pointers to NodeTypes.
StoreObjPtr< Belle2::DirectedNodeNetworkContainer > m_network
input containers
bool m_PARAMsetFamilies
If true additionally assign a common family identifier to all Tracks that are share a node.
Belle2::DirectedNodeNetwork< Belle2::Segment< Belle2::TrackNode >, Belle2::CACell > NodeNetworkType
Using NodeNetworkType for DirectedNodeNetwork with Segments and CACells.
small class to take simple vectors of SpacePoints and convert them to real SpacePointTrackCands
unsigned int m_PARAMmaxPaths
Maximal number of paths per event; if exceeded, the execution of the trackfinder will be stopped.