BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesTMTrig Class Reference

#include <BesTMTrig.h>

Public Member Functions

 BesTMTrig ()
 ~BesTMTrig ()
void startTMTrig ()
void dump ()

Detailed Description

Definition at line 9 of file BesTMTrig.h.

Constructor & Destructor Documentation

◆ BesTMTrig()

BesTMTrig::BesTMTrig ( )

Definition at line 24 of file BesTMTrig.cxx.

24 {
25 char line[255];
26 std::string filename = std::string( getenv( "TRIGGERROOT" ) );
27 filename += std::string( "/data/tm/TM_BARREL.pat" );
28 std::ifstream infile( filename.c_str() );
29 if ( infile )
30 {
31 while ( infile )
32 {
33 infile.getline( line, 255 );
34 if ( line[0] == '#' ) continue;
35 std::string mdcId, tofId_l, tofId_h, emcId_l, emcId_h;
36 char* token = strtok( line, " " );
37 if ( token )
38 {
39 mdcId = token;
40 token = strtok( NULL, " " );
41 }
42 else continue;
43 if ( token )
44 {
45 tofId_l = token;
46 token = strtok( NULL, " " );
47 }
48 else continue;
49 if ( token )
50 {
51 tofId_h = token;
52 token = strtok( NULL, " " );
53 }
54 else continue;
55 if ( token )
56 {
57 emcId_l = token;
58 token = strtok( NULL, " " );
59 }
60 else continue;
61 if ( token )
62 {
63 emcId_h = token;
64 token = strtok( NULL, " " );
65 }
66 else continue;
67 if ( token != NULL ) continue;
68 // Convert to int
69 // int i_mdcId = atoi( mdcId.c_str() );
70 int i_tofId_l = atoi( tofId_l.c_str() );
71 int i_tofId_h = atoi( tofId_h.c_str() );
72 int i_emcId_l = atoi( emcId_l.c_str() );
73 int i_emcId_h = atoi( emcId_h.c_str() );
74 // std::cout << "MdcId TofId_L TofId_H EmcId_L EmcId_H: " << i_mdcId << ", " << i_tofId_l
75 // <<", " << i_tofId_h << ", " << i_emcId_l << ", " << i_emcId_h << std::endl;
76 std::vector<int> tof_tmp;
77 std::vector<int> emc_tmp;
78 // for tof
79 if ( i_tofId_l > i_tofId_h )
80 {
81 for ( int i = i_tofId_l; i <= ( i_tofId_h + 88 ); i++ )
82 {
83 if ( i >= 88 ) tof_tmp.push_back( i - 88 );
84 else tof_tmp.push_back( i );
85 }
86 }
87 else
88 {
89 for ( int i = i_tofId_l; i <= i_tofId_h; i++ ) { tof_tmp.push_back( i ); }
90 }
91 // for emc
92 if ( i_emcId_l > i_emcId_h )
93 {
94 for ( int i = i_emcId_l; i <= ( i_emcId_h + 30 ); i++ )
95 {
96 if ( i >= 30 ) emc_tmp.push_back( i - 30 );
97 else emc_tmp.push_back( i );
98 }
99 }
100 else
101 {
102 for ( int i = i_emcId_l; i <= i_emcId_h; i++ ) { emc_tmp.push_back( i ); }
103 }
104 m_tm_barrel.push_back( tof_tmp );
105 m_tm_barrel.push_back( emc_tmp );
106 }
107 }
108 else { std::cout << "Can not open file: " << filename << " in BesTMTrig. " << std::endl; }
109 // read track match east endcap
110 filename = std::string( getenv( "TRIGGERROOT" ) );
111 filename += std::string( "/data/tm/TM_EAST_ENDCAP.pat" );
112 std::ifstream infile1( filename.c_str() );
113 if ( infile1 )
114 {
115 while ( infile1 )
116 {
117 infile1.getline( line, 255 );
118 if ( line[0] == '#' ) continue;
119 std::string mdcId, tofId_l, tofId_h, emcId_l, emcId_h;
120 char* token = strtok( line, " " );
121 if ( token )
122 {
123 mdcId = token;
124 token = strtok( NULL, " " );
125 }
126 else continue;
127 if ( token )
128 {
129 tofId_l = token;
130 token = strtok( NULL, " " );
131 }
132 else continue;
133 if ( token )
134 {
135 tofId_h = token;
136 token = strtok( NULL, " " );
137 }
138 else continue;
139 if ( token )
140 {
141 emcId_l = token;
142 token = strtok( NULL, " " );
143 }
144 else continue;
145 if ( token )
146 {
147 emcId_h = token;
148 token = strtok( NULL, " " );
149 }
150 else continue;
151 if ( token != NULL ) continue;
152 // Convert to int
153 // int i_mdcId = atoi( mdcId.c_str() );
154 int i_tofId_l = atoi( tofId_l.c_str() );
155 int i_tofId_h = atoi( tofId_h.c_str() );
156 int i_emcId_l = atoi( emcId_l.c_str() );
157 int i_emcId_h = atoi( emcId_h.c_str() );
158 // std::cout << "MdcId TofId_L TofId_H EmcId_L EmcId_H: " << i_mdcId << ", " << i_tofId_l
159 // <<", " << i_tofId_h << ", " << i_emcId_l << ", " << i_emcId_h << std::endl;
160 std::vector<int> tof_tmp;
161 std::vector<int> emc_tmp;
162 // for tof
163 if ( i_tofId_l > i_tofId_h )
164 {
165 for ( int i = i_tofId_l; i <= ( i_tofId_h + 24 ); i++ )
166 {
167 if ( i >= 24 ) tof_tmp.push_back( i - 24 );
168 else tof_tmp.push_back( i );
169 }
170 }
171 else
172 {
173 for ( int i = i_tofId_l; i <= i_tofId_h; i++ ) { tof_tmp.push_back( i ); }
174 }
175 // for emc
176 if ( i_emcId_l > i_emcId_h )
177 {
178 for ( int i = i_emcId_l; i <= ( i_emcId_h + 16 ); i++ )
179 {
180 if ( i >= 16 ) emc_tmp.push_back( i - 16 );
181 else emc_tmp.push_back( i );
182 }
183 }
184 else
185 {
186 for ( int i = i_emcId_l; i <= i_emcId_h; i++ ) { emc_tmp.push_back( i ); }
187 }
188 m_tm_ecap.push_back( tof_tmp );
189 m_tm_ecap.push_back( emc_tmp );
190 }
191 }
192 else { std::cout << "Can not open file: " << filename << " in BesTMTrig. " << std::endl; }
193
194 // read track match west endcap
195 filename = std::string( getenv( "TRIGGERROOT" ) );
196 filename += std::string( "/data/tm/TM_WEST_ENDCAP.pat" );
197 std::ifstream infile2( filename.c_str() );
198 if ( infile2 )
199 {
200 while ( infile2 )
201 {
202 infile2.getline( line, 255 );
203 if ( line[0] == '#' ) continue;
204 std::string mdcId, tofId_l, tofId_h, emcId_l, emcId_h;
205 char* token = strtok( line, " " );
206 if ( token )
207 {
208 mdcId = token;
209 token = strtok( NULL, " " );
210 }
211 else continue;
212 if ( token )
213 {
214 tofId_l = token;
215 token = strtok( NULL, " " );
216 }
217 else continue;
218 if ( token )
219 {
220 tofId_h = token;
221 token = strtok( NULL, " " );
222 }
223 else continue;
224 if ( token )
225 {
226 emcId_l = token;
227 token = strtok( NULL, " " );
228 }
229 else continue;
230 if ( token )
231 {
232 emcId_h = token;
233 token = strtok( NULL, " " );
234 }
235 else continue;
236 if ( token != NULL ) continue;
237 // Convert to int
238 // int i_mdcId = atoi( mdcId.c_str() );
239 int i_tofId_l = atoi( tofId_l.c_str() );
240 int i_tofId_h = atoi( tofId_h.c_str() );
241 int i_emcId_l = atoi( emcId_l.c_str() );
242 int i_emcId_h = atoi( emcId_h.c_str() );
243 // std::cout << "MdcId TofId_L TofId_H EmcId_L EmcId_H: " << i_mdcId << ", " << i_tofId_l
244 // <<", " << i_tofId_h << ", " << i_emcId_l << ", " << i_emcId_h << std::endl;
245 std::vector<int> tof_tmp;
246 std::vector<int> emc_tmp;
247 // for tof
248 if ( i_tofId_l > i_tofId_h )
249 {
250 for ( int i = i_tofId_l; i <= ( i_tofId_h + 24 ); i++ )
251 {
252 if ( i >= 24 ) tof_tmp.push_back( i - 24 );
253 else tof_tmp.push_back( i );
254 }
255 }
256 else
257 {
258 for ( int i = i_tofId_l; i <= i_tofId_h; i++ ) { tof_tmp.push_back( i ); }
259 }
260 // for emc
261 if ( i_emcId_l > i_emcId_h )
262 {
263 for ( int i = i_emcId_l; i <= ( i_emcId_h + 16 ); i++ )
264 {
265 if ( i >= 16 ) emc_tmp.push_back( i - 16 );
266 else emc_tmp.push_back( i );
267 }
268 }
269 else
270 {
271 for ( int i = i_emcId_l; i <= i_emcId_h; i++ ) { emc_tmp.push_back( i ); }
272 }
273 m_tm_wcap.push_back( tof_tmp );
274 m_tm_wcap.push_back( emc_tmp );
275 }
276 }
277 else { std::cout << "Can not open file: " << filename << " in BesTMTrig. " << std::endl; }
278 infile.close();
279 infile1.close();
280 infile2.close();
281 // dump();
282}

◆ ~BesTMTrig()

BesTMTrig::~BesTMTrig ( )

Definition at line 284 of file BesTMTrig.cxx.

284{}

Member Function Documentation

◆ dump()

void BesTMTrig::dump ( )

Definition at line 286 of file BesTMTrig.cxx.

286 {
287 std::cout << "The size of barrel vector: " << m_tm_barrel.size() << std::endl;
288 std::cout << "The size of east endcap vector: " << m_tm_ecap.size() << std::endl;
289 std::cout << "The size of west endcap vector: " << m_tm_wcap.size() << std::endl;
290 std::cout << "--------------------------- BARREL -----------------------------" << std::endl;
291 for ( unsigned int i = 0; i < m_tm_barrel.size(); i += 2 )
292 {
293 std::cout << "MdcId is " << i / 2 << " TofId size " << m_tm_barrel[i].size() << " Id "
294 << m_tm_barrel[i][0] << " " << m_tm_barrel[i][m_tm_barrel[i].size() - 1]
295 << std::endl;
296 std::cout << "MdcId is " << i / 2 << " EmcId size " << m_tm_barrel[i + 1].size() << " Id "
297 << m_tm_barrel[i + 1][0] << " "
298 << m_tm_barrel[i + 1][m_tm_barrel[i + 1].size() - 1] << std::endl;
299 }
300 std::cout << "--------------------------- EAST ENDCAP -----------------------------"
301 << std::endl;
302 for ( unsigned int i = 0; i < m_tm_ecap.size(); i += 2 )
303 {
304 std::cout << "MdcId is " << i / 2 << " TofId size " << m_tm_ecap[i].size() << " Id "
305 << m_tm_ecap[i][0] << " " << m_tm_ecap[i][m_tm_ecap[i].size() - 1] << std::endl;
306 std::cout << "MdcId is " << i / 2 << " EmcId size " << m_tm_ecap[i + 1].size() << " Id "
307 << m_tm_ecap[i + 1][0] << " " << m_tm_ecap[i + 1][m_tm_ecap[i + 1].size() - 1]
308 << std::endl;
309 }
310 std::cout << "--------------------------- WEST ENDCAP -----------------------------"
311 << std::endl;
312 for ( unsigned int i = 0; i < m_tm_wcap.size(); i += 2 )
313 {
314 std::cout << "MdcId is " << i / 2 << " TofId size " << m_tm_wcap[i].size() << " Id "
315 << m_tm_wcap[i][0] << " " << m_tm_wcap[i][m_tm_wcap[i].size() - 1] << std::endl;
316 std::cout << "MdcId is " << i / 2 << " EmcId size " << m_tm_wcap[i + 1].size() << " Id "
317 << m_tm_wcap[i + 1][0] << " " << m_tm_wcap[i + 1][m_tm_wcap[i + 1].size() - 1]
318 << std::endl;
319 }
320}

◆ startTMTrig()

void BesTMTrig::startTMTrig ( )

Definition at line 322 of file BesTMTrig.cxx.

322 {
323 ISvcLocator* svcLocator = Gaudi::svcLocator();
324 StatusCode sc = svcLocator->service( "BesGlobalTrigSvc", m_tmpSvc );
325 m_pIBGT = dynamic_cast<BesGlobalTrigSvc*>( m_tmpSvc );
326
327 // find mdc track id used in track match
328 std::vector<int> tm_mdcstrkId;
329 std::vector<int> tm_mdcltrkId;
330 std::vector<int> mdcstrkId = m_pIBGT->getMdcStrkId();
331 std::vector<int> mdcltrkId = m_pIBGT->getMdcLtrkId();
332 for ( unsigned int i = 0; i < mdcstrkId.size(); i++ )
333 {
334 int trackId = int( mdcstrkId[i] / 2 );
335 if ( find( tm_mdcstrkId.begin(), tm_mdcstrkId.end(), trackId ) == tm_mdcstrkId.end() )
336 tm_mdcstrkId.push_back( trackId );
337 }
338 for ( unsigned int i = 0; i < mdcltrkId.size(); i++ )
339 {
340 int trackId = int( mdcltrkId[i] / 2 );
341 if ( find( tm_mdcltrkId.begin(), tm_mdcltrkId.end(), trackId ) == tm_mdcltrkId.end() )
342 tm_mdcltrkId.push_back( trackId );
343 }
344 // find tof track id used in track match
345 std::map<int, std::vector<int>, greater<int>> tofHit;
346 std::vector<int> tm_btofhitId;
347 std::vector<int> tm_etofhitId;
348 std::vector<int> tm_wtofhitId;
349 tofHit = m_pIBGT->getTofHitPos();
350 for ( std::map<int, std::vector<int>, greater<int>>::iterator iter = tofHit.begin();
351 iter != tofHit.end(); iter++ )
352 {
353 if ( iter->first == 0 )
354 {
355 for ( unsigned int i = 0; i < iter->second.size(); i++ )
356 { tm_etofhitId.push_back( iter->second[i] ); }
357 }
358 if ( iter->first == 1 )
359 {
360 for ( unsigned int i = 0; i < iter->second.size(); i++ )
361 { tm_btofhitId.push_back( iter->second[i] ); }
362 }
363 if ( iter->first == 2 )
364 {
365 for ( unsigned int i = 0; i < iter->second.size(); i++ )
366 { tm_wtofhitId.push_back( iter->second[i] ); }
367 }
368 }
369 // find emc track id used in track match
370 std::map<int, std::vector<complex<int>>, greater<int>> emcHit;
371 std::vector<int> tm_bemcClusId;
372 std::vector<int> tm_eemcClusId;
373 std::vector<int> tm_wemcClusId;
374 emcHit = m_pIBGT->getEmcClusId();
375 for ( std::map<int, std::vector<complex<int>>, greater<int>>::iterator iter = emcHit.begin();
376 iter != emcHit.end(); iter++ )
377 {
378 if ( iter->first == 1 )
379 {
380 for ( unsigned int i = 0; i < iter->second.size(); i++ )
381 {
382 // cout<<"barrel theta is "<<(iter->second[i]).real()<<" phi is
383 // "<<(iter->second[i]).imag()<<endl;
384 int crystalId = iter->second[i].imag();
385 if ( find( tm_bemcClusId.begin(), tm_bemcClusId.end(), crystalId ) ==
386 tm_bemcClusId.end() )
387 tm_bemcClusId.push_back( crystalId );
388 }
389 }
390 if ( iter->first == 0 )
391 {
392 for ( unsigned int i = 0; i < iter->second.size(); i++ )
393 {
394 // cout<<"east theta is "<<(iter->second[i]).real()<<" phi is
395 // "<<(iter->second[i]).imag()<<endl;
396 int crystalId = int( ( iter->second[i].imag() ) / 2 );
397 if ( find( tm_eemcClusId.begin(), tm_eemcClusId.end(), crystalId ) ==
398 tm_eemcClusId.end() )
399 tm_eemcClusId.push_back( crystalId );
400 }
401 }
402 if ( iter->first == 2 )
403 {
404 for ( unsigned int i = 0; i < iter->second.size(); i++ )
405 {
406 // cout<<"west theta is "<<(iter->second[i]).real()<<" phi is
407 // "<<(iter->second[i]).imag()<<endl;
408 int crystalId = int( ( iter->second[i].imag() ) / 2 );
409 if ( find( tm_wemcClusId.begin(), tm_wemcClusId.end(), crystalId ) ==
410 tm_wemcClusId.end() )
411 tm_wemcClusId.push_back( crystalId );
412 }
413 }
414 }
415 // start track match
416 int BTOF_MATCH[64];
417 int ETOF_MATCH[64];
418 int WTOF_MATCH[64];
419 int BEMC_MATCH[64];
420 int EEMC_MATCH[64];
421 int WEMC_MATCH[64];
422 int BTOF_EMC_MATCH[64];
423 int ETOF_EMC_MATCH[64];
424 int WTOF_EMC_MATCH[64];
425 for ( int i = 0; i < 64; i++ )
426 {
427 BTOF_MATCH[i] = 0;
428 ETOF_MATCH[i] = 0;
429 WTOF_MATCH[i] = 0;
430 BEMC_MATCH[i] = 0;
431 EEMC_MATCH[i] = 0;
432 WEMC_MATCH[i] = 0;
433 BTOF_EMC_MATCH[i] = 0;
434 ETOF_EMC_MATCH[i] = 0;
435 WTOF_EMC_MATCH[i] = 0;
436 }
437 for ( unsigned int i = 0; i < tm_mdcltrkId.size(); i++ )
438 {
439 int cellId = tm_mdcltrkId[i];
440 for ( unsigned int j = 0; j < ( m_tm_barrel[2 * cellId] ).size(); j++ )
441 {
442 if ( find( tm_btofhitId.begin(), tm_btofhitId.end(), m_tm_barrel[2 * cellId][j] ) !=
443 tm_btofhitId.end() )
444 {
445 BTOF_MATCH[cellId] = 1;
446 break;
447 }
448 }
449 for ( unsigned int j = 0; j < ( m_tm_barrel[2 * cellId + 1] ).size(); j++ )
450 {
451 if ( find( tm_bemcClusId.begin(), tm_bemcClusId.end(),
452 m_tm_barrel[2 * cellId + 1][j] ) != tm_bemcClusId.end() )
453 {
454 BEMC_MATCH[cellId] = 1;
455 break;
456 }
457 }
458 }
459 for ( unsigned int i = 0; i < tm_mdcstrkId.size(); i++ )
460 {
461 int cellId = tm_mdcstrkId[i];
462 for ( unsigned int j = 0; j < ( m_tm_ecap[2 * cellId] ).size(); j++ )
463 {
464 if ( find( tm_etofhitId.begin(), tm_etofhitId.end(), m_tm_ecap[2 * cellId][j] ) !=
465 tm_etofhitId.end() )
466 {
467 ETOF_MATCH[cellId] = 1;
468 break;
469 }
470 }
471 for ( unsigned int j = 0; j < ( m_tm_ecap[2 * cellId + 1] ).size(); j++ )
472 {
473 if ( find( tm_eemcClusId.begin(), tm_eemcClusId.end(), m_tm_ecap[2 * cellId + 1][j] ) !=
474 tm_eemcClusId.end() )
475 {
476 EEMC_MATCH[cellId] = 1;
477 break;
478 }
479 }
480 for ( unsigned int j = 0; j < ( m_tm_wcap[2 * cellId] ).size(); j++ )
481 {
482 if ( find( tm_wtofhitId.begin(), tm_wtofhitId.end(), m_tm_wcap[2 * cellId][j] ) !=
483 tm_wtofhitId.end() )
484 {
485 WTOF_MATCH[cellId] = 1;
486 break;
487 }
488 }
489 for ( unsigned int j = 0; j < ( m_tm_wcap[2 * cellId + 1] ).size(); j++ )
490 {
491 if ( find( tm_wemcClusId.begin(), tm_wemcClusId.end(), m_tm_wcap[2 * cellId + 1][j] ) !=
492 tm_wemcClusId.end() )
493 {
494 WEMC_MATCH[cellId] = 1;
495 break;
496 }
497 }
498 }
499 // count track number
500 int NATrk = 0;
501 int NBTrk = 0;
502 int NCTrk = 0;
503 for ( int i = 0; i < 64; i++ )
504 {
505 if ( BTOF_MATCH[i] == 1 ) NATrk++;
506 if ( ( BTOF_MATCH[i] == 1 ) && ( BEMC_MATCH[i] == 1 ) )
507 {
508 BTOF_EMC_MATCH[i] = 1;
509 NBTrk++;
510 }
511 if ( ( ETOF_MATCH[i] == 1 ) && ( EEMC_MATCH[i] == 1 ) ) ETOF_EMC_MATCH[i] = 1;
512 if ( ( WTOF_MATCH[i] == 1 ) && ( WEMC_MATCH[i] == 1 ) ) WTOF_EMC_MATCH[i] = 1;
513 if ( m_pIBGT->getEndCapMode() == 0 )
514 {
515 if ( ETOF_MATCH[i] == 1 ) NCTrk++;
516 if ( WTOF_MATCH[i] == 1 ) NCTrk++;
517 }
518 else
519 {
520 if ( ETOF_EMC_MATCH[i] == 1 ) NCTrk++;
521 if ( WTOF_EMC_MATCH[i] == 1 ) NCTrk++;
522 }
523 }
524 // set trigger conditions
525 bool NATrk1 = false;
526 bool NATrk2 = false;
527 bool ATrk_BB = false;
528 bool NBTrk1 = false;
529 bool NBTrk2 = false;
530 bool BTrk_BB = false;
531 bool NCTrk1 = false;
532 bool NCTrk2 = false;
533 bool CTrk_BB = false;
534
535 if ( NATrk >= 1 ) NATrk1 = true;
536 if ( NATrk >= 2 ) NATrk2 = true;
537 if ( NBTrk >= 1 ) NBTrk1 = true;
538 if ( NBTrk >= 2 ) NBTrk2 = true;
539 if ( NCTrk >= 1 ) NCTrk1 = true;
540 if ( NCTrk >= 2 ) NCTrk2 = true;
541
542 for ( int i = 0; i < 64; i++ )
543 {
544 if ( BTOF_MATCH[i] == 1 )
545 {
546 for ( int j = 0; j < 7; j++ )
547 {
548 int id;
549 if ( ( i + j + 29 ) > 63 ) { id = i + j + 29 - 64; }
550 else { id = i + j + 29; }
551 if ( BTOF_MATCH[id] == 1 ) ATrk_BB = true;
552 }
553 }
554 if ( BTOF_EMC_MATCH[i] == 1 )
555 {
556 for ( int j = 0; j < 7; j++ )
557 {
558 int id;
559 if ( ( i + j + 29 ) > 63 ) { id = i + j + 29 - 64; }
560 else { id = i + j + 29; }
561 if ( BTOF_EMC_MATCH[id] == 1 ) BTrk_BB = true;
562 }
563 }
564 if ( m_pIBGT->getEndCapMode() == 0 )
565 {
566 if ( ( ETOF_MATCH[i] == 1 ) || ( WTOF_MATCH[i] == 1 ) )
567 {
568 for ( int j = 0; j < 7; j++ )
569 {
570 int id;
571 if ( ( i + j + 29 ) > 63 ) { id = i + j + 29 - 64; }
572 else { id = i + j + 29; }
573 if ( ( ETOF_MATCH[id] == 1 ) || ( WTOF_MATCH[id] == 1 ) ) CTrk_BB = true;
574 }
575 }
576 }
577 else
578 {
579 if ( ( ETOF_EMC_MATCH[i] == 1 ) || ( WTOF_EMC_MATCH[i] == 1 ) )
580 {
581 for ( int j = 0; j < 7; j++ )
582 {
583 int id;
584 if ( ( i + j + 29 ) > 63 ) { id = i + j + 29 - 64; }
585 else { id = i + j + 29; }
586 if ( ( ETOF_EMC_MATCH[id] == 1 ) || ( WTOF_EMC_MATCH[id] == 1 ) ) CTrk_BB = true;
587 }
588 }
589 }
590 }
591
592 m_pIBGT->setTMNATrk1( NATrk1 );
593 m_pIBGT->setTMNATrk2( NATrk2 );
594 m_pIBGT->setTMATrkBB( ATrk_BB );
595 m_pIBGT->setTMNBTrk1( NBTrk1 );
596 m_pIBGT->setTMNBTrk2( NBTrk2 );
597 m_pIBGT->setTMBTrkBB( BTrk_BB );
598 m_pIBGT->setTMNCTrk1( NCTrk1 );
599 m_pIBGT->setTMNCTrk2( NCTrk2 );
600 m_pIBGT->setTMCTrkBB( CTrk_BB );
601}
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)

The documentation for this class was generated from the following files: