Belle II Software development
CDCCKFResultStorer.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/trackFindingCDC/numerics/EForwardBackward.h>
12#include <framework/datastore/StoreArray.h>
13
14#include <tracking/ckf/cdc/entities/CDCCKFResult.h>
15#include <tracking/dataobjects/RecoTrack.h>
16
17#include <string>
18#include <vector>
19
20namespace Belle2 {
25 class ModuleParamInfo;
26
28 class CDCCKFResultStorer : public TrackFindingCDC::Findlet<const CDCCKFResult> {
31
32 public:
34 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
35
37 void apply(const std::vector<CDCCKFResult>& results) override;
38
40 void initialize() override;
41
42 private:
43 // Parameters
47 TrackFindingCDC::EForwardBackward m_param_writeOutDirection = TrackFindingCDC::EForwardBackward::c_Unknown;
53 std::string m_param_outputRecoTrackStoreArrayName = "CKFRecoTracks";
59 TrackFindingCDC::EForwardBackward m_param_trackFindingDirection = TrackFindingCDC::EForwardBackward::c_Unknown;
63 RecoHitInformation::OriginTrackFinder m_trackFinderType = RecoHitInformation::c_SVDtoCDCCKF;
65 std::string m_seedComponentString = "SVD";
66
67 // Store Arrays
70 };
72}
Store resulting tracks and relations on the dataStore.
StoreArray< RecoTrack > m_outputRecoTracks
Output Reco Tracks Store Array.
void initialize() override
Register the store arrays.
std::string m_seedComponentString
Where does the seed track for the CKF come from (typically SVD, ECL)
bool m_param_exportTracks
Export the tracks or not.
std::string m_param_outputRelationRecoTrackStoreArrayName
StoreArray name of the tracks, the output reco tracks should be related to.
RecoHitInformation::OriginTrackFinder m_trackFinderType
What was used to seed the CKF (typically c_SVDtoCDCCKF, c_ECLtoCDCCKF)
bool m_param_exportAllTracks
Export all tracks, even if they did not reach the center of the CDC.
bool m_param_setTakenFlag
Set flag that hit is taken.
TrackFindingCDC::EForwardBackward m_param_writeOutDirection
Direction parameter converted from the string parameters.
TrackFindingCDC::EForwardBackward m_param_trackFindingDirection
Direction parameter converted from the string parameters.
std::string m_param_trackFindingDirectionAsString
Parameter for the direction of the CKF.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
std::string m_param_writeOutDirectionAsString
Parameter for the distance given to the framework (can not handle EForwardBackward directly)
std::string m_param_outputRecoTrackStoreArrayName
StoreArray name of the output Track Store Array.
void apply(const std::vector< CDCCKFResult > &results) override
Do the track/hit finding/merging.
The Module parameter list class.
OriginTrackFinder
The TrackFinder which has added the hit to the track.
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
EForwardBackward
Enumeration to represent the distinct possibilities of the right left passage information.
Abstract base class for different kinds of events.