00001 // 00002 //Parameters for Mdc Fast Track Reconstruction 00003 // 00004 //Created by Ma Xiang 00005 00006 #ifndef MdcParameter_FLAG_ 00007 #define MdcParameter_FLAG_ 00008 00009 #include <iostream> 00010 00011 #ifndef M_PI 00012 #define M_PI 3.14159265358979323846 00013 #endif 00014 00015 #include "MagneticField/IMagneticFieldSvc.h" 00016 #include "MagneticField/MagneticFieldSvc.h" 00017 00018 using namespace std; 00019 00020 class MdcParameter { 00021 00022 public: 00023 //the public method to get the static instance pointer 00024 static MdcParameter* instance(); 00025 double updateAlpha(); 00026 00027 protected: 00028 //Constructor and destructor 00029 MdcParameter(); 00030 ~MdcParameter(); 00031 00032 public: 00033 //public parameters 00034 //findPrimatyVertex,Primary event vertex finding 00035 const int _findEventVertex; 00036 //event timing correction 00037 const int _evtTimeCorr; 00038 //minimum Pt in finding(this must be >0.) 00039 const double _minPt; 00040 //minimum Dr in finding 00041 const double _minDr; 00042 //T0 offset for real data 00043 const float _t0OffSet; 00044 //coefficient of x-t for real data 00045 const float _xtCoEff; 00046 //doTracking,fast track finding 00047 const int _doIt; 00048 //make Mdst table from fzisan 00049 const bool _mkMdst; 00050 //make Tds from fzisan 00051 const bool _mkTds; 00053 //const int _eventNo; 00054 //magnetic field constant 00055 float _mfield; 00056 float _alpha; 00057 //chi2 of kappa in FTFinder::linkAxialSegments 00058 //sigmaKappa at linking 00059 const float _chi2_kappa; 00060 //minimum of chi2-chi2_kappa in FTFinder::linkAxialSegments 00061 const float _Min_chi2; 00062 //cut of (incomingPhi-NextOuterBoundHit.phi()) in (0,2*M_pi) in FTFinder::linkAxialSegments 00063 //deltaphi should be <_deltaphi,or >2*M_PI-_deltaphi 00064 const float _deltaPhi; 00065 //angle of two nearest hits on two neighbour axial superlayers in FTFinder::linkAxialSuperLayer234 00066 //0 ,1 or 2 layers between the two hits (neighbour layer) 00067 const float _D_phi1,_D_phi2,_D_phi3; 00068 //minimum quantity of stereo segments,if consider end-cap ,it can be 1 00069 const int _nseg; 00070 //minimum of stereo hits,if 1,the end-cap efficiency is higher 00071 const int _nlength; 00072 //minium number of stereo hits 00073 const int _nc; 00074 //z cut in s_z fit for two steps 00075 const float _z_cut1,_z_cut2; 00076 //kappa fot cut requirements 00077 const float _chi2_1, _chi2_2, _chi2_3; 00078 //segment linear fit in superLayer 00079 const float _chi2_segfit; 00080 //cut bad hits when do r_phi Refit:1,not cut;2 cut 00081 const int _hitscut; 00082 00083 private: 00084 //the instance pointer 00085 static MdcParameter * s_paramInstance; 00086 IMagneticFieldSvc* m_pmgnIMF; 00087 }; 00088 00089 #endif /*MdcParameter_FLAG_*/