00001 #ifndef CLASS_DQAKSINFO_H 00002 #define CLASS_DQAKSINFO_H 00003 00004 //#include "GaudiKernel/ObjectVector.h" 00005 //#include "GaudiKernel/AlgFactory.h" 00006 //#include "GaudiKernel/Algorithm.h" 00007 //#include "GaudiKernel/NTuple.h" 00008 //#include "GaudiKernel/IDataProviderSvc.h" 00009 00010 #include "EvtRecEvent/EvtRecTrack.h" 00011 //#include "EvtRecEvent/EvtRecDTag.h" 00012 #include "VertexFit/VertexFit.h" 00013 #include "VertexFit/SecondVertexFit.h" 00014 #include "CLHEP/Vector/LorentzVector.h" 00015 00016 #include <iostream> 00017 using namespace std; 00018 const double Ksinfo_mpi = 0.139570; 00019 00020 class DQAKsInfo{ 00021 public: 00022 DQAKsInfo(); 00023 DQAKsInfo(EvtRecTrack*,EvtRecTrack*,VertexParameter,VertexParameter); 00024 ~DQAKsInfo(); 00025 00026 void setchild(int n, EvtRecTrack* track) 00027 { 00028 if (n==0) 00029 m_track0 = track; 00030 else if (n==1) 00031 m_track1 = track; 00032 } 00033 void setchilds(EvtRecTrack* track0, EvtRecTrack* track1) 00034 { 00035 m_track0 = track0; 00036 m_track1 = track1; 00037 } 00038 EvtRecTrack* getchild(int n) 00039 { 00040 if (n==0) 00041 return m_track0; 00042 else if (n==1) 00043 return m_track1; 00044 } 00045 double m() 00046 { 00047 return m_vmks; 00048 } 00049 double mksp4() 00050 { 00051 return m_mksp4; 00052 } 00053 double vtxChi2() 00054 { 00055 return m_vchi2ks1; 00056 } 00057 double chi2() 00058 { 00059 return m_vchi2ks2; 00060 } 00061 double decayLength() 00062 { 00063 return m_vlks; 00064 } 00065 double decayLengthRatio() 00066 { 00067 return m_vrks; 00068 } 00069 HepLorentzVector p4() 00070 { 00071 return m_p4; 00072 } 00073 void setVtxPar(VertexParameter vtxpar) 00074 { 00075 m_vtxpar = vtxpar; 00076 } 00077 void setPrimaryVtxPar(VertexParameter privtxpar) 00078 { 00079 m_privtxpar = privtxpar; 00080 } 00081 bool init() 00082 { 00083 m_vtxFit->init(); 00084 m_2ndVtxFit->init(); 00085 return true; 00086 } 00087 bool calculate(); 00088 00089 private: 00090 EvtRecTrack* m_track0; 00091 EvtRecTrack* m_track1; 00092 HepLorentzVector m_p4; 00093 VertexFit* m_vtxFit; 00094 SecondVertexFit* m_2ndVtxFit; 00095 VertexParameter m_vtxpar; 00096 VertexParameter m_privtxpar; 00097 double m_mksp4; 00098 double m_vmks; 00099 double m_vchi2ks1; 00100 double m_vchi2ks2; 00101 double m_vlks; 00102 double m_vrks; 00103 }; 00104 #endif