Belle II Software development
CKFToCDCFindlet.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/general/findlets/TrackLoader.h>
13#include <tracking/ckf/cdc/findlets/CDCCKFSeedCreator.h>
14#include <tracking/ckf/cdc/findlets/StackTreeSearcher.h>
15#include <tracking/ckf/cdc/findlets/CDCCKFResultFinalizer.h>
16#include <tracking/ckf/cdc/findlets/CDCCKFResultStorer.h>
17
18#include <tracking/ckf/cdc/entities/CDCCKFPath.h>
19
20#include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
21
22#include <vector>
23
24namespace Belle2 {
29 class RecoTrack;
30
31 class ModuleParamList;
32
34 class CKFToCDCFindlet : public TrackFindingCDC::Findlet<const TrackFindingCDC::CDCWireHit> {
37
38 public:
41
43 ~CKFToCDCFindlet() override;
44
46 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
47
49 void apply(const std::vector<TrackFindingCDC::CDCWireHit>& wireHits) override;
50
52 void beginEvent() override;
53
54 private:
55 // Findlets
66
67 // Object pools
69 std::vector<RecoTrack*> m_vxdRecoTrackVector;
71 std::vector<CDCCKFPath> m_paths;
73 std::vector<CDCCKFPath> m_seeds;
75 std::vector<CDCCKFResult> m_results;
76 };
78}
Findlet to finalize CKF Paths in terms of final result.
Store resulting tracks and relations on the dataStore.
Create a CKF seed based on RecoTrack (presumably from VXDTF2)
Main findlet of the ToCDCCKF module.
std::vector< CDCCKFResult > m_results
Current list of results.
std::vector< CDCCKFPath > m_seeds
Current list of seeds.
CDCCKFResultStorer m_resultStorer
Result Storer.
void apply(const std::vector< TrackFindingCDC::CDCWireHit > &wireHits) override
Do the track/hit finding/merging.
CDCCKFSeedCreator m_seedCreator
Seed Creator.
~CKFToCDCFindlet() override
Default destructor.
StackTreeSearcher m_treeSearcher
Tree Searcher.
CDCCKFResultFinalizer m_resultFinalizer
Result Finalizer.
void beginEvent() override
Clear the object pools.
TrackLoader m_trackHandler
Findlet for retrieving the vxd tracks and writing the result out.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
std::vector< RecoTrack * > m_vxdRecoTrackVector
Pointers to the CDC Reco tracks as a vector.
CKFToCDCFindlet()
Constructor, for setting module description and parameters.
std::vector< CDCCKFPath > m_paths
Current list of paths.
The Module parameter list class.
CKF tree searcher which traces several best paths.
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
Abstract base class for different kinds of events.