3#include "EventNavigator/EventNavigator.h"
13 multimap <unsigned int, const RecEmcShower*>::iterator it;
14 for (it=m_emcRecShowerId.equal_range(
id).first;
15 it != m_emcRecShowerId.equal_range(
id).second;
17 tmp.push_back((*it).second);
23 cout <<
"EventNavigator object:" << std::endl;
24 cout <<
" Mdc hits: " << m_mcMdcMcHitsIdx.size() << endl;
25 cout <<
" Mdc tracks: " << m_mcMdcTracksIdx.size() << endl;
26 cout <<
" Emc hits: " << m_mcEmcMcHitsIdx.size() << endl;
27 cout <<
" Emc showers: " << m_mcEmcRecShowersIdx.size() << endl;
28 cout <<
" TABLES:" << endl;
29 cout <<
" m_mdcTracksWrtMcParticle "
30 << m_mdcTracksWrtMcParticle.size() << endl;
31 cout <<
" m_mcParticlesWrtMdcTrack "
32 << m_mcParticlesWrtMdcTrack.size() << endl;
33 cout <<
" m_mdcKalTracksWrtMcParticle "
34 << m_mdcKalTracksWrtMcParticle.size() << endl;
35 cout <<
" m_mcParticlesWrtMdcKalTrack "
36 << m_mcParticlesWrtMdcKalTrack.size() << endl;
37 cout <<
" m_mdcTracksWrtMcParticleP "
38 << m_mdcTracksWrtMcParticleP.size() << endl;
39 cout <<
" m_mcParticlesWrtMdcTrackP "
40 << m_mcParticlesWrtMdcTrackP.size() << endl;
41 cout <<
" m_mdcKalTracksWrtMcParticle "
42 << m_mdcKalTracksWrtMcParticleP.size() << endl;
43 cout <<
" m_mcParticlesWrtMdcKalTrack "
44 << m_mcParticlesWrtMdcKalTrackP.size() << endl;
45 cout <<
" m_mcParticlesWrtRecShower "
46 << m_mcParticlesWrtRecShower.size() << endl;
47 cout <<
" m_emcRecShowersWrtMcParticle "
48 << m_emcRecShowersWrtMcParticle.size() << endl;
49 cout <<
" m_mcParticlesWrtEmcShowerP "
50 << m_mcParticlesWrtRecEmcShowerP.size() << endl;
51 cout <<
" m_emcRecShowersWrtMcParticle "
52 << m_emcRecShowersWrtMcParticleP.size() << endl;
61 return m_mcParticlesWrtMdcTrack[
key->trackId()];
66 return m_mcParticlesWrtMdcKalTrack[
key->trackId()];
71 return m_mcParticlesWrtRecShower[
key->getShowerId().get_value()];
77 return m_mdcTracksWrtMcParticle[
key->trackIndex()];
82 return m_mdcKalTracksWrtMcParticle[
key->trackIndex()];
89 McParticleVectorP::iterator it;
90 for (it=vpair.begin(); it!=vpair.end(); it++)
92 if ( (*it).first == value )
102 McParticleVectorP::iterator it;
103 for (it=vpair.begin(); it!=vpair.end(); it++)
105 if ( (*it).first == value )
115 McParticleVectorP::iterator it;
116 for (it=vpair.begin(); it!=vpair.end(); it++)
118 if ( (*it).first == value )
127 return m_emcRecShowersWrtMcParticle[
key->trackIndex()];
135 RecMdcTrackVectorP::iterator it;
137 for (it=vpair.begin(); it!=vpair.end(); it++)
139 if ( (*it).first == value )
148 vpair.push_back( pair<const RecMdcTrack*,int>(value,1));
151 for (it=vpair.begin(); it!=vpair.end(); it++)
153 if((*it).second > m_mdcCut)
155 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
157 tmp.push_back((*it).first);
167 RecMdcKalTrackVectorP::iterator it;
169 for (it=vpair.begin(); it!=vpair.end(); it++)
171 if ( (*it).first == value )
180 vpair.push_back( pair<const RecMdcKalTrack*,int>(value,1));
183 for (it=vpair.begin(); it!=vpair.end(); it++)
185 if((*it).second > m_mdcCut)
187 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
189 tmp.push_back((*it).first);
199 McParticleVectorP::iterator it;
201 for (it=vpair.begin(); it!=vpair.end(); it++)
203 if ( (*it).first == value )
212 vpair.push_back( pair<const McParticle*,int>(value,1));
215 for (it=vpair.begin(); it!=vpair.end(); it++)
217 if((*it).second > m_mdcCut)
219 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
221 tmp.push_back((*it).first);
232 McParticleVectorP::iterator it;
234 for (it=vpair.begin(); it!=vpair.end(); it++)
236 if ( (*it).first == value )
245 vpair.push_back( pair<const McParticle*,int>(value,1));
248 for (it=vpair.begin(); it!=vpair.end(); it++)
250 if((*it).second > m_mdcCut)
252 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
254 tmp.push_back((*it).first);
268 McParticleVectorP::iterator it;
270 for (it=vpair.begin(); it!=vpair.end(); it++)
272 if ( (*it).first == value )
281 vpair.push_back( pair<const McParticle*,int>(value,1));
284 for (it=vpair.begin(); it!=vpair.end(); it++)
286 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
288 tmp.push_back((*it).first);
300 RecEmcShowerVectorP::iterator it;
302 for (it=vpair.begin(); it!=vpair.end(); it++)
304 if ( (*it).first == value )
313 vpair.push_back( pair<const RecEmcShower*,int>(value,1));
316 for (it=vpair.begin(); it!=vpair.end(); it++)
318 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
320 tmp.push_back((*it).first);
std::vector< const RecMdcTrack * > RecMdcTrackVector
std::vector< const Event::McParticle * > McParticleVector
std::vector< pair< const Event::McParticle *, int > > McParticleVectorP
std::vector< pair< const RecMdcKalTrack *, int > > RecMdcKalTrackVectorP
std::vector< const RecMdcKalTrack * > RecMdcKalTrackVector
std::vector< const RecEmcShower * > RecEmcShowerVector
std::vector< pair< const RecMdcTrack *, int > > RecMdcTrackVectorP
std::vector< pair< const RecEmcShower *, int > > RecEmcShowerVectorP
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
RecMdcKalTrackVector & getMdcKalTracks(const Event::McParticle *key)
void addLink(const Event::McParticle *key, const RecMdcTrack *value)
int getMcParticleRelevance(const RecMdcTrack *key, const Event::McParticle *value)
McParticleVector & getMcParticles(const RecMdcTrack *key)
RecMdcTrackVector & getMdcTracks(const Event::McParticle *key)
RecEmcShowerVector getEmcRecShowers(int id)