#include <MdcAliRecTrk.h>
Public Member Functions | |
double | getChisq () const |
double | getChisq () const |
double | getDr () const |
double | getDr () const |
double | getDz () const |
double | getDz () const |
HepVector | getHelix () const |
HepVector | getHelix () const |
HepSymMatrix | getHelixErr () const |
HepSymMatrix | getHelixErr () const |
double | getKappa () const |
double | getKappa () const |
int | getNHits () const |
int | getNHits () const |
double | getP () const |
double | getP () const |
double | getPhi0 () const |
double | getPhi0 () const |
double | getPt () const |
double | getPt () const |
MdcAliRecHit * | getRecHit (int index) const |
MdcAliRecHit * | getRecHit (int index) const |
int | getStat () const |
int | getStat () const |
double | getTanLamda () const |
double | getTanLamda () const |
void | setKalTrk (RecMdcKalTrackCol::iterator it_trk) |
void | setKalTrk (RecMdcKalTrackCol::iterator it_trk) |
void | setRecTrk (RecMdcTrackCol::iterator it_trk) |
void | setRecTrk (RecMdcTrackCol::iterator it_trk) |
~MdcAliRecTrk () | |
~MdcAliRecTrk () | |
Private Attributes | |
double | m_chisq |
double | m_dr |
double | m_dz |
HepVector | m_helix |
HepSymMatrix | m_helixerr |
double | m_kappa |
int | m_nhits |
double | m_p |
double | m_phi0 |
double | m_pt |
std::vector< MdcAliRecHit * > | m_rechit |
std::vector< MdcAliRecHit * > | m_rechit |
int | m_stat |
double | m_tanl |
Static Private Attributes | |
const double | m_df = 10.0 |
|
00013 { 00014 unsigned int i; 00015 for(i=0; i<m_rechit.size(); i++){ 00016 delete m_rechit[i]; 00017 } 00018 m_rechit.clear(); 00019 }
|
|
|
|
00036 { return m_chisq; }
|
|
00036 { return m_chisq; }
|
|
00027 { return m_dr; }
|
|
00027 { return m_dr; }
|
|
00030 { return m_dz; }
|
|
00030 { return m_dz; }
|
|
00032 { return m_helix; }
|
|
00032 { return m_helix; }
|
|
00033 { return m_helixerr; }
|
|
00033 { return m_helixerr; }
|
|
00029 { return m_kappa; }
|
|
00029 { return m_kappa; }
|
|
00037 { return m_nhits; }
|
|
00037 { return m_nhits; }
|
|
00035 { return m_p; }
|
|
00035 { return m_p; }
|
|
00028 { return m_phi0; }
|
|
00028 { return m_phi0; }
|
|
00034 { return m_pt; }
|
|
00034 { return m_pt; }
|
|
00038 { return m_rechit[index]; }
|
|
00038 { return m_rechit[index]; }
|
|
00026 {return m_stat;}
|
|
00026 {return m_stat;}
|
|
00031 { return m_tanl; }
|
|
00031 { return m_tanl; }
|
|
|
|
00061 { 00062 IMessageSvc *msgSvc; 00063 Gaudi::svcLocator()->service("MessageSvc", msgSvc); 00064 MsgStream log(msgSvc, "MdcAliRecTrk"); 00065 log << MSG::DEBUG << "MdcAliRecTrk::setKalTrk()" << endreq; 00066 00067 int m_pid = 1; 00068 if(0 == m_pid) RecMdcKalTrack::setPidType(RecMdcKalTrack::electron); 00069 else if(1 == m_pid) RecMdcKalTrack::setPidType(RecMdcKalTrack::muon); 00070 else RecMdcKalTrack::setPidType(RecMdcKalTrack::electron); 00071 00072 m_stat = 0; 00073 m_dr = (*it_trk)->dr(); 00074 m_phi0 = (*it_trk)->fi0(); 00075 m_kappa = (*it_trk)->kappa(); 00076 m_dz = (*it_trk)->dz(); 00077 m_tanl = (*it_trk)->tanl(); 00078 m_chisq = (*it_trk)->chi2(); 00079 00080 m_dr *= 10.0; // cm -> mm 00081 m_dz *= 10.0; // cm -> mm 00082 00083 m_pt = 1.0 / fabs(m_kappa); 00084 m_p = m_pt * sqrt( m_tanl * m_tanl + 1.0 ); 00085 00086 HelixSegRefVec gothelixsegs = (*it_trk)->getVecHelixSegs(); 00087 HelixSegRefVec::iterator it_hit = gothelixsegs.begin(); 00088 MdcAliRecHit* rechit; 00089 00090 int k = 0; 00091 for(; it_hit != gothelixsegs.end(); it_hit++){ 00092 rechit = new MdcAliRecHit(); 00093 rechit->setKalHit(it_hit); 00094 m_rechit.push_back(rechit); 00095 00096 k++; 00097 } 00098 m_nhits = k; 00099 }
|
|
|
|
00021 { 00022 IMessageSvc *msgSvc; 00023 Gaudi::svcLocator()->service("MessageSvc", msgSvc); 00024 MsgStream log(msgSvc, "MdcAliRecTrk"); 00025 log << MSG::DEBUG << "MdcAliRecTrk::setRecTrk()" << endreq; 00026 00027 m_stat = (*it_trk)->stat(); 00028 m_dr = (*it_trk) -> helix(0); 00029 m_phi0 = (*it_trk) -> helix(1); 00030 m_kappa = (*it_trk) -> helix(2); 00031 m_dz = (*it_trk) -> helix(3); 00032 m_tanl = (*it_trk) -> helix(4); 00033 00034 m_helix = (*it_trk)->helix(); 00035 m_helixerr = (*it_trk)->err(); 00036 00037 m_chisq = (*it_trk) -> chi2(); 00038 m_nhits = (*it_trk) -> getNhits(); 00039 00040 m_dr *= m_df; // cm -> mm 00041 m_dz *= m_df; // cm -> mm 00042 00043 if(m_kappa < 0.01){ // no magnetic field 00044 m_pt = 0.0; 00045 m_p = 0.0; 00046 }else{ 00047 m_pt = 1.0 / m_kappa; 00048 m_p = m_pt * sqrt(m_tanl * m_tanl + 1.0); 00049 } 00050 00051 HitRefVec gothits = (*it_trk) -> getVecHits(); 00052 HitRefVec::iterator it_hit = gothits.begin(); 00053 MdcAliRecHit* rechit; 00054 for(; it_hit != gothits.end(); it_hit++){ 00055 rechit = new MdcAliRecHit(); 00056 rechit->setRecHit(it_hit); 00057 m_rechit.push_back(rechit); 00058 } 00059 }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|