Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BDiJetModule.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BDiJetModule.h
1 
8 #ifndef __BDiJetModule_H__
9 #define __BDiJetModule_H__
10 
11 // --- need to check all these includes...
12 #include <fun4all/SubsysReco.h>
13 // #include <GenFit/GFRaveVertex.h>
14 // #include <GenFit/Track.h>
15 #include <string>
16 #include <vector>
17 
18 #include "TMath.h"
19 
20 
21 namespace PHGenFit {
22  class Track;
23 } /* namespace PHGenFit */
24 
25 namespace genfit {
26  class GFRaveVertexFactory;
27  class Track;
28  class GFRaveVertex;
29 } /* namespace genfit */
30 
31 namespace PHGenFit {
32  class Fitter;
33 } /* namespace PHGenFit */
34 
35 class SvtxTrack;
36 class SvtxTrackMap;
37 class SvtxVertexMap;
38 class SvtxVertex;
39 class PHCompositeNode;
41 class SvtxClusterMap;
42 class SvtxEvalStack;
43 class JetMap;
44 
45 class TFile;
46 class TTree;
47 
48 class BDiJetModule: public SubsysReco {
49 
50 public:
51 
52  BDiJetModule(const std::string &name = "BDiJetModule",
53  const std::string &ofName = "out.root");
54 
55  int Init(PHCompositeNode*);
58  int End(PHCompositeNode*);
59 
60 private:
61 
62  //-- Functions
63  void ResetVariables();
64  int GetNodes(PHCompositeNode *);
65  void InitTree();
66 
68  const SvtxTrack* intrack,
69  const SvtxVertex* vertex);
70 
72  void FillVertexMap(
73  const std::vector<genfit::GFRaveVertex*> & rave_vertices,
74  const std::vector<genfit::Track*> & gf_tracks);
75 
76  int GetSVMass_mom(
77  const genfit::GFRaveVertex* rave_vtx,
78  float & vtx_mass,
79  float & vtx_px,
80  float & vtx_py,
81  float & vtx_pz);
82 
83 
84  //-- Nodes
86  SvtxClusterMap* _clustermap;
89 
90  //-- Flags
91  // TODO: Make setters & getters
92  bool _verbose;
94  bool _ana_truth;
95  bool _ana_reco;
98  bool _cut_jet;
100 
101  //-- Output
103  TFile *_f;
104  TTree *_tree;
105 
106  //-- Tree Variables
107  int _b_event;
108 
112  float _truthjet_pt[10];
113  float _truthjet_eta[10];
114  float _truthjet_phi[10];
115 
116  float gf_prim_vtx[3];
117  float gf_prim_vtx_err[3];
119  float rv_prim_vtx[3];
120  float rv_prim_vtx_err[3];
122 
124  int rv_sv_jet_id[10];
125  int rv_sv_jet_prop[10][2];
126  float rv_sv_jet_pT[10];
127  float rv_sv_jet_phi[10];
128 
130  float rv_sv_pT00_vtx_x[10][30];
131  float rv_sv_pT00_vtx_y[10][30];
132  float rv_sv_pT00_vtx_z[10][30];
133  float rv_sv_pT00_vtx_ex[10][30];
134  float rv_sv_pT00_vtx_ey[10][30];
135  float rv_sv_pT00_vtx_ez[10][30];
136  int rv_sv_pT00_vtx_ntrk[10][30];
138  float rv_sv_pT00_vtx_mass[10][30];
140  float rv_sv_pT00_vtx_pT[10][30];
141 
142 
143  //-- internal variables
144  int _ievent;
145 
147 
148  double _cut_min_pT;
149  double _cut_chi2_ndf;
150  double _cut_jet_pT;
151  double _cut_jet_eta;
152  double _cut_jet_R;
153 
156 
160 
161 };
162 
163 #endif // __BDiJetModule_H__