00001 #ifndef Vertex3D_h
00002 #define Vertex3D_h
00003
00004 #include "TrackData.h"
00005 using namespace std;
00006
00007 class TH1;
00008 class TObjArray;
00009
00010 class Vertex3D {
00011 private:
00012 enum {mxHA=16, mxHE=10};
00013 TH1 *hA[mxHA];
00014 TH1 *hYX[mxHE], *hYZ[mxHE];
00015 int nHE;
00016
00017 vector<TrackData*> track;
00018 float cut_pT1,cut_pT2, cut_sigY;
00019 uint cut_numTrack;
00020 int isFound;
00021
00022 public:
00023 Vertex3D();
00024 virtual ~Vertex3D();
00025 void clearEvent();
00026 void clearTracks();
00027 void initRun();
00028 void addTrack(TrackData*);
00029 void study(TVector3 r, int eveID);
00030 void doExtrapolation();
00031 void initHisto(TObjArray* );
00032 void setCuts(float pT1 ,float pT2 , float sigY, int nTr){cut_pT1 = pT1;cut_pT2 = pT2; cut_sigY=sigY; cut_numTrack=nTr;}
00033
00034 bool isValid(){ return isFound;}
00035 void dumpPrimTracks4beamLine(float z0, int eveID);
00036 void trackChi2QA(float z0);
00037 };
00038
00039
00040 #endif