12 #include <Math/VectorUtil.h>
23 using namespace ROOT::Math::VectorUtil ;
27 double intRadiusBarrel,
28 double intRadiusEndcap,
36 const std::string &dzOptionString) :
37 extRadius_(extRadius),
38 intRadiusBarrel_(intRadiusBarrel),
39 intRadiusEndcap_(intRadiusEndcap),
40 stripBarrel_(stripBarrel),
41 stripEndcap_(stripEndcap),
45 trackCollection_(trackCollection),
63 double tmpElectronEtaAtVertex = (*tmpTrack).eta();
66 for ( reco::TrackCollection::const_iterator itrTr = (*trackCollection_).begin() ;
67 itrTr != (*trackCollection_).end() ;
72 double this_pt = (*itrTr).pt();
73 if ( this_pt <
ptLow_ )
continue;
82 default : dzCut = fabs( (*itrTr).vz() - (*tmpTrack).vz() );
break;
84 if (dzCut >
lip_ )
continue;
86 double dr = ROOT::Math::VectorUtil::DeltaR(itrTr->momentum(),tmpElectronMomentumAtVtx) ;
87 double deta = (*itrTr).eta() - tmpElectronEtaAtVertex;
88 if (fabs(tmpElectronEtaAtVertex) < 1.479) {
105 std::pair<int,double> retval;
107 retval.second = ptSum;
116 return getIso(electron).first ;
121 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)
void setDzOption(const std::string &s)
math::XYZPoint Point
point in the space
std::pair< int, double > getIso(const reco::GsfElectron *) const
GsfTrackRef gsfTrack() const
reference to a GsfTrack
XYZVectorD XYZVector
spatial vector with cartesian internal representation
double getPtTracks(const reco::GsfElectron *) const
reco::TrackBase::Point beamPoint_