Belle II Software  release-05-01-25
RelationApplier.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/trackFindingCDC/utilities/WeightedRelation.h>
14 #include <tracking/trackFindingCDC/numerics/EForwardBackward.h>
15 
16 namespace Belle2 {
21  class RecoTrack;
22  class ModuleParamList;
23 
25  class RelationApplier : public TrackFindingCDC::Findlet<const TrackFindingCDC::WeightedRelation<const RecoTrack, const RecoTrack>> {
26  public:
28  using Super = TrackFindingCDC::Findlet<const TrackFindingCDC::WeightedRelation<const RecoTrack, const RecoTrack>>;
29 
30  void initialize() final;
31 
33  void apply(const std::vector<TrackFindingCDC::WeightedRelation<const RecoTrack, const RecoTrack>>& relationsCDCToSVD) final;
34 
36  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
37 
38  private:
39  // Parameters
41  std::string m_param_writeOutDirectionAsString = "both";
43  TrackFindingCDC::EForwardBackward m_param_writeOutDirection = TrackFindingCDC::EForwardBackward::c_Unknown;
45  std::string m_param_fromRelationsStoreArrayName = "CDCRecoTracks";
47  std::string m_param_toRelationsStoreArrayName = "SVDRecoTracks";
48  };
50 }
Belle2::RelationApplier::Super
TrackFindingCDC::Findlet< const TrackFindingCDC::WeightedRelation< const RecoTrack, const RecoTrack > > Super
The parent findlet.
Definition: RelationApplier.h:36
Belle2::RelationApplier::m_param_writeOutDirection
TrackFindingCDC::EForwardBackward m_param_writeOutDirection
Direction parameter converted from the string parameters.
Definition: RelationApplier.h:51
Belle2::RelationApplier::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose parameters.
Definition: RelationApplier.cc:46
Belle2::RelationApplier::initialize
void initialize() final
Receive signal before the start of the event processing.
Definition: RelationApplier.cc:21
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2::RelationApplier::m_param_toRelationsStoreArrayName
std::string m_param_toRelationsStoreArrayName
Create relations to this store array.
Definition: RelationApplier.h:55
Belle2::RelationApplier::m_param_fromRelationsStoreArrayName
std::string m_param_fromRelationsStoreArrayName
Create relations from this store array.
Definition: RelationApplier.h:53
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::RelationApplier::m_param_writeOutDirectionAsString
std::string m_param_writeOutDirectionAsString
Parameter for the distance given to the framework (can not handle EForwardBackward directly)
Definition: RelationApplier.h:49
Belle2::RelationApplier::apply
void apply(const std::vector< TrackFindingCDC::WeightedRelation< const RecoTrack, const RecoTrack >> &relationsCDCToSVD) final
Copy the relations to the store array.
Definition: RelationApplier.cc:36
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46