@@ -57,17 +57,15 @@ void TrackTruthProc::processEvent(LCEvent* evt) {
5757 std::vector<std::shared_ptr<LCRelationNavigator>> hit2simhits;
5858 for (const std::string& name : _inColH2SH) {
5959 // Get the collection of tracker hit relations
60- LCCollection* trackerHitRelationCollection =
61- ACTSTracking::getCollection (evt, name);
62- std::shared_ptr<LCRelationNavigator> hit2simhit =
63- std::make_shared<LCRelationNavigator>(trackerHitRelationCollection);
60+ LCCollection* trackerHitRelationCollection = ACTSTracking::getCollection (evt, name);
61+ if (trackerHitRelationCollection == nullptr ) continue ;
62+ std::shared_ptr<LCRelationNavigator> hit2simhit = std::make_shared<LCRelationNavigator>(trackerHitRelationCollection);
6463 hit2simhits.push_back (hit2simhit);
6564 }
6665
6766 //
6867 // MC particles
69- LCCollection* particleCollection =
70- ACTSTracking::getCollection (evt, _inColMCP);
68+ LCCollection* particleCollection = ACTSTracking::getCollection (evt, _inColMCP);
7169 if (particleCollection == nullptr ) return ;
7270 int nParticles = particleCollection->getNumberOfElements ();
7371
@@ -83,8 +81,7 @@ void TrackTruthProc::processEvent(LCEvent* evt) {
8381
8482 for (int itT = 0 ; itT < nTracks; ++itT) {
8583 // Get the track
86- EVENT::Track* track =
87- static_cast <EVENT::Track*>(trackCollection->getElementAt (itT));
84+ EVENT::Track* track = static_cast <EVENT::Track*>(trackCollection->getElementAt (itT));
8885
8986 // Loop over all hits in a track and associate it to a MC particle
9087 std::map<EVENT::MCParticle*, uint32_t > trackhit2mc;
@@ -99,20 +96,19 @@ void TrackTruthProc::processEvent(LCEvent* evt) {
9996 }
10097 }
10198
99+ if (simHit == nullptr ) continue ;
100+
102101 // Increment MC particle counter
103- if (simHit->getMCParticle () != nullptr )
104- trackhit2mc[simHit-> getMCParticle ()]++;
102+ if (simHit->getMCParticle () != nullptr ) trackhit2mc[simHit-> getMCParticle ()]++;
103+
105104 }
106105
107106 // Update best matches
108- for (const std::pair<EVENT::MCParticle*, uint32_t >& mchit : trackhit2mc) {
109- float frac =
110- static_cast <float >(mchit.second ) / track->getTrackerHits ().size ();
107+ for (const std::pair<EVENT::MCParticle*, uint32_t >& mchit : trackhit2mc) { float frac = static_cast <float >(mchit.second ) / track->getTrackerHits ().size ();
111108
112109 bool better =
113110 mcBestMatch_track.count (mchit.first ) == 0 || // no best match exists
114- mcBestMatch_frac[mchit.first ] <
115- frac; // this match is better (more hits on track)
111+ mcBestMatch_frac[mchit.first ] < frac; // this match is better (more hits on track)
116112
117113 if (better) {
118114 mcBestMatch_track[mchit.first ] = track;
0 commit comments