Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JetRhoMedian.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file JetRhoMedian.h
1 #ifndef JETRHOMEDIAN__H
2 #define JETRHOMEDIAN__H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <memory>
7 #include <string>
8 #include <utility> // std::pair, std::make_pair
9 
10 #include <array>
11 #include <vector>
12 
13 class PHCompositeNode;
14 class JetEvalStack;
15 class TTree;
16 class TH2D;
17 class TH1;
18 class JetInput;
19 
20 class JetRhoMedian : public SubsysReco
21 {
22  public:
24  ( const std::string& outputfilename = "JetRhoMedian.root"
25  , const float _jet_R = 0.4
26  , const std::string& truthjetname = "AntiKt_Truth_r04"
27  , const std::string& sub1jetname = "AntiKt_Truth_r04"
28  , const float min_lead_truth_pt = 10.
29  );
30 
31  virtual ~JetRhoMedian();
32 
33  /* void use_initial_vertex(const bool b = true) {initial_vertex = b;} */
34  int Init (PHCompositeNode *topNode);
35  int InitRun (PHCompositeNode *topNode);
36  int process_event (PHCompositeNode *topNode);
37  int End (PHCompositeNode *topNode);
38  void clear_vectors();
39  void add_input(JetInput *input) { m_inputs.push_back(input); }
40 
41  private:
42  long long int nevent { 0 };
43  long long int outevent { 0 };
45  const float jet_R;
48  const float m_min_lead_truth_pt;
49 
50  int i_truthset = 0;
51 
54  TTree *m_T;
55 
56  /* int m_id; */
57  float m_rho; // all calorimeters
58  float m_rho_sigma;
59  float m_cent_mdb { -1. };
60  float m_cent { -1. };
61  float m_cent_epd { -1. };
62  float m_impactparam { -1. };
63 
64  //Calo Jets -- all
65  std::vector<float> m_CaloJetEta {};
66  std::vector<float> m_CaloJetPhi {};
67  std::vector<float> m_CaloJetPt {};
68  std::vector<float> m_CaloJetPtLessRhoA {}; // pT - rho x A
69  std::vector<float> m_CaloJetArea {};
70 
71  //Truth Jets
72  std::vector<float> m_TruthJetEta {};
73  std::vector<float> m_TruthJetPhi {};
74  std::vector<float> m_TruthJetPt {};
75 
76  //SUB1 Jets
77  std::vector<float> m_Sub1JetEta {};
78  std::vector<float> m_Sub1JetPhi {};
79  std::vector<float> m_Sub1JetPt {};
80 
81  // FIXME -- functions straight from background median estimator
82  float mBGE_mean_area { 0 };
83  float mBGE_empty_area { 0 };
84  float mBGE_n_empty_jets { 0 };
85  unsigned int mBGE_n_jets_used { 0 };
86 
87  std::vector<JetInput *> m_inputs; // copied from /direct/sphenix+u/dstewart/vv/coresoftware/simulation/g4simulation/g4jets/JetReco.h .cc
88 };
89 
90 #endif // JETRHOMEDIAN__H