Belle II Software  release-05-01-25
CKFToSVDFindlet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
13 #include <tracking/ckf/svd/entities/CKFToSVDResult.h>
14 #include <tracking/ckf/svd/entities/CKFToSVDState.h>
15 #include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
16 
17 #include <tracking/ckf/general/findlets/SpacePointTagger.dcl.h>
18 #include <tracking/ckf/general/findlets/TrackLoader.h>
19 #include <tracking/ckf/general/findlets/StateCreator.dcl.h>
20 #include <tracking/ckf/general/findlets/StateCreatorWithReversal.dcl.h>
21 #include <tracking/ckf/general/findlets/CKFRelationCreator.dcl.h>
22 #include <tracking/ckf/general/findlets/TreeSearcher.dcl.h>
23 #include <tracking/ckf/general/findlets/OverlapResolver.dcl.h>
24 #include <tracking/ckf/general/findlets/ResultStorer.dcl.h>
25 #include <tracking/ckf/svd/findlets/SVDStateRejecter.h>
26 #include <tracking/ckf/svd/findlets/SpacePointLoader.h>
27 
28 #include <tracking/ckf/svd/filters/relations/ChooseableSVDRelationFilter.h>
29 #include <tracking/ckf/svd/filters/results/ChooseableSVDResultFilter.h>
30 
31 namespace Belle2 {
36  class RecoTrack;
37  class SpacePoint;
38  class SVDCluster;
39 
40  class ModuleParamList;
41 
58  class CKFToSVDFindlet : public TrackFindingCDC::Findlet<> {
60  using Super = TrackFindingCDC::Findlet<>;
61 
62  public:
65 
67  ~CKFToSVDFindlet() override;
68 
70  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
71 
73  void apply() override;
74 
76  void beginEvent() override;
77 
78  private:
79  // Parameters
81  unsigned int m_param_minimalHitRequirement = 1;
82 
83  // Findlets
102 
103  // Object pools
105  std::vector<RecoTrack*> m_cdcRecoTrackVector;
107  std::vector<const SpacePoint*> m_spacePointVector;
109  std::vector<CKFToSVDState> m_seedStates;
111  std::vector<CKFToSVDState> m_states;
113  std::vector<TrackFindingCDC::WeightedRelation<CKFToSVDState>> m_relations;
115  std::vector<CKFToSVDResult> m_results;
117  std::vector<CKFToSVDResult> m_filteredResults;
118  };
120 }
Belle2::CKFToSVDFindlet::m_states
std::vector< CKFToSVDState > m_states
States for the hits.
Definition: CKFToSVDFindlet.h:119
Belle2::CKFToSVDFindlet::m_stateCreatorFromTracks
StateCreatorWithReversal< CKFToSVDState > m_stateCreatorFromTracks
Findlet for creating states out of tracks.
Definition: CKFToSVDFindlet.h:97
Belle2::CKFToSVDFindlet::m_resultStorer
ResultStorer< CKFToSVDResult > m_resultStorer
Findlet for storing the results.
Definition: CKFToSVDFindlet.h:109
Belle2::CKFToSVDFindlet::m_treeSearchFindlet
TreeSearcher< CKFToSVDState, SVDStateRejecter, CKFToSVDResult > m_treeSearchFindlet
Findlet doing the main work: the tree finding.
Definition: CKFToSVDFindlet.h:103
Belle2::CKFToSVDFindlet::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CKFToSVDFindlet.cc:45
Belle2::CKFToSVDFindlet::beginEvent
void beginEvent() override
Clear the object pools.
Definition: CKFToSVDFindlet.cc:81
Belle2::CKFToSVDFindlet::m_param_minimalHitRequirement
unsigned int m_param_minimalHitRequirement
Minimal hit requirement for the results (counted in number of space points)
Definition: CKFToSVDFindlet.h:89
Belle2::CKFToSVDFindlet::m_stateCreatorFromHits
StateCreator< const SpacePoint, CKFToSVDState > m_stateCreatorFromHits
Findlet for creating states out of hits.
Definition: CKFToSVDFindlet.h:99
Belle2::CKFToSVDFindlet::m_overlapResolver
OverlapResolver< ChooseableSVDResultFilter > m_overlapResolver
Findlet for resolving overlaps.
Definition: CKFToSVDFindlet.h:105
Belle2::CKFToSVDFindlet::m_dataHandler
TrackLoader m_dataHandler
Findlet for retrieving the cdc tracks and writing the result out.
Definition: CKFToSVDFindlet.h:93
Belle2::CKFToSVDFindlet::Super
TrackFindingCDC::Findlet<> Super
Parent class.
Definition: CKFToSVDFindlet.h:68
Belle2::ResultStorer
This findlet does also handle the storing of the results.
Definition: ResultStorer.dcl.h:38
Belle2::SpacePointLoader
Load the space points from the store array to the given vector.
Definition: SpacePointLoader.h:37
Belle2::CKFToSVDFindlet::CKFToSVDFindlet
CKFToSVDFindlet()
Constructor, for setting module description and parameters.
Definition: CKFToSVDFindlet.cc:32
Belle2::StateCreatorWithReversal
An adaption of the normal state creator introducing another parameter to reverse the seed.
Definition: StateCreatorWithReversal.dcl.h:35
Belle2::CKFToSVDFindlet::m_seedStates
std::vector< CKFToSVDState > m_seedStates
States for the tracks.
Definition: CKFToSVDFindlet.h:117
Belle2::TrackLoader
Findlet for loading the seeds from the data store.
Definition: TrackLoader.h:46
Belle2::CKFToSVDFindlet::m_results
std::vector< CKFToSVDResult > m_results
Vector for storing the results.
Definition: CKFToSVDFindlet.h:123
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::OverlapResolver
Simple findlet for searching the best candidate for a given seed aplying the given filter.
Definition: OverlapResolver.dcl.h:35
Belle2::CKFToSVDFindlet::m_filteredResults
std::vector< CKFToSVDResult > m_filteredResults
Vector for storing the filtered results.
Definition: CKFToSVDFindlet.h:125
Belle2::CKFRelationCreator
Findlet for applying filters for creating hit-hit and hit-seed relations.
Definition: CKFRelationCreator.dcl.h:35
Belle2::CKFToSVDFindlet::apply
void apply() override
Do the track/hit finding/merging.
Definition: CKFToSVDFindlet.cc:96
Belle2::CKFToSVDFindlet::m_relationCreator
CKFRelationCreator< CKFToSVDState, ChooseableSVDRelationFilter > m_relationCreator
Findlet for creating relations between states.
Definition: CKFToSVDFindlet.h:101
Belle2::TreeSearcher
Findlet for constructing result paths out of a list of states, which are connected with weighted rela...
Definition: TreeSearcher.dcl.h:47
Belle2::CKFToSVDFindlet::m_spacePointTagger
SpacePointTagger< CKFToSVDResult, SVDCluster > m_spacePointTagger
Findlet for tagging the used space points.
Definition: CKFToSVDFindlet.h:107
Belle2::StateCreator
Create new states and add them to a vector from a given object vector.
Definition: StateCreator.dcl.h:30
Belle2::SpacePointTagger
Findlet for tagging all space points in the results vector as used.
Definition: SpacePointTagger.dcl.h:36
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::CKFToSVDFindlet::m_spacePointVector
std::vector< const SpacePoint * > m_spacePointVector
Pointers to the (const) SpacePoints as a vector.
Definition: CKFToSVDFindlet.h:115
Belle2::CKFToSVDFindlet::m_hitsLoader
SpacePointLoader m_hitsLoader
Findlet for loading the space points.
Definition: CKFToSVDFindlet.h:95
Belle2::CKFToSVDFindlet::m_relations
std::vector< TrackFindingCDC::WeightedRelation< CKFToSVDState > > m_relations
Relations between states.
Definition: CKFToSVDFindlet.h:121
Belle2::CKFToSVDFindlet::m_cdcRecoTrackVector
std::vector< RecoTrack * > m_cdcRecoTrackVector
Pointers to the CDC Reco tracks as a vector.
Definition: CKFToSVDFindlet.h:113
Belle2::CKFToSVDFindlet::~CKFToSVDFindlet
~CKFToSVDFindlet() override
Default desctructor.