ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JetEvaluator.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file JetEvaluator.h
1 #ifndef G4EVAL_JETEVALUATOR_H
2 #define G4EVAL_JETEVALUATOR_H
3 
4 //===============================================
8 //===============================================
9 
10 #include <fun4all/SubsysReco.h>
11 
12 #include <string>
13 
14 class JetEvalStack;
15 class PHCompositeNode;
16 class TFile;
17 class TNtuple;
18 
27 class JetEvaluator : public SubsysReco
28 {
29  public:
30  JetEvaluator(const std::string &name = "JETEVALUATOR",
31  const std::string &recojetname = "AntiKt_Tower_r0.3",
32  const std::string &truthjetname = "AntiKt_Truth_r0.3",
33  const std::string &filename = "g4eval_jets.root");
34  ~JetEvaluator() override{};
35 
36  int Init(PHCompositeNode *topNode) override;
37  int process_event(PHCompositeNode *topNode) override;
38  int End(PHCompositeNode *topNode) override;
39 
40  void set_strict(bool b) { _strict = b; }
41 
42  private:
43  std::string _recojetname;
44  std::string _truthjetname;
45 
46  unsigned long _ievent;
47 
49 
50  //----------------------------------
51  // evaluator output ntuples
52 
53  bool _strict;
54 
57 
58  TNtuple *_ntp_recojet;
59  TNtuple *_ntp_truthjet;
60 
61  // evaluator output file
62  std::string _filename;
63  TFile *_tfile;
64 
65  // subroutines
66  void printInputInfo(PHCompositeNode *topNode);
67  void fillOutputNtuples(PHCompositeNode *topNode);
68  void printOutputInfo(PHCompositeNode *topNode);
69 };
70 
71 #endif // G4EVAL_JETEVALUATOR_H