00001 #ifndef K_PI_H 00002 #define K_PI_H 00003 00004 #include "GaudiKernel/SmartDataPtr.h" 00005 #include "EvtRecEvent/EvtRecEvent.h" 00006 #include "EvtRecEvent/EvtRecTrack.h" 00007 #include "DstEvent/TofHitStatus.h" 00008 00009 #include "ParticleID/ParticleID.h" 00010 #include <vector> 00011 #include "CLHEP/Vector/ThreeVector.h" 00012 #include "CLHEP/Vector/LorentzVector.h" 00013 #include "CLHEP/Vector/TwoVector.h" 00014 #include "CLHEP/Geometry/Point3D.h" 00015 00016 typedef std::vector<int> Vint; 00017 typedef std::vector<double> Vdouble; 00018 typedef std::vector<HepLorentzVector> Vp4; 00019 00020 class Kpi 00021 { 00022 public: 00023 Kpi(); 00024 ~Kpi(); 00025 00026 public: 00027 inline bool Getkpimd() { return kpimd; } 00028 inline double Gettagmd() { return tagmd; } 00029 inline double Getmass_bc() { return mass_bc; } 00030 inline double GetCQtm() { return cqtm; } 00031 inline double GetdelE_tag() { return delE_tag; } 00032 inline Vint Gettagtrk1() { return iGoodtag; } 00033 inline HepLorentzVector Gettagp1() { return ptag; } 00034 inline Vint GettagGam1() { return iGamtag; } 00035 00036 00037 public: 00038 void MTotal(double event,SmartDataPtr<EvtRecTrackCol> evtRecTrkCol, Vint iGood,Vint iGam, double Ebeam, int PID_flag, int Charge_candidate_D); 00039 00040 private: 00041 bool kpimd; 00042 double tagmd; 00043 double mass_bc; 00044 double mass_kf; 00045 double cqtm; 00046 double delE_tag; 00047 Vint iGoodtag; 00048 HepLorentzVector ptag; 00049 Vint iGamtag; 00050 00051 }; 00052 00053 #endif