/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RecoLocalMuon/GEMRecHit/src/GEMRecHitBaseAlgo.cc
46 строк
2 KB
Yechan
GEM Masking applied at initial clusterization
16 ноя 2019, 15:52
16 ноя 2019, 15:52
793ceb7
Код
Авторство
О чём код?
/* * See header file for a description of this class. * * \author M. Maggi -- INFN Bari */ #include "RecoLocalMuon/GEMRecHit/interface/GEMRecHitBaseAlgo.h" #include "RecoLocalMuon/GEMRecHit/interface/GEMClusterizer.h" #include "RecoLocalMuon/GEMRecHit/interface/GEMMaskReClusterizer.h" #include "Geometry/GEMGeometry/interface/GEMEtaPartition.h" #include "DataFormats/GEMDigi/interface/GEMDigiCollection.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" GEMRecHitBaseAlgo::GEMRecHitBaseAlgo(const edm::ParameterSet& config) {} GEMRecHitBaseAlgo::~GEMRecHitBaseAlgo() {} // Build all hits in the range associated to the layerId, at the 1st step. edm::OwnVector<GEMRecHit> GEMRecHitBaseAlgo::reconstruct(const GEMEtaPartition& roll, const GEMDetId& gemId, const GEMDigiCollection::Range& digiRange, const EtaPartitionMask& mask) { edm::OwnVector<GEMRecHit> result; GEMClusterizer clizer; GEMClusterContainer tcls = clizer.doAction(digiRange, mask); GEMMaskReClusterizer mrclizer; GEMClusterContainer cls = mrclizer.doAction(gemId, tcls, mask); for (GEMClusterContainer::const_iterator cl = cls.begin(); cl != cls.end(); cl++) { LocalError tmpErr; LocalPoint point; // Call the compute method bool OK = this->compute(roll, *cl, point, tmpErr); if (!OK) continue; // Build a new pair of 1D rechit int firstClustStrip = cl->firstStrip(); int clusterSize = cl->clusterSize(); GEMRecHit* recHit = new GEMRecHit(gemId, cl->bx(), firstClustStrip, clusterSize, point, tmpErr); result.push_back(recHit); } return result; }