File indexing completed on 2025-12-16 09:18:08
0001
0002
0003 #ifndef TRUTHTOSVTXTRACK_H
0004 #define TRUTHTOSVTXTRACK_H
0005
0006 #include <fun4all/SubsysReco.h>
0007 #include <fun4all/Fun4AllReturnCodes.h>
0008
0009 #include <phool/PHCompositeNode.h>
0010 #include <phool/getClass.h>
0011
0012 #include <trackbase/TrkrClusterv4.h>
0013 #include <trackbase/TrkrClusterContainerv4.h>
0014 #include <trackbase/ActsGeometry.h>
0015 #include <ffaobjects/EventHeaderv1.h>
0016
0017 #include <phool/getClass.h>
0018
0019 #include <globalvertex/GlobalVertexMap.h>
0020 #include <globalvertex/SvtxVertexMap.h>
0021 #include <ffarawobjects/Gl1Packet.h>
0022 #include <trackbase_historic/SvtxPHG4ParticleMap_v1.h>
0023 #include <trackbase_historic/SvtxTrack.h>
0024 #include <trackbase_historic/SvtxTrack_v1.h>
0025 #include <trackbase_historic/SvtxTrack_v2.h>
0026 #include <trackbase_historic/SvtxTrackMap.h>
0027 #include <trackbase_historic/SvtxTrackMap_v1.h>
0028 #include <trackbase_historic/SvtxTrackState_v1.h>
0029 #include <trackbase_historic/TrackSeed.h>
0030
0031 #include <trackbase/TrkrClusterv4.h>
0032 #include <trackbase/TrkrClusterContainerv4.h>
0033 #include <trackbase/TrkrDefs.h>
0034 #include <trackbase/ActsGeometry.h>
0035
0036 #include <ffaobjects/EventHeaderv1.h>
0037
0038 #include <calobase/RawCluster.h>
0039 #include <calobase/RawClusterContainer.h>
0040 #include <calobase/RawTower.h>
0041 #include <calobase/RawTowerContainer.h>
0042 #include <calobase/RawTowerGeom.h>
0043 #include <calobase/RawTowerGeomContainer.h>
0044 #include <calobase/TowerInfoContainer.h>
0045 #include <calobase/TowerInfoContainerv1.h>
0046 #include <calobase/TowerInfoContainerv2.h>
0047 #include <calobase/TowerInfoContainerv3.h>
0048 #include <calobase/TowerInfo.h>
0049
0050 #include <g4main/PHG4Hit.h>
0051 #include <g4main/PHG4Particle.h>
0052 #include <g4main/PHG4TruthInfoContainer.h>
0053 #include <g4main/PHG4VtxPoint.h>
0054 #include <g4main/PHG4HitContainer.h>
0055 #include <g4main/PHG4TruthInfoContainer.h>
0056 #include <g4main/PHG4Shower.h>
0057 #include <g4main/PHG4HitDefs.h>
0058
0059 #include <fun4all/SubsysReco.h>
0060
0061 #include <globalvertex/GlobalVertexMap.h>
0062
0063 #include <vector>
0064 #include <string>
0065 #include <iostream>
0066 #include <iomanip>
0067
0068 #include <TDatabasePDG.h>
0069 #include <TFile.h>
0070 #include <TH1D.h>
0071 #include <TH2.h>
0072 #include <TH2F.h>
0073 #include <TTree.h>
0074 #include <TCanvas.h>
0075 #include <TGraph.h>
0076 #include <TString.h>
0077 #include <TPad.h>
0078 #include <TLorentzVector.h>
0079
0080 class PHCompositeNode;
0081
0082 class TruthToSvtxTrack : public SubsysReco
0083 {
0084 public:
0085 TruthToSvtxTrack(
0086 const std::string & name_in = "TruthToSvtxTrack"
0087 );
0088
0089
0090 ~TruthToSvtxTrack() override;
0091
0092
0093
0094
0095
0096
0097 int Init(PHCompositeNode *topNode) override;
0098
0099
0100
0101
0102
0103
0104 int InitRun(PHCompositeNode * ) override;
0105
0106
0107
0108
0109 int process_event(PHCompositeNode *topNode) override;
0110
0111
0112 int ResetEvent(PHCompositeNode *topNode) override;
0113
0114
0115 int EndRun(const int runnumber) override;
0116
0117
0118 int End(PHCompositeNode *topNode) override;
0119
0120
0121 int Reset(PHCompositeNode * ) override;
0122
0123 void Print(const std::string &what = "ALL") const override;
0124
0125 private:
0126 int createTracksFromTruth(PHCompositeNode* topNode);
0127
0128 PHG4TruthInfoContainer *m_truth_info = nullptr;
0129 };
0130
0131 #endif