#include <mMuiEvalFramework.h>
Public Methods | |
mMuiEvalFramework () | |
~mMuiEvalFramework () | |
virtual PHBoolean | event (PHCompositeNode *) |
Private Methods | |
void | set_interface_ptrs (PHCompositeNode *top_node) |
void | eval_unpacker () |
void | eval_cluster () |
void | eval_findroad () |
void | print_raw (const DMUIRAW_ST *) |
void | print_cluster (const DMUICLUSTERS_ST *) |
void | print_road (const DMUIROADS_ST *) |
Private Attributes | |
const mMuiEvalFrameworkPar * | _mod_par |
const TMuiHitMapO * | _hit_map |
dMuiRawWrapper * | _hit_table |
const TMuiClusterMapO * | _cluster_map |
dMuiClustersWrapper * | _cluster_table |
const TMuiRoadMapO * | _road_map |
dMuiRoadsWrapper * | _road_table |
PHTimeServer::timer | _timer |
Evaluation module. Compares new framework output (MUIOO) with old framework (MUI)
Object | Description | Privilege |
const mMuiEvalFrameworkPar* | Parameter Table | immutable |
const TMuiHitMapO* | IOC | immutable |
const TMuiClusterMapO* | IOC | immutable |
const TMuiRoadMapO* | IOC | immutable |
dMuiRawWrapper | Wrapped STAF table | mutable |
dMuiClustersWrapper | Wrapped STAF table | mutable |
dMuiRoadsWrapper | Wrapped STAF table | mutable |
Definition at line 70 of file mMuiEvalFramework.h.
|
Definition at line 32 of file mMuiEvalFramework.cxx. References MUIOO::TRACE.
00032 : 00033 _timer(PHTimeServer::get()->insert_new("mMuiEvalFramework") ) 00034 { 00035 name = "mMuiEvalFramework"; 00036 MUIOO::TRACE("initializing module " + std::string(name.getString())); 00037 } |
|
Definition at line 40 of file mMuiEvalFramework.cxx.
00040 { } |
|
Definition at line 132 of file mMuiEvalFramework.cxx. References _cluster_map, _cluster_table, TMuiClusterMapO::get, MUIOO::PRINT, and print_cluster. Referenced by event.
00132 { 00133 00134 // back in STAF-land 00135 // 00136 TABLE_HEAD_ST dMuiClusters_h = _cluster_table->TableHeader(); 00137 DMUICLUSTERS_ST* dMuiClusters = _cluster_table->TableData(); 00138 00139 int nmatch=0; 00140 const double max_diff_match = 10.; 00141 00142 for(int i=0; i<dMuiClusters_h.nok;i++){ 00143 00144 unsigned short arm = dMuiClusters[i].arm; 00145 unsigned short plane = dMuiClusters[i].plane; 00146 unsigned short panel = dMuiClusters[i].panel; 00147 unsigned short orient = dMuiClusters[i].orientation; 00148 00149 float cpos_staf[3]; 00150 for (int j = 0; j<3; j++) { 00151 cpos_staf[j] = dMuiClusters[i].CentroidPos[j];; 00152 } 00153 00154 TMuiClusterMapO::const_iterator cluster_iter = _cluster_map->get(arm, 00155 plane, 00156 panel, 00157 orient); 00158 bool found_match = false; 00159 while(TMuiClusterMapO::const_pointer cluster_ptr = cluster_iter.next()){ 00160 00161 PHPoint cpos_oo = cluster_ptr->get()->get_centroidpos(); 00162 double diffX = cpos_oo.getX() - cpos_staf[0]; 00163 double diffY = cpos_oo.getY() - cpos_staf[1]; 00164 double diffZ = cpos_oo.getZ() - cpos_staf[2]; 00165 double diff = sqrt(diffX*diffX + diffY*diffY + diffZ*diffZ); 00166 if (diff < max_diff_match) { 00167 found_match = true; 00168 } 00169 } 00170 if(!found_match){ 00171 MUIOO::PRINT(std::cout,"No matching cluster found"); 00172 print_cluster(&dMuiClusters[i]); 00173 MUIOO::PRINT(std::cout,"**"); 00174 } 00175 else { 00176 nmatch++; 00177 } 00178 } 00179 MUIOO::PRINT(std::cout,"Summary Comparison"); 00180 std::cout << " ntot " << dMuiClusters_h.nok 00181 << " nmatch " << nmatch << std::endl; 00182 MUIOO::PRINT(std::cout,"**"); 00183 } |
|
Definition at line 186 of file mMuiEvalFramework.cxx. Referenced by event.
00187 { 00188 // TBI 00189 return; 00190 } |
|
Definition at line 101 of file mMuiEvalFramework.cxx. References _hit_map, _hit_table, TMuiHitMapO::get, and MUIOO::PRINT. Referenced by event.
00102 { 00103 // back in STAF-land 00104 // 00105 TABLE_HEAD_ST dMuiRaw_h = _hit_table->TableHeader(); 00106 DMUIRAW_ST* dMuiRaw = _hit_table->TableData(); 00107 00108 MUIOO::PRINT(std::cout, "MUI unpack summary statistics"); 00109 std::cout << "TMuiHitMapO: total hits = " << _hit_map->size() << std::endl; 00110 std::cout << "dMuiRaw: total hits = " << dMuiRaw_h.nok << std::endl; 00111 MUIOO::PRINT(std::cout, "**"); 00112 00113 for(int i=0;i<dMuiRaw_h.nok;i++){ 00114 unsigned short arm = dMuiRaw[i].arm; 00115 unsigned short plane = dMuiRaw[i].plane; 00116 unsigned short panel = dMuiRaw[i].panel; 00117 unsigned short orientation = dMuiRaw[i].orientation; 00118 unsigned short twopack = dMuiRaw[i].twopack; 00119 TMuiHitMapO::const_iterator hit_iter = _hit_map->get(arm, 00120 plane, 00121 panel, 00122 orientation, 00123 twopack); 00124 bool found_match = false; 00125 if (hit_iter.count() == 0) found_match = true; 00126 if(!found_match){ 00127 std::cout << "TMuiHitMapO/dMuiRaw mismatch" << std::endl; 00128 } 00129 } 00130 } |
|
Definition at line 45 of file mMuiEvalFramework.cxx. References _mod_par, _timer, eval_cluster, eval_findroad, eval_unpacker, mMuiEvalFrameworkPar::get_eval_cluster, mMuiEvalFrameworkPar::get_eval_findroad, mMuiEvalFrameworkPar::get_eval_unpack, set_interface_ptrs, and MUIOO::TRACE.
00046 { 00047 _timer.get()->restart(); 00048 00049 try { 00050 00051 set_interface_ptrs(top_node); 00052 if (_mod_par->get_eval_unpack()) eval_unpacker(); 00053 if (_mod_par->get_eval_cluster()) eval_cluster(); 00054 if (_mod_par->get_eval_findroad()) eval_findroad(); 00055 } 00056 catch (std::exception& e) { 00057 MUIOO::TRACE(e.what()); 00058 return False; 00059 } 00060 00061 // Timer 00062 _timer.get()->stop(); 00063 _timer.get()->print(); 00064 return True; 00065 } |
|
Definition at line 200 of file mMuiEvalFramework.cxx. References MUIOO::PRINT. Referenced by eval_cluster.
00201 { 00202 MUIOO::PRINT(std::cout,"dMuiClusters"); 00203 std::cout << " arm: " << clus_ptr->arm << std::endl; 00204 std::cout << " plane: " << clus_ptr->plane << std::endl; 00205 std::cout << " panel: " << clus_ptr->panel << std::endl; 00206 std::cout << " orientation: " << clus_ptr->orientation << std::endl; 00207 std::cout << " size: " << clus_ptr->size << std::endl; 00208 std::cout << " index: " << clus_ptr->dMuiClusterIndex << std::endl; 00209 MUIOO::PRINT(std::cout,"**"); 00210 } |
|
Definition at line 193 of file mMuiEvalFramework.cxx.
00194 { 00195 // TBI 00196 return; 00197 } |
|
Definition at line 213 of file mMuiEvalFramework.cxx.
00214 { 00215 // TBI 00216 return; 00217 } |
|
Definition at line 68 of file mMuiEvalFramework.cxx. References _cluster_map, _cluster_table, _hit_map, _hit_table, _mod_par, _road_table, mMuiEvalFrameworkPar::get_eval_cluster, mMuiEvalFrameworkPar::get_eval_findroad, and mMuiEvalFrameworkPar::get_eval_unpack. Referenced by event.
00068 { 00069 00070 // module runtime parameters 00071 // 00072 _mod_par = TMutNode<mMuiEvalFrameworkPar>::find_node(top_node,"mMuiEvalFrameworkPar"); 00073 00074 // hit map pointer (IOC) 00075 // 00076 _hit_map = TMutNode<TMuiHitMapO>::find_node(top_node,"TMuiHitMapO"); 00077 00078 // cluster map pointer (IOC) 00079 // 00080 _cluster_map = TMutNode<TMuiClusterMapO>::find_node(top_node,"TMuiClusterMapO"); 00081 00082 // hit wrapped STAF table 00083 // 00084 if(_mod_par->get_eval_unpack()) { 00085 _hit_table = TMutNode<dMuiRawWrapper>::find_io_node(top_node,"dMuiRaw"); 00086 } 00087 // cluster wrapped STAF table 00088 // 00089 if(_mod_par->get_eval_cluster()){ 00090 _cluster_table = TMutNode<dMuiClustersWrapper>::find_io_node(top_node,"dMuiClusters"); 00091 } 00092 // cluster wrapped STAF table 00093 // 00094 if(_mod_par->get_eval_findroad()){ 00095 _road_table = TMutNode<dMuiRoadsWrapper>::find_io_node(top_node,"dMuiRoads"); 00096 } 00097 } |
|
Definition at line 96 of file mMuiEvalFramework.h. Referenced by eval_cluster, and set_interface_ptrs. |
|
Definition at line 97 of file mMuiEvalFramework.h. Referenced by eval_cluster, and set_interface_ptrs. |
|
Definition at line 94 of file mMuiEvalFramework.h. Referenced by eval_unpacker, and set_interface_ptrs. |
|
Definition at line 95 of file mMuiEvalFramework.h. Referenced by eval_unpacker, and set_interface_ptrs. |
|
Definition at line 93 of file mMuiEvalFramework.h. Referenced by event, and set_interface_ptrs. |
|
Definition at line 98 of file mMuiEvalFramework.h. |
|
Definition at line 99 of file mMuiEvalFramework.h. Referenced by set_interface_ptrs. |
|
Definition at line 103 of file mMuiEvalFramework.h. Referenced by event. |