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