00001 #ifndef MDCCALPARAMS_H 00002 #define MDCCALPARAMS_H 00003 00004 #include <string> 00005 00006 const int MdcCalNLayer = 43; 00007 const int MdcCalInnNLay = 8; 00008 const int MdcCalMaxCell = 288; 00009 const int MdcCalTotCell = 6796; 00010 const int MdcCalLR = 3; 00011 00012 const int MdcCalNENTRXT = 18; 00013 const int MdcCalXtOrd = 6; 00014 const int MdcCalXtNPars = 8; 00015 00016 const int MdcCalQtOrd = 2; 00017 const int MdcCalNQBin = 10; 00018 00019 const int MdcCalNENTRSD = 6; 00020 const int MdcCalSdNBIN = 24; 00021 00022 const int MdcCalWrNBin = 15; 00023 00024 const double MdcCalTdcCnv = 0.09375; 00025 const double MdcCalAdcCnv = 1.0; 00026 00027 const double HFPI = 1.570796327; 00028 const double PI2 = 6.283185307; 00029 00030 class MdcCalParams { 00031 public: 00032 int fillNtuple; 00033 int nEvtNtuple; 00034 int fgCalDetEffi; /* calculating hit efficiency without tracking algorithm impacts */ 00035 00036 double ecm; 00037 double boostPar[3]; 00038 00039 int particle; 00040 int nEsFlag; 00041 int esFlag[50]; 00042 double timeShift; /* if T<0 after subtracting Tes, use this */ 00043 double tesMin; /* minimun Tes for calibration */ 00044 double tesMax; /* maximun Tes for calibration */ 00045 00046 int fgIniCalConst; /* effective for IniMdcCalib */ 00047 bool preT0SetTm; /* flag for updating Tm in PreT0Calib */ 00048 00049 double initT0; /* initial value of T0 fit */ 00050 double t0Shift; /* t0 shift based on leading edge fitting */ 00051 double tminFitChindf; /* chisquare cut for Tmin fit */ 00052 double tmaxFitChindf; /* chisquare cut for Tmax fit */ 00053 double initSigma; /* initial value of spatial resolution in the first calibration */ 00054 00055 int calSigma; 00056 int resiType; /* 0: including measurement point; 1: excluding */ 00057 00058 int fixXtC0; /* 1: fix c0 at 0 */ 00059 int fixXtEdge; /* 1: fix X-T in the edge of the cell */ 00060 00061 int fgAdjacLayerCut; /* a cut for adjacent layers in MdcCalib.cxx */ 00062 int fgBoundLayerCut; /* a cut for boundary layers in MdcCalib.cxx */ 00063 int nTrkCut[2]; 00064 int nHitLayCut; 00065 int nHitCut; 00066 int hitStatCut; /* hitStatCut=1 for MdcxReco & MdcPatRec */ 00067 00068 bool noiseCut; /* cut of noise level */ 00069 double costheCut[2]; /* cut of cos(theta) */ 00070 double drCut; 00071 double dzCut; 00072 double maxDocaInner; 00073 double maxDocaOuter; 00074 00075 int fgCalib[MdcCalNLayer]; 00076 double tminFitRange[MdcCalNLayer][2]; 00077 double tmaxFitRange[MdcCalNLayer][2]; 00078 double initTm[MdcCalNLayer]; /* initial value of Tm fit */ 00079 double resiCut[MdcCalNLayer]; 00080 double qmin[MdcCalNLayer]; 00081 double qmax[MdcCalNLayer]; 00082 00083 std::string wpcFile; 00084 }; 00085 00086 #endif /* MDCCALPARAMS_H */