Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JetIndicesMatcher.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file JetIndicesMatcher.h
1 #ifndef JetInidicesMatcher__h
2 #define JetInidicesMatcher__h
3 
4 #include <vector>
5 #include <array>
6 using std::vector;
7 using std::array;
8 using std::pair;
9 
11  // a simple class that matches jets based on their pt,
12  // This is done by matching the first jets (feed in presumable
13  // by pt) with phi-eta distance less than R
14  const double R2; // distance in phi-eta squared
15  vector<float> eta_truth{};
16  vector<float> phi_truth{};
17  vector<float> pt_truth{};
18  vector<int> index_truth{};
19 
20  vector<float> eta_reco{};
21  vector<float> phi_reco{};
22  vector<float> pt_reco{};
23  vector<int> index_reco{};
24 
25  float min_pT_truth ;
26  float min_pT_reco ;
27 
28 public:
29  vector<unsigned int> indices_fake{};
30  vector<unsigned int> indices_miss{};
31  vector<pair < unsigned int, unsigned int> > indices_matched{};
32 
33  vector<unsigned int> &f{indices_fake};
34  vector<unsigned int> &m{indices_miss};
35  vector<pair<unsigned int,unsigned int>> &match{indices_matched};
36 
37  void reset();
38 
39  /* void add_truth(float eta, float phi, float pt); */
40  /* void add_reco(float eta, float phi, float pt); */
41 
42  void add_truth(vector<float> &eta, vector<float> &phi, vector<float> &pt);
43 
44  void add_reco(vector<float> &eta, vector<float> &phi, vector<float> &pt);
45 
46  array<unsigned int, 3> do_matching(); // returns n-matched, n-miss, n-fake
47  JetIndicesMatcher(float R, float min_pT_truth=-1000., float min_pT_reco=-1000.);
48 };
49 #endif