00001 #ifndef McTestAlg_h 00002 #define McTestAlg_h 1 00003 00004 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00008 class IDataProviderSvc; 00009 00010 class McTestAlg:public Algorithm 00011 { 00012 public: 00013 00014 McTestAlg (const std::string& name, ISvcLocator* pSvcLocator); 00015 StatusCode initialize(); 00016 StatusCode execute(); 00017 StatusCode finalize(); 00018 00019 void RetrieveMcParticle(); 00020 void RetrieveMdc(); 00021 void MdcInit(); 00022 void RetrieveTof(); 00023 void TofInit(); 00024 void RetrieveEmc(); 00025 void RetrieveMuc(); 00026 00027 private: 00028 IDataProviderSvc* m_evtSvc; 00029 00030 bool m_particleRootFlag; 00031 NTuple::Tuple* tupleParticle; 00032 NTuple::Item<double> me; 00033 00034 bool m_mdcRootFlag; 00035 NTuple::Tuple* tupleMdc1; // MdcTruth 00036 NTuple::Tuple* tupleMdc2; // MdcDigit 00037 00038 NTuple::Item<long> truthMdcIndex; 00039 NTuple::Item<long> truthMdcParId; 00040 NTuple::Item<long> truthMdcLayer; 00041 NTuple::Item<long> truthMdcWire; 00042 NTuple::Item<double> truthMdcEdep; 00043 NTuple::Item<double> truthMdcDriftD; 00044 NTuple::Item<double> truthMdcX; 00045 NTuple::Item<double> truthMdcY; 00046 NTuple::Item<double> truthMdcZ; 00047 NTuple::Item<double> ntruthMdc; 00048 NTuple::Item<double> m_layer; 00049 NTuple::Item<double> m_cell; 00050 NTuple::Item<double> m_charge; 00051 NTuple::Item<double> m_time; 00052 00053 bool m_tofRootFlag; 00054 NTuple::Tuple* tupleTof; 00055 NTuple::Item<double> truthIndex; 00056 NTuple::Item<double> truthPartId; 00057 NTuple::Item<double> truthLayer; 00058 NTuple::Item<double> truthScinNb; 00059 NTuple::Item<double> truthX; 00060 NTuple::Item<double> truthY; 00061 NTuple::Item<double> truthZ; 00062 NTuple::Item<double> ntruth; 00063 NTuple::Item<double> tleft; 00064 NTuple::Item<double> tright; 00065 NTuple::Item<double> qleft; 00066 NTuple::Item<double> qright; 00067 00068 }; 00069 00070 #endif