Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EmcCCount Class Reference

#include <EmcCCount.h>

List of all members.

Public Member Functions

 EmcCCount ()
 EmcCCount ()
bool findCluster (int partId, int TCThetaNb, int TCPhiNb)
bool findCluster (int partId, int TCThetaNb, int TCPhiNb)
int getBClusterId (int i, int j)
int getBClusterId (int i, int j)
int getBClusterPhi (int i)
int getBClusterPhi (int i)
void getClusterId ()
void getClusterId ()
bool getEClus_Z ()
bool getEClus_Z ()
int getEEClusterId (int i, int j)
int getEEClusterId (int i, int j)
int getEEClusterPhi (int i)
int getEEClusterPhi (int i)
bool getWClus_Z ()
bool getWClus_Z ()
int getWEClusterId (int i, int j)
int getWEClusterId (int i, int j)
int getWEClusterPhi (int i)
int getWEClusterPhi (int i)
 ~EmcCCount ()
 ~EmcCCount ()

Private Attributes

int BClusterId [TrigConf::TCTHETANO_B][TrigConf::TCPHINO_B]
int BClusterPhi [TrigConf::TCPHINO_B]
bool EClus_Z
int EEClusterId [TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2]
int EEClusterPhi [TrigConf::TCPHINO_E/2]
EmcTCFinderm_EmcTCFinder
EmcTCFinderm_EmcTCFinder
BesGlobalTrigSvcm_pIBGT
BesGlobalTrigSvcm_pIBGT
IBesGlobalTrigSvcm_tmpSvc
IBesGlobalTrigSvcm_tmpSvc
bool WClus_Z
int WEClusterId [TrigConf::TCTHETANO_E][TrigConf::TCPHINO_E/2]
int WEClusterPhi [TrigConf::TCPHINO_E/2]


Constructor & Destructor Documentation

EmcCCount::EmcCCount  ) 
 

00030 {
00031   m_EmcTCFinder = EmcTCFinder::get_Emc();
00032   ISvcLocator* svcLocator = Gaudi::svcLocator();
00033   StatusCode sc = svcLocator->service("BesGlobalTrigSvc", m_tmpSvc);
00034   m_pIBGT = dynamic_cast<BesGlobalTrigSvc* >(m_tmpSvc);
00035 }

EmcCCount::~EmcCCount  ) 
 

00037 {
00038 }

EmcCCount::EmcCCount  ) 
 

EmcCCount::~EmcCCount  ) 
 


Member Function Documentation

bool EmcCCount::findCluster int  partId,
int  TCThetaNb,
int  TCPhiNb
 

bool EmcCCount::findCluster int  partId,
int  TCThetaNb,
int  TCPhiNb
 

00171 {
00172   //double L1TC_THRESH = m_pIBGT->getL1TC_THRESH();
00173   /*for(int i = 0; ; i++) {
00174     double theshold = RandGauss::shoot(m_pIBGT->getL1TC_THRESH(),3.3);
00175     if(theshold < m_pIBGT->getL1TC_THRESH()) {
00176       L1TC_THRESH = theshold;
00177       break;
00178     } 
00179   }*/
00180   
00181   //double energy0,energy1,energy2,energy3,energy4,energy5,energy6,energy7,energy8;
00182   int clus0,clus1,clus3,clus4,clus8;
00183  /* if(partId==1)
00184   {
00185 // Cluster Finder Logic
00186 //              Phi--->
00187 //              |---|----|----|
00188 //              | 5 |  1 | 6  |
00189 //              |---|----|----|
00190 //              | 2 |  0 | 3  |   
00191 //              |---|----|----|   ^
00192 //              | 7 |  4 | 8  |   |
00193 //              |---|----|----| Theta
00194      energy0 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb);
00195      if(energy0>L1TC_THRESH)
00196      {
00197        //trigger cell index from 0, not 1, so TrigConf::TCTHETANO_B - 1 or TrigConf::TCPHINO_B - 1 needed 
00198        if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)) energy1 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb);
00199        else energy1 = 0.0;
00200                         
00201        if(TCPhiNb!=0) energy2 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb-1);
00202        else energy2 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TrigConf::TCPHINO_B-1);
00203                         
00204        if(TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy3 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,TCPhiNb+1);
00205        else energy3 = m_EmcTCFinder->getBTCEnergy(TCThetaNb,0);
00206                         
00207        if(TCThetaNb!=0) energy4 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb);
00208        else energy4 = 0.0;
00209                         
00210        if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=0) energy5 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb-1);
00211        if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) energy5 = 0.0;
00212        if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==0) energy5 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TrigConf::TCPHINO_B-1);
00213                         
00214        if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy6 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,TCPhiNb+1);
00215        if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) energy6 = 0.0;
00216        if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==(TrigConf::TCPHINO_B-1)) energy6 = m_EmcTCFinder->getBTCEnergy(TCThetaNb+1,0);
00217  
00218        if(TCThetaNb!=0&&TCPhiNb!=0) energy7 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb-1);
00219        if(TCThetaNb==0) energy7=0;
00220        if(TCThetaNb!=0&&TCPhiNb==0) energy7 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TrigConf::TCPHINO_B-1);
00221  
00222        if(TCThetaNb!=0&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) energy8 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,TCPhiNb+1);
00223        if(TCThetaNb==0) energy8 = 0.0;
00224        if(TCThetaNb!=0&&TCPhiNb==(TrigConf::TCPHINO_B-1)) energy8 = m_EmcTCFinder->getBTCEnergy(TCThetaNb-1,0);
00225  
00226        if((energy3>=L1TC_THRESH)||(energy1>=L1TC_THRESH)||((energy4>=L1TC_THRESH)&&(energy8>=L1TC_THRESH)))
00227        {        
00228          return false;
00229        }
00230        else return true;
00231     }
00232     else return false;
00233   }*/
00234   if(partId==1)
00235   {
00236 // Cluster Finder Logic
00237 //              <---Theta
00238 //              |---|----|----|
00239 //              | 5 |  1 | 6  |
00240 //              |---|----|----|
00241 //              | 2 |  0 | 3  |  Phi 
00242 //              |---|----|----|   |
00243 //              | 7 |  4 | 8  |   |
00244 //              |---|----|----|   ^
00245      clus0 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb);
00246      if(clus0 > 0)
00247      {
00248        //trigger cell index from 0, not 1, so TrigConf::TCTHETANO_B - 1 or TrigConf::TCPHINO_B - 1 needed 
00249        if(TCPhiNb != 0) clus1 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb - 1);
00250        else clus1 = m_EmcTCFinder->getBTC(TCThetaNb,TrigConf::TCPHINO_B-1);
00251 
00252 //       if(TCPhiNb!=0) clus2 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb-1);
00253 //       else clus2 = m_EmcTCFinder->getBTC(TCThetaNb,TrigConf::TCPHINO_B-1);
00254 
00255        if(TCThetaNb!=0) clus3 = m_EmcTCFinder->getBTC(TCThetaNb - 1,TCPhiNb);
00256        else clus3 = 0;
00257 
00258        if(TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus4 = m_EmcTCFinder->getBTC(TCThetaNb,TCPhiNb+1);
00259        else clus4 = m_EmcTCFinder->getBTC(TCThetaNb,0);
00260 
00261 //       if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=0) clus5 = m_EmcTCFinder->getBTC(TCThetaNb+1,TCPhiNb-1);
00262 //       if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) clus5 = 0;
00263 //       if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==0) clus5 = m_EmcTCFinder->getBTC(TCThetaNb+1,TrigConf::TCPHINO_B-1);
00264 
00265 //       if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus6 = m_EmcTCFinder->getBTC(TCThetaNb+1,TCPhiNb+1);
00266 //       if(TCThetaNb==(TrigConf::TCTHETANO_B-1)) clus6 = 0;
00267 //       if(TCThetaNb!=(TrigConf::TCTHETANO_B-1)&&TCPhiNb==(TrigConf::TCPHINO_B-1)) clus6 = m_EmcTCFinder->getBTC(TCThetaNb+1,0);
00268 
00269 //       if(TCThetaNb!=0&&TCPhiNb!=0) clus7 = m_EmcTCFinder->getBTC(TCThetaNb-1,TCPhiNb-1);
00270 //       if(TCThetaNb==0) clus7 = 0;
00271 //       if(TCThetaNb!=0&&TCPhiNb==0) clus7 = m_EmcTCFinder->getBTC(TCThetaNb-1,TrigConf::TCPHINO_B-1);
00272 
00273        if(TCThetaNb!=0&&TCPhiNb!=(TrigConf::TCPHINO_B-1)) clus8 = m_EmcTCFinder->getBTC(TCThetaNb-1,TCPhiNb+1);
00274        if(TCThetaNb==0) clus8 = 1;
00275        if(TCThetaNb!=0&&TCPhiNb==(TrigConf::TCPHINO_B-1)) clus8 = m_EmcTCFinder->getBTC(TCThetaNb-1,0);
00276 
00277        //if((clus3 > 0)||(clus1 > 0)||((clus4 > 0)&&(clus8 > 0)))
00278        if(!((clus3 > 0)||(clus1 > 0)) && !((clus4 > 0)&&(clus8 > 0)))
00279        {
00280          return true;
00281        }
00282        else return false;
00283     }
00284     else return false;
00285   }
00286   //------------------------------------------------------------------------------------
00287 /* Cluster Finder Logic (1)
00288              <---phi
00289       |---|
00290       | 1 |      
00291       |---|---| /|\
00292       | 0 | 2 |  |
00293       |---|---| theta
00294   if(partId==0)
00295   {
00296     if(TCThetaNb==0)
00297     {
00298       energy0 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb);
00299       energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb+1,TCPhiNb);
00300       if(TCPhiNb!=0) energy2 =m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb-1);
00301       else energy2 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1);
00302       if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)&&(energy2<L1TC_THRESH)) return true;
00303       else return false;
00304     }
00305     if(TCThetaNb==(TrigConf::TCTHETANO_E-1))
00306     {
00307       energy0 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb);
00308       if(TCPhiNb!=0) energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TCPhiNb-1);
00309       else energy1 = m_EmcTCFinder->GetEETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1);
00310       if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true;
00311       else return false;
00312     }
00313   }
00314   if(partId==2)
00315   {
00316     if(TCThetaNb==0)
00317     {
00318       energy0 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb);
00319       energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb+1,TCPhiNb);
00320       if(TCPhiNb!=0) energy2 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb-1);
00321       else energy2 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1);
00322       if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)&&(energy2<L1TC_THRESH)) return true;
00323       else return false;
00324     }
00325     if(TCThetaNb==(TrigConf::TCTHETANO_E-1))
00326     {
00327       energy0 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb);
00328       if(TCPhiNb!=0) energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TCPhiNb-1);
00329       else energy1 = m_EmcTCFinder->GetWETCEnergy(TCThetaNb,TrigConf::TCPHINO_E-1);
00330       if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true;
00331       else return false;
00332     }
00333   }
00334 */
00335   //------------------------------------------------------------------------------------
00336 /*Cluster Finder Logic (1) 
00337              <---phi
00338             
00339       |---|---| /|\
00340       | 0 | 1 |  |
00341       |---|---| theta
00342   //if(partId==0)
00343   //{
00344   //  energy0 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,TCPhiNb);
00345   //  if(TCPhiNb!=0) {
00346   //    energy1 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,TCPhiNb-1);
00347   //  }
00348   //  else {
00349   //    energy1 = m_EmcTCFinder->getEETCEnergy(TCThetaNb,(TrigConf::TCPHINO_E-1));
00350   //  }
00351   //  if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true;
00352   //  else return false;
00353   //}
00354 
00355   if(partId==0)
00356   {
00357     clus0 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb);
00358     if(TCPhiNb!=0) {
00359       clus1 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb-1);
00360     }
00361     else {
00362       clus1 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E-1));
00363     }
00364     if((clus0 > 0)&&(clus1 == 0)) return true;
00365     else return false;
00366   }
00367 
00368   //if(partId==2)
00369   //{
00370   //  energy0 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,TCPhiNb);
00371   //  if(TCPhiNb!=0) {
00372   //    energy1 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,TCPhiNb-1);
00373   //  }
00374   //  else {
00375   //    energy1 = m_EmcTCFinder->getWETCEnergy(TCThetaNb,(TrigConf::TCPHINO_E-1));
00376   //  }
00377   //  if((energy0>=L1TC_THRESH)&&(energy1<L1TC_THRESH)) return true;
00378   //  else return false;
00379   //}
00380 
00381   if(partId==2)
00382   {
00383     clus0 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb);
00384     if(TCPhiNb!=0) {
00385       clus1 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb-1);
00386     }
00387     else {
00388       clus1 = m_EmcTCFinder->getWETC(TCThetaNb,(TrigConf::TCPHINO_E-1));
00389     }
00390     if((clus0 > 0)&&(clus1 == 0)) return true;
00391     else return false;
00392   }
00393 */
00394 
00395 /*Cluster Finder Logic (2) 
00396              <---phi
00397             
00398       |---|---| /|\
00399       | 0 | 1 |  |
00400       |---|---| theta
00401 */ 
00402   if(partId==0)
00403   {
00404     int etc1,etc2,etc3,etc4;
00405     etc1 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb*2);
00406     etc2 = m_EmcTCFinder->getEETC(TCThetaNb,TCPhiNb*2+1);
00407     if(etc1 > 0 || etc2 > 0) clus0 = 1;
00408     else clus0 = 0;
00409 
00410     if(TCPhiNb!=0) {
00411       etc3 = m_EmcTCFinder->getEETC(TCThetaNb,(TCPhiNb-1)*2);
00412       etc4 = m_EmcTCFinder->getEETC(TCThetaNb,(TCPhiNb-1)*2+1);
00413       if(etc3 > 0 || etc4 > 0) clus1 = 1;
00414       else clus1 = 0;
00415     }
00416     else {
00417       etc3 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E/2-1)*2);
00418       etc4 = m_EmcTCFinder->getEETC(TCThetaNb,(TrigConf::TCPHINO_E/2-1)*2+1);
00419       if(etc3 > 0 || etc4 > 0) clus1 = 1;
00420       else clus1 = 0;
00421     }
00422 
00423     if((clus0 > 0)&&(clus1 == 0)) return true;
00424     else return false;
00425   }
00426 
00427 /*Cluster Finder Logic (2) 
00428              <---phi
00429             
00430       |---|---| /|\
00431       | 1 | 0 |  |
00432       |---|---| theta
00433 */
00434   if(partId==2)
00435   {
00436     int etc1,etc2,etc3,etc4;
00437     etc1 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb*2);
00438     etc2 = m_EmcTCFinder->getWETC(TCThetaNb,TCPhiNb*2+1);
00439     if(etc1 > 0 || etc2 > 0) clus0 = 1;
00440     else clus0 = 0;
00441 
00442     if(TCPhiNb!= (TrigConf::TCPHINO_E/2-1)) {
00443       etc3 = m_EmcTCFinder->getWETC(TCThetaNb,(TCPhiNb+1)*2);
00444       etc4 = m_EmcTCFinder->getWETC(TCThetaNb,(TCPhiNb+1)*2+1);
00445       if(etc3 > 0 || etc4 > 0) clus1 = 1;
00446       else clus1 = 0;
00447     }
00448     else {
00449       etc3 = m_EmcTCFinder->getWETC(TCThetaNb,0);
00450       etc4 = m_EmcTCFinder->getWETC(TCThetaNb,1);
00451       if(etc3 > 0 || etc4 > 0) clus1 = 1;
00452       else clus1 = 0;
00453     }
00454 
00455     if((clus0 > 0)&&(clus1 == 0)) return true;
00456     else return false;
00457   }
00458 
00459   return false;
00460 }

int EmcCCount::getBClusterId int  i,
int  j
[inline]
 

00021 { return BClusterId[i][j]; }

int EmcCCount::getBClusterId int  i,
int  j
[inline]
 

00021 { return BClusterId[i][j]; }

int EmcCCount::getBClusterPhi int  i  )  [inline]
 

00018 { return BClusterPhi[i]; }

int EmcCCount::getBClusterPhi int  i  )  [inline]
 

00018 { return BClusterPhi[i]; }

void EmcCCount::getClusterId  ) 
 

void EmcCCount::getClusterId  ) 
 

Find cluster position in barral

00040 {
00041   //reset values
00042   EClus_Z = false;
00043   WClus_Z = false;
00044   //barrel
00045   for(int j=0;j<TrigConf::TCPHINO_B;j++)
00046   {
00047     BClusterPhi[j] = 0;
00048     for(int i=0;i<TrigConf::TCTHETANO_B;i++)
00049     {
00050       BClusterId[i][j] = 0;
00051     }
00052   }
00053   //endcaps
00054   for(int j =0;j<TrigConf::TCPHINO_E/2;j++)
00055   {
00056     if(j < TrigConf::TCPHINO_E/2) {
00057       WEClusterPhi[j] = 0;
00058       EEClusterPhi[j] = 0;
00059     }
00060     for(int i =0;i<TrigConf::TCTHETANO_E;i++)
00061     {
00062       EEClusterId[i][j] = 0;
00063       WEClusterId[i][j] = 0;
00064     }
00065   }
00066 
00067   std::vector<double> emcClusE;
00068   emcClusE.clear();
00069 
00070   for(int i=0;i<TrigConf::TCTHETANO_B;i++)
00071     for(int j=0;j<TrigConf::TCPHINO_B;j++)
00072     {
00074       if(findCluster(1,i,j))
00075       {
00076         BClusterId[i][j] = 1;
00077         //check cluster z balance for charge track
00078         int block_phi = int (j/5);
00079         if(((block_phi%2 == 0) && i > 5) || ((block_phi%2 == 1) && i > 4)) WClus_Z = true;
00080         else EClus_Z = true;
00081         emcClusE.push_back(m_EmcTCFinder->getBTCEnergy(i,j));
00082       }
00083     }
00084   //Find cluster position in endcap
00085   for(int i =0;i<TrigConf::TCTHETANO_E;i++)
00086     for(int j =0;j<TrigConf::TCPHINO_E/2;j++)
00087     {
00088       if(findCluster(0,i,j)) { EEClusterId[i][j] = 1; EClus_Z = true; emcClusE.push_back(m_EmcTCFinder->getEETCEnergy(i,j)); }
00089       if(findCluster(2,i,j)) { WEClusterId[i][j] = 1; WClus_Z = true; emcClusE.push_back(m_EmcTCFinder->getWETCEnergy(i,j)); }
00090     }
00091   //Find phi position of cluster in barrel
00092   for(int j = 0;j<TrigConf::TCPHINO_B;j++)
00093     for(int i =0;i<TrigConf::TCTHETANO_B;i++)
00094     {
00095       if(BClusterId[i][j]==1)
00096       {
00097         BClusterPhi[j] = 1;
00098         break;
00099       }
00100     }
00101   //Find phi position of cluster in west endcap 
00102   for(int j =0;j<TrigConf::TCPHINO_E/2;j++)
00103     for(int i =0;i<TrigConf::TCTHETANO_E;i++)
00104     {
00105       if(WEClusterId[i][j] == 1)
00106       {
00107         WEClusterPhi[j] = 1;
00108       }
00109     }
00110   //Find phi position of cluster in east endcap
00111   for(int j =0;j<TrigConf::TCPHINO_E/2;j++)
00112     for(int i =0;i<TrigConf::TCTHETANO_E;i++)
00113     {
00114       if(EEClusterId[i][j] == 1)
00115       {
00116         EEClusterPhi[j] = 1;
00117       }
00118     }
00119  // for(int i=0;i<TrigConf::TCPHINO_E/2;i++) cout<<"ClusterId output "<<EEClusterPhi[i]<<" "<<WEClusterPhi[i]<<endl;
00120     
00121     //set number of cluster in barrel and endcaps for service
00122     int nbCluster = 0, neeCluster = 0, nweCluster = 0;
00123     
00124     map<int,vector<complex<int> >, greater<int> > mClusId;
00125     std::vector<complex<int> > vClusIdBR;
00126     std::vector<complex<int> > vClusIdEE;
00127     std::vector<complex<int> > vClusIdWE;
00128     typedef pair<int, vector<complex<int> > > vpair;
00129     vClusIdBR.clear();
00130     vClusIdEE.clear();
00131     vClusIdWE.clear();
00132     mClusId.clear();
00133 
00134     for(int i=0;i<TrigConf::TCTHETANO_B;i++)
00135       for(int j=0;j<TrigConf::TCPHINO_B;j++)
00136       {
00137         int BClusId = BClusterId[i][j];
00138         if(BClusId == 1) {
00139           nbCluster++;
00140           complex<int> clusId(i,j);
00141           vClusIdBR.push_back(clusId);
00142         }
00143       }
00144     for(int i=0; i<TrigConf::TCTHETANO_E; i++)
00145       for(int j=0; j<TrigConf::TCPHINO_E/2; j++)
00146       {
00147         if(EEClusterPhi[j]) {
00148           neeCluster++;
00149           complex<int> clusId(i,j);
00150           vClusIdEE.push_back(clusId); 
00151         }
00152         if(WEClusterPhi[j]) {
00153           nweCluster++;
00154           complex<int> clusId(i,j);
00155           vClusIdWE.push_back(clusId);
00156         }
00157       }
00158 
00159      mClusId.insert(vpair(1,vClusIdBR));
00160      mClusId.insert(vpair(0,vClusIdEE));
00161      mClusId.insert(vpair(2,vClusIdWE));
00162 
00163      m_pIBGT->setEmcNbCluster(nbCluster);
00164      m_pIBGT->setEmcNweCluster(nweCluster);
00165      m_pIBGT->setEmcNeeCluster(neeCluster); 
00166      m_pIBGT->setEmcClusId(mClusId);  
00167      m_pIBGT->setEmcClusE(emcClusE);  
00168 }

bool EmcCCount::getEClus_Z  )  [inline]
 

00024 { return EClus_Z; }

bool EmcCCount::getEClus_Z  )  [inline]
 

00024 { return EClus_Z; }

int EmcCCount::getEEClusterId int  i,
int  j
[inline]
 

00022 { return EEClusterId[i][j]; }

int EmcCCount::getEEClusterId int  i,
int  j
[inline]
 

00022 { return EEClusterId[i][j]; }

int EmcCCount::getEEClusterPhi int  i  )  [inline]
 

00020 { return EEClusterPhi[i]; }

int EmcCCount::getEEClusterPhi int  i  )  [inline]
 

00020 { return EEClusterPhi[i]; }

bool EmcCCount::getWClus_Z  )  [inline]
 

00025 { return WClus_Z; }

bool EmcCCount::getWClus_Z  )  [inline]
 

00025 { return WClus_Z; }

int EmcCCount::getWEClusterId int  i,
int  j
[inline]
 

00023 { return WEClusterId[i][j]; }

int EmcCCount::getWEClusterId int  i,
int  j
[inline]
 

00023 { return WEClusterId[i][j]; }

int EmcCCount::getWEClusterPhi int  i  )  [inline]
 

00019 { return WEClusterPhi[i]; }

int EmcCCount::getWEClusterPhi int  i  )  [inline]
 

00019 { return WEClusterPhi[i]; }


Member Data Documentation

int EmcCCount::BClusterId [private]
 

int EmcCCount::BClusterPhi [private]
 

bool EmcCCount::EClus_Z [private]
 

int EmcCCount::EEClusterId [private]
 

int EmcCCount::EEClusterPhi [private]
 

EmcTCFinder* EmcCCount::m_EmcTCFinder [private]
 

EmcTCFinder* EmcCCount::m_EmcTCFinder [private]
 

BesGlobalTrigSvc* EmcCCount::m_pIBGT [private]
 

BesGlobalTrigSvc* EmcCCount::m_pIBGT [private]
 

IBesGlobalTrigSvc* EmcCCount::m_tmpSvc [private]
 

IBesGlobalTrigSvc* EmcCCount::m_tmpSvc [private]
 

bool EmcCCount::WClus_Z [private]
 

int EmcCCount::WEClusterId [private]
 

int EmcCCount::WEClusterPhi [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:01:11 2011 for BOSS6.5.5 by  doxygen 1.3.9.1