• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/tof-tdctest/go4/VFTX/TVftxProc.h (r4864/r4860)

Go to the documentation of this file.
00001 #ifndef TVFTXPROC_H
00002 #define TVFTXPROC_H
00003 
00004 #include "TGsiAug12Analysis.h"
00005 #include "TGsiAug12Param.h"
00006 
00007 #include "TCBMBeamtimeProc.h"
00008 
00009 #include "MBSUNPACK/TMbsCrateEvent.h"
00010 #include "TTriglogEvent.h"
00011 #include "TVftxEvent.h"
00012 #include "TVftxParam.h"
00013 #include "../../mbs/cbmvme.h"
00014 
00015 
00016 #include "TGo4Picture.h"
00017 #include "TH1.h"
00018 #include "TH2.h"
00019 
00020 #include "TFile.h"
00021 #include "TTree.h"
00022 #include <fstream>
00023 #include <vector>
00024 
00025 #define SYNCH_CHANNEl    0
00026 
00027 class TGo4EventElement;
00028 class TGo4MbsSubEvent;
00029 
00030 class TVftxProc : public TCBMBeamtimeProc {
00031   //  friend class TCBMBeamtimeProc; 
00032    public:
00033       TVftxProc(const char* name = 0);
00034       virtual ~TVftxProc();
00035       virtual void InitEvent(TGo4EventElement*);
00036       virtual void FinalizeEvent();
00037    private:
00038       
00039       // for each FPGA TDC we have header information
00040       // for each FPGA TDC channel we have coarse time, fine time, and future bit
00041       // it is multi-hit tdc so we need additional index
00042       UInt_t event_nr;
00043       Int_t headTime[MAX_FPGA_TDC];
00044       
00045       Int_t    iFirstTime[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00046       Int_t    iFirstCoarse[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00047       Int_t    iFirstFine[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00048       Int_t    iLastTime[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00049       Int_t    iLastToT[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00050       Int_t    iTriggerTime[MAX_FPGA_TDC];
00051       
00052       Int_t    iNbHitsForCalib[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00053       Double_t dCorr[MAX_FPGA_TDC][FPGA_TDC_NBCHAN][TDC_FIFO_FINE_CT+1];
00054       Double_t dFirstTimecorr[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00055       Double_t dFirstFineTimecorr[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00056       Double_t dTimeCorr[MAX_FPGA_TDC][FPGA_TDC_NBCHAN][TVftxBoardData::MaxMult];
00057       Double_t dFineTimeCorr[MAX_FPGA_TDC][FPGA_TDC_NBCHAN][TVftxBoardData::MaxMult];
00058       
00059       UInt_t   uTotalMultiplicity[MAX_FPGA_TDC][FPGA_TDC_NBCHAN];
00060 
00061       TFile* fileCalibrationIn;
00062       TDirectory* oldDir;
00063       TH1           *fInitialCalibHisto[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00064 
00065       TH1           *bitcontrol[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00066       TH1           *bitcontrolCoarse[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00067       TH1           *fEventSizeHeader1[MAX_FPGA_TDC];
00068       TH1           *fEventSizeHeader2[MAX_FPGA_TDC];
00069       TH1           *fTriggerType[MAX_FPGA_TDC];
00070       TH1           *fTriggerTime[MAX_FPGA_TDC];
00071       
00072       TH1           *fChanUsage[MAX_FPGA_TDC];
00073       TH1           *fChanEvents[MAX_FPGA_TDC];
00074       TH1           *fChanDouble[MAX_FPGA_TDC];
00075       TH1           *fChanFuture[MAX_FPGA_TDC];
00076 
00077       TH2           *fChanMultip[MAX_FPGA_TDC];
00078       TH2           *fMultihitsDistance[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00079       TH2           *fSecondHitDistance[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00080       
00081       TH1           *fTime[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00082       TH1           *fTimeSingles[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00083       TH1           *fToT[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00084       
00085       TH1           *fFineTime[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00086       TH1           *fDnlCh[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00087       TH1           *fDnlCorr[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00088       TH1           *fCoarseTime[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00089 
00090       TH2           *fFineTimeEvo[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00091       TH2           *fBinSizeEvo[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN ];
00092       UInt_t         uInitialMbsTime;
00093       UInt_t         uInitialVulomSync;
00094 
00095       TH2           *fTdcChanStripMapping[ MAX_FPGA_TDC*(MAX_FPGA_TDC+1)/2 ];
00096       Int_t         iMapIndex;
00097 
00098       TH1           *fTdcResolutionRef2Check[MAX_FPGA_TDC];
00099       Int_t         iFirstModuleWithReference2;
00100       TH2           *fRef2TimeTriggerDep[MAX_FPGA_TDC];
00101 
00102 
00103       TH1           *fTdcResolutionRef1Check[MAX_FPGA_TDC];
00104       Int_t        iFirstModuleWithReference1;
00105 /*
00106       TH2* fHitMergingTest[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00107       TH2* fHitMergingTest2[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00108       TH2* fHitMergingTest3[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00109       TH2* fHitMergingTest4[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00110       TH2* fHitMergingTest5[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00111       TH2* fHitMergingTest6[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00112       TH2* fHitMergingTest7[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00113       TH2* fHitMergingTest8[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00114       TH1* fHitMergingTest9[TVftxBoardData::MaxMult];
00115       TH1* fHitMergingTest10[2][TVftxBoardData::MaxMult];
00116       TH1* fHitMergingTest11[4];
00117       TH1* fHitMergingTest12[2];
00118       TH2* fHitMergingTest13[2];
00119       TH1* fHitMergingTest14[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00120       TH1* fHitMergingTest15[MAX_FPGA_TDC][ FPGA_TDC_NBCHAN/2 ];
00121       */
00122    protected:
00123 
00124       TVftxParam * fPar;
00125       TGsiAug12Param * fParAnalysis;
00126       TMbsCrateEvent * fCrateInputEvent;
00127       TVftxEvent * fOutputEvent;
00128       TTriglogEvent* fTriglogInputEvent;      
00129 
00130    protected:
00131 
00132       ClassDef(TVftxProc,1)
00133 };
00134 
00135 #endif //TVFTXPROC_H
00136 

Generated on Tue Dec 10 2013 04:52:21 for ROCsoft by  doxygen 1.7.1