/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Analysis/ParticleID/ParticleID-00-04-61/ParticleID/TofCorrPID.h

Go to the documentation of this file.
00001 #ifndef ParticleID_TofCorrPID_H
00002 #define ParticleID_TofCorrPID_H
00003 //
00004 // TofCorrPID package: particle Identification with TOF
00005 //
00006 // The offset for hadrons are corrected.
00007 //
00008 // Author: SUN Shengsen, LV Meng     date: 01/16/2013, created
00009 //
00010 
00011 
00012 #include "ParticleID/ParticleIDBase.h"
00013 
00014 class TofCorrPID : public ParticleIDBase {
00015 
00016  public:
00017   
00018   static TofCorrPID * instance();
00019   ~TofCorrPID(){;} 
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 
00030   int    ipmt()                       const { return m_ipmt;                 }
00031   double dt(int ipar, int ipmt)       const { return m_dt[ipar][ipmt];       }
00032   double dtCorr(int ipar, int ipmt)   const { return m_dtCorr[ipar][ipmt];   }
00033   double sigCorr(int ipar, int ipmt)  const { return m_sigCorr[ipar][ipmt];  }
00034   double chiCorr(int ipar, int ipmt)  const { return m_chiCorr[ipar][ipmt];  }
00035 
00036  protected:
00037 
00038   int particleIDCalculation();
00039   int neuronPIDCalculation() { return -1;}
00040   int LikelihoodCalculation() {return -1;}
00041 
00042   void   inputParameter( int run );
00043   double offsetTof( unsigned int ispecies, bool barrel, unsigned int ipmt, double betaGamma, int charge, double zrhit, double dt );
00044   double offsetTof( unsigned int ispecies, int tofid, double zrhit, double betaGamma, int charge, double dt );
00045   double offsetTof( unsigned int ispecies, int tofid1, int tofid2, double zrhit1, double zrhit2, double betaGamma, int charge, double dt );
00046   double sigmaTof( unsigned int ispecies, int charge, bool barrel, unsigned int ipmt, int tofid[2], double zrhit[2], double betaGamma );
00047   double sigmaTof( unsigned int ispecies, int charge, bool barrel, unsigned int ipmt, double zrhit, double betaGamma );
00048 
00049   double qCurveFunc( unsigned int layer, double betaGamma );
00050   double bSigma( unsigned int end, int tofid, double zrhit );
00051   double bSigma( int tofid[2], double zrhit[2] );
00052   double eSigma( int tofid, double zrhit );
00053 
00054   bool correlationCheck( unsigned int ipmt );
00055 
00056  private:
00057   double  m_chi[5];
00058   double  m_offset[5], m_sigma[5];
00059   double  m_prob[5];
00060   double  m_chimin, m_chimax;
00061   double  m_pdfmin;
00062   int     m_ndof;
00063 
00064  private:
00065   int     m_ipmt;
00066   double  m_dt[5][7], m_dtCorr[5][7], m_sigCorr[5][7], m_chiCorr[5][7]; 
00067 
00068  private:
00069   int     m_runBegin, m_runEnd;
00070   double  m_p_weight[176][3][5], m_p_common, m_ec_sigma[96][3];
00071   double  m_q0_bg[3][5], m_par_ab[5][2][5], m_par_pbar_ab[5][2][5];
00072   double  m_par_sigma[4][8][12], m_par_sig_mom[3][7][3];
00073   double  m_p_offset[2][4][10][20], m_p_sigma[2][7][10][20];
00074   double  m_p_offset_12[2][7][20][46], m_p_sigma_12[2][7][20][46];
00075   double  m_p_offset_ec12[2][20][7], m_p_sigma_ec12[2][20][7];
00076 
00077   double  m_par_ab_12[2][5][2][2][11];
00078 
00079  private:
00080   TofCorrPID();
00081   static TofCorrPID *m_pointer;
00082 };
00083 
00084 #endif

Generated on Tue Nov 29 22:57:34 2016 for BOSS_7.0.2 by  doxygen 1.4.7