00001 #ifndef ParticleID_TofEPID_H
00002 #define ParticleID_TofEPID_H
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "ParticleID/ParticleIDBase.h"
00012
00013 class TofEPID : public ParticleIDBase {
00014
00015 public:
00016 static TofEPID *instance();
00017 ~TofEPID(){;}
00018
00019 void init();
00020 void calculate();
00021 bool IsPidInfoValid() const {return (m_ndof > 0); }
00022 double chi(int n) const {return m_chi[n];}
00023 double prob(int n) const {return m_prob[n];}
00024 double sigma(int n) const{return m_sigma[n];}
00025 double offset(int n) const{return m_offset[n];}
00026 int ndof() const {return m_ndof;}
00027 double mass2() const {return m_mass2;}
00028 int part() const {return m_part;}
00029 double rhit() const {return m_rhit;}
00030 int neuronPID() const {return -1;}
00031 protected:
00032
00033 int neuronPIDCalculation() { return -1;}
00034 int particleIDCalculation();
00035 int LikelihoodCalculation() {return -1;}
00036 double offsetTofE(int n, int cntr, double ptrk, double rtof, double ph,double charge);
00037 double sigmaTofE(int n, int cntr, double ptrk, double rtof, double ph,double charge);
00038
00039
00040 private:
00041 double m_chi[5];
00042 double m_prob[5];
00043 double m_sigma[5];
00044 double m_offset[5];
00045
00046
00047 double m_chimin;
00048 double m_pdfmin;
00049 int m_ndof;
00050 double m_mass2;
00051 int m_part;
00052 double m_rhit;
00053 private:
00054 TofEPID();
00055 static TofEPID *m_pointer;
00056 };
00057
00058 #endif