ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHTruthSiliconAssociation.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHTruthSiliconAssociation.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef PHTRUTHSILICONASSOCIATION_H
4 #define PHTRUTHSILICONASSOCIATION_H
5 
6 #include <fun4all/SubsysReco.h>
7 #include <trackbase/TrkrDefs.h>
8 
9 #include <string>
10 #include <set>
11 #include <vector>
12 
13 class PHCompositeNode;
14 class SvtxTrackMap;
15 class SvtxTrack;
16 class SvtxVertexMap;
20 class TrkrHitTruthAssoc;
22 class PHG4HitContainer;
23 class PHG4Particle;
24 class AssocInfoContainer;
25 class TpcSeedTrackMap;
26 
28 {
29  public:
30 
31  PHTruthSiliconAssociation(const std::string &name = "PHTruthSiliconAssociation");
32 
33  ~PHTruthSiliconAssociation() override;
34 
35  int Init(PHCompositeNode *topNode) override;
36 
37  int InitRun(PHCompositeNode *topNode) override;
38 
39  int process_event(PHCompositeNode *topNode) override;
40 
42  int ResetEvent(PHCompositeNode *topNode) override;
43 
45  int EndRun(const int runnumber) override;
46 
48  int End(PHCompositeNode *topNode) override;
49 
51  int Reset(PHCompositeNode * /*topNode*/) override;
52 
53  void Print(const std::string &what = "ALL") const override;
54 
55  private:
56 
57  int GetNodes(PHCompositeNode* topNode);
59 
60  std::vector<PHG4Particle*> getG4PrimaryParticle(SvtxTrack *track);
61  std::set<TrkrDefs::cluskey> getSiliconClustersFromParticle(PHG4Particle* g4particle);
62 
67 
75  SvtxTrack *_tracklet{nullptr};
78 
79  std::string _tpcseed_track_map_name = "TpcSeedTrackMap";
80 
81 };
82 
83 #endif // PHTRUTHSILICONASSOCIATION_H