CMS 3D CMS Logo

Public Member Functions

GEMRecHitBaseAlgo Class Reference

#include <GEMRecHitBaseAlgo.h>

Inheritance diagram for GEMRecHitBaseAlgo:
GEMRecHitStandardAlgo

List of all members.

Public Member Functions

virtual bool compute (const GEMEtaPartition &roll, const GEMCluster &cl, LocalPoint &Point, LocalError &error) const =0
 standard local recHit computation
virtual bool compute (const GEMEtaPartition &roll, const GEMCluster &cl, const float &angle, const GlobalPoint &globPos, LocalPoint &Point, LocalError &error) const =0
 GEMRecHitBaseAlgo (const edm::ParameterSet &config)
 Constructor.
virtual edm::OwnVector< GEMRecHitreconstruct (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.
virtual void setES (const edm::EventSetup &setup)=0
 Pass the Event Setup to the algo at each event.
virtual ~GEMRecHitBaseAlgo ()
 Destructor.

Detailed Description

Abstract algorithmic class to compute Rec Hit form a GEM digi

Date:
2013/04/24 17:16:32
Revision:
1.1
Author:
M. Maggi -- INFN Bari

Definition at line 34 of file GEMRecHitBaseAlgo.h.


Constructor & Destructor Documentation

GEMRecHitBaseAlgo::GEMRecHitBaseAlgo ( const edm::ParameterSet config)

Constructor.

Definition at line 22 of file GEMRecHitBaseAlgo.cc.

                                                                  {
  //  theSync = GEMTTrigSyncFactory::get()->create(config.getParameter<string>("tTrigMode"),
  //config.getParameter<ParameterSet>("tTrigModeConfig"));
}
GEMRecHitBaseAlgo::~GEMRecHitBaseAlgo ( ) [virtual]

Destructor.

Definition at line 27 of file GEMRecHitBaseAlgo.cc.

{}

Member Function Documentation

virtual bool GEMRecHitBaseAlgo::compute ( const GEMEtaPartition roll,
const GEMCluster cl,
LocalPoint Point,
LocalError error 
) const [pure virtual]

standard local recHit computation

Implemented in GEMRecHitStandardAlgo.

Referenced by reconstruct().

virtual bool GEMRecHitBaseAlgo::compute ( const GEMEtaPartition roll,
const GEMCluster cl,
const float &  angle,
const GlobalPoint globPos,
LocalPoint Point,
LocalError error 
) const [pure virtual]

local recHit computation accounting for track direction and absolute position

Implemented in GEMRecHitStandardAlgo.

edm::OwnVector< GEMRecHit > GEMRecHitBaseAlgo::reconstruct ( const GEMEtaPartition roll,
const GEMDetId gemId,
const GEMDigiCollection::Range digiRange,
const EtaPartitionMask mask 
) [virtual]

Build all hits in the range associated to the gemId, at the 1st step.

Definition at line 31 of file GEMRecHitBaseAlgo.cc.

References compute(), GEMClusterizer::doAction(), GEMMaskReClusterizer::doAction(), point, edm::OwnVector< T, P >::push_back(), and query::result.

                                                                                       {
  edm::OwnVector<GEMRecHit> result; 


  GEMClusterizer clizer;
  GEMClusterContainer tcls = clizer.doAction(digiRange);
  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;
}
virtual void GEMRecHitBaseAlgo::setES ( const edm::EventSetup setup) [pure virtual]

Pass the Event Setup to the algo at each event.

Implemented in GEMRecHitStandardAlgo.