12 #include <Math/VectorUtil.h> 36 : extRadius_(extRadius),
37 intRadiusBarrel_(intRadiusBarrel),
38 intRadiusEndcap_(intRadiusEndcap),
39 stripBarrel_(stripBarrel),
40 stripEndcap_(stripEndcap),
44 trackCollection_(trackCollection),
45 beamPoint_(beamPoint) {
63 double tmpElectronEtaAtVertex = (*tmpTrack).eta();
65 for (reco::TrackCollection::const_iterator itrTr = (*trackCollection_).begin(); itrTr != (*trackCollection_).end();
67 double this_pt = (*itrTr).pt();
74 dzCut = fabs((*itrTr).dz() - (*tmpTrack).dz());
77 dzCut = fabs((*itrTr).vz() - (*tmpTrack).vz());
83 dzCut = fabs((*itrTr).dz(tmpTrack->
vertex()));
86 dzCut = fabs((*itrTr).vz() - (*tmpTrack).vz());
94 double deta = (*itrTr).eta() - tmpElectronEtaAtVertex;
98 if (dr < extRadius_ && dr >= intRadius &&
std::abs(deta) >= strip &&
passAlgo(*itrTr)) {
105 std::pair<int, double> retval;
107 retval.second = ptSum;
114 return getIso(electron).first;
122 return rejAlgo ==
false;
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
bool passAlgo(const reco::TrackBase &trk) const
std::vector< Track > TrackCollection
collection of Tracks
int getNumberTracks(const reco::GsfElectron *) const
ElectronTkIsolation(double extRadius, double intRadius, double ptLow, double lip, double drb, const reco::TrackCollection *trackCollection, reco::TrackBase::Point beamPoint)
TrackAlgorithm algo() const
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
void setDzOption(const std::string &s)
Abs< T >::type abs(const T &t)
std::vector< int > algosToReject_
math::XYZPoint Point
point in the space
std::pair< int, double > getIso(const reco::GsfElectron *) const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double getPtTracks(const reco::GsfElectron *) const
static std::atomic< unsigned int > counter
reco::TrackBase::Point beamPoint_