/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucCalibAlg/MucCalibAlg-00-02-16/MucCalibAlg/MucStructConst.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucStructConst.h                        |
00003 //      [Brief ]:       Head file of MUC structure constants for calibration    |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                    |
00005 //      [Date  ]:       Aug 22, 2006                                            |
00006 //------------------------------------------------------------------------------|
00007 
00008 #ifndef MUC_STRUCT_CONST_H
00009 #define MUC_STRUCT_CONST_H
00010 
00011 #include<iostream>
00012 #include<cmath>
00013 
00014 using namespace std;
00015 
00016 static const int    CALIB_LV_MAX        = 4; // 0-layer, 1-box, 2-strip, 3-pad
00017 static const int    EFF_WINDOW          = 4; // [-EFF_WINDOW,...,-2,-1,expected strip,+1,+2,,...,+EFF_WINDOW ] 
00018 static const int    TRACK_SEG_MAX       = 8; // segment max of a track in MUC 
00019 static const int    TRACK_THRESHOLD     = 100; // down limit of track number for good eff calibrated
00020 static const int    DEFAULT_BUILD_MODE  = 1;  // default cluster building method, optimized, fatest 
00021 static const double DEFAULT_EFF_VALUE   = 0.95;
00022 static const double DEFAULT_EFF_ERR     = 0.0;
00023 static const double DEFAULT_INC_VALUE   = 0.0;
00024 static const double DEFAULT_NOS_VALUE   = 0.0;
00025 static const double LIMIT_CUT           = 0.0001; // For double variables compare
00026 static const double TRIGGER_RATE        = 4000.0; // Hz
00027 static const double TRIGGER_WINDOW      = 800e-9; // s
00028 
00029 static const double PI          = 3.141593;             
00030 static const double VALUE       = tan(PI/8.0);  // for geometry calculation
00031 
00032 // Globle structure
00033 static const int PART_MAX       = 3; // part number, 0-east endcap, 1-berral, 2-west endcap
00034 static const int SEGMENT_MAX    = 8;
00035 static const int LAYER_MAX      = 9;
00036 static const int BOX_MAX        = 136;
00037 static const int STRIP_MAX      = 9152;
00038 static const int STRIP_INBOX_MAX= 112;
00039 static const int SL_NUM         = 2;
00040 static const int CLUSTER_CUT    = 0; // if zero, including cluster ==1( used: cluster > CLUSTER_CUT );
00041 static const int CLUSTER_ALARM  = 20; // a cluster with size == 20 regarded as huge
00042 static const int CLUSTER_RANGE  = STRIP_INBOX_MAX; // on the worst situation, generally < CLUSTER_ALARM;
00043 
00044 static const int BOX_PER_PART[PART_MAX] = {32, 72, 32};
00045 static const int BOX_PER_SEG[PART_MAX]  = {8, 9, 8};
00046 static const int BOX_SUM[PART_MAX]      = {32, 104, 136};
00047 
00048 static const int STR_PER_PART[3]  = { 2048, 5056, 2048 };
00049 static const int B_STR_PER_SEG[2] = { 624, 688 };
00050 static const int STR_SUM[3]       = { 2048, 7104, 9152 };
00051 
00052 static const int EEID           = 0; // east endcap id
00053 static const int BRID           = 1; // berral      id
00054 static const int EWID           = 2; // west endcap id
00055 static const int SL_UP          = 0; // up   super layer id
00056 static const int SL_DOWN        = 1; // down super layer id
00057 static const int XSTR           = 0; // strip read out from x direction
00058 static const int YSTR           = 1; // strip read out from y direction
00059 static const int ZSTR           = 2; // strip read out from z direction
00060 static const int PHISTR         = 3; // strip read out from phi direction
00061 
00062 static const double STR_GAP     = 2.0;  // the gap between two strips
00063 static const double STR_TH      = 1.0;  // strip thickness
00064 static const double BOX_TH      = 28.0; // aluminum box thickness
00065 static const double AS_GAP      = 40.0; // the gap between two absorber
00066 
00067 // Endcap( only for one part, not total, east and west is the same)
00068 static const int E_SEG_NUM      = 4;  // segment number
00069 static const int E_LAY_NUM      = 8;  // layer number ( gap layer number )
00070 static const int E_STR_NUM      = 64; // strip number persegment per layer
00071 
00072 static const int E_ASLAY_NUM    = 9;  // absorber layer number
00073 static const int E_PANEL_NUM    = 3;  // absorber layer number
00074 static const double E_STR_DST   = 35; // distance between two strip center line
00075 static const int E_RPC_NUM[SL_NUM]       = {3,5};  // RPC number per segment per layer, up super layer is 3, down is 5
00076 
00077 static const double E_STR_WT             = 33;      // 35-2, Endcap strip width
00078 static const double E_AS_RMAX            = 2500.0;  // maximal radius of absorber incircle
00079 
00080 static const double E_GP_RMIN[E_LAY_NUM] = {1067,1100,1133,1167,1203,1241,1302,1362}; // minimal radius of gap incircle
00081 static const double E_GP_DX              = 40.0;  // X offset of gap from X axis
00082 static const double E_GP_DY              = 50.0;  // Y offset of gap from Y axis
00083 static const double E_BOX_DR             = 130.0; // radius offset of box from E_AS_RMAX
00084 
00085 static const double E_XSTR_OFFSET        = 97.5;  // the offset of first x-readout strip from x axis
00086 static const double E_YSTR_OFFSET        = 87.5;  // the offset of fisrst y-readout strip from y axis
00087 static const double E_STRPLN_DA          = 16.0;  // offset of strip plane from box edge close to X or Y axises
00088 static const double E_STRPLN_DB[2]       = { 53.0,41.0 }; // offsets of strip plane from box edge far away X or Y axises
00089 static const double E_STRPLN_DR          = 26.0;          // offsets of strip plane from box incircle edge
00090 
00091 // Barrel
00092 static const int B_SEG_NUM      = 8; // segment number
00093 static const int B_LAY_NUM      = 9; // layer   number
00094 static const int B_TOP          = 2; // top segment id
00095 
00096 static const int B_ZSTR_NUM     = 48;   // strip number in Z-readout box
00097 static const int B_PHISTR_NUM   = 96;   // strip number in Phi-readout(Tangent) box
00098 static const int B_TOPSTR_NUM   = 112;  // strip number in Phi-readout(Tangent) box of TOP segment
00099 
00100 static const int B_PHISTR_CUT_NUM          = 80;        // number of strips be cut in phi direction
00101 static const double B_PHISTR_CUT           = 642;       // dimension of phi strips be cut
00102 static const double B_ZSTR_CUT[2]          = {540,610}; // dimensions of z strips be cut
00103 static const double B_STR_DST[B_LAY_NUM]   = {20,39,27,39,30,39,33,39,37};      // distance between two strips center line
00104 static const double B_PHI[B_SEG_NUM]       = { -2, -1, 0, 1, 2, -1, 0, 1 };     // rotation angle on Z axis, times PI/4
00105 static const int B_ZSTR_CUT_NUM[B_LAY_NUM] = {16, 0, 12, 0, 11, 0, 10, 0, 9};   // number of strips be cut in z direction
00106 
00107 static const double B_AS_LMAX              = 3940.0; // maximal length of absorber 
00108 static const double B_GP_DZ             = 70.0;     // offset of gap from the east or west edge of absorber
00109 static const double B_GP_LT             = 3940.0;   // gap length
00110 static const double B_GP_WT[B_LAY_NUM]  = {1266,1314,1372,1430,1496,1562,1652,1762,1860}; // gap width
00111 static const double B_GP_SLOT_WT        = 422; // width of gap slot be cut in segment 2 of east-end barrel
00112 static const double B_GP_SLOT_LT        = 542; // length of gap slot be cut in segment 2 of east-end barrel
00113 static const double B_BOX_LT            = 3800.0;   // B_GP_LT - 2*B_GP_DZ; 
00114 static const double B_BOX_SLOT_WT       = 560;      // width of slot be cut in segment 2 in east-end barrel
00115 static const double B_BOX_DT[SL_NUM]    = {31,26};  // gap of chamber and box in Phi direction
00116 static const double B_BOX_DZ[SL_NUM]    = {46,41};  // gap of chamber and box in Z direction
00117 static const double B_BOX_WT[B_LAY_NUM] = {1050,1300,1360,1416,1484,1548,1640,1748,1848}; // box width
00118 static const double B_AS_RMIN[B_LAY_NUM]= {1740,1810,1880,1950,2030,2110,2230,2350,2470}; // minimal r of absorber 
00119 
00120 static const double B_TOPRPC_LTS[2]     = {540,610}; // special length of RPC in B_TOP
00121 
00122 static const double OVERLAP_WIDTH       = 4.0;  // avoid space between panels when apply "AND" operation 
00123 
00124 #endif

Generated on Tue Nov 29 23:12:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7