Belle II Software  release-08-01-10
TrackCandidateResultRefiner.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 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorBase.h>
12 #include <tracking/vxdHoughTracking/findlets/TrackCandidateOverlapResolver.h>
13 #include <tracking/trackFindingCDC/utilities/WeightedRelation.h>
14 
15 #include <string>
16 #include <vector>
17 
18 namespace Belle2 {
23  class SpacePointTrackCand;
24  class ModuleParamList;
25 
26  namespace vxdHoughTracking {
27 
29  class TrackCandidateResultRefiner : public TrackFindingCDC::Findlet<SpacePointTrackCand, SpacePointTrackCand> {
32 
33  public:
36 
39 
41  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
42 
44  void initialize() override;
45 
47  void beginRun() override;
48 
50  void apply(std::vector<SpacePointTrackCand>& unrefinedResults, std::vector<SpacePointTrackCand>& refinedResults) override;
51 
52  private:
55  std::string m_EstimationMethod = "tripletFit";
57  std::string m_MCRecoTracksStoreArrayName = "MCRecoTracks";
61  std::unique_ptr<QualityEstimatorBase> m_estimator;
62 
65 
72 
75  };
76 
77  }
79 }
The Module parameter list class.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition: Findlet.h:26
Interface for an algorithm part that needs to receive the module processing signals.
Findlet for rejecting wrong SpacePointTrackCands and for removing bad hits.
Findlet for rejecting wrong SpacePointTrackCands and for removing bad hits.
double m_minQualitiyIndicatorSize4
Cut on the quality estimator and only further propagate SPTCs with four hits that are above this valu...
std::string m_EstimationMethod
Identifier which estimation method to use.
uint m_maxNumberOfEachPathLength
Accept nHits for each size at maximum.
double m_minQualitiyIndicatorSize3
Cut on the quality estimator and only further propagate SPTCs with three hits that are above this val...
void apply(std::vector< SpacePointTrackCand > &unrefinedResults, std::vector< SpacePointTrackCand > &refinedResults) override
Reject bad SpacePointTrackCands and bad hits inside the remaining.
void beginRun() override
End run and write Root file.
TrackCandidateOverlapResolver m_overlapResolver
Resolve hit overlaps in track candidates.
std::string m_MCRecoTracksStoreArrayName
sets the name of the expected StoreArray containing MCRecoTracks. Only required for MCInfo method
std::unique_ptr< QualityEstimatorBase > m_estimator
pointer to the selected QualityEstimator
double m_minQualitiyIndicatorSize5
Cut on the quality estimator and only further propagate SPTCs with five hits that are above this valu...
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
TrackCandidateResultRefiner()
Find intercepts in the 2D Hough space.
Abstract base class for different kinds of events.