Analysis Software
Documentation for sPHENIX simulation 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:
45 
46  unsigned long _ievent = 0;
47 
49 
50  //----------------------------------
51  // evaluator output ntuples
52 
53  bool _strict = false;
54 
55  bool _do_recojet_eval = true;
56  bool _do_truthjet_eval = true;
57 
58  TNtuple *_ntp_recojet = nullptr;
59  TNtuple *_ntp_truthjet = nullptr;
60 
61  // evaluator output file
63  TFile *_tfile = nullptr;
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