Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BJetModule.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BJetModule.h
1 
8 #ifndef __BJETMODULE_H__
9 #define __BJETMODULE_H__
10 
11 // --- need to check all these includes...
12 #include <fun4all/SubsysReco.h>
13 #include <vector>
14 
15 #include "TMath.h"
16 
17 #include "TFile.h"
18 #include "TTree.h"
19 
20 class PHCompositeNode;
21 class SvtxVertexMap;
22 class SvtxTrack;
23 //class JetEvalStack;
24 //class SvtxEvalStack;
25 
26 class BJetModule : public SubsysReco
27 {
28  public:
29  BJetModule(const std::string& name = "BJetModule", const std::string& out = "HFtag.root");
30 
31  int Init(PHCompositeNode*);
32  int reset_tree_vars();
34  int End(PHCompositeNode*);
35 
37  {
38  return _trackmap_name;
39  }
40 
41  void set_trackmap_name(const std::string& trackmapName)
42  {
43  _trackmap_name = trackmapName;
44  }
45 
47  {
48  return _vertexmap_name;
49  }
51  { _truthjetmap_name = name; }
53  { _recojetmap_name = name; }
54  void set_vertexmap_name(const std::string& vertexmapName)
55  {
56  _vertexmap_name = vertexmapName;
57  }
58 
59  private:
60  float dR(float eta1, float eta2, float phi1, float phi2)
61  {
62  float deta = eta1 - eta2;
63  float dphi = phi1 - phi2;
64  if (dphi > +3.14159)
65  dphi -= 2 * 3.14159;
66  if (dphi < -3.14159)
67  dphi += 2 * 3.14159;
68 
69  return sqrt(pow(deta, 2) + pow(dphi, 2));
70  }
71 
72  void calc3DDCA(SvtxTrack* track, SvtxVertexMap* vertexmap,
73  float& dca3d_xy, float& dca3d_xy_error,
74  float& dca3d_z, float& dca3d_z_error);
75 
76  void setBranches();
78 
81 
84 
85  int _ievent;
86 
87  TFile* _f;
88  TTree* _tree;
89 
90  int _b_event;
91 
93  float _b_truth_vertex_x[10];
94  float _b_truth_vertex_y[10];
95  float _b_truth_vertex_z[10];
96 
100 
101  float _b_truthjet_pt[10];
102  float _b_truthjet_eta[10];
103  float _b_truthjet_phi[10];
104 
106  float _b_recojet_pt[10];
107  float _b_recojet_eta[10];
108  float _b_recojet_phi[10];
109 
111  float _b_particle_pt[1000];
112  float _b_particle_eta[1000];
113  float _b_particle_phi[1000];
114  int _b_particle_pid[1000];
115  unsigned int _b_particle_embed[1000];
116 
117  float _b_particle_vertex_x[1000];
118  float _b_particle_vertex_y[1000];
119  float _b_particle_vertex_z[1000];
120  float _b_particle_dca_xy[1000];
121  float _b_particle_dca_z[1000];
122 
124  float _b_track_pt[1000];
125  float _b_track_eta[1000];
126  float _b_track_phi[1000];
127 
128  float _b_track_dca2d[1000];
129  float _b_track_dca2d_error[1000];
130 
131  float _b_track_dca3d_xy[1000];
133 
134  float _b_track_dca3d_z[1000];
136 
137  float _b_track_dca2d_calc[1000];
139  float _b_track_dca3d_calc[1000];
141 
142  float _b_track_pca_phi[1000];
143  float _b_track_pca_x[1000];
144  float _b_track_pca_y[1000];
145  float _b_track_pca_z[1000];
146 
147  float _b_track_quality[1000];
148  float _b_track_chisq[1000];
149  int _b_track_ndf[1000];
150 
151  int _b_track_nmaps[1000];
152 
153  unsigned int _b_track_nclusters[1000];
154  unsigned int _b_track_nclusters_by_layer[1000];
155  unsigned int _b_track_best_nclusters[1000];
157 
158  unsigned int _b_track_best_embed[1000];
160  int _b_track_best_pid[1000];
161  float _b_track_best_pt[1000];
162 
163  int _b_track_best_in[1000];
164  int _b_track_best_out[1000];
166 
170  float _b_track_best_dca_xy[1000];
171  float _b_track_best_dca_z[1000];
172 
178 };
179 
180 #endif // __BJETMODULE_H__