Belle II Software development
StoreArrayMerger.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
12#include <tracking/dataobjects/RecoTrack.h>
13
14namespace Belle2 {
19 class ModuleParamList;
20
27 class StoreArrayMerger : public TrackFindingCDC::Findlet<RecoTrack*, RecoTrack*> {
30 public:
32 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
33
35 void initialize() override;
36
38 void apply(std::vector<RecoTrack*>& cdcRecoTrackVector, std::vector<RecoTrack*>& vxdRecoTrackVector) override;
39
41 void removeCDCRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
42
44 void removeVXDRecoTracksWithPartner(std::vector<RecoTrack*>& tracks);
45
50
51 private:
52 // Parameters
57
58 // Store Arrays
63
65 void removeRecoTracksWithPartner(std::vector<RecoTrack*>& tracks, const std::string& partnerStoreArrayName);
66 };
68}
The Module parameter list class.
This findlet has helper function to.
const std::string & getCDCStoreArrayName()
Get the name of the CDC StoreArray<RecoTrack>
void apply(std::vector< RecoTrack * > &cdcRecoTrackVector, std::vector< RecoTrack * > &vxdRecoTrackVector) override
Fetch the RecoTracks from the two input Store Arrays and fill them into two vectors.
std::string m_param_cdcRecoTrackStoreArrayName
StoreArray name of the CDC Track Store Array.
void initialize() override
Require/register the store arrays.
std::string m_param_vxdRecoTrackStoreArrayName
StoreArray name of the VXD Track Store Array.
void removeCDCRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related VXD track from the vector.
StoreArray< RecoTrack > m_vxdRecoTracks
VXD Reco Tracks Store Array.
void removeRecoTracksWithPartner(std::vector< RecoTrack * > &tracks, const std::string &partnerStoreArrayName)
Helper function to remove all element in a std::vector, which have already a relation to the given st...
void removeVXDRecoTracksWithPartner(std::vector< RecoTrack * > &tracks)
Helper function to remove all tracks, which have a related CDC track from the vector.
StoreArray< RecoTrack > m_cdcRecoTracks
CDC Reco Tracks Store Array.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the findlet.
const std::string & getVXDStoreArrayName()
Get the name of the VXD StoreArray<RecoTrack>
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
Abstract base class for different kinds of events.