Belle II Software development
CKFToPXDFindlet.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/trackFindingCDC/findlets/base/Findlet.h>
11
12#include <tracking/ckf/svd/findlets/SpacePointLoader.h>
13#include <tracking/ckf/general/findlets/TrackLoader.h>
14#include <tracking/ckf/general/findlets/StateCreator.dcl.h>
15#include <tracking/ckf/general/findlets/StateCreatorWithReversal.dcl.h>
16#include <tracking/ckf/general/findlets/CKFRelationCreator.dcl.h>
17#include <tracking/ckf/general/findlets/TreeSearcher.dcl.h>
18#include <tracking/ckf/general/findlets/OverlapResolver.dcl.h>
19#include <tracking/ckf/pxd/findlets/PXDStateRejecter.h>
20#include <tracking/ckf/general/findlets/SpacePointTagger.dcl.h>
21#include <tracking/ckf/general/findlets/ResultStorer.dcl.h>
22
23#include <tracking/ckf/pxd/filters/relations/ChooseablePXDRelationFilter.h>
24#include <tracking/ckf/pxd/filters/results/ChooseablePXDResultFilter.h>
25
26#include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
27
28#include <string>
29#include <vector>
30
31namespace Belle2 {
36 class RecoTrack;
37 class SpacePoint;
38 class PXDCluster;
39 class CKFToPXDResult;
40 class CKFToPXDState;
41
42 class ModuleParamList;
43
60
61 public:
64
67
69 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
70
72 void apply() override;
73
75 void beginEvent() override;
76
77 private:
78 // Parameters
84 bool m_param_reverseSeed = false;
85
86 // Findlets
105
106 // Object pools
108 std::vector<RecoTrack*> m_recoTracksVector;
110 std::vector<const SpacePoint*> m_spacePointVector;
112 std::vector<CKFToPXDState> m_seedStates;
114 std::vector<CKFToPXDState> m_states;
116 std::vector<TrackFindingCDC::WeightedRelation<CKFToPXDState>> m_relations;
118 std::vector<CKFToPXDResult> m_results;
120 std::vector<CKFToPXDResult> m_filteredResults;
121 };
123}
Findlet for applying filters for creating hit-hit and hit-seed relations.
Combinatorial Kalman Filter to extrapolate CDC Reco Tracks into the VXD (PXD) and collect space point...
std::vector< CKFToPXDResult > m_results
Vector for storing the results.
std::vector< CKFToPXDResult > m_filteredResults
Vector for storing the filtered results.
std::vector< TrackFindingCDC::WeightedRelation< CKFToPXDState > > m_relations
Relations between states.
CKFRelationCreator< CKFToPXDState, ChooseablePXDRelationFilter > m_relationCreator
Findlet for creating relations between states.
unsigned int m_param_minimalHitRequirement
Minimal hit requirement for the results (counted in number of space points)
TrackLoader m_dataHandler
Findlet for retrieving the cdc tracks and writing the result out.
StateCreatorWithReversal< CKFToPXDState > m_stateCreatorFromTracks
Findlet for creating states out of tracks.
std::vector< const SpacePoint * > m_spacePointVector
Pointers to the (const) SpacePoints as a vector.
TreeSearcher< CKFToPXDState, PXDStateRejecter, CKFToPXDResult > m_treeSearchFindlet
Findlet doing the main work: the tree finding.
SpacePointLoader m_hitsLoader
Findlet for loading the space points.
bool m_param_onlyUseTracksWithSVD
Cut away tracks without SVD hits or not.
std::vector< CKFToPXDState > m_states
States for the hits.
ResultStorer< CKFToPXDResult > m_resultStorer
Findlet for storing the results.
SpacePointTagger< CKFToPXDResult, PXDCluster > m_spacePointTagger
Findlet for tagging the used space points.
CKFToPXDFindlet()
Constructor, for setting module description and parameters.
StateCreator< const SpacePoint, CKFToPXDState > m_stateCreatorFromHits
Findlet for creating states out of hits.
void beginEvent() override
Clear the object pools.
~CKFToPXDFindlet()
Default desctructor.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
OverlapResolver< ChooseablePXDResultFilter > m_overlapResolver
Findlet for resolving overlaps.
bool m_param_reverseSeed
Reverse the seed.
void apply() override
Do the tree search.
std::vector< CKFToPXDState > m_seedStates
States for the tracks.
std::vector< RecoTrack * > m_recoTracksVector
Pointers to the Reco tracks as a vector.
The Module parameter list class.
Simple findlet for searching the best candidate for a given seed aplying the given filter.
This findlet does also handle the storing of the results.
Load the space points from the store array to the given vector.
Findlet for tagging all space points in the results vector as used.
An adaption of the normal state creator introducing another parameter to reverse the seed.
Create new states and add them to a vector from a given object vector.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Findlet for loading the seeds from the data store.
Definition: TrackLoader.h:36
Findlet for constructing result paths out of a list of states, which are connected with weighted rela...
Abstract base class for different kinds of events.