00001 #ifndef Physics_Analysis_DQA_EMC_H 00002 #define Physics_Analysis_DQA_EMC_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00008 #include "TH1F.h" 00009 #include "TH2F.h" 00010 #include "TNtuple.h" 00011 #include "TProfile.h" 00012 #include "TProfile2D.h" 00013 #include "EmcCalibConstSvc/IEmcCalibConstSvc.h" 00014 #include "EmcCalibConstSvc/EmcCalibConstSvc.h" 00015 class ITHistSvc; 00016 00017 /**********************************************************************/ 00030 class DQA_EMC : public Algorithm { 00031 00032 public: 00033 DQA_EMC(const std::string& name, ISvcLocator* pSvcLocator); 00034 StatusCode initialize(); 00035 StatusCode execute(); 00036 StatusCode finalize(); 00037 00038 private: 00039 int m_event; 00040 00041 int m_runNo; 00042 00043 ITHistSvc* m_thistsvc; 00044 00045 NTuple::Tuple* m_tuple; 00046 NTuple::Item<long> m_ixtal; 00047 NTuple::Item<long> m_npart; 00048 NTuple::Item<long> m_ntheta; 00049 NTuple::Item<long> m_nphi; 00050 NTuple::Item<double> m_theta; 00051 NTuple::Item<double> m_phi; 00052 NTuple::Item<double> m_emcX; 00053 NTuple::Item<double> m_emcY; 00054 NTuple::Item<double> m_eSeed; 00055 NTuple::Item<double> m_e5x5; 00056 NTuple::Item<double> m_energy; 00057 NTuple::Item<long> m_time; 00058 00059 TH1F* m_HistEnergyB; 00060 TH1F* m_HistEnergyEast; 00061 TH1F* m_HistEnergyWest; 00062 TH1F* m_HistTheta; 00063 TH1F* m_HistCosTheta; 00064 TH1F* m_HistPhiB; 00065 TH1F* m_HistPhiEast; 00066 TH1F* m_HistPhiWest; 00067 // TProfile2D* m_ThetaPhi; 00068 TH2F* m_ThetaPhi; 00069 00070 00071 TH1F* m_HistTime; 00072 TH1F* m_HistHitMap; 00073 00074 TH2F* m_XYeast; 00075 TH2F* m_XYwest; 00076 TH2F* m_eSeedIxtal; 00077 00078 00079 IEmcCalibConstSvc* m_emcCalibConstSvc; 00080 00081 00082 }; 00083 00084 00085 #endif