12 #include <Math/VectorUtil.h>
23 using namespace ROOT::Math::VectorUtil ;
27 double intRadiusBarrel,
28 double intRadiusEndcap,
37 extRadius_(extRadius),
38 intRadiusBarrel_(intRadiusBarrel),
39 intRadiusEndcap_(intRadiusEndcap),
40 stripBarrel_(stripBarrel),
41 stripEndcap_(stripEndcap),
45 trackCollection_(trackCollection),
66 double tmpElectronEtaAtVertex = (*tmpTrack).eta();
69 for ( reco::TrackCollection::const_iterator itrTr = (*trackCollection_).begin() ;
70 itrTr != (*trackCollection_).end() ;
73 double this_pt = (*itrTr).pt();
74 if ( this_pt <
ptLow_ )
continue;
83 default : dzCut = fabs( (*itrTr).vz() - (*tmpTrack).vz() );
break;
85 if (dzCut >
lip_ )
continue;
87 double dr = ROOT::Math::VectorUtil::DeltaR(itrTr->momentum(),tmpElectronMomentumAtVtx) ;
88 double deta = (*itrTr).eta() - tmpElectronEtaAtVertex;
89 if (fabs(tmpElectronEtaAtVertex) < 1.479) {
106 std::pair<int,double> retval;
108 retval.second = ptSum;
117 return getIso(electron).first ;
122 return getIso(electron).second ;
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)
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
void setDzOption(const std::string &s)
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