Belle II Software development
RecoTrackStorer.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 <framework/datastore/StoreArray.h>
11#include <tracking/trackFindingCDC/findlets/base/Findlet.h>
12#include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
13#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
14
15#include <string>
16#include <vector>
17
18namespace Belle2 {
23 class ModuleParamList;
24 class SpacePointTrackCand;
25 class SpacePoint;
26 class RecoTrack;
27 class SVDCluster;
28
29 namespace vxdHoughTracking {
30
32 class RecoTrackStorer : public TrackFindingCDC::Findlet<SpacePointTrackCand, const SpacePoint* const> {
35
36 public:
39
42
44 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
45
47 void initialize() override;
48
50 void beginRun() override;
51
53 void beginEvent() override;
54
56 void apply(std::vector<SpacePointTrackCand>& finishedResults,
57 const std::vector<const SpacePoint*>& spacePoints) override;
58
59 private:
61 std::string m_RecoTracksStoreArrayName = "SVDHoughRecoTracks";
63 std::string m_SVDClustersStoreArrayName = "SVDClusters";
65 std::string m_SVDSpacePointTrackCandsStoreArrayName = "SVDHoughSpacePointTrackCands";
66
69
72
74 std::set<const SVDCluster*> m_usedClusters;
76 std::set<const SpacePoint*> m_usedSpacePoints;
77
79 std::unique_ptr<QualityEstimatorBase> m_estimator;
81 std::string m_MCRecoTracksStoreArrayName = "MCRecoTracks";
86 std::string m_EstimationMethod = "helixFit";
87 };
88
89 }
91}
The Module parameter list class.
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Store RecoTracks into StoreArray.
void apply(std::vector< SpacePointTrackCand > &finishedResults, const std::vector< const SpacePoint * > &spacePoints) override
Store the finishey SpacePointTrackCands into RecoTracks and tag the SpacePoints.
bool m_MCStrictQualityEstimator
Only required for MCInfo method.
void initialize() override
Create the store arrays.
std::string m_SVDSpacePointTrackCandsStoreArrayName
StoreArray name of the SpacePointTrackCandidate StoreArray.
std::string m_EstimationMethod
Identifier which estimation method to use.
std::string m_SVDClustersStoreArrayName
StoreArray name of the SVDCluster StoreArray.
std::set< const SVDCluster * > m_usedClusters
Store the used clusters in the results.
StoreArray< SpacePointTrackCand > m_storeSpacePointTrackCands
Output SpacePointTrackCand Store Array.
std::string m_MCRecoTracksStoreArrayName
sets the name of the expected StoreArray containing MCRecoTracks. Only required for MCInfo method
void beginEvent() override
Reset internal vectors.
std::unique_ptr< QualityEstimatorBase > m_estimator
pointer to the selected QualityEstimator
StoreArray< RecoTrack > m_storeRecoTracks
Output RecoTracks Store Array.
std::set< const SpacePoint * > m_usedSpacePoints
Store the used space points in the results.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
std::string m_RecoTracksStoreArrayName
StoreArray name of the output Track StoreArray.
Abstract base class for different kinds of events.