Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VtxTest.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file VtxTest.h
1 
10 #ifndef TRUTHCONVERSIONEVAL_H__
11 #define TRUTHCONVERSIONEVAL_H__
12 
13 #include <fun4all/SubsysReco.h>
14 #include <calobase/RawClusterContainer.h>
15 #include <queue>
16 
17 class PHCompositeNode;
19 class PHG4Particle;
20 class PHG4VtxPoint;
21 class Conversion;
22 class SvtxTrackEval;
23 class SvtxHitMap;
24 class SvtxHit;
25 class SvtxClusterMap;
26 class SvtxCluster;
28 class TTree;
29 class TFile;
30 class SVReco;
32 
33 class VtxTest: public SubsysReco
34 {
35 
36  public:
45  VtxTest(const std::string &name,unsigned int runnumber,
46  int particleEmbed, int pythiaEmbed,bool makeTTree);
47  ~VtxTest();
54  int End(PHCompositeNode*);
56  const RawClusterContainer* getClusters()const;
57 
58  private:
59  void doNodePointers(PHCompositeNode* topNode);
65  std::queue<std::pair<int,int>> numUnique(std::map<int,Conversion>* map,SvtxTrackEval* trackEval,RawClusterContainer* mainClusterContainer);
67  void findChildren(std::queue<std::pair<int,int>> missing,PHG4TruthInfoContainer* truthinfo);
70  void processBackground(std::map<int,Conversion>* map,SvtxTrackEval* trackEval,TTree* tree);
71 
72  int get_embed(PHG4Particle* particle, PHG4TruthInfoContainer* truthinfo) const;
73  float vtoR(PHG4VtxPoint* vtx)const;
74 
75  const static int s_kMAXParticles=200;
76  const static int s_kMAXRecoMatch=20;
77  const unsigned int _kRunNumber;
78  const int _kParticleEmbed;
79  const int _kPythiaEmbed;
80  const bool _kMakeTTree;//< if false no TTrees are output
81  int _runNumber;
82  TFile *_f=NULL;
83  TTree *_tree=NULL;
84  TTree *_signalCutTree=NULL;
85  TTree *_h_backgroundCutTree=NULL;
86  TTree *_e_backgroundCutTree=NULL;
90  SvtxHitMap *_hitMap;
92  SVReco *_vertexer=NULL;
93 
95  int _b_event;
96  int _b_nVtx;
97  int _b_Tpair;
98  int _b_Rpair;
111 
119 
125  float _b_track_pT;
127  double _b_approach ;
128  double _b_vtx_radius ;
129  double _b_vtx_phi ;
130  double _b_vtx_eta ;
131  double _b_vtx_x ;
132  double _b_vtx_y ;
133  double _b_vtx_z ;
134  double _b_tvtx_eta ;
135  double _b_tvtx_x ;
136  double _b_tvtx_y ;
137  double _b_tvtx_z ;
138  double _b_tvtx_radius ;
139  double _b_tvtx_phi ;
141  float _b_vtx_chi2;
142  float _b_photon_m;
149  //bb stands for background branch
154  double _bb_approach ;
162  int _bb_pid;
167 
168  const static int s_kTPCRADIUS=21; //in cm there is a way to get this from the simulation I should implement?
170  float _kRAPIDITYACCEPT=1; //<acceptance rapidity currently hard coded to |1|
171 };
172 
173 
174 
175 #endif // __TRUTHCONVERSIONEVAL_H__
176 
177 
178