Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SvtxEvaluatorHaiwang.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SvtxEvaluatorHaiwang.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 
30 
31 public:
32 
33  SvtxEvaluatorHaiwang(const std::string &name = "SVTXEVALUATOR",
34  const std::string &filename = "g4eval.root");
35  virtual ~SvtxEvaluatorHaiwang() {}
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__