Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sPHAnalysis.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file sPHAnalysis.h
1 
2 #ifndef __SPHANALYSIS_H__
3 #define __SPHANALYSIS_H__
4 
5 #include <fun4all/SubsysReco.h>
6 
7 #include <TVector3.h>
8 
9 #include <HepMC/GenEvent.h> // for GenEvent::particle_const_ite...
10 #include <HepMC/GenParticle.h> // for GenParticle
11 
12 
13 class TFile;
14 class TNtuple;
15 class TH1D;
16 class TF1;
17 class TRandom;
18 class SvtxTrack;
19 class RawCluster;
21 class RawTowerContainer;
23 
24 class sPHAnalysis: public SubsysReco {
25 
26 public:
27 
28  sPHAnalysis(const std::string &name = "sPHAnalysis", const std::string &filename = "test.root");
29  virtual ~sPHAnalysis() {}
30 
31  int Init(PHCompositeNode *topNode);
32  int InitRun(PHCompositeNode *topNode);
33  int process_event(PHCompositeNode *topNode);
34  int End(PHCompositeNode *topNode);
35 
36  void set_whattodo(int what) { _whattodo = what; }
37 
38 protected:
39 
43  int process_event_test(PHCompositeNode *topNode);
44  int process_event_bimp(PHCompositeNode *topNode);
48 
49  HepMC::GenParticle* GetParent(HepMC::GenParticle*, HepMC::GenEvent*);
50 
51  RawCluster* MatchClusterCEMC(SvtxTrack* track, RawClusterContainer* cemc_clusters, double &dphi, double &deta, double Zvtx, int what);
52  double Get_CAL_e3x3(SvtxTrack* track, RawTowerContainer* _towersRawOH, RawTowerGeomContainer* _geomOH, int what, double Zvtx, double &dphi, double &deta);
53  TVector3 GetProjectionToCalorimeter(SvtxTrack* track, int what);
54 
55  bool isElectron(SvtxTrack* trk);
56 
59 
60  TNtuple* ntp_notracking;
61  TNtuple* ntppid;
62  TNtuple* ntpb;
63  TNtuple* ntp1;
64  TNtuple* ntp2;
65  TNtuple* ntpmc1;
66  TNtuple* ntpmc2;
67 
68  TH1D* hmult;
69  TH1D* hmass;
70  TH1D* hgmass;
71  TH1D* hgmass0;
72  TH1D* hgmass09;
73  TH1D* hdphi;
74  TH1D* hdeta;
75  TH1D* heop;
76  TH1D* heop3x3;
77  TH1D* heop5x5;
78  TH1D* hdca2d;
79  TH1D* hdca3dxy;
80  TH1D* hdca3dz;
81  TH1D* hchi2;
82  TH1D* hndf;
83  TH1D* hquality;
91 
92  TH1D* test;
93 
95 
96  TRandom* _rng;
97  TF1 *fsin = nullptr;
98 
99  int _whattodo;
100 
101 };
102 
103 #endif
104