1 #ifndef EgammaElectronAlgos_SiStripElectronAlgo_h
2 #define EgammaElectronAlgos_SiStripElectronAlgo_h
63 double originUncertainty,
67 double maxReducedChi2);
101 bool stereo,
bool endcap);
115 while (phi >
M_PI) { phi -= 2.*
M_PI; }
116 while (phi < -
M_PI) { phi += 2.*
M_PI; }
142 std::map<const SiStripRecHit2D*, unsigned int>
rphiKey_;
144 std::map<const SiStripMatchedRecHit2D*, unsigned int>
matchedKey_;
std::vector< SiStripRecHit2D > outputMatchedHits_neg_
std::vector< const TrackingRecHit * > outputHits_pos_
std::vector< SiStripRecHit2D > outputRphiHits_pos_
const edm::Handle< SiStripRecHit2DCollection > * stereoHits_hp_
GlobalPoint position_pos_
GlobalPoint position_neg_
virtual ~SiStripElectronAlgo()
const SiStripRecHit2D * innerhit_neg_
std::vector< TrackCandidate > TrackCandidateCollection
const SiStripRecHit2D * innerhit_pos_
std::vector< SiStripRecHit2D > outputStereoHits_pos_
GlobalVector momentum_pos_
std::map< const TrackingRecHit *, bool > matchedHitUsed_
const SiStripElectronAlgo & operator=(const SiStripElectronAlgo &)
std::vector< SiStripElectron > SiStripElectronCollection
collectin of SiStripElectron objects
unsigned int numberOfMatchedHits_pos_
GlobalVector momentum_neg_
const edm::Handle< SiStripMatchedRecHit2DCollection > * matchedHits_hp_
const SiStripRecHit2DCollection * rphiHits_p_
double unwrapPhi(double phi) const
std::map< const SiStripRecHit2D *, unsigned int > stereoKey_
void coarseBarrelMonoHitSelection(std::vector< const SiStripRecHit2D * > &monoHitPointersOut)
unsigned numberOfBarrelRphiHits_neg_
std::vector< SiStripRecHit2D > outputRphiHits_neg_
const SiStripRecHit2DCollection * stereoHits_p_
bool findElectron(reco::SiStripElectronCollection &electronOut, TrackCandidateCollection &trackCandidateOut, const reco::SuperClusterRef &superclusterIn, const TrackerTopology *tTopo)
unsigned int numberOfStereoHits_pos_
unsigned numberOfEndcapZphiHits_neg_
bool projectPhiBand(float chargeHypothesis, const reco::SuperClusterRef &superclusterIn, const TrackerTopology *tTopo)
unsigned int numberOfBarrelRphiHits_pos_
std::vector< SiStripRecHit2D > outputStereoHits_neg_
void coarseHitSelection(std::vector< const SiStripRecHit2D * > &hitPointersOut, const TrackerTopology *tTopo, bool stereo, bool endcap)
const TrackerGeometry * tracker_p_
const edm::Handle< SiStripRecHit2DCollection > * rphiHits_hp_
double originUncertainty_
const SiStripMatchedRecHit2DCollection * matchedHits_p_
unsigned numberOfStereoHits_neg_
std::map< const SiStripMatchedRecHit2D *, unsigned int > matchedKey_
void coarseEndcapMonoHitSelection(std::vector< const SiStripRecHit2D * > &monoHitPointersOut)
std::map< const TrackingRecHit *, bool > hitUsed_
void coarseMatchedHitSelection(std::vector< const SiStripMatchedRecHit2D * > &coarseMatchedHitPointersOut)
const MagneticField * magneticField_p_
std::map< const SiStripRecHit2D *, unsigned int > rphiKey_
SiStripElectronAlgo(unsigned int maxHitsOnDetId, double originUncertainty, double phiBandWidth, double maxNormResid, unsigned int minHits, double maxReducedChi2)
unsigned int maxHitsOnDetId_
unsigned int numberOfEndcapZphiHits_pos_
void prepareEvent(const edm::ESHandle< TrackerGeometry > &tracker, const edm::Handle< SiStripRecHit2DCollection > &rphiHits, const edm::Handle< SiStripRecHit2DCollection > &stereoHits, const edm::Handle< SiStripMatchedRecHit2DCollection > &matchedHits, const edm::ESHandle< MagneticField > &magneticField)
std::vector< const TrackingRecHit * > outputHits_neg_