/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoMuon/MuonSeedGenerator/src/MuonSeedSimpleCleaner.cc
34 строки
1 KB
Luca Ferragina
Re-organize RecoMuon/MuonSeedGenerator including interface, src and
09 янв 2025, 14:00
09 янв 2025, 14:00
3fc6a46
Код
Авторство
О чём код?
#include "RecoMuon/MuonSeedGenerator/interface/MuonSeedSimpleCleaner.h" void MuonSeedSimpleCleaner::clean(TrajectorySeedCollection& seeds) { for (std::vector<TrajectorySeed>::iterator seed = seeds.begin(); seed != seeds.end(); ++seed) { if (!checkPt(*seed)) { seeds.erase(seed--); } else { int counter = 0; for (std::vector<TrajectorySeed>::iterator seed2 = seed; seed2 != seeds.end(); ++seed2) if (seed->startingState().parameters().vector() == seed2->startingState().parameters().vector()) ++counter; if (counter > 1) { seeds.erase(seed--); } } } } bool MuonSeedSimpleCleaner::checkPt(const TrajectorySeed& seed) const { bool result = true; if (seed.nHits() == 1) { int rawId = seed.startingState().detId(); DetId detId(rawId); bool isBarrel = (detId.subdetId() == 1); LocalVector p = seed.startingState().parameters().momentum(); // homemade local-to-global double pt = (isBarrel) ? -p.z() : p.perp(); if (fabs(pt) < 3.05) { result = false; } } return result; }