/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoLocalMuon/RPCRecHit/plugins/RPCMaskReClusterizer.cc
36 строк
1 KB
Shahzad Malik Muzaffar
[Reco] Fixes needed to avoid exposing private headers via interface dir
17 авг 2021, 19:18
17 авг 2021, 19:18
f613a65
Код
Авторство
О чём код?
/** \Class RPCMaskReClusterizer * \author J.C. Sanabria -- UniAndes, Bogota */ #include "RPCCluster.h" #include "RPCClusterizer.h" #include "RPCMaskReClusterizer.h" RPCClusterContainer RPCMaskReClusterizer::doAction(const RPCDetId& id, RPCClusterContainer& initClusters, const RollMask& mask) const { RPCClusterContainer finClusters; if (initClusters.empty()) return finClusters; RPCCluster prev = *initClusters.begin(); for (auto cl = std::next(initClusters.begin()); cl != initClusters.end(); ++cl) { // Merge this cluster if it is adjacent by 1 masked strip // Note that the RPCClusterContainer collection is sorted in DECREASING ORDER of strip # // So the prev. cluster is placed after the current cluster (check the < operator of RPCCluster carefully) if ((prev.firstStrip() - cl->lastStrip()) == 2 and this->get(mask, cl->lastStrip() + 1) and prev.bx() == cl->bx()) { RPCCluster merged(cl->firstStrip(), prev.lastStrip(), cl->bx()); prev = merged; } else { finClusters.insert(prev); prev = *cl; } } // Finalize by putting the last cluster to the collection finClusters.insert(prev); return finClusters; } bool RPCMaskReClusterizer::get(const RollMask& mask, int strip) const { return mask.test(strip - 1); }