00001 #ifndef ParticleID_Tof1PID_H
00002 #define ParticleID_Tof1PID_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "ParticleID/ParticleIDBase.h"
00013
00014 class Tof1PID : public ParticleIDBase {
00015
00016 public:
00017
00018 static Tof1PID * instance();
00019 ~Tof1PID(){;}
00020
00021 void init();
00022 void calculate();
00023 bool IsPidInfoValid() const {return (m_ndof > 0); }
00024 double chi(int n) const {return m_chi[n];}
00025 double prob(int n) const {return m_prob[n];}
00026 double offset(int n) const {return m_offset[n];}
00027 double sigma(int n) const {return m_sigma[n];}
00028 int ndof() const {return m_ndof;}
00029 double mass2() const {return m_mass2;}
00030 double ph1() const {return m_ph1;}
00031 double zhit1() const {return m_zhit1;}
00032 double path1() const{return m_path1;}
00033 double tof1() const{return m_tof1;}
00034 int neuronPID() const {return -1;}
00035
00036 protected:
00037
00038 int particleIDCalculation();
00039 int neuronPIDCalculation() { return -1;}
00040 int LikelihoodCalculation() {return -1;}
00041 double offsetTof1(int n, int cntr, double ptrk, double ztof, double m_ph1, double charge);
00042 double sigmaTof1(int n, int cntr, double ptrk, double ztof, double m_ph1, double charge);
00043 double sampleQ0(double betagamma,double beta);
00044
00045 private:
00046 double m_chi[5];
00047 double m_sigma[5];
00048 double m_offset[5];
00049 double m_prob[5];
00050 double m_chimin;
00051 double m_pdfmin;
00052 int m_ndof;
00053 double m_mass2;
00054 double m_ph1;
00055 double m_zhit1;
00056 double m_path1;
00057 double m_tof1;
00058 double m_pars[15];
00059 private:
00060 Tof1PID();
00061 static Tof1PID *m_pointer;
00062 };
00063
00064 #endif