Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:17:23

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 
0004 /*!
0005  *  \file         PHTrackCleaner
0006  *  \brief      Class for deciding which track based on a given TPC seed is the best one
0007  *  \author  Tony Frawley <afrawley@fsu.edu>
0008  */
0009 
0010 #ifndef PHTRACKCLEANER_H
0011 #define PHTRACKCLEANER_H
0012 
0013 #include <fun4all/SubsysReco.h>
0014 
0015 #include <map>
0016 #include <string>
0017 #include <vector>
0018 
0019 class PHCompositeNode;
0020 class SvtxTrack;
0021 class SvtxTrackMap;
0022 class TrkrCluster;
0023 class TrackSeedContainer;
0024 
0025 class PHTrackCleaner : public SubsysReco
0026 {
0027  public:
0028   PHTrackCleaner(const std::string &name = "PHTrackCleaner");
0029 
0030   ~PHTrackCleaner() override;
0031 
0032   int InitRun(PHCompositeNode *topNode) override;
0033   int process_event(PHCompositeNode *topNode) override;
0034   int End(PHCompositeNode *topNode) override;
0035 
0036   void set_pp_mode(const bool flag) { _pp_mode = flag; }
0037   void set_quality_cut(const float cut) { quality_cut = cut; }
0038 
0039  private:
0040   int GetNodes(PHCompositeNode *topNode);
0041   void findGhostTracks();
0042 
0043   SvtxTrackMap *_track_map{nullptr};
0044   SvtxTrack *_track{nullptr};
0045   TrackSeedContainer *_tpc_seed_map{nullptr};
0046   TrackSeedContainer *_silicon_seed_map{nullptr};
0047 
0048   double min_ndf = 25;
0049   float quality_cut = 150.0;
0050   bool _pp_mode = false;
0051 };
0052 
0053 #endif  // PHTRACKCLEANER_H