00001 #ifndef RawDataHistogram_H 00002 #define RawDataHistogram_H 00003 00004 00005 #include "GaudiAlg/GaudiAlgorithm.h" 00006 //#include "GaudiKernel/ITHistSvc.h" 00007 #define MAXMODNUM 21 00008 #define MAXCHNNUM 16 00009 class ITHistSvc; 00010 class TH1F; 00011 class TH2F; 00012 class TH1I; 00013 class RawDataHistogram: public GaudiAlgorithm 00014 { 00015 public: 00017 RawDataHistogram(const std::string& name, ISvcLocator* svcloc); 00018 virtual ~RawDataHistogram(); 00019 00021 StatusCode initialize(); 00022 StatusCode execute(); 00023 StatusCode finalize(); 00024 00025 private: 00026 int daqTrigType(int offTrigType); 00027 00028 private: 00029 ITHistSvc *m_thistsvc; 00030 TH1F* h_test; 00031 00032 00033 00034 TH1I *h_Time[MAXMODNUM][MAXCHNNUM] ;//for Time 00035 TH1I *h_Charge[MAXMODNUM][MAXCHNNUM] ;//for charge 00036 TH1I *h_peakCycle[MAXMODNUM][MAXCHNNUM] ; 00037 TH1I *h_range[MAXMODNUM][MAXCHNNUM] ; 00038 TH1I *h_QhitCount[MAXMODNUM][MAXCHNNUM] ; 00039 TH1I *h_hitCount[MAXMODNUM][MAXCHNNUM] ; 00040 TH1I *h_pedestal[MAXMODNUM][MAXCHNNUM] ; 00041 //TH1F *h_timeInterval[MAXMODNUM][MAXCHNNUM] ; 00042 //TH1F *h_qInterval[MAXMODNUM][MAXCHNNUM] ; 00043 TH1I *h_sum_triggerType; 00044 TH1F *h_sum_FEEQSUM; 00045 TH1I *h_sum_overThrChnPerTrg; 00046 TH1F *h_sum_hitRate; 00047 TH1F *h_tmp_hitRate; 00048 TH1F *h_sum_ADCMean; 00049 TH1F *h_sum_ADCRMS; 00050 TH1F *h_sum_TDCMean; 00051 TH1F *h_sum_TDCRMS; 00052 TH1F *h_sum_pedestalMean; 00053 TH1F *h_sum_pedestalRMS; 00054 TH1F *h_sum_triggerInterval; 00055 TH2F *h_sum_ADC_Channel; 00056 TH2F *h_sum_TDC_Channel; 00057 mutable MsgStream m_log; 00058 00059 int m_printFreq; 00060 int m_adcSumMax; 00061 double m_tIntervalMax; 00062 }; 00063 00064 #endif