00001 #ifndef Physics_Analysis_DDecay_H 00002 #define Physics_Analysis_DDecay_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00008 #include "VertexFit/IVertexDbSvc.h" 00009 00010 class DDecay : public Algorithm { 00011 00012 public: 00013 DDecay(const std::string& name, ISvcLocator* pSvcLocator); 00014 StatusCode initialize(); 00015 StatusCode execute(); 00016 StatusCode finalize(); 00017 00018 private: 00019 00020 00021 // define Ntuples here 00022 00023 NTuple::Tuple* m_tuple1; // charged track vertex 00024 NTuple::Item<double> m_vx0; 00025 NTuple::Item<double> m_vy0; 00026 NTuple::Item<double> m_vz0; 00027 NTuple::Item<double> m_vr0; 00028 00029 00030 NTuple::Tuple* m_tuple2; // check Ks 00031 NTuple::Item<double> m_ksmass; 00032 NTuple::Item<double> m_ksd; 00033 NTuple::Item<double> m_ksmode; 00034 00035 NTuple::Tuple* m_tuple3; // check pi0 00036 NTuple::Item<double> m_pi0mass; 00037 NTuple::Item<double> m_pi0mode; 00038 00039 NTuple::Tuple* m_tuple4; // DTag info 00040 NTuple::Item<double> m_mode; 00041 NTuple::Item<double> m_type; 00042 NTuple::Item<double> m_charge; 00043 NTuple::Item<double> m_charm; 00044 NTuple::Item<double> m_numofchildren; 00045 NTuple::Item<double> m_mass; 00046 NTuple::Item<double> m_mBC; 00047 NTuple::Item<double> m_deltae; 00048 NTuple::Item<double> m_e; 00049 NTuple::Item<double> m_ntrk; 00050 00051 }; 00052 00053 #endif