00001 #ifndef TTRDMUENSTERPROC_H 00002 #define TTRDMUENSTERPROC_H 00003 00004 #include "TSpadicEvent.h" 00005 #include "TEpicsEvent.h" 00006 #include "TRocEvent.h" 00007 #include "TMbsCrateEvent.h" 00008 #include "TBeamMonitorEvent.h" 00009 #include "TTRDMuensterFrankfurtEvent.h" 00010 #include "TTRDMuensterFrankfurtParam.h" 00011 00012 #include "TGo4Picture.h" 00013 #include "TH1.h" 00014 #include "TH2.h" 00015 #include "TLatex.h" 00016 #include "TLine.h" 00017 #include "TGo4WinCond.h" 00018 #include "TCBMBeamtimeProc.h" 00019 00020 #include "TFiberHodEvent.h" 00021 00022 class TTRDMuensterFrankfurtProc : public TCBMBeamtimeProc { 00023 public: 00024 00025 TTRDMuensterFrankfurtProc(const char* name = 0); 00026 virtual ~TTRDMuensterFrankfurtProc(); 00027 00028 virtual void InitEvent(TGo4EventElement*); 00029 00030 /* this is the main processing function here*/ 00031 virtual void FinalizeEvent(); 00032 00033 00034 00035 protected: 00037 TSpadicEvent * fSpadicInputEvent; 00038 TEpicsEvent* fEpicsInputEvent; 00039 TMbsCrateEvent * fCrateInputEvent; 00040 TTRDMuensterFrankfurtEvent * fOutputEvent; 00041 TBeamMonitorEvent* fBeamEvent; 00042 TFiberHodEvent* fHodo1; 00043 00044 TH1 *fSpadic_S2N; 00045 TH1 *fSpadic_S2Ncleaned; 00046 TH1 *fSpadic_S2Ncnt; 00047 //TH2 *fSpadic_Shape2D[MAX_SPADIC][SPADIC_TRACE_SIZE]; 00048 TH1 *fSpadic_input[MAX_SPADIC][NUM_SPADIC_CHA]; 00049 TH1 *fSpadic_output[MAX_SPADIC][NUM_SPADIC_CHA]; 00050 00051 TH1 *fSpadic_ADCdistMF[MAX_SPADIC][NUM_SPADIC_CHA]; 00052 TH1 *fSpadic_NoiseDistMF[MAX_SPADIC]; 00053 TH2 *fSpadic_NoiseDist2DMF[MAX_SPADIC]; 00054 TH1 *fSpadic_PedelPosMF[MAX_SPADIC]; 00055 TH2 *fSpadic_PedelPos2DMF[MAX_SPADIC]; 00056 00057 TH2 *fSpadic_pi_shape2D[MAX_SPADIC]; 00058 TH1 *fSpadic_pi_shape[MAX_SPADIC]; 00059 TH1 *fSpadic_pi_shapeRatio[MAX_SPADIC*MAX_SPADIC]; 00060 TH1 *fSpadic_pi_shapecnt[MAX_SPADIC]; 00061 TH2 *fSpadic_el_shape2D[MAX_SPADIC]; 00062 TH1 *fSpadic_el_shape[MAX_SPADIC]; 00063 TH1 *fSpadic_el_shapeRatio[MAX_SPADIC*MAX_SPADIC]; 00064 TH1 *fSpadic_el_shapecnt[MAX_SPADIC]; 00065 00066 TH1 *fSpadic_pid[MAX_SPADIC]; 00067 TH1 *fSpadic_pidMixing; 00068 TH1 *fSpadic_intens[MAX_SPADIC]; 00069 TH1 *fSpadic_pi_intens[MAX_SPADIC]; 00070 TH1 *fSpadic_el_intens[MAX_SPADIC]; 00071 TH1 *fSpadic_padMax[MAX_SPADIC]; 00072 TH1 *fSpadic_recoPos[MAX_SPADIC]; 00073 TH2 *fSpadic_beamProfil[4]; 00074 TH1 *fSpadic_statistics[MAX_SPADIC]; 00075 //TH1 *fSpadic_el_statistics[MAX_SPADIC]; //! cut quality 00076 //TH1 *fSpadic_pi_statistics[MAX_SPADIC]; //! cut quality 00077 //TH1 *fSpadic_beamQuality[MAX_SPADIC]; //! beam and chamber quality 00078 TH2 *fSpadic_correlation[MAX_SPADIC*MAX_SPADIC]; 00079 TH2 *fSpadic_alignment[MAX_SPADIC*MAX_SPADIC]; 00080 TH2 *fFiberHod_x_alignment[MAX_SPADIC]; 00081 TH2 *fFiberHod_y_alignment[MAX_SPADIC]; 00082 TH1 *fSpadic_efficiency; 00083 TH2 *fSpadic_2Dcorr[MAX_SPADIC]; 00084 TH1 *fSpadic_trace_noisecorr[MAX_SPADIC][NUM_SPADIC_CHA]; 00085 TH1 *fSpadic_NbCluster[MAX_SPADIC]; 00086 TH1 *fSpadic_Clustersize[MAX_SPADIC]; 00087 TH1 *fSpadic_Spectral[MAX_SPADIC]; 00088 00089 TH2 *fSpadic_PRFMF[MAX_SPADIC]; 00090 TH2 *fSpadic_deltaPos[4]; 00091 TH2 *fSpadic_MSxyHitPadplane[2]; 00092 TH2 *fSpadic_MSxyHitplane[2]; 00093 TH2 *fSpadic_FingerCorr[MAX_SPADIC]; 00094 00095 00096 TH1 *fSpadic_maxAmplitude[MAX_SPADIC]; 00097 TH1 *fSpadic_el_maxAmplitude[MAX_SPADIC]; 00098 TH1 *fSpadic_pi_maxAmplitude[MAX_SPADIC]; 00099 TH1 *fSpadic_hitTime[MAX_SPADIC]; 00100 TH1 *fSpadic_el_hitTime[MAX_SPADIC]; 00101 TH1 *fSpadic_pi_hitTime[MAX_SPADIC]; 00102 00103 TGo4WinCond *fSpadic_minAmplitudeCond[MAX_SPADIC]; 00104 TGo4WinCond *fSpadic_minIntensCond[MAX_SPADIC]; 00105 TGo4WinCond *fSpadic_hitTimeCond[MAX_SPADIC]; 00106 TGo4WinCond *fSpadic_integWindow[MAX_SPADIC]; 00107 TGo4WinCond *fSpadic_padMaxWindow[MAX_SPADIC]; 00108 //TGo4WinCond *fSpadic 00109 00110 TTRDMuensterFrankfurtParam * fPar; 00111 00112 /* here some mapped slow control values:*/ 00113 Double_t fEpicsMSTRD_Anode_U[MSTRDNUM]; 00114 Double_t fEpicsMSTRD_Anode_I[MSTRDNUM]; 00115 Double_t fEpicsMSTRD_Drift_U[MSTRDNUM]; 00116 Double_t fEpicsMSTRD_Drift_I[MSTRDNUM]; 00117 Double_t fEpicsMSTRD_Sus_U[MSTRDNUM]; 00118 Double_t fEpicsMSTRD_Sus_I[MSTRDNUM]; 00119 Double_t fEpicsMSTRD_Spa_U[MSTRDNUM]; 00120 Double_t fEpicsMSTRD_Spa_I[MSTRDNUM]; 00121 Double_t fEpicsMSTRD_Temp[4]; 00122 Double_t fEpicsMSMpod00_U[MPOD00SLOT][MPOD00CHA]; 00123 Double_t fEpicsMSMpod00_I[MPOD00SLOT][MPOD00CHA]; 00124 Double_t fEpicsMSMpod01_U[MPOD01SLOT][MPOD01CHA]; 00125 Double_t fEpicsMSMpod01_I[MPOD01SLOT][MPOD01CHA]; 00126 00127 TH1 *fEpicsMSTRD_AnodeU[MSTRDNUM]; 00128 TH1 *fEpicsMSTRD_AnodeI[MSTRDNUM]; 00129 TH1 *fEpicsMSTRD_DriftU[MSTRDNUM]; 00130 TH1 *fEpicsMSTRD_DriftI[MSTRDNUM]; 00131 TH1 *fEpicsMSTRD_SusU[MSTRDNUM]; 00132 TH1 *fEpicsMSTRD_SusI[MSTRDNUM]; 00133 TH1 *fEpicsMSTRD_SpaU[MSTRDNUM]; 00134 TH1 *fEpicsMSTRD_SpaI[MSTRDNUM]; 00135 TH1 *fEpicsMSTRD_T[4]; 00136 TH1 *fEpicsMSMpod00_Monitor_U[MPOD01SLOT][MPOD01CHA]; 00137 TH1 *fEpicsMSMpod00_Monitor_I[MPOD01SLOT][MPOD01CHA]; 00138 TH1 *fEpicsMSMpod01_Monitor_U[MPOD01SLOT][MPOD01CHA]; 00139 TH1 *fEpicsMSMpod01_Monitor_I[MPOD01SLOT][MPOD01CHA]; 00140 00141 Double_t fEpics_Monitor_U[8]; 00142 Double_t fEpics_Monitor_I[8]; 00143 TH1 *fEpics_MonitorU[8]; 00144 TH1 *fEpics_MonitorI[8]; 00145 00146 Double_t fEpics_Rich_U[RICHNUM]; 00147 Double_t fEpics_Rich_I[RICHNUM]; 00148 TH1 *fEpics_RichU[RICHNUM]; 00149 TH1 *fEpics_RichI[RICHNUM]; 00150 00151 TLatex *S2N[MAX_SPADIC]; 00152 TLatex *E2P[MAX_SPADIC]; 00153 00154 TLine *one; 00155 00156 protected: 00157 00158 ClassDef(TTRDMuensterFrankfurtProc,1) 00159 }; 00160 00161 #endif //TUNPACKPROCESSOR_H 00162