/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
AnalysisDataFormats/TrackInfo/src/RecoTracktoTP.cc
57 строк
2 KB
Cms Build
Clang-Format
31 май 2019, 17:22
31 май 2019, 17:22
88e58de
Код
Авторство
О чём код?
#include "AnalysisDataFormats/TrackInfo/interface/RecoTracktoTP.h" // Constructors RecoTracktoTP::RecoTracktoTP() { SetBeamSpot(math::XYZPoint(-9999.0, -9999.0, -9999.0)); SetTrackingParticlePCA(GlobalPoint(-9999.0, -9999.0, -9999.0)); SetTrackingParticleMomentumPCA(GlobalVector(-9999.0, -9999.0, -9999.0)); } RecoTracktoTP::~RecoTracktoTP() {} TrackingParticle RecoTracktoTP::TPMother(unsigned short i) const { std::vector<TrackingParticle> result; if (TP().parentVertex().isNonnull()) { if (TP().parentVertex()->nSourceTracks() > 0) { for (TrackingParticleRefVector::iterator si = TP().parentVertex()->sourceTracks_begin(); si != TP().parentVertex()->sourceTracks_end(); ++si) { for (TrackingParticleRefVector::iterator di = TP().parentVertex()->daughterTracks_begin(); di != TP().parentVertex()->daughterTracks_end(); ++di) { if (si != di) { result.push_back(**si); break; } } if (!result.empty()) break; } } else { return TrackingParticle(); } } else { return TrackingParticle(); } return i < result.size() ? result[i] : TrackingParticle(); } int RecoTracktoTP::numTPMothers() const { int count = 0; for (TrackingParticleRefVector::iterator si = TP().parentVertex()->sourceTracks_begin(); si != TP().parentVertex()->sourceTracks_end(); ++si) { for (TrackingParticleRefVector::iterator di = TP().parentVertex()->daughterTracks_begin(); di != TP().parentVertex()->daughterTracks_end(); ++di) { if (si != di) count++; break; } if (count > 0) break; } return count; }