12 #include <Math/VectorUtil.h> 37 extRadius_(extRadius),
38 intRadiusBarrel_(intRadiusBarrel),
39 intRadiusEndcap_(intRadiusEndcap),
40 stripBarrel_(stripBarrel),
41 stripEndcap_(stripEndcap),
45 trackCollection_(trackCollection),
67 double tmpElectronEtaAtVertex = (*tmpTrack).eta();
70 for ( reco::TrackCollection::const_iterator itrTr = (*trackCollection_).begin() ;
71 itrTr != (*trackCollection_).end() ;
74 double this_pt = (*itrTr).pt();
75 if ( this_pt <
ptLow_ )
continue;
84 default : dzCut = fabs( (*itrTr).vz() - (*tmpTrack).vz() );
break;
86 if (dzCut >
lip_ )
continue;
89 double deta = (*itrTr).eta() - tmpElectronEtaAtVertex;
93 if(dr < extRadius_ && dr>=intRadius &&
std::abs(deta) >=strip &&
passAlgo(*itrTr)){
101 std::pair<int,double> retval;
103 retval.second = ptSum;
112 return getIso(electron).first ;
117 return getIso(electron).second ;
125 return rejAlgo==
false;
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_
virtual GsfTrackRef gsfTrack() const
reference to a GsfTrack