00001 #ifndef K_KPIPI_H 00002 #define K_KPIPI_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 Kkpipi 00021 { 00022 public: 00023 Kkpipi(); 00024 ~Kkpipi(); 00025 00026 public: 00027 inline bool Getkkpipimd() { return kkpipimd; } 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 kkpipimd; 00042 double tagmd; 00043 double mass_bc; 00044 double cqtm; 00045 double delE_tag; 00046 Vint iGoodtag; 00047 HepLorentzVector ptag; 00048 Vint iGamtag; 00049 00050 }; 00051 00052 #endif