RecoLocalMuon
GEMRecHit
src
GEMMaskReClusterizer.cc
Go to the documentation of this file.
1
4
#include "
RecoLocalMuon/GEMRecHit/interface/GEMCluster.h
"
5
#include "
RecoLocalMuon/GEMRecHit/interface/GEMMaskReClusterizer.h
"
6
7
GEMClusterContainer
GEMMaskReClusterizer::doAction
(
const
GEMDetId
&
id
,
8
GEMClusterContainer
& initClusters,
9
const
EtaPartitionMask
& mask)
const
{
10
GEMClusterContainer
finClusters;
11
if
(initClusters.empty())
12
return
finClusters;
13
14
GEMCluster
prev = *initClusters.begin();
15
for
(
auto
cl
=
std::next
(initClusters.begin());
cl
!= initClusters.end(); ++
cl
) {
16
// Merge this cluster if it is adjacent by 1 masked strip
17
// Note that the GEMClusterContainer collection is sorted in DECREASING ORDER of strip #
18
// So the prev. cluster is placed after the current cluster (check the < operator of GEMCluster carefully)
19
if
((prev.
firstStrip
() -
cl
->lastStrip()) == 2 and this->
get
(mask,
cl
->lastStrip() + 1) and prev.
bx
() ==
cl
->bx()) {
20
prev =
GEMCluster
(
cl
->firstStrip(), prev.
lastStrip
(),
cl
->bx());
21
}
else
{
22
finClusters.insert(prev);
23
prev = *
cl
;
24
}
25
}
26
27
// Finalize by putting the last cluster to the collection
28
finClusters.insert(prev);
29
30
return
finClusters;
31
}
32
33
bool
GEMMaskReClusterizer::get
(
const
EtaPartitionMask
& mask,
int
strip
)
const
{
return
mask.test(
strip
); }
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
GEMCluster::firstStrip
int firstStrip() const
Definition:
GEMCluster.cc:13
GetRecoTauVFromDQM_MC_cff.cl
cl
Definition:
GetRecoTauVFromDQM_MC_cff.py:38
GEMMaskReClusterizer::get
bool get(const EtaPartitionMask &mask, int strip) const
Definition:
GEMMaskReClusterizer.cc:33
GEMClusterContainer
std::set< GEMCluster > GEMClusterContainer
Definition:
GEMClusterContainer.h:5
GEMMaskReClusterizer.h
GEMMaskReClusterizer::doAction
GEMClusterContainer doAction(const GEMDetId &id, GEMClusterContainer &initClusters, const EtaPartitionMask &mask) const
Definition:
GEMMaskReClusterizer.cc:7
EtaPartitionMask
std::bitset< maskSIZE > EtaPartitionMask
Definition:
GEMEtaPartitionMask.h:8
GEMDetId
Definition:
GEMDetId.h:18
GEMCluster
Definition:
GEMCluster.h:5
GEMCluster.h
GEMCluster::lastStrip
int lastStrip() const
Definition:
GEMCluster.cc:15
GEMCluster::bx
int bx() const
Definition:
GEMCluster.cc:19
GetRecoTauVFromDQM_MC_cff.next
next
Definition:
GetRecoTauVFromDQM_MC_cff.py:31
Generated for CMSSW Reference Manual by
1.8.16