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