Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hijbkg_upc.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file hijbkg_upc.h
1 #ifndef __HIJBKG_UPC_H__
2 #define __HIJBKG_UPC_H__
3 
4 #include <Rtypes.h>
5 #include <fun4all/SubsysReco.h>
6 
7 #include <string>
8 #include <vector>
9 #include <TParticle.h>
10 
11 class PHCompositeNode;
12 class PHG4Particle;
13 class TTree;
14 class TFile;
15 
16 class hijbkg_upc : public SubsysReco
17 {
18  public:
19 
20  hijbkg_upc(const std::string &name = "hijbkg_upc");
21 
22  ~hijbkg_upc() override;
23 
29  int Init(PHCompositeNode *topNode) override;
30 
36  int InitRun(PHCompositeNode *topNode) override;
37 
41  int process_event(PHCompositeNode *topNode) override;
42 
44  int ResetEvent(PHCompositeNode *topNode) override;
45 
47  int EndRun(const int runnumber) override;
48 
50  int End(PHCompositeNode *topNode) override;
51 
53  int Reset(PHCompositeNode * /*topNode*/) override;
54 
55  void Print(const std::string &what = "ALL") const override;
56 
57  private:
58 
59  TTree *T;
60  int m_evt {0}; // event number
61  Float_t m_cent = 0; // centrality
62  Float_t m_b = 0; // impact parameter
63  TParticle m_part[2]; // particle 1 and 2
64 
65  std::vector<int> m_pid = {0};
66  std::vector<Float_t> m_pt = {0};
67  std::vector<Float_t> m_eta = {0};
68  std::vector<Float_t> m_phi = {0};
69  std::vector<Float_t> m_e = {0};
70  std::vector<Float_t> m_p = {0};
71  Float_t m_psi2 = 0;
72 
74  TFile *out;
75 
76  int isStableCharged(int pid);
77  float getpT(PHG4Particle *particle);
80  float getP(PHG4Particle *particle);
81 
82 };
83 
84 #endif // __HIJBKG_UPC_H__