Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SigmaTimingNtuple.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SigmaTimingNtuple.h
1 #ifndef SigmaTimingNtuple_h__
2 #define SigmaTimingNtuple_h__
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #ifndef __CINT__
7 #include <gsl/gsl_rng.h>
8 #endif
9 
10 #include <map>
11 #include <set>
12 #include <string>
13 #include <vector>
14 
15 // Forward declerations
17 class PHCompositeNode;
18 class PHG4Hit;
19 class TFile;
20 class TH1;
21 class TH2;
22 class TNtuple;
23 
25 {
26  public:
27 
29  SigmaTimingNtuple( const std::string &name = "SigmaTimingNtuple", const std::string &filename = "SigmaTimingNtuple.root" );
30 
32  virtual ~SigmaTimingNtuple();
33 
35  int Init(PHCompositeNode *);
36 
39 
41  int End(PHCompositeNode *);
42 
43  void AddNode(const std::string &name, const int detid=0);
44 
45 protected:
46  double get_dtotal(const PHG4Hit *hit, const double phi, const double theta);
47  int nblocks;
49  std::vector<TH1 *> nhits;
50  std::vector<TH1 *> eloss;
51  // std::vector<TH2 *> nhit_edep;
53  std::set<std::string> _node_postfix;
54  std::map<std::string, int> _detid;
55  TNtuple *ntupprim;
56  TNtuple *ntupsec;
57  TNtuple *ntupt;
58  TNtuple *ntupsigma;
59  TFile *outfile;
60 #ifndef __CINT__
61  gsl_rng *RandomGenerator;
62 #endif
63 };
64 
65 #endif