#include <GEMRecHitBaseAlgo.h>
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< 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. | |
virtual void | setES (const edm::EventSetup &setup)=0 |
Pass the Event Setup to the algo at each event. | |
virtual | ~GEMRecHitBaseAlgo () |
Destructor. |
Abstract algorithmic class to compute Rec Hit form a GEM digi
Definition at line 34 of file GEMRecHitBaseAlgo.h.
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] |
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.