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

GEMMaskReClusterizer

Author
J.C. Sanabria – UniAndes, Bogota

Definition at line 11 of file GEMMaskReClusterizer.h.

Constructor & Destructor Documentation

GEMMaskReClusterizer::GEMMaskReClusterizer ( )
inline

Definition at line 13 of file GEMMaskReClusterizer.h.

13 {};
GEMMaskReClusterizer::~GEMMaskReClusterizer ( )
inline

Definition at line 14 of file GEMMaskReClusterizer.h.

References doAction(), and digitizers_cfi::strip.

14 {};

Member Function Documentation

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

GEMMaskReClusterizer

Author
J.C. Sanabria – UniAndes, Bogota

Definition at line 7 of file GEMMaskReClusterizer.cc.

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

Referenced by GEMRecHitBaseAlgo::reconstruct(), and ~GEMMaskReClusterizer().

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 }
std::set< GEMCluster > GEMClusterContainer
int lastStrip() const
Definition: GEMCluster.cc:15
int bx() const
Definition: GEMCluster.cc:19
int firstStrip() const
Definition: GEMCluster.cc:13
bool GEMMaskReClusterizer::get ( const EtaPartitionMask mask,
int  strip 
) const