File indexing completed on 2025-08-06 08:18:34
0001
0002
0003
0004
0005
0006
0007 #ifndef TRACKRECO_PHTRACKSETMERGING_H
0008 #define TRACKRECO_PHTRACKSETMERGING_H
0009
0010
0011 #include <fun4all/SubsysReco.h>
0012
0013
0014 #include <string>
0015
0016
0017 class PHCompositeNode;
0018
0019
0020 class TrkrClusterContainer;
0021 class SvtxVertexMap;
0022 class SvtxTrackMap;
0023
0024
0025
0026
0027
0028 class PHTrackSetMerging : public SubsysReco
0029 {
0030 public:
0031 PHTrackSetMerging(const std::string &name = "PHTrackSetMerging");
0032 ~PHTrackSetMerging() override {}
0033
0034 int Init(PHCompositeNode *topNode) override;
0035 int InitRun(PHCompositeNode *topNode) override;
0036 int process_event(PHCompositeNode *topNode) override;
0037 int End(PHCompositeNode *topNode) override;
0038 int Setup(PHCompositeNode *topNode);
0039 void set_track_map_name_in1(const std::string &map_name) { _track_map_name_in1 = map_name; }
0040 void set_track_map_name_in2(const std::string &map_name) { _track_map_name_in2 = map_name; }
0041 void set_track_map_name_out(const std::string &map_name) { _track_map_name_out = map_name; }
0042
0043 protected:
0044
0045
0046
0047
0048
0049
0050 virtual int Process(PHCompositeNode *topNode) = 0;
0051
0052
0053
0054
0055
0056 TrkrClusterContainer *_cluster_map = nullptr;
0057 SvtxVertexMap *_vertex_map = nullptr;
0058 SvtxTrackMap *_track_map_in1 = nullptr;
0059 SvtxTrackMap *_track_map_in2 = nullptr;
0060 SvtxTrackMap *_track_map_out = nullptr;
0061
0062 std::string _track_map_name_in1 = "SvtxTrackMap1";
0063 std::string _track_map_name_in2 = "SvtxTrackMap2";
0064 std::string _track_map_name_out = "SvtxTrackMapMerged";
0065
0066 private:
0067
0068 int CreateNodes(PHCompositeNode *topNode);
0069
0070
0071 int GetNodes(PHCompositeNode *topNode);
0072 };
0073
0074 #endif