1 #ifndef EgammaElectronAlgos_SiStripElectronAlgo_h
2 #define EgammaElectronAlgos_SiStripElectronAlgo_h
61 double originUncertainty,
65 double maxReducedChi2);
109 while (phi >
M_PI) { phi -= 2.*
M_PI; }
110 while (phi < -
M_PI) { phi += 2.*
M_PI; }
136 std::map<const SiStripRecHit2D*, unsigned int>
rphiKey_;
138 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
bool findElectron(reco::SiStripElectronCollection &electronOut, TrackCandidateCollection &trackCandidateOut, const reco::SuperClusterRef &superclusterIn)
const SiStripRecHit2D * innerhit_pos_
bool projectPhiBand(float chargeHypothesis, const reco::SuperClusterRef &superclusterIn)
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_
unsigned int numberOfStereoHits_pos_
unsigned numberOfEndcapZphiHits_neg_
unsigned int numberOfBarrelRphiHits_pos_
void coarseHitSelection(std::vector< const SiStripRecHit2D * > &hitPointersOut, bool stereo, bool endcap)
std::vector< SiStripRecHit2D > outputStereoHits_neg_
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_