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 * fHdEffVsBucSizeMul1Nb; 00093 TH1 * fHdEffVsBucSizeMul1Ok; 00094 TLatex *fHdEffBuMul1BucSize2; 00095 00096 TH2 * fMatchingMul1TriggerDebug[16]; 00097 00098 TH2 * fXMatchingMul1StripHd; 00099 TH2 * fYMatchingMul1StripHd; 00100 TH3 * fMatchingMul1StripHd; 00101 00102 TH2 * fXMatchingMul1DtHd; 00103 TH2 * fYMatchingMul1DtHd; 00104 00105 TH2 * fTMatchingMul1StripHd; 00106 TH2 * fTMatchingMul1DtHd; 00107 00108 TH2 * fXMatchingMul1StripBuc; 00109 TH2 * fYMatchingMul1StripBuc; 00110 TH3 * fMatchingMul1StripBuc; 00111 00112 TH2 * fXMatchingMul1DtBuc; 00113 TH2 * fYMatchingMul1DtBuc; 00114 00115 TH2 * fTMatchingMul1StripBuc; 00116 TH2 * fTMatchingMul1DtBuc; 00117 00118 TH3 * fTMatchingMul1StripTotLeftHd; 00119 TH3 * fTMatchingMul1StripTotRightHd; 00120 TH3 * fTMatchingMul1StripTotLeftBuc; 00121 TH3 * fTMatchingMul1StripTotRightBuc; 00122 00123 TH1 * fDtMul1; 00124 TH2 * fDtMul1_StripsHd; 00125 TH2 * fDtMul1_StripsBuc; 00126 TH3 * fMatchingDtMul1; 00127 00128 TH2 * fXMul2PosHd; 00129 TH2 * fXMul2PosBuc; 00130 TH2 * fXMatchingMul2; 00131 TH2 * fYMatchingMul2; 00132 TH2 * fMatchingMul2; 00133 00134 TH2 * fMatchingMulHdMulBuc; 00135 TH2 * fMatchingMulHdMulBucBigSizeBuc; 00136 00137 TProfile * fFluxHdLeftEvolution; 00138 TProfile * fFluxHdRightEvolution; 00139 #if SCALORMU_NB_SCAL == 16 00140 // Oct 12 00141 TProfile * fFluxBucEvolution; 00142 #else 00143 // Starting Nov 12 00144 TProfile * fFluxBucLeftEvolution; 00145 TProfile * fFluxBucRightEvolution; 00146 #endif 00147 TH2 * fFluxComparisonHdLeftBuc; 00148 TH2 * fFluxComparisonHdRightBuc; 00149 00150 TH2 * fMatchingMod12Mul1; 00151 TH2 * fMatchingMod13Mul1; 00152 TH2 * fMatchingMod24Mul1; 00153 TH2 * fMatchingMod34Mul1; 00154 TH2 * fMatchingTvsDistMod12Mul1; 00155 TH2 * fMatchingTvsDistMod13Mul1; 00156 TH2 * fMatchingTvsDistMod24Mul1; 00157 TH2 * fMatchingTvsDistMod34Mul1; 00158 00159 TProfile * fFluxBucMod1Evolution; 00160 TProfile * fFluxBucMod2Evolution; 00161 TProfile * fFluxBucMod3Evolution; 00162 TProfile * fFluxBucMod4Evolution; 00163 00164 TH2 * fBucM1HdR1R2; 00165 TH2 * fHdM1BucR1R2; 00166 TH2 * fHdMatchingNbBucIndex; 00167 TH2 * fBestMatchingAllMul; 00168 TH2 * fBestDistanceBucIndex; 00169 00170 Int_t fiNbEventsWithPlastics1; 00171 Int_t fiNbEventsWithPlastics1Hd; 00172 Int_t fiNbEventsWithPlastics2; 00173 Int_t fiNbEventsWithPlastics2Hd; 00174 Int_t fiNbEventsWithPlastics12; 00175 Int_t fiNbEventsWithPlastics12Hd; 00176 TH1 * fHdEffVsPlastics; 00177 TH1 * fHdEffVsPlasticsNb; 00178 TLatex *fHdEffPlastics; 00179 TH1* fPlasticsDt; 00180 00181 Int_t fiNbEventsWithBucPlastics1; 00182 Int_t fiNbEventsWithBucPlastics1Hd; 00183 Int_t fiNbEventsWithBucPlastics2; 00184 Int_t fiNbEventsWithBucPlastics2Hd; 00185 Int_t fiNbEventsWithBucPlastics12; 00186 Int_t fiNbEventsWithBucPlastics12Hd; 00187 TH1 * fHdEffVsBucPlastics; 00188 TH1 * fHdEffVsBucPlasticsNb; 00189 TLatex *fHdEffBucPlastics; 00190 TH1 * fDtDiamBuc; 00191 TH2 * fDtCompHdBucVsDiamBuc; 00192 TH2 * fDtCompHdBucVsDiamBucCutPlastics; 00193 00194 TH2 * fSingleEvtClusterPosDisplayHd; 00195 TH2 * fSingleEvtClusterPosDisplayBuc; 00196 00197 ClassDef(TMatchingProc,1) 00198 }; 00199 00200 #endif //TMATCHINGPROC_H 00201