CMS 3D CMS Logo

GEMRecHitBaseAlgo.cc
Go to the documentation of this file.
1 /*
2  * See header file for a description of this class.
3  *
4  * \author M. Maggi -- INFN Bari
5  */
9 
13 
15 
17 
18 // Build all hits in the range associated to the layerId, at the 1st step.
20  const GEMDetId& gemId,
21  const GEMDigiCollection::Range& digiRange,
22  const EtaPartitionMask& mask) {
24 
25  GEMClusterizer clizer;
26  GEMClusterContainer tcls = clizer.doAction(digiRange);
27  GEMMaskReClusterizer mrclizer;
28  GEMClusterContainer cls = mrclizer.doAction(gemId,tcls,mask);
29 
30  for (GEMClusterContainer::const_iterator cl = cls.begin();
31  cl != cls.end(); cl++) {
32 
33  LocalError tmpErr;
35  // Call the compute method
36  bool OK = this->compute(roll, *cl, point, tmpErr);
37  if (!OK) continue;
38 
39  // Build a new pair of 1D rechit
40  int firstClustStrip= cl->firstStrip();
41  int clusterSize=cl->clusterSize();
42  GEMRecHit* recHit = new GEMRecHit(gemId,cl->bx(),firstClustStrip,clusterSize,point,tmpErr);
43 
44  result.push_back(recHit);
45  }
46  return result;
47 }
virtual bool compute(const GEMEtaPartition &roll, const GEMCluster &cl, LocalPoint &Point, LocalError &error) const =0
standard local recHit computation
Definition: config.py:1
std::set< GEMCluster > GEMClusterContainer
virtual edm::OwnVector< GEMRecHit > reconstruct(const GEMEtaPartition &roll, const GEMDetId &gemId, const GEMDigiCollection::Range &digiRange, const EtaPartitionMask &mask)
Build all hits in the range associated to the gemId, at the 1st step.
void push_back(D *&d)
Definition: OwnVector.h:290
virtual ~GEMRecHitBaseAlgo()
Destructor.
GEMClusterContainer doAction(const GEMDigiCollection::Range &digiRange)
GEMClusterContainer doAction(const GEMDetId &id, GEMClusterContainer &initClusters, const EtaPartitionMask &mask) const
std::bitset< maskSIZE > EtaPartitionMask
std::pair< int, edm::FunctionWithDict > OK
Definition: findMethod.cc:136
GEMRecHitBaseAlgo(const edm::ParameterSet &config)
Constructor.
std::pair< const_iterator, const_iterator > Range
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5