Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "GEMCluster.h"
00010 #include "RecoLocalMuon/GEMRecHit/src/GEMRecHitStandardAlgo.h"
00011 #include "DataFormats/MuonDetId/interface/GEMDetId.h"
00012 #include "Geometry/GEMGeometry/interface/GEMEtaPartition.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/Framework/interface/EventSetup.h"
00015 #include "FWCore/Utilities/interface/Exception.h"
00016
00017
00018 GEMRecHitStandardAlgo::GEMRecHitStandardAlgo(const edm::ParameterSet& config) :
00019 GEMRecHitBaseAlgo(config)
00020 {
00021 }
00022
00023
00024
00025 GEMRecHitStandardAlgo::~GEMRecHitStandardAlgo()
00026 {
00027 }
00028
00029
00030
00031 void GEMRecHitStandardAlgo::setES(const edm::EventSetup& setup) {
00032 }
00033
00034
00035
00036
00037 bool GEMRecHitStandardAlgo::compute(const GEMEtaPartition& roll,
00038 const GEMCluster& cluster,
00039 LocalPoint& Point,
00040 LocalError& error) const
00041 {
00042
00043 float fstrip = (roll.centreOfStrip(cluster.firstStrip())).x();
00044 float lstrip = (roll.centreOfStrip(cluster.lastStrip())).x();
00045 float centreOfCluster = (fstrip + lstrip)/2;
00046
00047 LocalPoint loctemp2(centreOfCluster,0.,0.);
00048
00049 Point = loctemp2;
00050 error = roll.localError((cluster.firstStrip()+cluster.lastStrip())/2.);
00051 return true;
00052 }
00053
00054
00055 bool GEMRecHitStandardAlgo::compute(const GEMEtaPartition& roll,
00056 const GEMCluster& cl,
00057 const float& angle,
00058 const GlobalPoint& globPos,
00059 LocalPoint& Point,
00060 LocalError& error) const
00061 {
00062
00063
00064 if (globPos.z()<0){ }
00065 if (angle<0.){ }
00066 this->compute(roll,cl,Point,error);
00067 return true;
00068 }
00069