00001 #ifndef TMATCHINGPROC_H 00002 #define TMATCHINGPROC_H 00003 00004 #include "TGsiAug12Analysis.h" 00005 #include "TCBMBeamtimeProc.h" 00006 00007 #include "MBSUNPACK/TMbsCrateEvent.h" 00008 #include "TTriglogEvent.h" 00009 #include "VFTX/TVftxEvent.h" 00010 #include "RPC/TRpcEvent.h" 00011 #include "PLASTICS/TPlasticsEvent.h" 00012 #include "SCALERS/TScalersEvent.h" 00013 00014 #include "TMatchingEvent.h" 00015 #include "TMatchingParam.h" 00016 00017 #include "RPC/TRpcParam.h" 00018 00019 #include "TGo4Picture.h" 00020 #include "TH1.h" 00021 #include "TH2.h" 00022 #include "TH3.h" 00023 #include "TProfile.h" 00024 00025 class TGo4EventElement; 00026 class TGo4MbsSubEvent; 00027 class TLatex; 00028 00029 class TMatchingProc : public TCBMBeamtimeProc { 00030 // friend class TCBMBeamtimeProc; 00031 public: 00032 TMatchingProc(const char* name = 0); 00033 virtual ~TMatchingProc(); 00034 00035 virtual void InitEvent(TGo4EventElement*); 00036 00037 virtual void FinalizeEvent(); 00038 private: 00039 00040 00041 protected: 00042 TMatchingParam * fPar; 00043 TMbsCrateEvent * fCrateInputEvent; 00044 TTriglogEvent * fTriglogInputEvent; 00045 TVftxEvent * fVftxInputEvent; 00046 TRpcEvent * fRpcHdInputEvent; 00047 TRpcEvent * fRpcBucInputEvent; 00048 TRpcEvent * fRpcBucMod1InputEvent; 00049 TRpcEvent * fRpcBucMod2InputEvent; 00050 TRpcEvent * fRpcBucMod3InputEvent; 00051 TRpcEvent * fRpcBucMod4InputEvent; 00052 TPlasticsEvent * fPlasticsEvent; 00053 TScalersEvent * fScalersInputEvent; 00054 00055 TMatchingEvent * fOutputEvent; 00056 00057 TRpcParam * fParRpcHd; 00058 TRpcParam * fParRpcBuc; 00059 TRpcParam * fParRpcBucMod1; 00060 TRpcParam * fParRpcBucMod2; 00061 TRpcParam * fParRpcBucMod3; 00062 TRpcParam * fParRpcBucMod4; 00063 protected: 00064 00065 TH2 * fXMul1PosHd; 00066 TH2 * fXMul1PosBuc; 00067 TH2 * fXMatchingMul1; 00068 TH2 * fYMatchingMul1; 00069 TH2 * fMatchingMul1; 00070 00071 TH2 * fMatchingMulBuc1; 00072 TH1 * fBucMul1Rate; 00073 TH1 * fHdMulBucMul1Rate; 00074 00075 TH2 * fBucMulVsRate; 00076 TH2 * fHdMulVsRate; 00077 00078 TProfile * fHdEffVsRateBucMul1; 00079 TProfile * fHdEffVsRateBucMul1Ok; 00080 UInt_t fuNbEventsSummed; 00081 UInt_t fuNbEventsWithBucMul1; 00082 UInt_t fuNbEventsWithBucMul1Hd; 00083 UInt_t fuNbEventsWithBucMul1HdOk; 00084 Double_t fdBucRatesSummed; 00085 TProfile * fHdEffVsTimeBucMul1; 00086 TProfile * fHdEffVsTimeBucMul1Ok; 00087 00088 Int_t fiNbEventsWith1BigBucCl[NB_STRIPS_MAX]; 00089 Int_t fiNbEventsWith1BigBucClHd[NB_STRIPS_MAX]; 00090 Int_t fiNbEventsWith1BigBucClHdOk[NB_STRIPS_MAX]; 00091 TH1 * fHdEffVsBucSizeMul1; 00092 TH1 * fHdEffVsBucSizeMul1Ok; 00093 TLatex *fHdEffBuMul1BucSize2; 00094 00095 TH2 * fMatchingMul1TriggerDebug[16]; 00096 00097 TH2 * fXMatchingMul1StripHd; 00098 TH2 * fYMatchingMul1StripHd; 00099 TH3 * fMatchingMul1StripHd; 00100 00101 TH2 * fXMatchingMul1DtHd; 00102 TH2 * fYMatchingMul1DtHd; 00103 00104 TH2 * fTMatchingMul1StripHd; 00105 TH2 * fTMatchingMul1DtHd; 00106 00107 TH2 * fXMatchingMul1StripBuc; 00108 TH2 * fYMatchingMul1StripBuc; 00109 TH3 * fMatchingMul1StripBuc; 00110 00111 TH2 * fXMatchingMul1DtBuc; 00112 TH2 * fYMatchingMul1DtBuc; 00113 00114 TH2 * fTMatchingMul1StripBuc; 00115 TH2 * fTMatchingMul1DtBuc; 00116 00117 TH3 * fTMatchingMul1StripTotLeftHd; 00118 TH3 * fTMatchingMul1StripTotRightHd; 00119 TH3 * fTMatchingMul1StripTotLeftBuc; 00120 TH3 * fTMatchingMul1StripTotRightBuc; 00121 00122 TH1 * fDtMul1; 00123 TH2 * fDtMul1_StripsHd; 00124 TH2 * fDtMul1_StripsBuc; 00125 TH3 * fMatchingDtMul1; 00126 00127 TH2 * fXMul2PosHd; 00128 TH2 * fXMul2PosBuc; 00129 TH2 * fXMatchingMul2; 00130 TH2 * fYMatchingMul2; 00131 TH2 * fMatchingMul2; 00132 00133 TH2 * fMatchingMulHdMulBuc; 00134 TH2 * fMatchingMulHdMulBucBigSizeBuc; 00135 00136 TProfile * fFluxHdLeftEvolution; 00137 TProfile * fFluxHdRightEvolution; 00138 #if SCALORMU_NB_SCAL == 16 00139 // Oct 12 00140 TProfile * fFluxBucEvolution; 00141 #else 00142 // Starting Nov 12 00143 TProfile * fFluxBucLeftEvolution; 00144 TProfile * fFluxBucRightEvolution; 00145 #endif 00146 TH2 * fFluxComparisonHdLeftBuc; 00147 TH2 * fFluxComparisonHdRightBuc; 00148 00149 TH2 * fMatchingMod12Mul1; 00150 TH2 * fMatchingMod13Mul1; 00151 TH2 * fMatchingMod24Mul1; 00152 TH2 * fMatchingMod34Mul1; 00153 TH2 * fMatchingTvsDistMod12Mul1; 00154 TH2 * fMatchingTvsDistMod13Mul1; 00155 TH2 * fMatchingTvsDistMod24Mul1; 00156 TH2 * fMatchingTvsDistMod34Mul1; 00157 00158 TProfile * fFluxBucMod1Evolution; 00159 TProfile * fFluxBucMod2Evolution; 00160 TProfile * fFluxBucMod3Evolution; 00161 TProfile * fFluxBucMod4Evolution; 00162 00163 TH2 * fBucM1HdR1R2; 00164 TH2 * fHdMatchingNbBucIndex; 00165 TH2 * fBestMatchingAllMul; 00166 TH2 * fBestDistanceBucIndex; 00167 00168 Int_t fiNbEventsWithPlastics1; 00169 Int_t fiNbEventsWithPlastics1Hd; 00170 Int_t fiNbEventsWithPlastics2; 00171 Int_t fiNbEventsWithPlastics2Hd; 00172 Int_t fiNbEventsWithPlastics12; 00173 Int_t fiNbEventsWithPlastics12Hd; 00174 TH1 * fHdEffVsPlastics; 00175 TLatex *fHdEffPlastics; 00176 00177 TH2 * fSingleEvtClusterPosDisplayHd; 00178 TH2 * fSingleEvtClusterPosDisplayBuc; 00179 00180 ClassDef(TMatchingProc,1) 00181 }; 00182 00183 #endif //TMATCHINGPROC_H 00184