File indexing completed on 2026-07-16 08:14:51
0001 #ifndef PHTRACKTRACKSEEDSYNCHRONIZATION_H
0002 #define PHTRACKTRACKSEEDSYNCHRONIZATION_H
0003
0004 #include <fun4all/SubsysReco.h>
0005 #include <phparameter/PHParameterInterface.h>
0006 #include <trackbase/ActsGeometry.h>
0007
0008 #include <map>
0009 #include <string>
0010
0011 class PHCompositeNode;
0012 class TrackSeedContainer;
0013 class TrackSeed;
0014 class SvtxTrackSeed;
0015 class SvtxTrackMap;
0016 class SvtxTrack;
0017 class TrkrClusterContainer;
0018 class TF1;
0019 class TFile;
0020 class TNtuple;
0021
0022 class PHTrackTrackSeedSynchronization : public SubsysReco
0023 {
0024 public:
0025
0026
0027 PHTrackTrackSeedSynchronization(const std::string& = "PHTrackTrackSeedSynchronization");
0028
0029 int InitRun(PHCompositeNode *topNode) override;
0030
0031 int process_event(PHCompositeNode *) override;
0032
0033 int End(PHCompositeNode *) override;
0034
0035
0036 void set_si_seed_map_name(const std::string &map_name) { _si_seed_map_name = map_name; }
0037
0038
0039 void set_tpc_seed_map_name(const std::string &map_name) { _tpc_seed_map_name = map_name; }
0040
0041
0042 void set_svtx_track_map_name(const std::string &map_name) { _svtx_track_map_name = map_name; }
0043
0044
0045 void set_ignore_micromegas( bool value ) { m_ignore_micromegas = value; }
0046
0047 private:
0048
0049 int GetNodes(PHCompositeNode*);
0050
0051
0052 bool synchronize_track(SvtxTrack*) const;
0053
0054
0055 size_t find_seed_id( TrackSeedContainer*, TrackSeed* ) const;
0056
0057 TrackSeedContainer *_tpc_seed_map{nullptr};
0058 TrackSeedContainer *_si_seed_map{nullptr};
0059 SvtxTrackMap *_svtx_track_map{nullptr};
0060
0061 std::string _tpc_seed_map_name = "TpcTrackSeedContainer";
0062 std::string _si_seed_map_name = "SiliconTrackSeedContainer";
0063 std::string _svtx_track_map_name = "SvtxTrackMap";
0064
0065 bool m_ignore_micromegas = false;
0066
0067 };
0068
0069 #endif