00001
00002
00003
00004
00005 #ifndef MyTrackH
00006 #define MyTrackH
00007
00008
00009
00010
00011
00019
00020
00021
00022
00023
00024
00025 #include <iostream>
00026
00027
00028 #include "TLorentzVector.h"
00029
00030
00031 #include "MyParticle.h"
00032
00033 class MyTrack : public MyParticle {
00034
00035 public:
00036
00037 MyTrack(void) {}
00039 MyTrack(const TLorentzVector & p,
00040 const double & charge,
00041 const int & index,
00042 const int & vertex_index,
00043 const int & SCThit,
00044 const int & Phit,
00045 const int & BLayerhit,
00046 const int & TRThit,
00047 const int & MDThit,
00048 const int & CSChit_eta,
00049 const int & TGChit_eta,
00050 const int & RPChit_eta,
00051 const int & CSChit_phi,
00052 const int & TGChit_phi,
00053 const int & RPChit_phi,
00054 const double & d0,
00055 const double & z0,
00056 const double & chi2,
00057 const double & nDoF,
00058 const std::vector<double> * trackIsolationEnergy=0)
00059 : MyParticle(p, 0, charge, index, "track", vertex_index)
00060 {
00061 init(SCThit, Phit, BLayerhit, TRThit, MDThit,
00062 CSChit_eta,TGChit_eta,RPChit_eta,
00063 CSChit_phi,TGChit_phi,RPChit_phi,
00064 d0,z0,chi2,nDoF, trackIsolationEnergy);
00065 }
00075
00076 virtual ~MyTrack() {};
00078
00079
00080
00081 inline int SCThit(void) const;
00083 inline int Phit(void) const;
00085 inline int BLayerhit(void) const;
00087 inline int TRThit(void) const;
00089 inline int MDThit(void) const;
00091 inline int CSChit_eta(void) const;
00093 inline int TGChit_eta(void) const;
00095 inline int RPChit_eta(void) const;
00097 inline int CSChit_phi(void) const;
00099 inline int TGChit_phi(void) const;
00101 inline int RPChit_phi(void) const;
00103 inline double d0(void) const;
00105 inline double z0(void) const;
00107 inline double chi2(void) const;
00109 inline double nDoF(void) const;
00111 inline double trackIsolationEnergy(const int & delta_R_index) const;
00119
00120 private:
00121
00122 int m_SCThit;
00123 int m_Phit;
00124 int m_BLayerhit;
00125 int m_TRThit;
00126 int m_MDThit;
00127 int m_CSChit_eta;
00128 int m_TGChit_eta;
00129 int m_RPChit_eta;
00130 int m_CSChit_phi;
00131 int m_TGChit_phi;
00132 int m_RPChit_phi;
00133 double m_d0;
00134 double m_z0;
00135 double m_chi2;
00136 double m_nDoF;
00137 double m_trackIsolationEnergy[5];
00138
00139 inline void init(
00140 const int & SCThit,
00141 const int & Phit,
00142 const int & BLayerhit,
00143 const int & TRThit,
00144 const int & MDThit,
00145 const int & CSChit_eta,
00146 const int & TGChit_eta,
00147 const int & RPChit_eta,
00148 const int & CSChit_phi,
00149 const int & TGChit_phi,
00150 const int & RPChit_phi,
00151 const double & d0,
00152 const double & z0,
00153 const double & chi2,
00154 const double & nDoF,
00155 const std::vector<double> * trackIsolationEnergy);
00156
00157
00158 };
00159
00160
00161
00162
00163 #include "MyTrack.ixx"
00164
00165 #endif