35 for(
int i = 0; i <
hits_.size(); i++)
delete hits_.at(i);
39 UTIL::LCRelationNavigator* rawTracker_hit_fits_nav;
40 UTIL::LCRelationNavigator* mcPartRel_nav;
44 EVENT::LCCollection* tracker_hits{
nullptr};
49 catch (EVENT::DataNotAvailableException e)
51 std::cout << e.what() << std::endl;
55 auto evColls =
event->getLCEvent()->getCollectionNames();
56 auto it = std::find (evColls->begin(), evColls->end(),
hitFitCollLcio_.c_str());
58 EVENT::LCCollection* raw_svt_hit_fits;
59 if(it == evColls->end()) hasFits =
false;
64 rawTracker_hit_fits_nav =
new UTIL::LCRelationNavigator(raw_svt_hit_fits);
68 it = std::find (evColls->begin(), evColls->end(),
mcPartRelLcio_.c_str());
69 bool hasMCParts =
true;
70 EVENT::LCCollection* mcPartRel;
71 if(it == evColls->end()) hasMCParts =
false;
76 mcPartRel_nav =
new UTIL::LCRelationNavigator(mcPartRel);
83 std::map<EVENT::TrackerHit*, TrackerHit*> hit_map;
87 bool rotateHits =
true;
90 for (
int ihit = 0; ihit < tracker_hits->getNumberOfElements(); ++ihit) {
97 IMPL::TrackerHitImpl* lc_tracker_hit =
static_cast<IMPL::TrackerHitImpl*
>(tracker_hits->getElementAt(ihit));
100 std::cout <<
"tracker hit lcio id: " << lc_tracker_hit->id() << std::endl;
110 EVENT::LCObjectVec rawHits = lc_tracker_hit->getRawHits();
111 for(
int irawhit = 0; irawhit < rawHits.size(); ++irawhit){
112 IMPL::TrackerHitImpl* rawhit =
static_cast<IMPL::TrackerHitImpl*
>(rawHits.at(irawhit));
114 std::cout <<
"rawhit on track has lcio id: " << rawhit->id() << std::endl;
117 EVENT::LCObjectVec lc_simtrackerhits = mcPartRel_nav->getRelatedToObjects(rawhit);
120 for(
int isimhit = 0; isimhit < lc_simtrackerhits.size(); isimhit++){
121 IMPL::SimTrackerHitImpl* lc_simhit =
static_cast<IMPL::SimTrackerHitImpl*
>(lc_simtrackerhits.at(isimhit));
122 IMPL::MCParticleImpl* lc_mcp =
static_cast<IMPL::MCParticleImpl*
>(lc_simhit->getMCParticle());
123 if(lc_mcp ==
nullptr)
124 std::cout <<
"mcp is null" << std::endl;
127 std::cout <<
"simtrackerhit lcio id: " << lc_simhit->id() << std::endl;
128 std::cout <<
"mcp lcio id: " << lc_mcp->id() << std::endl;
148 hits_.push_back(tracker_hit);
151 if(hasMCParts)
delete mcPartRel_nav;
152 if(hasFits)
delete rawTracker_hit_fits_nav;
bool addRawInfoTo3dHit(TrackerHit *tracker_hit, IMPL::TrackerHitImpl *lc_tracker_hit, EVENT::LCCollection *raw_svt_fits, std::vector< RawSvtHit * > *rawHits=nullptr, int type=0, bool storeRawHit=true)
description