ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
getVectors.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file getVectors.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef GETVECTORS_H
4 #define GETVECTORS_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <g4main/PHG4Hit.h>
10 #include <g4main/PHG4Particle.h>
12 
13 #include <TBranch.h>
14 #include <TFile.h>
15 #include <TTree.h>
16 
17 #include <string>
18 
19 class PHCompositeNode;
20 class GlobalVertexMap;
21 class PHG4HitContainer;
22 class PHG4Hit;
24 class PHG4Particle;
25 
26 namespace CLHEP {
27 class Hep3Vector;
28 }
29 
30 class getVectors : public SubsysReco {
31 public:
32  getVectors(const std::string &name = "getVectors");
33 
34  virtual ~getVectors();
35 
41  int Init(PHCompositeNode *topNode) override;
42 
46  int process_event(PHCompositeNode *topNode) override;
47 
49  int End(PHCompositeNode *topNode) override;
50 
51  void setOutputName(const std::string &name) { m_outfile_name = name; }
52 
53 private:
57 
58  void initializeBranches();
59 
60  std::string m_outfile_name;
61  TFile *m_outfile;
62  TTree *m_tree;
63 
64  unsigned int m_event_number = 0;
65  int m_pdg_id = 0;
66  int m_track_id = 0;
67  int m_barcode = 0;
68  float m_particle_px = -99;
69  float m_particle_py = -99;
70  float m_particle_pz = -99;
71  float m_particle_pt = -99;
72  float m_particle_p = -99;
73  float m_particle_eta = -99;
74  float m_particle_phi = -99;
75 
76  float m_delta_phi = -99;
77  float m_std_dev = -99;
78 };
79 
80 #endif // GETVECTORS_H