00001 #ifndef TCURLFINDERPARAMETERS_FLAG_ 00002 #define TCURLFINDERPARAMETERS_FLAG_ 00003 00004 #include <iostream> 00005 00006 #ifdef TRKRECO_DEBUG_DETAIL 00007 #ifndef TRKRECO_DEBUG 00008 #define TRKRECO_DEBUG 00009 #endif 00010 #endif 00011 00012 class TCurlFinderParameter { 00013 public: 00014 TCurlFinderParameter(void): 00015 // ALPHA_SAME_WITH_HELIX(222.376063), 00016 ALPHA_SAME_WITH_HELIX(333.564095) {}; 00017 //jialk 00018 //MIN_RADIUS_OF_STRANGE_TRACK(65.0) {}; 00019 00020 ~TCurlFinderParameter(void){} 00021 00022 void now(void) { 00023 std::cout << std::endl; 00024 std::cout << "===== CURLFINDER PARAMETERS =====" << std::endl; 00025 std::cout << "ALHPA : " << ALPHA_SAME_WITH_HELIX << std::endl 00026 << std::endl 00027 << "MIN_SEGMENT : " << MIN_SEGMENT << std::endl 00028 << std::endl 00029 << "MIN_SALVAGE : " << MIN_SALVAGE << std::endl 00030 << "BAD_DISTANCE_FOR_SALVAGE : " << BAD_DISTANCE_FOR_SALVAGE << std::endl 00031 << "GOOD_DISTANCE_FOR_SALVAGE : " << GOOD_DISTANCE_FOR_SALVAGE << std::endl 00032 << std::endl 00033 << "MIN_SEQUENCE : " << MIN_SEQUENCE << std::endl 00034 << "MAX_FULLWIRE : " << MAX_FULLWIRE << std::endl 00035 << std::endl 00036 << "RANGE_FOR_AXIAL_SEARCH : " << RANGE_FOR_AXIAL_SEARCH << std::endl 00037 << "RANGE_FOR_AXIAL_LAST2D_SEARCH : " << RANGE_FOR_AXIAL_LAST2D_SEARCH << std::endl 00038 << "RANGE_FOR_STEREO_LAST2D_SEARCH : " << RANGE_FOR_STEREO_LAST2D_SEARCH << std::endl 00039 << "STEREO_2DFIND : " << STEREO_2DFIND << std::endl 00040 << " SUPERLAYER_FOR_STEREO_SEARCH : " << SUPERLAYER_FOR_STEREO_SEARCH << std::endl 00041 << " RANGE_FOR_STEREO_SEARCH : " << RANGE_FOR_STEREO_SEARCH << std::endl 00042 << std::endl 00043 << "TRACE2D_DISTANCE : " << TRACE2D_DISTANCE << std::endl 00044 << "TRACE2D_FIRST_SUPERLAYER : " << TRACE2D_FIRST_SUPERLAYER << std::endl 00045 << std::endl 00046 << "TRACE3D_DISTANCE : " << TRACE3D_DISTANCE << std::endl 00047 << std::endl 00048 << "RATIO_USED_WIRE : " << RATIO_USED_WIRE << std::endl 00049 << std::endl 00050 << "DETERMINE_ONE_TRACK : " << DETERMINE_ONE_TRACK << std::endl 00051 << std::endl 00052 << "MERGE_EXE : " << MERGE_EXE << std::endl 00053 << " MERGE_RATIO : " << MERGE_RATIO << std::endl 00054 << " MERGE_Z_DIFF : " << MERGE_Z_DIFF << std::endl 00055 << std::endl 00056 << "MASK_DISTANCE : " << MASK_DISTANCE << std::endl 00057 << std::endl 00058 //jialk 00059 //<< "MIN_RADIUS_OF_STRANGE_TRACK : " << MIN_RADIUS_OF_STRANGE_TRACK << std::endl 00060 << std::endl 00061 << "RANGE_FOR_STEREO_FIRST : " << RANGE_FOR_STEREO_FIRST << std::endl 00062 << "RANGE_FOR_STEREO_SECOND : " << RANGE_FOR_STEREO_SECOND << std::endl 00063 << "RANGE_FOR_STEREO_THIRD : " << RANGE_FOR_STEREO_THIRD << std::endl 00064 << "RANGE_FOR_STEREO_FORTH : " << RANGE_FOR_STEREO_FORTH << std::endl 00065 << "RANGE_FOR_STEREO_FIFTH : " << RANGE_FOR_STEREO_FIFTH << std::endl 00066 << "RANGE_FOR_STEREO_FIFTH : " << RANGE_FOR_STEREO_SIXTH << std::endl 00067 << std::endl 00068 << "SVD_RECONSTRUCTION : " << SVD_RECONSTRUCTION << std::endl 00069 << " MIN_SVD_ELECTRONS : " << MIN_SVD_ELECTRONS << std::endl 00070 << "SELECTOR_MAX_IMPACT : " << SELECTOR_MAX_IMPACT << std::endl 00071 << "SELECTOR_MAX_SIGMA : " << SELECTOR_MAX_SIGMA << std::endl 00072 << "SELECTOR_STRANGE_PZ : " << SELECTOR_STRANGE_PZ << std::endl 00073 << "SELECTOR_REPLACE_DZ : " << SELECTOR_REPLACE_DZ << std::endl 00074 << std::endl 00075 << "Z_CUT : " << Z_CUT << std::endl 00076 << "Z_DIFF_FOR_LAST_ATTEND : " << Z_DIFF_FOR_LAST_ATTEND << std::endl 00077 << std::endl 00078 << "ON_CORRECTION : " << ON_CORRECTION << std::endl 00079 << "OUTPUT_2DTRACKS : " << OUTPUT_2DTRACKS << std::endl 00080 << std::endl 00081 << "CURL_VERSION : " << CURL_VERSION << std::endl 00082 << " : 0 default, 1 b20010409_2122" << std::endl; 00083 std::cout << "=================================" << std::endl; 00084 std::cout << std::endl; 00085 } 00086 00087 public : 00088 // 00089 // TCurlFinder.cc 00090 // 00091 00092 // constant factor 00093 const double ALPHA_SAME_WITH_HELIX; 00094 00095 // minimum size of segment 00096 unsigned MIN_SEGMENT; 00097 00098 // Salvage Section 00099 unsigned MIN_SALVAGE; 00100 double BAD_DISTANCE_FOR_SALVAGE; 00101 double GOOD_DISTANCE_FOR_SALVAGE; 00102 00103 // If size of the segment is equal to or larger than MIN_SEQUENCE, 00104 // it may be divided. --> exceptional type 1 00105 unsigned MIN_SEQUENCE; 00106 00107 // exceptional type 3 00108 unsigned MAX_FULLWIRE; 00109 00110 // range for appending axial wires to the segment. unit = cm. 00111 double RANGE_FOR_AXIAL_SEARCH; 00112 double RANGE_FOR_STEREO_SEARCH; 00113 unsigned SUPERLAYER_FOR_STEREO_SEARCH; 00114 double RANGE_FOR_AXIAL_LAST2D_SEARCH; 00115 double RANGE_FOR_STEREO_LAST2D_SEARCH; 00116 00117 // Trace Section 00118 double TRACE2D_DISTANCE; 00119 double TRACE2D_FIRST_SUPERLAYER; 00120 double TRACE3D_DISTANCE; 00121 00122 // determine one track (curler) by dz 00123 unsigned DETERMINE_ONE_TRACK; 00124 00125 // stereo find at 2D section 00126 unsigned STEREO_2DFIND; 00127 00128 // merge 00129 unsigned MERGE_EXE; 00130 double MERGE_RATIO; 00131 double MERGE_Z_DIFF; 00132 00133 // mask 00134 double MASK_DISTANCE; 00135 00136 // # of wire which should be used 00137 double RATIO_USED_WIRE; 00138 00139 //jialk 00140 // strange tracks or upper limit of radius -- Pt < ~300MeV 00141 //const double MIN_RADIUS_OF_STRANGE_TRACK;//65=..300MeV(FIX) 00142 00143 // range for appending stereo wires of each super layer 00144 double RANGE_FOR_STEREO_FIRST; 00145 double RANGE_FOR_STEREO_SECOND; 00146 double RANGE_FOR_STEREO_THIRD; 00147 double RANGE_FOR_STEREO_FORTH; 00148 double RANGE_FOR_STEREO_FIFTH; 00149 double RANGE_FOR_STEREO_SIXTH; 00150 00151 // Output 2D tracks 00152 unsigned OUTPUT_2DTRACKS; 00153 00154 // CurlFinder Version ... for development 00155 // 0 is default 00156 // others ... depend on development process 00157 unsigned CURL_VERSION; 00158 00159 // 00160 // TBuilderCurl.cc 00161 // 00162 // Global Fit 00163 unsigned ON_CORRECTION; 00164 00165 // makes lines 00166 double Z_CUT; 00167 00168 // appends stereo wires 00169 double Z_DIFF_FOR_LAST_ATTEND; 00170 00171 // Svd Reconstruction Flag 00172 unsigned SVD_RECONSTRUCTION; 00173 double MIN_SVD_ELECTRONS; 00174 00175 // Track Selector Class 00176 double SELECTOR_MAX_IMPACT; 00177 double SELECTOR_MAX_SIGMA; 00178 double SELECTOR_STRANGE_PZ; 00179 double SELECTOR_REPLACE_DZ; 00180 //jialk 00181 double minimum_seedLength; 00182 double minimum_2DTrackLength; 00183 double minimum_3DTrackLength; 00184 double minimum_closeHitsLength; 00185 double MIN_RADIUS_OF_STRANGE_TRACK; 00186 double ULTIMATE_MIN_RADIUS_OF_STRANGE_TRACK; 00187 }; 00188 00189 // 00190 // TSegmentCurl.cc 00191 // 00192 const unsigned TCURL_LARGE_SEQUENCE = 4; // 4 00193 00194 #endif // TCURLFINDERPARAMETERS_FLAG_