Go to the documentation of this file.00001 #ifndef TTRACKINGPROC_H
00002 #define TTRACKINGPROC_H
00003
00004 #include "TCBMBeamtimeProc.h"
00005
00006 #include "TTrackingParam.h"
00007 #include "TTrackingEvent.h"
00008 #include "TBeamMonitorEvent.h"
00009 #include "TFiberHodEvent.h"
00010 #include "GEM/TGEMEvent.h"
00011 #include "STS/TSTSEvent.h"
00012
00013 #include "TH1.h"
00014 #include "TH2.h"
00015 #include "TGo4WinCond.h"
00016 #include "TGo4PolyCond.h"
00017 #include "TString.h"
00018 #include "TLatex.h"
00019 #include "TCanvas.h"
00020 #include "TF1.h"
00021 #include "TGraphErrors.h"
00022 #include "TRocEvent.h"
00023
00024
00025
00026 class TTrackingProc : public TCBMBeamtimeProc {
00027
00028 public:
00029
00030 TTrackingProc(const char* name = 0);
00031 virtual ~TTrackingProc();
00032
00033 virtual void InitEvent(TGo4EventElement*);
00034 virtual void FinalizeEvent();
00035
00036 protected:
00037
00038 TTrackingParam * fPar;
00039
00040 TBeamMonitorEvent* fBeamMonitorEvent;
00041 TFiberHodEvent* fFirstHodoEvent;
00042 TFiberHodEvent* fSecondHodoEvent;
00043 TRocEvent* fRocInputEvent;
00044 TGEMEvent * fGEMEvent;
00045 TSTSEvent * fSTSEvent;
00046
00047 TTrackingEvent * fOutputEvent;
00048
00049 TH1 * fPosXHod1, * fPosYHod1;
00050 TH2 * fPosXYHod1;
00051 TH2 * fPosXYHod1Sts;
00052 TH2 * fPosXYHod2Sts;
00053 TH1 * fPosXHod2, * fPosYHod2;
00054 TH2 * fPosXYHod2;
00055 TH2 * fCorrXHod;
00056 TH2 * fCorrYHod;
00057 TH2 * fCorrXHod1Gem1;
00058 TH2 * fCorrYHod1Gem1;
00059 TH2 * fCorrXHod2Gem1;
00060 TH2 * fCorrYHod2Gem1;
00061 std::vector< TH1 * > fPosXSts;
00062 std::vector< TH1 * > fPosYSts;
00063 std::vector< TH2 * > fPosXYSts;
00064 std::vector< TH1 * > fNHitsSts;
00065 std::vector< TH2 * > fCorrXXSts;
00066 std::vector< TH2 * > fCorrYYSts;
00067 std::vector< TH2 * > fCorrXXH1Sts;
00068 std::vector< TH2 * > fCorrYYH1Sts;
00069 std::vector< TH2 * > fCorrXXGem1Sts;
00070 std::vector< TH2 * > fCorrYYGem1Sts;
00071
00072
00073
00074
00075
00076
00077 TH1 * fPosXGem1, * fPosYGem1;
00078 TH2 * fPosXYGem1;
00079 TH1 * fPosXGem2, * fPosYGem2;
00080 TH2 * fPosXYGem2;
00081
00082 TH1 * fResXHod1, * fResYHod1;
00083 TH1 * fResXHod2, * fResYHod2;
00084 TH1 * fResXSts1, * fResYSts1;
00085 TH1 * fResXSts2, * fResYSts2;
00086 TH1 * fResXSts3, * fResYSts3;
00087 TH1 * fResXGem1, * fResYGem1;
00088 TH1 * fResXGem2, * fResYGem2;
00089
00090 TH2 * fPosXHod1_vs_time;
00091 TH2 * fPosYHod1_vs_time;
00092 TH2 * fPosXHod2_vs_time;
00093 TH2 * fPosYHod2_vs_time;
00094 std::vector< TH2 * > fPosXSts_vs_time;
00095 std::vector< TH2 * > fPosYSts_vs_time;
00096
00097
00098 TH1* fDeltaT_STS;
00099 TH1* fDeltaT_Hod;
00100 TH1* fDeltaT_GEM;
00101 TH1* fDeltaT_all;
00102
00103
00104
00105 int NPoint, NHPoint;
00106 double Zf[5], Xf[5], Yf[5], EZf[5], EXf[5], EYf[5];
00107 double Za[7], Xa[7], Ya[7], EZa[7], EXa[7], EYa[7];
00108 double ZHf[2], XHf[2], YHf[2], EZHf[2], EXHf[2], EYHf[2];
00109 TF1 *fun, *fun2, *fun3, *fun4, *fun5, *fun6;
00110 TGraphErrors *grHY,*grHX, *grY, *grX, *graY, *graX;
00111
00112 protected:
00113
00114 ClassDef(TTrackingProc,1)
00115 };
00116
00117 #endif //TUNPACKPROCESSOR_H
00118