BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
EventNavigator Class Reference

#include <EventNavigator.h>

+ Inheritance diagram for EventNavigator:

Public Member Functions

 EventNavigator ()
 
virtual ~EventNavigator ()
 
virtual const CLID & clID () const
 Retrieve reference to class definition structure.
 
void Print ()
 
void setMdcCut (int cut)
 
const Event::McParticlegetMcParticle (int id)
 
const RecMdcTrackgetMdcTrack (int id)
 
const RecMdcKalTrackgetMdcKalTrack (int id)
 
MdcMcHitVector getMdcMcHits (int id)
 
const RecMdcHitgetMdcRecHit (int id)
 
const MdcDigigetMdcDigi (int id)
 
RecEmcShowerVector getEmcRecShowers (int id)
 
EmcMcHitVector getEmcMcHits (int id)
 
IndexMapgetMcMdcMcHitsIdx ()
 
IndexMapgetMcMdcTracksIdx ()
 
IndexMapgetMcEmcMcHitsIdx ()
 
IndexMapgetMcEmcRecShowersIdx ()
 
void setMcMdcMcHitsIdx (IndexMap &map)
 
void setMcMdcTracksIdx (IndexMap &map)
 
void setMcEmcMcHitsIdx (IndexMap &map)
 
void setMcEmcRecShowersIdx (IndexMap &map)
 
McParticleVectorgetMcParticles (const RecMdcTrack *key)
 
McParticleVectorgetMcParticles (const RecMdcKalTrack *key)
 
McParticleVectorgetMcParticles (const RecEmcShower *key)
 
int getMcParticleRelevance (const RecMdcTrack *key, const Event::McParticle *value)
 
int getMcParticleRelevance (const RecMdcKalTrack *key, const Event::McParticle *value)
 
int getMcParticleRelevance (const RecEmcShower *key, const Event::McParticle *value)
 
RecMdcTrackVectorgetMdcTracks (const Event::McParticle *key)
 
RecMdcKalTrackVectorgetMdcKalTracks (const Event::McParticle *key)
 
RecEmcShowerVectorgetEmcRecShowers (const Event::McParticle *key)
 

Static Public Member Functions

static const CLID & classID ()
 

Protected Member Functions

void addIdLink (int id, Event::McParticle *ptr)
 
void addIdLink (int id, RecMdcTrack *ptr)
 
void addIdLink (int id, RecMdcKalTrack *ptr)
 
void addIdLink (unsigned int id, RecEmcShower *ptr)
 
void addLink (const Event::McParticle *key, const RecMdcTrack *value)
 
void addLink (const RecMdcTrack *key, const Event::McParticle *value)
 
void addLink (const Event::McParticle *key, const RecMdcKalTrack *value)
 
void addLink (const RecMdcKalTrack *key, const Event::McParticle *value)
 
void addLink (const RecEmcShower *key, const Event::McParticle *value)
 
void addLink (const Event::McParticle *key, const RecEmcShower *value)
 

Friends

class BesNavigatorInit
 

Detailed Description

Definition at line 72 of file EventNavigator.h.

Constructor & Destructor Documentation

◆ EventNavigator()

EventNavigator::EventNavigator ( )
inline

Definition at line 76 of file EventNavigator.h.

76 : DataObject()
77 {
78 m_mdcCut = 7;
79 }

◆ ~EventNavigator()

virtual EventNavigator::~EventNavigator ( )
inlinevirtual

Definition at line 81 of file EventNavigator.h.

81{}

Member Function Documentation

◆ addIdLink() [1/4]

void EventNavigator::addIdLink ( int  id,
Event::McParticle ptr 
)
inlineprotected

Definition at line 151 of file EventNavigator.h.

151{ m_mcParticleId[id] = ptr; };

Referenced by BesNavigatorInit::execute(), BesNavigatorInit::fillEmcInfo(), and BesNavigatorInit::fillMdcInfo().

◆ addIdLink() [2/4]

void EventNavigator::addIdLink ( int  id,
RecMdcKalTrack ptr 
)
inlineprotected

Definition at line 158 of file EventNavigator.h.

158 {
159 m_mdcKalTrackId[id] = ptr;
160 };

◆ addIdLink() [3/4]

void EventNavigator::addIdLink ( int  id,
RecMdcTrack ptr 
)
inlineprotected

Definition at line 154 of file EventNavigator.h.

154 {
155 m_mdcTrackId[id] = ptr;
156 };

◆ addIdLink() [4/4]

void EventNavigator::addIdLink ( unsigned int  id,
RecEmcShower ptr 
)
inlineprotected

Definition at line 162 of file EventNavigator.h.

162 {
163 m_emcRecShowerId.insert(pair<int, RecEmcShower*>(id,ptr));
164 };

◆ addLink() [1/6]

void EventNavigator::addLink ( const Event::McParticle key,
const RecEmcShower value 
)
protected

Definition at line 294 of file EventNavigator.cxx.

295{
296// RecEmcShowerVector& tmp = m_emcRecShowersWrtMcParticle[key->trackIndex()];
297// if (find(tmp.begin(),tmp.end(),value) == tmp.end() )
298// tmp.push_back(value);
299 RecEmcShowerVectorP& vpair = m_emcRecShowersWrtMcParticleP[key->trackIndex()];
300 RecEmcShowerVectorP::iterator it;
301 bool found = false;
302 for (it=vpair.begin(); it!=vpair.end(); it++)
303 {
304 if ( (*it).first == value )
305 {
306 (*it).second++;
307 found = true;
308 break;
309 }
310 }
311
312 if( ! found )
313 vpair.push_back( pair<const RecEmcShower*,int>(value,1));
314
315 RecEmcShowerVector& tmp = m_emcRecShowersWrtMcParticle[key->trackIndex()];
316 for (it=vpair.begin(); it!=vpair.end(); it++)
317 {
318 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
319 {
320 tmp.push_back((*it).first);
321 }
322 }
323}
std::vector< const RecEmcShower * > RecEmcShowerVector
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
Definition: Taupair.h:42

◆ addLink() [2/6]

void EventNavigator::addLink ( const Event::McParticle key,
const RecMdcKalTrack value 
)
protected

Definition at line 164 of file EventNavigator.cxx.

165{
166 RecMdcKalTrackVectorP& vpair = m_mdcKalTracksWrtMcParticleP[key->trackIndex()];
167 RecMdcKalTrackVectorP::iterator it;
168 bool found = false;
169 for (it=vpair.begin(); it!=vpair.end(); it++)
170 {
171 if ( (*it).first == value )
172 {
173 (*it).second++;
174 found = true;
175 break;
176 }
177 }
178
179 if( ! found )
180 vpair.push_back( pair<const RecMdcKalTrack*,int>(value,1));
181
182 RecMdcKalTrackVector& tmp = m_mdcKalTracksWrtMcParticle[key->trackIndex()];
183 for (it=vpair.begin(); it!=vpair.end(); it++)
184 {
185 if((*it).second > m_mdcCut)
186 {
187 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
188 {
189 tmp.push_back((*it).first);
190 }
191 }
192 }
193}
std::vector< pair< const RecMdcKalTrack *, int > > RecMdcKalTrackVectorP
std::vector< const RecMdcKalTrack * > RecMdcKalTrackVector

◆ addLink() [3/6]

void EventNavigator::addLink ( const Event::McParticle key,
const RecMdcTrack value 
)
protected

Definition at line 132 of file EventNavigator.cxx.

133{
134 RecMdcTrackVectorP& vpair = m_mdcTracksWrtMcParticleP[key->trackIndex()];
135 RecMdcTrackVectorP::iterator it;
136 bool found = false;
137 for (it=vpair.begin(); it!=vpair.end(); it++)
138 {
139 if ( (*it).first == value )
140 {
141 (*it).second++;
142 found = true;
143 break;
144 }
145 }
146
147 if( ! found )
148 vpair.push_back( pair<const RecMdcTrack*,int>(value,1));
149
150 RecMdcTrackVector& tmp = m_mdcTracksWrtMcParticle[key->trackIndex()];
151 for (it=vpair.begin(); it!=vpair.end(); it++)
152 {
153 if((*it).second > m_mdcCut)
154 {
155 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
156 {
157 tmp.push_back((*it).first);
158 }
159 }
160 }
161}
std::vector< const RecMdcTrack * > RecMdcTrackVector
std::vector< pair< const RecMdcTrack *, int > > RecMdcTrackVectorP

Referenced by BesNavigatorInit::fillEmcInfo(), and BesNavigatorInit::fillMdcInfo().

◆ addLink() [4/6]

void EventNavigator::addLink ( const RecEmcShower key,
const Event::McParticle value 
)
protected

Definition at line 261 of file EventNavigator.cxx.

262{
263// McParticleVector& tmp = m_mcParticlesWrtRecShower[((RecEmcShower*)key)->getShowerId().get_value()];
264// if (find(tmp.begin(),tmp.end(),value) == tmp.end() )
265// tmp.push_back(value);
266
267 McParticleVectorP& vpair = m_mcParticlesWrtRecEmcShowerP[((RecEmcShower*)key)->getShowerId().get_value()];
268 McParticleVectorP::iterator it;
269 bool found = false;
270 for (it=vpair.begin(); it!=vpair.end(); it++)
271 {
272 if ( (*it).first == value )
273 {
274 (*it).second++;
275 found = true;
276 break;
277 }
278 }
279
280 if( ! found )
281 vpair.push_back( pair<const McParticle*,int>(value,1));
282
283 McParticleVector& tmp = m_mcParticlesWrtRecShower[((RecEmcShower*)key)->getShowerId().get_value()];
284 for (it=vpair.begin(); it!=vpair.end(); it++)
285 {
286 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
287 {
288 tmp.push_back((*it).first);
289 }
290 }
291}
std::vector< const Event::McParticle * > McParticleVector
std::vector< pair< const Event::McParticle *, int > > McParticleVectorP

◆ addLink() [5/6]

void EventNavigator::addLink ( const RecMdcKalTrack key,
const Event::McParticle value 
)
protected

Definition at line 229 of file EventNavigator.cxx.

230{
231 McParticleVectorP& vpair = m_mcParticlesWrtMdcKalTrackP[key->trackId()];
232 McParticleVectorP::iterator it;
233 bool found = false;
234 for (it=vpair.begin(); it!=vpair.end(); it++)
235 {
236 if ( (*it).first == value )
237 {
238 (*it).second++;
239 found = true;
240 break;
241 }
242 }
243
244 if( ! found )
245 vpair.push_back( pair<const McParticle*,int>(value,1));
246
247 McParticleVector& tmp = m_mcParticlesWrtMdcKalTrack[key->trackId()];
248 for (it=vpair.begin(); it!=vpair.end(); it++)
249 {
250 if((*it).second > m_mdcCut)
251 {
252 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
253 {
254 tmp.push_back((*it).first);
255 }
256 }
257 }
258}

◆ addLink() [6/6]

void EventNavigator::addLink ( const RecMdcTrack key,
const Event::McParticle value 
)
protected

Definition at line 196 of file EventNavigator.cxx.

197{
198 McParticleVectorP& vpair = m_mcParticlesWrtMdcTrackP[key->trackId()];
199 McParticleVectorP::iterator it;
200 bool found = false;
201 for (it=vpair.begin(); it!=vpair.end(); it++)
202 {
203 if ( (*it).first == value )
204 {
205 (*it).second++;
206 found = true;
207 break;
208 }
209 }
210
211 if( ! found )
212 vpair.push_back( pair<const McParticle*,int>(value,1));
213
214 McParticleVector& tmp = m_mcParticlesWrtMdcTrack[key->trackId()];
215 for (it=vpair.begin(); it!=vpair.end(); it++)
216 {
217 if((*it).second > m_mdcCut)
218 {
219 if (find(tmp.begin(),tmp.end(),(*it).first) == tmp.end() )
220 {
221 tmp.push_back((*it).first);
222 }
223 }
224 }
225}

◆ classID()

static const CLID & EventNavigator::classID ( )
inlinestatic

Definition at line 85 of file EventNavigator.h.

85{ return CLID_EventNavigator; }

Referenced by clID().

◆ clID()

virtual const CLID & EventNavigator::clID ( ) const
inlinevirtual

Retrieve reference to class definition structure.

Definition at line 84 of file EventNavigator.h.

84{ return EventNavigator::classID(); }
static const CLID & classID()

◆ getEmcMcHits()

EmcMcHitVector EventNavigator::getEmcMcHits ( int  id)

◆ getEmcRecShowers() [1/2]

RecEmcShowerVector & EventNavigator::getEmcRecShowers ( const Event::McParticle key)

Definition at line 125 of file EventNavigator.cxx.

126{
127 return m_emcRecShowersWrtMcParticle[key->trackIndex()];
128}

◆ getEmcRecShowers() [2/2]

RecEmcShowerVector EventNavigator::getEmcRecShowers ( int  id)

Definition at line 10 of file EventNavigator.cxx.

11{
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;
16 it++)
17 tmp.push_back((*it).second);
18 return tmp;
19}

Referenced by BesNavigatorInit::fillEmcInfo().

◆ getMcEmcMcHitsIdx()

IndexMap & EventNavigator::getMcEmcMcHitsIdx ( )
inline

Definition at line 111 of file EventNavigator.h.

111{return m_mcEmcMcHitsIdx;}

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and BesNavigatorInit::fillEmcInfo().

◆ getMcEmcRecShowersIdx()

IndexMap & EventNavigator::getMcEmcRecShowersIdx ( )
inline

Definition at line 112 of file EventNavigator.h.

112{return m_mcEmcRecShowersIdx;}

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and BesNavigatorInit::fillEmcInfo().

◆ getMcMdcMcHitsIdx()

IndexMap & EventNavigator::getMcMdcMcHitsIdx ( )
inline

Definition at line 109 of file EventNavigator.h.

109{return m_mcMdcMcHitsIdx;}

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and BesNavigatorInit::fillMdcInfo().

◆ getMcMdcTracksIdx()

IndexMap & EventNavigator::getMcMdcTracksIdx ( )
inline

Definition at line 110 of file EventNavigator.h.

110{return m_mcMdcTracksIdx;}

Referenced by EvtNavigatorCnv::DataObjectToTObject(), and BesNavigatorInit::fillMdcInfo().

◆ getMcParticle()

const Event::McParticle * EventNavigator::getMcParticle ( int  id)
inline

Definition at line 94 of file EventNavigator.h.

94{ return m_mcParticleId[id]; };

Referenced by BesNavigatorInit::fillEmcInfo(), and BesNavigatorInit::fillMdcInfo().

◆ getMcParticleRelevance() [1/3]

int EventNavigator::getMcParticleRelevance ( const RecEmcShower key,
const Event::McParticle value 
)

Definition at line 112 of file EventNavigator.cxx.

113{
114 McParticleVectorP& vpair = m_mcParticlesWrtRecEmcShowerP[key->getShowerId().get_value()];
115 McParticleVectorP::iterator it;
116 for (it=vpair.begin(); it!=vpair.end(); it++)
117 {
118 if ( (*it).first == value )
119 {
120 return (*it).second;
121 }
122 }
123}

◆ getMcParticleRelevance() [2/3]

int EventNavigator::getMcParticleRelevance ( const RecMdcKalTrack key,
const Event::McParticle value 
)

Definition at line 99 of file EventNavigator.cxx.

100{
101 McParticleVectorP& vpair = m_mcParticlesWrtMdcKalTrackP[key->trackId()];
102 McParticleVectorP::iterator it;
103 for (it=vpair.begin(); it!=vpair.end(); it++)
104 {
105 if ( (*it).first == value )
106 {
107 return (*it).second;
108 }
109 }
110}

◆ getMcParticleRelevance() [3/3]

int EventNavigator::getMcParticleRelevance ( const RecMdcTrack key,
const Event::McParticle value 
)

Definition at line 86 of file EventNavigator.cxx.

87{
88 McParticleVectorP& vpair = m_mcParticlesWrtMdcTrackP[key->trackId()];
89 McParticleVectorP::iterator it;
90 for (it=vpair.begin(); it!=vpair.end(); it++)
91 {
92 if ( (*it).first == value )
93 {
94 return (*it).second;
95 }
96 }
97}

◆ getMcParticles() [1/3]

McParticleVector & EventNavigator::getMcParticles ( const RecEmcShower key)

Definition at line 69 of file EventNavigator.cxx.

70{
71 return m_mcParticlesWrtRecShower[key->getShowerId().get_value()];
72}

◆ getMcParticles() [2/3]

McParticleVector & EventNavigator::getMcParticles ( const RecMdcKalTrack key)

Definition at line 64 of file EventNavigator.cxx.

65{
66 return m_mcParticlesWrtMdcKalTrack[key->trackId()];
67}

◆ getMcParticles() [3/3]

McParticleVector & EventNavigator::getMcParticles ( const RecMdcTrack key)

Definition at line 59 of file EventNavigator.cxx.

60{
61 return m_mcParticlesWrtMdcTrack[key->trackId()];
62}

◆ getMdcDigi()

const MdcDigi * EventNavigator::getMdcDigi ( int  id)
inline

Definition at line 103 of file EventNavigator.h.

103{ return m_mdcDigiId[id]; };

◆ getMdcKalTrack()

const RecMdcKalTrack * EventNavigator::getMdcKalTrack ( int  id)
inline

Definition at line 97 of file EventNavigator.h.

97{ return m_mdcKalTrackId[id]; };

Referenced by BesNavigatorInit::fillMdcInfo().

◆ getMdcKalTracks()

RecMdcKalTrackVector & EventNavigator::getMdcKalTracks ( const Event::McParticle key)

Definition at line 80 of file EventNavigator.cxx.

81{
82 return m_mdcKalTracksWrtMcParticle[key->trackIndex()];
83}

◆ getMdcMcHits()

MdcMcHitVector EventNavigator::getMdcMcHits ( int  id)

◆ getMdcRecHit()

const RecMdcHit * EventNavigator::getMdcRecHit ( int  id)
inline

Definition at line 102 of file EventNavigator.h.

102{ return m_mdcRecHitId[id]; };

◆ getMdcTrack()

const RecMdcTrack * EventNavigator::getMdcTrack ( int  id)
inline

Definition at line 96 of file EventNavigator.h.

96{ return m_mdcTrackId[id]; };

Referenced by BesNavigatorInit::fillMdcInfo().

◆ getMdcTracks()

RecMdcTrackVector & EventNavigator::getMdcTracks ( const Event::McParticle key)

Definition at line 75 of file EventNavigator.cxx.

76{
77 return m_mdcTracksWrtMcParticle[key->trackIndex()];
78}

◆ Print()

void EventNavigator::Print ( )

Definition at line 21 of file EventNavigator.cxx.

22{
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;
53}

Referenced by BesNavigatorInit::execute().

◆ setMcEmcMcHitsIdx()

void EventNavigator::setMcEmcMcHitsIdx ( IndexMap map)
inline

Definition at line 115 of file EventNavigator.h.

115{m_mcEmcMcHitsIdx=map;}

Referenced by EvtNavigatorCnv::TObjectToDataObject().

◆ setMcEmcRecShowersIdx()

void EventNavigator::setMcEmcRecShowersIdx ( IndexMap map)
inline

Definition at line 116 of file EventNavigator.h.

116{m_mcEmcRecShowersIdx=map;}

Referenced by EvtNavigatorCnv::TObjectToDataObject().

◆ setMcMdcMcHitsIdx()

void EventNavigator::setMcMdcMcHitsIdx ( IndexMap map)
inline

Definition at line 113 of file EventNavigator.h.

113{m_mcMdcMcHitsIdx=map;}

Referenced by EvtNavigatorCnv::TObjectToDataObject().

◆ setMcMdcTracksIdx()

void EventNavigator::setMcMdcTracksIdx ( IndexMap map)
inline

Definition at line 114 of file EventNavigator.h.

114{m_mcMdcTracksIdx=map;}

Referenced by EvtNavigatorCnv::TObjectToDataObject().

◆ setMdcCut()

void EventNavigator::setMdcCut ( int  cut)
inline

Definition at line 91 of file EventNavigator.h.

91{ m_mdcCut = cut; };
Char_t cut[200]
Definition: eff.cxx:63

Referenced by BesNavigatorInit::execute().

Friends And Related Function Documentation

◆ BesNavigatorInit

friend class BesNavigatorInit
friend

Definition at line 146 of file EventNavigator.h.


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