File indexing completed on 2025-08-05 08:17:21
0001
0002
0003 #ifndef PHSILICONSEEDMERGER_H
0004 #define PHSILICONSEEDMERGER_H
0005
0006 #include <fun4all/SubsysReco.h>
0007
0008 #include <algorithm>
0009 #include <string>
0010 #include <vector>
0011
0012 class PHCompositeNode;
0013 class TrackSeedContainer;
0014
0015 class PHSiliconSeedMerger : public SubsysReco
0016 {
0017 public:
0018 PHSiliconSeedMerger(const std::string &name = "PHSiliconSeedMerger");
0019
0020 virtual ~PHSiliconSeedMerger();
0021
0022 int Init(PHCompositeNode *topNode) override;
0023 int InitRun(PHCompositeNode *topNode) override;
0024 int process_event(PHCompositeNode *topNode) override;
0025 int ResetEvent(PHCompositeNode *topNode) override;
0026 int End(PHCompositeNode *topNode) override;
0027
0028 void trackMapName(const std::string &name) { m_trackMapName = name; }
0029 void clusterOverlap(const unsigned int nclusters) { m_clusterOverlap = nclusters; }
0030 void searchIntt() { m_mvtxOnly = false; }
0031
0032 private:
0033 int getNodes(PHCompositeNode *topNode);
0034
0035 TrackSeedContainer *m_siliconTracks{nullptr};
0036 std::string m_trackMapName{"SiliconTrackSeedContainer"};
0037 unsigned int m_clusterOverlap{1};
0038 bool m_mvtxOnly{true};
0039 };
0040
0041 #endif