#include <EmcCCount.h>
Public Member Functions | |
EmcCCount () | |
~EmcCCount () | |
void | getClusterId () |
bool | findCluster (int partId, int TCThetaNb, int TCPhiNb) |
int | getBClusterPhi (int i) |
int | getWEClusterPhi (int i) |
int | getEEClusterPhi (int i) |
int | getBClusterId (int i, int j) |
int | getEEClusterId (int i, int j) |
int | getWEClusterId (int i, int j) |
bool | getEClus_Z () |
bool | getWClus_Z () |
Private Attributes | |
EmcTCFinder * | m_EmcTCFinder |
int | BClusterPhi [TrigConf::TCPHINO_B] |
int | WEClusterPhi [TrigConf::TCPHINO_E/2] |
int | EEClusterPhi [TrigConf::TCPHINO_E/2] |
int | BClusterId [TrigConf::TCTHETANO_B][TrigConf::TCPHINO_B] |
int | EEClusterId [TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2] |
int | WEClusterId [TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2] |
bool | EClus_Z |
bool | WClus_Z |
BesGlobalTrigSvc * | m_pIBGT |
IBesGlobalTrigSvc * | m_tmpSvc |
Definition at line 12 of file EmcCCount.h.
EmcCCount::EmcCCount | ( | ) |
Definition at line 29 of file EmcCCount.cxx.
References EmcTCFinder::get_Emc(), and m_EmcTCFinder.
00030 { 00031 m_EmcTCFinder = EmcTCFinder::get_Emc(); 00032 }
EmcCCount::~EmcCCount | ( | ) |
bool EmcCCount::findCluster | ( | int | partId, | |
int | TCThetaNb, | |||
int | TCPhiNb | |||
) |
Definition at line 171 of file EmcCCount.cxx.
References EmcTCFinder::getBTC(), EmcTCFinder::getEETC(), EmcTCFinder::getWETC(), m_EmcTCFinder, TrigConf::TCPHINO_B, and TrigConf::TCPHINO_E.
Referenced by getClusterId().
00172 { 00173 //double L1TC_THRESH = m_pIBGT->getL1TC_THRESH(); 00174 /*for(int i = 0; ; i++) { 00175 double theshold = RandGauss::shoot(m_pIBGT->getL1TC_THRESH(),3.3); 00176 if(theshold < m_pIBGT->getL1TC_THRESH()) { 00177 L1TC_THRESH = theshold; 00178 break; 00179 } 00180 }*/ 00181 00182 //double energy0,energy1,energy2,energy3,energy4,energy5,energy6,energy7,energy8; 00183 int clus0,clus1,clus3,clus4,clus8; 00184 /* if(partId==1) 00185 { 00186 // Cluster Finder Logic 00187 // Phi---> 00188 // |---|----|----| 00189 // | 5 | 1 | 6 | 00190 // |---|----|----| 00191 // | 2 | 0 | 3 | 00192 // |---|----|----| ^ 00193 // | 7 | 4 | 8 | | 00194 // |---|----|----| Theta 00195 energy0 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb); 00196 if(energy0>L1TC_THRESH) 00197 { 00198 //trigger cell index from 0, not 1, so TrigConf::TCTHETANO_B - 1 or TrigConf::TCPHINO_B - 1 needed 00199 if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)) energy1 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb); 00200 else energy1 = 0.0; 00201 00202 if(TCPhiNb!=0) energy2 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb-1); 00203 else energy2 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TrigConf::TCPHINO_B-1); 00204 00205 if(TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy3 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb+1); 00206 else energy3 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,0); 00207 00208 if(TCThetaNb!=0) energy4 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb); 00209 else energy4 = 0.0; 00210 00211 if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=0) energy5 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb-1); 00212 if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) energy5 = 0.0; 00213 if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==0) energy5 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TrigConf::TCPHINO_B-1); 00214 00215 if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy6 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb+1); 00216 if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) energy6 = 0.0; 00217 if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==(TrigConf::TCPHINO_B-1)) energy6 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,0); 00218 00219 if(TCThetaNb!=0&&TCPhiNb!=0) energy7 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb-1); 00220 if(TCThetaNb==0) energy7=0; 00221 if(TCThetaNb!=0&&TCPhiNb==0) energy7 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TrigConf::TCPHINO_B-1); 00222 00223 if(TCThetaNb!=0&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy8 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb+1); 00224 if(TCThetaNb==0) energy8 = 0.0; 00225 if(TCThetaNb!=0&&TCPhiNb==(TrigConf::TCPHINO_B-1)) energy8 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,0); 00226 00227 if((energy3>=L1TC_THRESH)||(energy1>=L1TC_THRESH)||((energy4>=L1TC_THRESH)&&(energy8>=L1TC_THRESH))) 00228 { 00229 return false; 00230 } 00231 else return true; 00232 } 00233 else return false; 00234 }*/ 00235 if(partId==1) 00236 { 00237 // Cluster Finder Logic 00238 // <---Theta 00239 // |---|----|----| 00240 // | 5 | 1 | 6 | 00241 // |---|----|----| 00242 // | 2 | 0 | 3 | Phi 00243 // |---|----|----| | 00244 // | 7 | 4 | 8 | | 00245 // |---|----|----| ^ 00246 clus0 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb); 00247 if(clus0 > 0) 00248 { 00249 //trigger cell index from 0, not 1, so TrigConf::TCTHETANO_B - 1 or TrigConf::TCPHINO_B - 1 needed 00250 if(TCPhiNb != 0) clus1 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb - 1); 00251 else clus1 = m_EmcTCFinder->getBTC(TCThetaNb,TrigConf::TCPHINO_B-1); 00252 00253 // if(TCPhiNb!=0) clus2 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb-1); 00254 // else clus2 = m_EmcTCFinder->getBTC(TCThetaNb,TrigConf::TCPHINO_B-1); 00255 00256 if(TCThetaNb!=0) clus3 = m_EmcTCFinder->getBTC(TCThetaNb - 1,TCPhiNb); 00257 else clus3 = 0; 00258 00259 if(TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus4 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb+1); 00260 else clus4 = m_EmcTCFinder->getBTC(TCThetaNb,0); 00261 00262 // if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=0) clus5 = m_EmcTCFinder->getBTC(TCThetaNb+1,TCPhiNb-1); 00263 // if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) clus5 = 0; 00264 // if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==0) clus5 = m_EmcTCFinder->getBTC(TCThetaNb+1,TrigConf::TCPHINO_B-1); 00265 00266 // if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus6 = m_EmcTCFinder->getBTC(TCThetaNb+1,TCPhiNb+1); 00267 // if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) clus6 = 0; 00268 // if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==(TrigConf::TCPHINO_B-1)) clus6 = m_EmcTCFinder->getBTC(TCThetaNb+1,0); 00269 00270 // if(TCThetaNb!=0&&TCPhiNb!=0) clus7 = m_EmcTCFinder->getBTC(TCThetaNb-1,TCPhiNb-1); 00271 // if(TCThetaNb==0) clus7 = 0; 00272 // if(TCThetaNb!=0&&TCPhiNb==0) clus7 = m_EmcTCFinder->getBTC(TCThetaNb-1,TrigConf::TCPHINO_B-1); 00273 00274 if(TCThetaNb!=0&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus8 = m_EmcTCFinder->getBTC(TCThetaNb-1,TCPhiNb+1); 00275 if(TCThetaNb==0) clus8 = 1; 00276 if(TCThetaNb!=0&&TCPhiNb==(TrigConf::TCPHINO_B-1)) clus8 = m_EmcTCFinder->getBTC(TCThetaNb-1,0); 00277 00278 //if((clus3 > 0)||(clus1 > 0)||((clus4 > 0)&&(clus8 > 0))) 00279 if(!((clus3 > 0)||(clus1 > 0)) && !((clus4 > 0)&&(clus8 > 0))) 00280 { 00281 return true; 00282 } 00283 else return false; 00284 } 00285 else return false; 00286 } 00287 //------------------------------------------------------------------------------------ 00288 /* Cluster Finder Logic (1) 00289 <---phi 00290 |---| 00291 | 1 | 00292 |---|---| /|\ 00293 | 0 | 2 | | 00294 |---|---| theta 00295 if(partId==0) 00296 { 00297 if(TCThetaNb==0) 00298 { 00299 energy0 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb); 00300 energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb+1,TCPhiNb); 00301 if(TCPhiNb!=0) energy2 =m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb-1); 00302 else energy2 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1); 00303 if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)&&(energy2<L1TC_THRESH)) return true; 00304 else return false; 00305 } 00306 if(TCThetaNb==(TrigConf::TCTHETANO_E-1)) 00307 { 00308 energy0 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb); 00309 if(TCPhiNb!=0) energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb-1); 00310 else energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1); 00311 if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true; 00312 else return false; 00313 } 00314 } 00315 if(partId==2) 00316 { 00317 if(TCThetaNb==0) 00318 { 00319 energy0 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb); 00320 energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb+1,TCPhiNb); 00321 if(TCPhiNb!=0) energy2 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb-1); 00322 else energy2 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1); 00323 if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)&&(energy2<L1TC_THRESH)) return true; 00324 else return false; 00325 } 00326 if(TCThetaNb==(TrigConf::TCTHETANO_E-1)) 00327 { 00328 energy0 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb); 00329 if(TCPhiNb!=0) energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb-1); 00330 else energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1); 00331 if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true; 00332 else return false; 00333 } 00334 } 00335 */ 00336 //------------------------------------------------------------------------------------ 00337 /*Cluster Finder Logic (1) 00338 <---phi 00339 00340 |---|---| /|\ 00341 | 0 | 1 | | 00342 |---|---| theta 00343 //if(partId==0) 00344 //{ 00345 // energy0 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,TCPhiNb); 00346 // if(TCPhiNb!=0) { 00347 // energy1 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,TCPhiNb-1); 00348 // } 00349 // else { 00350 // energy1 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,(TrigConf::TCPHINO_E-1)); 00351 // } 00352 // if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true; 00353 // else return false; 00354 //} 00355 00356 if(partId==0) 00357 { 00358 clus0 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb); 00359 if(TCPhiNb!=0) { 00360 clus1 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb-1); 00361 } 00362 else { 00363 clus1 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E-1)); 00364 } 00365 if((clus0 > 0)&&(clus1 == 0)) return true; 00366 else return false; 00367 } 00368 00369 //if(partId==2) 00370 //{ 00371 // energy0 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,TCPhiNb); 00372 // if(TCPhiNb!=0) { 00373 // energy1 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,TCPhiNb-1); 00374 // } 00375 // else { 00376 // energy1 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,(TrigConf::TCPHINO_E-1)); 00377 // } 00378 // if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true; 00379 // else return false; 00380 //} 00381 00382 if(partId==2) 00383 { 00384 clus0 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb); 00385 if(TCPhiNb!=0) { 00386 clus1 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb-1); 00387 } 00388 else { 00389 clus1 = m_EmcTCFinder->getWETC(TCThetaNb,(TrigConf::TCPHINO_E-1)); 00390 } 00391 if((clus0 > 0)&&(clus1 == 0)) return true; 00392 else return false; 00393 } 00394 */ 00395 00396 /*Cluster Finder Logic (2) 00397 <---phi 00398 00399 |---|---| /|\ 00400 | 0 | 1 | | 00401 |---|---| theta 00402 */ 00403 if(partId==0) 00404 { 00405 int etc1,etc2,etc3,etc4; 00406 etc1 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb*2); 00407 etc2 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb*2+1); 00408 if(etc1 > 0 || etc2 > 0) clus0 = 1; 00409 else clus0 = 0; 00410 00411 if(TCPhiNb!=0) { 00412 etc3 = m_EmcTCFinder->getEETC(TCThetaNb,(TCPhiNb-1)*2); 00413 etc4 = m_EmcTCFinder->getEETC(TCThetaNb,(TCPhiNb-1)*2+1); 00414 if(etc3 > 0 || etc4 > 0) clus1 = 1; 00415 else clus1 = 0; 00416 } 00417 else { 00418 etc3 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E/2-1)*2); 00419 etc4 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E/2-1)*2+1); 00420 if(etc3 > 0 || etc4 > 0) clus1 = 1; 00421 else clus1 = 0; 00422 } 00423 00424 if((clus0 > 0)&&(clus1 == 0)) return true; 00425 else return false; 00426 } 00427 00428 /*Cluster Finder Logic (2) 00429 <---phi 00430 00431 |---|---| /|\ 00432 | 1 | 0 | | 00433 |---|---| theta 00434 */ 00435 if(partId==2) 00436 { 00437 int etc1,etc2,etc3,etc4; 00438 etc1 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb*2); 00439 etc2 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb*2+1); 00440 if(etc1 > 0 || etc2 > 0) clus0 = 1; 00441 else clus0 = 0; 00442 00443 if(TCPhiNb!= (TrigConf::TCPHINO_E/2-1)) { 00444 etc3 = m_EmcTCFinder->getWETC(TCThetaNb,(TCPhiNb+1)*2); 00445 etc4 = m_EmcTCFinder->getWETC(TCThetaNb,(TCPhiNb+1)*2+1); 00446 if(etc3 > 0 || etc4 > 0) clus1 = 1; 00447 else clus1 = 0; 00448 } 00449 else { 00450 etc3 = m_EmcTCFinder->getWETC(TCThetaNb,0); 00451 etc4 = m_EmcTCFinder->getWETC(TCThetaNb,1); 00452 if(etc3 > 0 || etc4 > 0) clus1 = 1; 00453 else clus1 = 0; 00454 } 00455 00456 if((clus0 > 0)&&(clus1 == 0)) return true; 00457 else return false; 00458 } 00459 00460 return false; 00461 }
int EmcCCount::getBClusterId | ( | int | i, | |
int | j | |||
) | [inline] |
Definition at line 21 of file EmcCCount.h.
References BClusterId.
Referenced by BesEmcTrig::startEmcTrig().
00021 { return BClusterId[i][j]; }
int EmcCCount::getBClusterPhi | ( | int | i | ) | [inline] |
Definition at line 18 of file EmcCCount.h.
References BClusterPhi.
Referenced by BesEmcTrig::startEmcTrig().
00018 { return BClusterPhi[i]; }
void EmcCCount::getClusterId | ( | ) |
Definition at line 36 of file EmcCCount.cxx.
References BClusterId, BClusterPhi, EClus_Z, EEClusterId, EEClusterPhi, findCluster(), EmcTCFinder::getBTCEnergy(), EmcTCFinder::getEETCEnergy(), EmcTCFinder::getWETCEnergy(), genRecEmupikp::i, ganga-rec::j, m_EmcTCFinder, m_pIBGT, m_tmpSvc, BesGlobalTrigSvc::setEmcClusE(), BesGlobalTrigSvc::setEmcClusId(), BesGlobalTrigSvc::setEmcNbCluster(), BesGlobalTrigSvc::setEmcNeeCluster(), BesGlobalTrigSvc::setEmcNweCluster(), TrigConf::TCPHINO_B, TrigConf::TCPHINO_E, TrigConf::TCTHETANO_B, TrigConf::TCTHETANO_E, WClus_Z, WEClusterId, and WEClusterPhi.
Referenced by BesEmcTrig::startEmcTrig().
00037 { 00038 //reset values 00039 EClus_Z = false; 00040 WClus_Z = false; 00041 //barrel 00042 for(int j=0;j<TrigConf::TCPHINO_B;j++) 00043 { 00044 BClusterPhi[j] = 0; 00045 for(int i=0;i<TrigConf::TCTHETANO_B;i++) 00046 { 00047 BClusterId[i][j] = 0; 00048 } 00049 } 00050 //endcaps 00051 for(int j =0;j<TrigConf::TCPHINO_E/2;j++) 00052 { 00053 if(j < TrigConf::TCPHINO_E/2) { 00054 WEClusterPhi[j] = 0; 00055 EEClusterPhi[j] = 0; 00056 } 00057 for(int i =0;i<TrigConf::TCTHETANO_E;i++) 00058 { 00059 EEClusterId[i][j] = 0; 00060 WEClusterId[i][j] = 0; 00061 } 00062 } 00063 00064 std::vector<double> emcClusE; 00065 emcClusE.clear(); 00066 00067 for(int i=0;i<TrigConf::TCTHETANO_B;i++) 00068 for(int j=0;j<TrigConf::TCPHINO_B;j++) 00069 { 00071 if(findCluster(1,i,j)) 00072 { 00073 BClusterId[i][j] = 1; 00074 //check cluster z balance for charge track 00075 int block_phi = int (j/5); 00076 if(((block_phi%2 == 0) && i > 5) || ((block_phi%2 == 1) && i > 4)) WClus_Z = true; 00077 else EClus_Z = true; 00078 emcClusE.push_back(m_EmcTCFinder->getBTCEnergy(i,j)); 00079 } 00080 } 00081 //Find cluster position in endcap 00082 for(int i =0;i<TrigConf::TCTHETANO_E;i++) 00083 for(int j =0;j<TrigConf::TCPHINO_E/2;j++) 00084 { 00085 if(findCluster(0,i,j)) { EEClusterId[i][j] = 1; EClus_Z = true; emcClusE.push_back(m_EmcTCFinder->getEETCEnergy(i,j)); } 00086 if(findCluster(2,i,j)) { WEClusterId[i][j] = 1; WClus_Z = true; emcClusE.push_back(m_EmcTCFinder->getWETCEnergy(i,j)); } 00087 } 00088 //Find phi position of cluster in barrel 00089 for(int j = 0;j<TrigConf::TCPHINO_B;j++) 00090 for(int i =0;i<TrigConf::TCTHETANO_B;i++) 00091 { 00092 if(BClusterId[i][j]==1) 00093 { 00094 BClusterPhi[j] = 1; 00095 break; 00096 } 00097 } 00098 //Find phi position of cluster in west endcap 00099 for(int j =0;j<TrigConf::TCPHINO_E/2;j++) 00100 for(int i =0;i<TrigConf::TCTHETANO_E;i++) 00101 { 00102 if(WEClusterId[i][j] == 1) 00103 { 00104 WEClusterPhi[j] = 1; 00105 } 00106 } 00107 //Find phi position of cluster in east endcap 00108 for(int j =0;j<TrigConf::TCPHINO_E/2;j++) 00109 for(int i =0;i<TrigConf::TCTHETANO_E;i++) 00110 { 00111 if(EEClusterId[i][j] == 1) 00112 { 00113 EEClusterPhi[j] = 1; 00114 } 00115 } 00116 // for(int i=0;i<TrigConf::TCPHINO_E/2;i++) cout<<"ClusterId output "<<EEClusterPhi[i]<<" "<<WEClusterPhi[i]<<endl; 00117 00118 //set number of cluster in barrel and endcaps for service 00119 int nbCluster = 0, neeCluster = 0, nweCluster = 0; 00120 00121 map<int,vector<complex<int> >, greater<int> > mClusId; 00122 std::vector<complex<int> > vClusIdBR; 00123 std::vector<complex<int> > vClusIdEE; 00124 std::vector<complex<int> > vClusIdWE; 00125 typedef pair<int, vector<complex<int> > > vpair; 00126 vClusIdBR.clear(); 00127 vClusIdEE.clear(); 00128 vClusIdWE.clear(); 00129 mClusId.clear(); 00130 00131 for(int i=0;i<TrigConf::TCTHETANO_B;i++) 00132 for(int j=0;j<TrigConf::TCPHINO_B;j++) 00133 { 00134 int BClusId = BClusterId[i][j]; 00135 if(BClusId == 1) { 00136 nbCluster++; 00137 complex<int> clusId(i,j); 00138 vClusIdBR.push_back(clusId); 00139 } 00140 } 00141 for(int i=0; i<TrigConf::TCTHETANO_E; i++) 00142 for(int j=0; j<TrigConf::TCPHINO_E/2; j++) 00143 { 00144 if(EEClusterPhi[j]) { 00145 neeCluster++; 00146 complex<int> clusId(i,j); 00147 vClusIdEE.push_back(clusId); 00148 } 00149 if(WEClusterPhi[j]) { 00150 nweCluster++; 00151 complex<int> clusId(i,j); 00152 vClusIdWE.push_back(clusId); 00153 } 00154 } 00155 00156 mClusId.insert(vpair(1,vClusIdBR)); 00157 mClusId.insert(vpair(0,vClusIdEE)); 00158 mClusId.insert(vpair(2,vClusIdWE)); 00159 00160 ISvcLocator* svcLocator = Gaudi::svcLocator(); 00161 StatusCode sc = svcLocator->service("BesGlobalTrigSvc", m_tmpSvc); 00162 m_pIBGT = dynamic_cast<BesGlobalTrigSvc* >(m_tmpSvc); 00163 00164 m_pIBGT->setEmcNbCluster(nbCluster); 00165 m_pIBGT->setEmcNweCluster(nweCluster); 00166 m_pIBGT->setEmcNeeCluster(neeCluster); 00167 m_pIBGT->setEmcClusId(mClusId); 00168 m_pIBGT->setEmcClusE(emcClusE); 00169 }
bool EmcCCount::getEClus_Z | ( | ) | [inline] |
Definition at line 24 of file EmcCCount.h.
References EClus_Z.
Referenced by BesEmcTrig::startEmcTrig().
00024 { return EClus_Z; }
int EmcCCount::getEEClusterId | ( | int | i, | |
int | j | |||
) | [inline] |
Definition at line 22 of file EmcCCount.h.
References EEClusterId.
00022 { return EEClusterId[i][j]; }
int EmcCCount::getEEClusterPhi | ( | int | i | ) | [inline] |
Definition at line 20 of file EmcCCount.h.
References EEClusterPhi.
Referenced by BesEmcTrig::startEmcTrig().
00020 { return EEClusterPhi[i]; }
bool EmcCCount::getWClus_Z | ( | ) | [inline] |
Definition at line 25 of file EmcCCount.h.
References WClus_Z.
Referenced by BesEmcTrig::startEmcTrig().
00025 { return WClus_Z; }
int EmcCCount::getWEClusterId | ( | int | i, | |
int | j | |||
) | [inline] |
Definition at line 23 of file EmcCCount.h.
References WEClusterId.
00023 { return WEClusterId[i][j]; }
int EmcCCount::getWEClusterPhi | ( | int | i | ) | [inline] |
Definition at line 19 of file EmcCCount.h.
References WEClusterPhi.
Referenced by BesEmcTrig::startEmcTrig().
00019 { return WEClusterPhi[i]; }
int EmcCCount::BClusterId[TrigConf::TCTHETANO_B][TrigConf::TCPHINO_B] [private] |
int EmcCCount::BClusterPhi[TrigConf::TCPHINO_B] [private] |
bool EmcCCount::EClus_Z [private] |
int EmcCCount::EEClusterId[TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2] [private] |
int EmcCCount::EEClusterPhi[TrigConf::TCPHINO_E/2] [private] |
EmcTCFinder* EmcCCount::m_EmcTCFinder [private] |
Definition at line 27 of file EmcCCount.h.
Referenced by EmcCCount(), findCluster(), and getClusterId().
BesGlobalTrigSvc* EmcCCount::m_pIBGT [private] |
IBesGlobalTrigSvc* EmcCCount::m_tmpSvc [private] |
bool EmcCCount::WClus_Z [private] |
int EmcCCount::WEClusterId[TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2] [private] |
int EmcCCount::WEClusterPhi[TrigConf::TCPHINO_E/2] [private] |