00001 #ifndef RootEventData_TRecMdcDedx_H 00002 #define RootEventData_TRecMdcDedx_H 1 00003 00004 #include "TObject.h" 00005 00006 class TRecMdcDedx : public TObject { 00007 00008 public: 00009 00010 TRecMdcDedx (); 00011 00012 ~TRecMdcDedx (); 00013 00014 00015 // void Clear(Option_t *option =""); 00016 00017 // void PrInt_t(Option_t *option="") const; 00018 //get 00019 Int_t mdcTrackId() const { return m_mdcTrackId; } 00020 Int_t mdcKalTrackId() const { return m_mdcKalTrackId; } 00021 Int_t trackId() const { return m_trackId; } 00022 Int_t particleId() const { return m_particleId; } 00023 Int_t status() const { return m_status; } 00024 Int_t truncAlg() const { return m_trunc_alg; } 00025 // Double_t prob(Int_t i) const { return m_prob[i]; } 00026 Double_t chi(int i) const { return m_chi[i]; } 00027 Double_t chiE() const { return m_chiE; } 00028 Double_t chiMu() const { return m_chiMu; } 00029 Double_t chiPi() const { return m_chiPi; } 00030 Double_t chiK() const { return m_chiK; } 00031 Double_t chiP() const { return m_chiP; } 00032 00033 Int_t numGoodHits() const { return m_numGoodHits; } 00034 Int_t numTotalHits() const { return m_numTotalHits; } 00035 00036 Double_t probPH() const { return m_probPH; } 00037 Double_t normPH() const { return m_normPH; } 00038 Double_t errorPH() const { return m_errorPH; } 00039 Double_t twentyPH() const { return m_twentyPH; } 00040 00041 Double_t dedxExpect(int pid) const { return m_dedx_exp[pid]; } 00042 Double_t sigmaDedx(int pid) const { return m_sigma_dedx[pid]; } 00043 Double_t pidProb(int pid) const { return m_pid_prob[pid]; } 00044 00045 Double_t dedxHit() const {return m_dedx_hit; } 00046 Double_t dedxEsat() const {return m_dedx_esat; } 00047 Double_t dedxNoRun() const {return m_dedx_norun; } 00048 Double_t dedxMoment() const {return m_dedx_momentum; } 00049 00050 //set 00051 void setDedxHit(const Double_t dedx_hit) { m_dedx_hit = dedx_hit; } 00052 void setDedxEsat(const Double_t dedx_esat) { m_dedx_esat = dedx_esat; } 00053 void setDedxNoRun(const Double_t dedx_norun) { m_dedx_norun = dedx_norun; } 00054 void setDedxMoment(const Double_t dedx_momentum){ m_dedx_momentum = dedx_momentum; } 00055 00056 void setMdcTrackId (const int mdcTrackId) { m_mdcTrackId = mdcTrackId; } 00057 void setMdcKalTrackId(const int mdcKalTrackId) { m_mdcKalTrackId = mdcKalTrackId; } 00058 void setTrackId (const Int_t trackId ) { m_trackId = trackId ; } 00059 void setParticleId(const Int_t particleId) { m_particleId = particleId; } 00060 void setStatus (const Int_t status) { m_status=status; } 00061 void setTruncAlg(const Int_t trunc_alg) { m_trunc_alg = trunc_alg; } 00062 00063 void setChiE(const Double_t chiE) { m_chiE = chiE; } 00064 void setChiMu(const Double_t chiMu) { m_chiMu = chiMu; } 00065 void setChiPi(const Double_t chiPi) { m_chiPi = chiPi; } 00066 void setChiK(const Double_t chiK) { m_chiK = chiK; } 00067 void setChiP(const Double_t chiP) { m_chiP = chiP; } 00068 00069 void setNumGoodHits(const Int_t numGoodHits) { m_numGoodHits = numGoodHits; } 00070 void setNumTotalHits(const Int_t numTotalHits) { m_numTotalHits = numTotalHits; } 00071 00072 void setProbPH(const Double_t probPH) { m_probPH = probPH; } 00073 void setNormPH(const Double_t normPH) { m_normPH = normPH; } 00074 void setErrorPH(const Double_t errorPH) { m_errorPH = errorPH; } 00075 void setTwentyPH(const Double_t twentyPH) { m_twentyPH = twentyPH; } 00076 00077 void setChi( double* chi) { 00078 for(int i =0; i<5 ; i++) m_chi[i]= chi[i]; 00079 } 00080 00081 void setDedxExpect(double* dedx_exp) { 00082 for(int i = 0; i < 5; i++) 00083 m_dedx_exp[i] = dedx_exp[i] ; 00084 } 00085 void setSigmaDedx(double* sigma_dedx) { 00086 for(int i = 0; i < 5; i++) 00087 m_sigma_dedx[i] = sigma_dedx[i] ; 00088 } 00089 void setPidProb(double* pid_prob) { 00090 for(int i = 0; i < 5; i++) 00091 m_pid_prob[i] = pid_prob[i] ; 00092 } 00093 00094 private: 00095 Double_t m_dedx_hit; //double trucation mean of hit-level calib 00096 Double_t m_dedx_esat; //double trucation mean of hit-level+electron saturation calib 00097 Double_t m_dedx_norun; //double trucation mean of no run gain calib 00098 Double_t m_dedx_momentum; //dE/dx calib used momentum 00099 00100 Int_t m_trackId; //Track Id wensp Add 2005-10-19 00101 Int_t m_mdcTrackId; 00102 Int_t m_mdcKalTrackId; 00103 Int_t m_particleId; //Particle ID from De/Dx fit 00104 Int_t m_status; //Status 00105 Int_t m_trunc_alg; //truncate method 00106 00107 //Double_t m_prob[5]; //Probility // Changed on Oct. 10 following by Wangdy 00108 Double_t m_chiE; //Number of sigama from e 00109 Double_t m_chiMu; //Number of sigama from muon 00110 Double_t m_chiPi; //Number of sigama from pion 00111 Double_t m_chiK; //Number of sigama from k 00112 Double_t m_chiP; //Number of sigama from p 00113 Int_t m_numGoodHits; //No. of good de/dx hits(exclude overflow) 00114 Int_t m_numTotalHits; //No. of good de/dx hits(include overflow) 00115 Double_t m_probPH; //Most probable pulse height from truncated mean 00116 Double_t m_normPH; //normalizd pulse height // Changed on Oct. 10 following by Wangdy 00117 Double_t m_errorPH; //resolution of truncated mean 00118 Double_t m_twentyPH; //de/dx value of bitrunction rate equal to 20% 00119 Double_t m_chi[5]; //Number of Chi_dEdx for different particles 00120 //0: e 1: mu 2: pi 3: K 4:P 00121 Double_t m_dedx_exp[5]; // expected value of dE/dx for 5 particle hypotheses 00122 Double_t m_sigma_dedx[5]; // sigma value of dE/dx for 5 particle hypotheses 00123 Double_t m_pid_prob[5]; // probability for each of the 5 particle hypotheses 00124 00125 00126 ClassDef(TRecMdcDedx,5) 00127 }; 00128 00129 #endif