CMS 3D CMS Logo

List of all members | Public Member Functions
GEMMaskReClusterizer Class Reference

#include <GEMMaskReClusterizer.h>

Public Member Functions

GEMClusterContainer doAction (const GEMDetId &id, GEMClusterContainer &initClusters, const EtaPartitionMask &mask) const
 
 GEMMaskReClusterizer ()
 
bool get (const EtaPartitionMask &mask, int strip) const
 
 ~GEMMaskReClusterizer ()
 

Detailed Description

\Class GEMMaskReClusterizer

Author
J.C. Sanabria – UniAndes, Bogota

Definition at line 11 of file GEMMaskReClusterizer.h.

Constructor & Destructor Documentation

◆ GEMMaskReClusterizer()

GEMMaskReClusterizer::GEMMaskReClusterizer ( )
inline

Definition at line 13 of file GEMMaskReClusterizer.h.

13 {};

◆ ~GEMMaskReClusterizer()

GEMMaskReClusterizer::~GEMMaskReClusterizer ( )
inline

Definition at line 14 of file GEMMaskReClusterizer.h.

14 {};

Member Function Documentation

◆ doAction()

GEMClusterContainer GEMMaskReClusterizer::doAction ( const GEMDetId id,
GEMClusterContainer initClusters,
const EtaPartitionMask mask 
) const

\Class GEMMaskReClusterizer

Author
J.C. Sanabria – UniAndes, Bogota

Definition at line 7 of file GEMMaskReClusterizer.cc.

9  {
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 }

References GEMCluster::bx(), GetRecoTauVFromDQM_MC_cff::cl, GEMCluster::firstStrip(), get(), GEMCluster::lastStrip(), and GetRecoTauVFromDQM_MC_cff::next.

Referenced by GEMRecHitBaseAlgo::reconstruct().

◆ get()

bool GEMMaskReClusterizer::get ( const EtaPartitionMask mask,
int  strip 
) const
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
GEMCluster
Definition: GEMCluster.h:5
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