Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
psTOFTimezeroEval.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file psTOFTimezeroEval.h
1 #ifndef SVTXEVALUATOR_HAIWANG_H__
2 #define SVTXEVALUATOR_HAIWANG_H__
3 
4 //===============================================
8 //===============================================
9 
10 
11 #include <fun4all/SubsysReco.h>
12 
13 #include <string>
14 
15 class PHCompositeNode;
16 
17 class SvtxEvalStack;
18 class TFile;
19 class TNtuple;
20 
29 class psTOFTimezeroEval : public SubsysReco {
30 
31 public:
32 
33  psTOFTimezeroEval(const std::string &name = "SVTXEVALUATOR",
34  const std::string &filename = "g4eval.root");
35  virtual ~psTOFTimezeroEval() {}
36 
37  int Init(PHCompositeNode *topNode);
38  int InitRun(PHCompositeNode *topNode);
39  int process_event(PHCompositeNode *topNode);
40  int End(PHCompositeNode *topNode);
41 
42  void set_strict(bool b) {_strict = b;}
43 
46  void do_g4hit_eval(bool b) {_do_g4hit_eval = b;}
47  void do_hit_eval(bool b) {_do_hit_eval = b;}
50  void do_track_eval(bool b) {_do_track_eval = b;}
51 
53 
54  private:
55 
56  unsigned int _ievent;
57 
58  // eval stack
60 
61  //----------------------------------
62  // evaluator output ntuples
63 
64  bool _strict;
65  unsigned int _errors;
66 
74 
76 
77  TNtuple *_ntp_vertex;
78  TNtuple *_ntp_gpoint;
79  TNtuple *_ntp_g4hit;
80  TNtuple *_ntp_hit;
81  TNtuple *_ntp_cluster;
82  TNtuple *_ntp_gtrack;
83  TNtuple *_ntp_track;
84 
85  // evaluator output file
87  TFile *_tfile;
88 
89  // output subroutines
90  void fillOutputNtuples(PHCompositeNode* topNode);
91  void printInputInfo(PHCompositeNode* topNode);
92  void printOutputInfo(PHCompositeNode* topNode);
93 };
94 
95 #endif // SVTXEVALUATOR_HAIWANG_H__