39 m_EmcCCount->getClusterId();
64 ISvcLocator* svcLocator = Gaudi::svcLocator();
65 StatusCode sc = svcLocator->service(
"BesGlobalTrigSvc", m_tmpSvc );
69 int nbcluster = 0, necluster = 0;
71 necluster = m_pIBGT->getEmcNweCluster() + m_pIBGT->getEmcNeeCluster();
72 if ( ( nbcluster + necluster ) >= 1 ) NClus1 =
true;
73 if ( ( nbcluster + necluster ) >= 2 ) NClus2 =
true;
74 if ( nbcluster >= 1 ) NBClus1 =
true;
75 if ( necluster >= 1 ) NEClus1 =
true;
77 double L1ETOT_L = double( m_pIBGT->getL1ETOT_L() );
78 double L1ETOT_M = double( m_pIBGT->getL1ETOT_M() );
79 double L1EDIFF_BR = double( m_pIBGT->getL1EDIFF_BR() );
80 double L1EDIFF_EC = double( m_pIBGT->getL1EDIFF_EC() );
95 if ( ( m_EmcESum->getTotE() > L1ETOT_M ) ) Etot_M =
true;
97 if ( ( m_EmcESum->getTotE() > L1ETOT_L ) ) Etot_L =
true;
99 if ( ( std::abs( m_EmcESum->getLBTotE() - m_EmcESum->getRBTotE() ) < L1EDIFF_BR ) )
102 if ( ( std::abs( m_EmcESum->getWETotE() - m_EmcESum->getEETotE() ) < L1EDIFF_EC ) )
105 double L1ETOT_BR = double( m_pIBGT->getL1ETOT_BR() );
106 double L1ETOT_EC = double( m_pIBGT->getL1ETOT_EC() );
119 if ( ( m_EmcESum->getBTotE() > L1ETOT_BR ) ) BEtot_H =
true;
121 if ( ( m_EmcESum->getETotE() > L1ETOT_EC ) ) EEtot_H =
true;
127 double L1EBL_EC = double( m_pIBGT->getL1EBL_EC() );
128 if ( ( m_EmcESum->getWETotE() > L1EBL_EC && m_EmcESum->getEETotE() > L1EBL_EC ) )
132 double energy0 = m_EmcESum->getBBLKE( 0 );
133 double energy1 = m_EmcESum->getBBLKE( 1 );
134 double energy2 = m_EmcESum->getBBLKE( 2 );
135 double energy3 = m_EmcESum->getBBLKE( 3 );
136 double energy4 = m_EmcESum->getBBLKE( 4 );
137 double energy5 = m_EmcESum->getBBLKE( 5 );
138 double energy9 = m_EmcESum->getBBLKE( 9 );
139 double energy10 = m_EmcESum->getBBLKE( 10 );
140 double energy6 = m_EmcESum->getBBLKE( 6 );
141 double energy11 = m_EmcESum->getBBLKE( 11 );
142 double energy7 = m_EmcESum->getBBLKE( 7 );
143 double energy8 = m_EmcESum->getBBLKE( 8 );
144 double L1BLK_GATE = double( m_pIBGT->getL1BLK_GATE() );
145 if ( ( energy0 + energy1 ) > L1BLK_GATE && ( energy9 + energy10 ) > L1BLK_GATE )
147 if ( ( energy1 + energy2 ) > L1BLK_GATE && ( energy10 + energy11 ) > L1BLK_GATE )
149 if ( ( energy2 + energy3 ) > L1BLK_GATE && ( energy11 + energy6 ) > L1BLK_GATE )
151 if ( ( energy3 + energy4 ) > L1BLK_GATE && ( energy6 + energy7 ) > L1BLK_GATE )
153 if ( ( energy4 + energy5 ) > L1BLK_GATE && ( energy7 + energy8 ) > L1BLK_GATE )
155 if ( ( energy5 + energy0 ) > L1BLK_GATE && ( energy8 + energy9 ) > L1BLK_GATE )
165 for (
int j = 0; j < TrigConf::TCPHINO_B; j++ )
167 int bphi = m_EmcCCount->getBClusterPhi( j );
168 if ( bphi == 0 )
continue;
172 for (
int k = 0; k < 15; k++ )
174 if ( ( 8 + k + j ) < TrigConf::TCPHINO_B )
175 NCluster += m_EmcCCount->getBClusterPhi( 8 + k + j );
176 else NCluster += m_EmcCCount->getBClusterPhi( 8 + k + j - TrigConf::TCPHINO_B );
183 if ( BClus_Phi ==
true )
break;
188 for (
int j = 0; j < TrigConf::TCPHINO_E / 2; j++ )
190 int wephi = m_EmcCCount->getWEClusterPhi( j );
191 if ( wephi == 0 )
continue;
195 for (
int k = 0; k < 7; k++ )
197 if ( ( j + 5 + k ) < TrigConf::TCPHINO_E / 2 )
198 NCluster += m_EmcCCount->getEEClusterPhi( j + 5 + k );
199 else NCluster += m_EmcCCount->getEEClusterPhi( j + 5 + k - TrigConf::TCPHINO_E / 2 );
206 if ( EClus_Phi ==
true )
break;
211 for (
int i = 0; i < TrigConf::TCTHETANO_B; i++ )
212 for (
int j = 0; j < TrigConf::TCPHINO_B; j++ )
214 int BClusId = m_EmcCCount->getBClusterId( i, j );
216 if ( BClusId == 0 )
continue;
219 if ( i > 0 && i < ( TrigConf::TCTHETANO_B - 1 ) )
221 for (
int k = 0; k < 5; k++ )
223 if ( j + 13 + k < TrigConf::TCPHINO_B )
226 m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i, j + 13 + k );
227 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i + 1,
229 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i - 1,
234 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i,
235 j + 13 + k - TrigConf::TCPHINO_B );
236 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i + 1,
237 j + 13 + k - TrigConf::TCPHINO_B );
238 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ) - i - 1,
239 j + 13 + k - TrigConf::TCPHINO_B );
250 for (
int k = 0; k < 5; k++ )
252 if ( j + 13 + k < TrigConf::TCPHINO_B )
255 m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ), j + 13 + k );
257 m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 2 ), j + 13 + k );
261 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 2 ),
262 j + 13 + k - TrigConf::TCPHINO_B );
263 NCluster += m_EmcCCount->getBClusterId( ( TrigConf::TCTHETANO_B - 1 ),
264 j + 13 + k - TrigConf::TCPHINO_B );
273 if ( i == ( TrigConf::TCTHETANO_B - 1 ) )
275 for (
int k = 0; k < 5; k++ )
277 if ( j + 13 + k < TrigConf::TCPHINO_B )
279 NCluster += m_EmcCCount->getBClusterId( 0, j + 13 + k );
280 NCluster += m_EmcCCount->getBClusterId( 1, j + 13 + k );
284 NCluster += m_EmcCCount->getBClusterId( 0, j + 13 + k - TrigConf::TCPHINO_B );
285 NCluster += m_EmcCCount->getBClusterId( 1, j + 13 + k - TrigConf::TCPHINO_B );
297 for (
int j = 0; j < TrigConf::TCPHINO_E / 2; j++ )
300 int EClusId = m_EmcCCount->getWEClusterPhi( j );
302 if ( EClusId == 0 )
continue;
306 for (
int k = 0; k < 3; k++ )
308 if ( ( j + 7 + k ) < TrigConf::TCPHINO_E / 2 )
309 NCluster += m_EmcCCount->getEEClusterPhi( j + 7 + k );
310 else NCluster += m_EmcCCount->getEEClusterPhi( j + 7 + k - TrigConf::TCPHINO_E / 2 );
317 if ( EClusBB ==
true )
break;
321 double L1EBL_Z = double( m_pIBGT->getL1EBL_Z() );
329 if ( ( m_EmcESum->getRTotE() >= L1EBL_Z && m_EmcESum->getLTotE() >= L1EBL_Z ) ) BL_Z =
true;
333 if ( m_EmcCCount->getEClus_Z() && m_EmcCCount->getWClus_Z() ) Clus_Z =
true;
337 m_pIBGT->setNClus1( NClus1 );
338 m_pIBGT->setNClus2( NClus2 );
339 m_pIBGT->setNBClus1( NBClus1 );
340 m_pIBGT->setNEClus1( NEClus1 );
342 m_pIBGT->setBClusBB( BClusBB );
343 m_pIBGT->setEClusBB( EClusBB );
344 m_pIBGT->setClus_Z( Clus_Z );
345 m_pIBGT->setBClus_PHI( BClus_Phi );
346 m_pIBGT->setEClus_PHI( EClus_Phi );
347 m_pIBGT->setBEtot_H( BEtot_H );
348 m_pIBGT->setEEtot_H( EEtot_H );
349 m_pIBGT->setEtot_L( Etot_L );
350 m_pIBGT->setEtot_M( Etot_M );
351 m_pIBGT->setBL_Z( BL_Z );
352 m_pIBGT->setDiff_B( Diff_B );
353 m_pIBGT->setDiff_E( Diff_E );
354 m_pIBGT->setBL_BBLK( BL_BBLK );
355 m_pIBGT->setBL_EBLK( BL_EBLK );