Belle II Software  release-05-01-25
CDCCKFResultStorer.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, Simon Kurz *
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/numerics/EForwardBackward.h>
14 #include <framework/datastore/StoreArray.h>
15 
16 #include <tracking/ckf/cdc/entities/CDCCKFResult.h>
17 #include <tracking/dataobjects/RecoTrack.h>
18 
19 #include <string>
20 #include <vector>
21 
22 namespace Belle2 {
27  class ModuleParamInfo;
28 
30  class CDCCKFResultStorer : public TrackFindingCDC::Findlet<const CDCCKFResult> {
32  using Super = TrackFindingCDC::Findlet<const CDCCKFResult>;
33 
34  public:
36  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
37 
39  void apply(const std::vector<CDCCKFResult>& results) override;
40 
42  void initialize() override;
43 
44  private:
45  // Parameters
47  std::string m_param_writeOutDirectionAsString = "both";
49  TrackFindingCDC::EForwardBackward m_param_writeOutDirection = TrackFindingCDC::EForwardBackward::c_Unknown;
51  bool m_param_exportTracks = true;
53  bool m_param_exportAllTracks = false;
55  std::string m_param_outputRecoTrackStoreArrayName = "CKFRecoTracks";
59  std::string m_param_trackFindingDirectionAsString = "forward";
61  TrackFindingCDC::EForwardBackward m_param_trackFindingDirection = TrackFindingCDC::EForwardBackward::c_Unknown;
63  bool m_param_setTakenFlag = true;
65  RecoHitInformation::OriginTrackFinder m_trackFinderType = RecoHitInformation::c_SVDtoCDCCKF;
67  std::string m_seedComponentString = "SVD";
68 
69  // Store Arrays
72  };
74 }
Belle2::CDCCKFResultStorer::m_param_trackFindingDirection
TrackFindingCDC::EForwardBackward m_param_trackFindingDirection
Direction parameter converted from the string parameters.
Definition: CDCCKFResultStorer.h:69
Belle2::CDCCKFResultStorer::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
Definition: CDCCKFResultStorer.cc:21
Belle2::CDCCKFResultStorer::Super
TrackFindingCDC::Findlet< const CDCCKFResult > Super
Parent class.
Definition: CDCCKFResultStorer.h:40
Belle2::CDCCKFResultStorer::m_param_exportTracks
bool m_param_exportTracks
Export the tracks or not.
Definition: CDCCKFResultStorer.h:59
Belle2::CDCCKFResultStorer::m_param_writeOutDirectionAsString
std::string m_param_writeOutDirectionAsString
Parameter for the distance given to the framework (can not handle EForwardBackward directly)
Definition: CDCCKFResultStorer.h:55
Belle2::CDCCKFResultStorer::m_param_writeOutDirection
TrackFindingCDC::EForwardBackward m_param_writeOutDirection
Direction parameter converted from the string parameters.
Definition: CDCCKFResultStorer.h:57
Belle2::CDCCKFResultStorer::m_param_setTakenFlag
bool m_param_setTakenFlag
Set flag that hit is taken.
Definition: CDCCKFResultStorer.h:71
Belle2::CDCCKFResultStorer::m_param_trackFindingDirectionAsString
std::string m_param_trackFindingDirectionAsString
Parameter for the direction of the CKF.
Definition: CDCCKFResultStorer.h:67
Belle2::TrackFindingCDC::NForwardBackward::EForwardBackward
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Definition: EForwardBackward.h:35
Belle2::CDCCKFResultStorer::m_param_outputRelationRecoTrackStoreArrayName
std::string m_param_outputRelationRecoTrackStoreArrayName
StoreArray name of the tracks, the output reco tracks should be related to.
Definition: CDCCKFResultStorer.h:65
Belle2::CDCCKFResultStorer::apply
void apply(const std::vector< CDCCKFResult > &results) override
Do the track/hit finding/merging.
Definition: CDCCKFResultStorer.cc:89
Belle2::RecoHitInformation::OriginTrackFinder
OriginTrackFinder
The TrackFinder which has added the hit to the track.
Definition: RecoHitInformation.h:80
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDCCKFResultStorer::m_outputRecoTracks
StoreArray< RecoTrack > m_outputRecoTracks
Output Reco Tracks Store Array.
Definition: CDCCKFResultStorer.h:79
Belle2::CDCCKFResultStorer::m_seedComponentString
std::string m_seedComponentString
Where does the seed track for the CKF come from (typically SVD, ECL)
Definition: CDCCKFResultStorer.h:75
Belle2::CDCCKFResultStorer::m_param_exportAllTracks
bool m_param_exportAllTracks
Export all tracks, even if they did not reach the center of the CDC.
Definition: CDCCKFResultStorer.h:61
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::CDCCKFResultStorer::m_param_outputRecoTrackStoreArrayName
std::string m_param_outputRecoTrackStoreArrayName
StoreArray name of the output Track Store Array.
Definition: CDCCKFResultStorer.h:63
Belle2::CDCCKFResultStorer::initialize
void initialize() override
Register the store arrays.
Definition: CDCCKFResultStorer.cc:61
Belle2::CDCCKFResultStorer::m_trackFinderType
RecoHitInformation::OriginTrackFinder m_trackFinderType
What was used to seed the CKF (typically c_SVDtoCDCCKF, c_ECLtoCDCCKF)
Definition: CDCCKFResultStorer.h:73