00001 /*************************************************************************** 00002 * 00003 * $Id: StMuProbPidTraits.h,v 1.7 2012/05/07 14:47:06 fisyak Exp $ 00004 * Author: Frank Laue, BNL, laue@bnl.gov 00005 * 00006 ***************************************************************************/ 00007 00022 #ifndef StMuProbPidTraits_h 00023 #define StMuProbPidTraits_h 00024 #include <string.h> 00025 #include "TObject.h" 00026 00027 #define __NPARTICLES__ 9 00028 00029 class StMuProbPidTraits : public TObject { 00030 public: 00031 StMuProbPidTraits(); 00032 double dEdxFit() const; 00033 double dEdxErrorFit() const; 00034 double dEdxTruncated() const; 00035 double dEdxErrorTruncated() const; 00036 double dEdxTrackLength() const; 00037 double log2dX() const { return mLog2dX;} 00038 double ndf() const; 00039 double probability(unsigned int i) const; 00040 double sum() const; 00041 int numberOfParticles() const; 00042 00043 void setdEdxFit(double dedx ); 00044 void setdEdxErrorFit(double dedx ); 00045 void setdEdxTruncated(double dedx); 00046 void setdEdxErrorTruncated(double dedx); 00047 void setdEdxTrackLength(double dedx ); 00048 void setNdf(unsigned int); 00049 void setProbability(unsigned int, double); 00050 void setLog2dX(Float_t log2dX = 1) {mLog2dX = log2dX;} 00051 protected: 00052 unsigned char mNDF; 00053 float mdEdxFit; 00054 float mdEdxErrorFit; 00055 float mdEdxTruncated; 00056 float mdEdxErrorTruncated; 00057 float mdEdxTrackLength; 00058 float mLog2dX; 00059 float mProbabilities[__NPARTICLES__]; 00060 00061 ClassDef(StMuProbPidTraits,4) 00062 }; 00063 00064 inline double StMuProbPidTraits::dEdxFit() const {return mdEdxFit;} 00065 inline double StMuProbPidTraits::dEdxErrorFit() const {return mdEdxErrorFit;} 00066 inline double StMuProbPidTraits::dEdxTruncated() const { return mdEdxTruncated;} 00067 inline double StMuProbPidTraits::dEdxErrorTruncated() const { return mdEdxErrorTruncated;} 00068 inline double StMuProbPidTraits::dEdxTrackLength() const {return mdEdxTrackLength;} 00069 inline double StMuProbPidTraits::ndf() const { return mNDF;} 00070 inline double StMuProbPidTraits::probability(unsigned int i) const { return (i<__NPARTICLES__) ? mProbabilities[i] : 0;} 00071 inline double StMuProbPidTraits::sum() const { double s=0; for (int i=0;i<__NPARTICLES__;i++) s += mProbabilities[i]; return s;} 00072 inline int StMuProbPidTraits::numberOfParticles() const { return __NPARTICLES__; } 00073 00074 inline void StMuProbPidTraits::setdEdxFit(double dEdx ) { mdEdxFit = dEdx; } 00075 inline void StMuProbPidTraits::setdEdxErrorFit(double dEdx ) { mdEdxErrorFit = dEdx; } 00076 inline void StMuProbPidTraits::setdEdxTruncated(double dEdx) { mdEdxTruncated = dEdx; } 00077 inline void StMuProbPidTraits::setdEdxErrorTruncated(double dEdx) { mdEdxErrorTruncated = dEdx; } 00078 inline void StMuProbPidTraits::setdEdxTrackLength(double dEdxTrackLength) { mdEdxTrackLength = dEdxTrackLength; } 00079 inline void StMuProbPidTraits::setProbability(unsigned int i, double prob) { if (i<__NPARTICLES__) mProbabilities[i]=prob;} 00080 inline void StMuProbPidTraits::setNdf(unsigned int i) { mNDF = i; } 00081 00082 00083 00084 #endif 00085 00086 /*************************************************************************** 00087 * 00088 * $Log: StMuProbPidTraits.h,v $ 00089 * Revision 1.7 2012/05/07 14:47:06 fisyak 00090 * Add handles for track to fast detector matching 00091 * 00092 * Revision 1.6 2007/07/12 19:46:19 fisyak 00093 * Add includes for ROOT 5.16 00094 * 00095 * Revision 1.5 2004/05/02 04:10:14 perev 00096 * private => protected 00097 * 00098 * Revision 1.4 2003/11/08 14:18:41 laue 00099 * incrmented ClassDef version numbber 00100 * 00101 * Revision 1.3 2003/11/07 15:23:26 laue 00102 * added error on dEdx measurements to the StMuProbPidTraits 00103 * 00104 * Revision 1.2 2003/02/21 14:32:47 laue 00105 * Yuri's updates to the PID probabilities. dE/dx track length in TPC added 00106 * 00107 * Revision 1.1 2002/11/18 20:29:01 laue 00108 * New class. Wrapper for Yuri's new StProbPidTraits. 00109 * 00110 * 00111 **************************************************************************/
1.5.9