CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
EgammaHLTTrackIsolation Class Reference

#include <RecoEgamma/EgammaHLTAlgos/interface/EgammaHLTTrackIsolation.h>

Public Member Functions

 EgammaHLTTrackIsolation (double egTrkIso_PtMin, double egTrkIso_ConeSize, double egTrkIso_ZSpan, double egTrkIso_RSpan, double egTrkIso_VetoConeSize, double egTrkIso_stripBarrel=0, double egTrkIso_stripEndcap=0)
 
std::pair< int, float > electronIsolation (const reco::Track *const tr, const reco::TrackCollection *isoTracks)
 Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. More...
 
std::pair< int, float > electronIsolation (const reco::Track *const tr, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 
std::pair< int, float > electronIsolation (const reco::Track *const tr, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
float electronPtSum (const reco::Track *const tr, const reco::TrackCollection *isoTracks)
 Get Pt sum of tracks inside an isolation cone for electrons. More...
 
float electronPtSum (const reco::Track *const tr, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
float electronPtSum (const reco::Track *const tr, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 
int electronTrackCount (const reco::Track *const tr, const reco::TrackCollection *isoTracks)
 Get number of tracks inside an isolation cone for electrons. More...
 
int electronTrackCount (const reco::Track *const tr, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
double getConeSize ()
 Get isolation cone size. More...
 
double getPtMin ()
 Get pt cut for itracks. More...
 
double getRspan ()
 Get maximum transverse distance of ivertex from beam line. More...
 
double getvetoConesize ()
 Get veto cone size. More...
 
double getZspan ()
 Get maximum ivertex z-coordinate spread. More...
 
std::pair< int, float > photonIsolation (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
 
std::pair< int, float > photonIsolation (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
std::pair< int, float > photonIsolation (const reco::RecoCandidate *const recocand, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 
float photonPtSum (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
 
float photonPtSum (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
float photonPtSum (const reco::RecoCandidate *const recocand, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 
int photonTrackCount (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
 
int photonTrackCount (const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, GlobalPoint vertex)
 
int photonTrackCount (const reco::RecoCandidate *const recocand, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 

Private Member Functions

std::pair< int, float > findIsoTracks (GlobalVector mom, GlobalPoint vtx, const reco::TrackCollection *isoTracks, bool isElectron, bool useVertex=true)
 
std::pair< int, float > findIsoTracksWithoutEle (GlobalVector mom, GlobalPoint vtx, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
 

Private Attributes

double conesize
 
double ptMin
 
double rspan
 
double stripBarrel
 
double stripEndcap
 
double vetoConesize
 
double zspan
 

Detailed Description

Description: Number of tracks inside an isolation cone, with con geometry defined by ptMin, conesize, rspan and zspan. Usage: <usage>

Definition at line 47 of file EgammaHLTTrackIsolation.h.

Constructor & Destructor Documentation

EgammaHLTTrackIsolation::EgammaHLTTrackIsolation ( double  egTrkIso_PtMin,
double  egTrkIso_ConeSize,
double  egTrkIso_ZSpan,
double  egTrkIso_RSpan,
double  egTrkIso_VetoConeSize,
double  egTrkIso_stripBarrel = 0,
double  egTrkIso_stripEndcap = 0 
)
inline

Definition at line 53 of file EgammaHLTTrackIsolation.h.

References electronIsolation(), photonIsolation(), and VerticesFromLeptons_cfi::useVertex.

59  :
60  ptMin(egTrkIso_PtMin),
61  conesize(egTrkIso_ConeSize),
62  zspan(egTrkIso_ZSpan),
63  rspan(egTrkIso_RSpan),
64  vetoConesize(egTrkIso_VetoConeSize),
65  stripBarrel(egTrkIso_stripBarrel),
66  stripEndcap(egTrkIso_stripEndcap)
67  {
68 
69  /*
70  std::cout << "EgammaHLTTrackIsolation instance:"
71  << " ptMin=" << ptMin << " "
72  << " conesize="<< conesize << " "
73  << " zspan=" << zspan << " "
74  << " rspan=" << rspan << " "
75  << " vetoConesize="<< vetoConesize
76  << std::endl;
77  */
78  }

Member Function Documentation

std::pair< int, float > EgammaHLTTrackIsolation::electronIsolation ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks 
)

Get number of tracks and Pt sum of tracks inside an isolation cone for electrons.

Definition at line 19 of file EgammaHLTTrackIsolation.cc.

References findIsoTracks(), reco::TrackBase::momentum(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::vertex(), and badGlobalMuonTaggersAOD_cff::vtx.

Referenced by EgammaHLTTrackIsolation(), electronPtSum(), and electronTrackCount().

20 {
21  GlobalPoint vtx(0,0,tr->vertex().z());
22  const reco::Track::Vector& p = tr->momentum();
23  GlobalVector mom( p.x(), p.y(), p.z() );
24  return findIsoTracks(mom,vtx,isoTracks,true);
25 }
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:708
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
Definition: TrackBase.h:732
std::pair< int, float > findIsoTracks(GlobalVector mom, GlobalPoint vtx, const reco::TrackCollection *isoTracks, bool isElectron, bool useVertex=true)
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
std::pair< int, float > EgammaHLTTrackIsolation::electronIsolation ( const reco::Track *const  tr,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)

Definition at line 37 of file EgammaHLTTrackIsolation.cc.

References findIsoTracksWithoutEle(), reco::TrackBase::momentum(), AlCaHLTBitMon_ParallelJobs::p, reco::TrackBase::vertex(), and badGlobalMuonTaggersAOD_cff::vtx.

38 {
39  GlobalPoint vtx(0,0,tr->vertex().z());
40  const reco::Track::Vector& p = tr->momentum();
41  GlobalVector mom( p.x(), p.y(), p.z() );
42  return findIsoTracksWithoutEle(mom,vtx,allEle,isoTracks);
43 }
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:708
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
Definition: TrackBase.h:732
std::pair< int, float > findIsoTracksWithoutEle(GlobalVector mom, GlobalPoint vtx, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
std::pair< int, float > EgammaHLTTrackIsolation::electronIsolation ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)

Definition at line 28 of file EgammaHLTTrackIsolation.cc.

References findIsoTracks(), reco::TrackBase::momentum(), AlCaHLTBitMon_ParallelJobs::p, badGlobalMuonTaggersAOD_cff::vtx, and PV3DBase< T, PVType, FrameType >::z().

29 {
30  // Just to insure consistency with no-vertex-code
31  GlobalPoint vtx(0,0,zvtx.z());
32  const reco::Track::Vector& p = tr->momentum();
33  GlobalVector mom( p.x(), p.y(), p.z() );
34  return findIsoTracks(mom,vtx,isoTracks,true);
35 }
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:708
std::pair< int, float > findIsoTracks(GlobalVector mom, GlobalPoint vtx, const reco::TrackCollection *isoTracks, bool isElectron, bool useVertex=true)
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
float EgammaHLTTrackIsolation::electronPtSum ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks 
)
inline

Get Pt sum of tracks inside an isolation cone for electrons.

Definition at line 110 of file EgammaHLTTrackIsolation.h.

References electronIsolation().

Referenced by egHLT::OffHelper::fillIsolData().

111  {return electronIsolation(tr,isoTracks).second;}
std::pair< int, float > electronIsolation(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. ...
float EgammaHLTTrackIsolation::electronPtSum ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)
inline

Definition at line 112 of file EgammaHLTTrackIsolation.h.

References electronIsolation().

113  {return electronIsolation(tr,isoTracks,vertex).second;}
std::pair< int, float > electronIsolation(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. ...
float EgammaHLTTrackIsolation::electronPtSum ( const reco::Track *const  tr,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)
inline

Definition at line 114 of file EgammaHLTTrackIsolation.h.

References electronIsolation().

115  {return electronIsolation(tr,allEle,isoTracks).second;}
std::pair< int, float > electronIsolation(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. ...
int EgammaHLTTrackIsolation::electronTrackCount ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks 
)
inline

Get number of tracks inside an isolation cone for electrons.

Definition at line 94 of file EgammaHLTTrackIsolation.h.

References electronIsolation().

95  {return electronIsolation(tr,isoTracks).first;}
std::pair< int, float > electronIsolation(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. ...
int EgammaHLTTrackIsolation::electronTrackCount ( const reco::Track *const  tr,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)
inline

Definition at line 96 of file EgammaHLTTrackIsolation.h.

References electronIsolation().

97  {return electronIsolation(tr,isoTracks,vertex).first;}
std::pair< int, float > electronIsolation(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get number of tracks and Pt sum of tracks inside an isolation cone for electrons. ...
std::pair< int, float > EgammaHLTTrackIsolation::findIsoTracks ( GlobalVector  mom,
GlobalPoint  vtx,
const reco::TrackCollection isoTracks,
bool  isElectron,
bool  useVertex = true 
)
private

Definition at line 82 of file EgammaHLTTrackIsolation.cc.

References PVValHelper::dz, PV3DBase< T, PVType, FrameType >::eta(), M_PI, ntrack, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), EnergyCorrector::pt, ptMin, dttmaxenums::R, rspan, mathSSE::sqrt(), stripBarrel, stripEndcap, vetoConesize, PV3DBase< T, PVType, FrameType >::z(), and zspan.

Referenced by electronIsolation(), getvetoConesize(), and photonIsolation().

83 {
84 
85  // Check that reconstructed tracks fit within cone boundaries,
86  // (Note: tracks will not always stay within boundaries)
87  int ntrack = 0;
88  float ptSum = 0.;
89 
90  for(reco::TrackCollection::const_iterator trItr = isoTracks->begin(); trItr != isoTracks->end(); ++trItr){
91 
92  GlobalPoint ivtx(trItr->vertex().x(),trItr->vertex().y(),trItr->vertex().z());
93  reco::Track::Vector ip = trItr->momentum();
94  GlobalVector imom ( ip.x(), ip.y(), ip.z());
95 
96  float pt = imom.perp();
97  float dperp = 0.;
98  float dz = 0.;
99  float deta = 0.;
100  float dphi = 0.;
101  if (useVertex) {
102  dperp = ivtx.perp()-vtx.perp();
103  dz = ivtx.z()-vtx.z();
104  deta = imom.eta()-mom.eta();
105  dphi = imom.phi()-mom.phi();
106  } else {
107  //in case of unkown photon vertex, modify direction of photon to point from
108  //current track vertex to sc instead of from (0.,0.,0.) to sc. In this
109  //way, all tracks are considered based on direction alone.
110  GlobalVector mom_temp = mom - GlobalVector(ivtx.x(),ivtx.y(),ivtx.z());
111  deta = imom.eta()-mom_temp.eta();
112  dphi = imom.phi()-mom_temp.phi();
113  }
114  // Correct dmom_phi's from [-2pi,2pi] to [-pi,pi]
115  if (dphi>M_PI) dphi = dphi - 2*M_PI;
116  else if (dphi<-M_PI) dphi = dphi + 2*M_PI;
117 
118  float R = sqrt( dphi*dphi + deta*deta );
119 
120  // Apply boundary cut
121  // bool selected=false;
122 
123  // if (pt > ptMin && R < conesize &&
124  // fabs(dperp) < rspan && fabs(dz) < zspan) selected=true;
125 
126  // if (selected) {
127  // ntrack++;
128  // if (!isElectron || R > vetoConesize) ptSum+=pt; //to exclude electron track
129  // }
130  // float theVetoVar = R;
131  // if (isElectron) theVetoVar = R;
132 
133  //hmm how do I figure out if this is barrel or endcap?
134  //abs(mom.eta())<1.5 is the obvious choice but that will be electron not detector eta for electrons
135  //well lets leave it as that for now, its what reco does (well with eta=1.479)
136  double innerStrip = fabs(mom.eta())<1.479 ? stripBarrel : stripEndcap;
137 
138  if (pt > ptMin && R < conesize && R > vetoConesize &&
139  fabs(dperp) < rspan && fabs(dz) < zspan &&
140  fabs(deta) >=innerStrip) {
141  ntrack++;
142  ptSum+=pt;
143  }
144  }
145 
146  // if (isElectron) ntrack-=1; //to exclude electron track
147 
148  return (std::pair<int,float>(ntrack,ptSum));
149 
150 }
T perp() const
Definition: PV3DBase.h:72
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T sqrt(T t)
Definition: SSEVec.h:18
T z() const
Definition: PV3DBase.h:64
#define M_PI
T eta() const
Definition: PV3DBase.h:76
#define ntrack
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
Global3DVector GlobalVector
Definition: GlobalVector.h:10
std::pair< int, float > EgammaHLTTrackIsolation::findIsoTracksWithoutEle ( GlobalVector  mom,
GlobalPoint  vtx,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)
private

Definition at line 152 of file EgammaHLTTrackIsolation.cc.

References conesize, PVValHelper::dz, PV3DBase< T, PVType, FrameType >::eta(), M_PI, ntrack, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), EnergyCorrector::pt, ptMin, dttmaxenums::R, rspan, mathSSE::sqrt(), stripBarrel, stripEndcap, vetoConesize, PV3DBase< T, PVType, FrameType >::z(), and zspan.

Referenced by electronIsolation(), getvetoConesize(), and photonIsolation().

153 {
154 
155  // Check that reconstructed tracks fit within cone boundaries,
156  // (Note: tracks will not always stay within boundaries)
157  int iele = 0;
158  int ntrack = 0;
159  float ptSum = 0.;
160  std::vector<float> etaele;
161  std::vector<float> phiele;
162 
163  // std::cout << "allEle.size() = " << allEle->size() << std::endl;
164 
165  // Store ALL electrons eta and phi
166  for (reco::ElectronCollection::const_iterator iElectron = allEle->begin(); iElectron != allEle->end(); iElectron++){
167  iele++;
168  reco::TrackRef anothereletrackref = iElectron->track();
169  etaele.push_back(anothereletrackref->momentum().eta());
170  phiele.push_back(anothereletrackref->momentum().phi());
171  // std::cout << "Electron " << iele << ": phi = " << anothereletrackref->momentum().phi() << ", eta = " << anothereletrackref->momentum().eta() << std::endl;
172  }
173 
174  for(reco::TrackCollection::const_iterator trItr = isoTracks->begin(); trItr != isoTracks->end(); ++trItr){
175 
176  GlobalPoint ivtx(trItr->vertex().x(),trItr->vertex().y(),trItr->vertex().z());
177  reco::Track::Vector ip = trItr->momentum();
178  GlobalVector imom ( ip.x(), ip.y(), ip.z());
179 
180  float pt = imom.perp();
181  float dperp = ivtx.perp()-vtx.perp();
182  float dz = ivtx.z()-vtx.z();
183  float deta = imom.eta()-mom.eta();
184  float dphi = imom.phi()-mom.phi();
185 
186  // Correct dmom_phi's from [-2pi,2pi] to [-pi,pi]
187  if (dphi>M_PI) dphi = dphi - 2*M_PI;
188  else if (dphi<-M_PI) dphi = dphi + 2*M_PI;
189 
190  float R = sqrt( dphi*dphi + deta*deta );
191 
192  // Apply boundary cut
193  bool selected=false;
194  bool passedconeveto=true;
195 
196  //hmm how do I figure out if this is barrel or endcap?
197  //abs(mom.eta())<1.5 is the obvious choice but that will be electron not detector eta for electrons
198  //well lets leave it as that for now, its what reco does (well with eta=1.479)
199  double innerStrip = fabs(mom.eta())<1.479 ? stripBarrel : stripEndcap;
200 
201  if (pt > ptMin && R < conesize &&
202  fabs(dperp) < rspan && fabs(dz) < zspan &&
203  fabs(deta) >=innerStrip) selected=true;
204 
205  // Check that NO electron is counted in the isolation
206  for(unsigned int eleItr = 0; eleItr < etaele.size(); ++eleItr){
207 
208  deta = etaele[eleItr] - imom.eta();
209  dphi = phiele[eleItr] - imom.phi();
210 
211  // Correct dmom_phi's from [-2pi,2pi] to [-pi,pi]
212  if (dphi>M_PI) dphi = dphi - 2*M_PI;
213  else if (dphi<-M_PI) dphi = dphi + 2*M_PI;
214 
215  R = sqrt( dphi*dphi + deta*deta );
216  if (R < vetoConesize) passedconeveto=false;
217  }
218 
219  if (selected && passedconeveto) {
220  ntrack++;
221  ptSum+=pt; //to exclude electron tracks
222  }
223 
224  }
225 
226  // ntrack-=1; //to exclude electron track
227 
228  return (std::pair<int,float>(ntrack,ptSum));
229 
230 }
T perp() const
Definition: PV3DBase.h:72
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T sqrt(T t)
Definition: SSEVec.h:18
T z() const
Definition: PV3DBase.h:64
#define M_PI
T eta() const
Definition: PV3DBase.h:76
#define ntrack
math::XYZVector Vector
spatial vector
Definition: TrackBase.h:80
double EgammaHLTTrackIsolation::getConeSize ( )
inline

Get isolation cone size.

Definition at line 131 of file EgammaHLTTrackIsolation.h.

References conesize.

double EgammaHLTTrackIsolation::getPtMin ( )
inline

Get pt cut for itracks.

Definition at line 129 of file EgammaHLTTrackIsolation.h.

References ptMin.

double EgammaHLTTrackIsolation::getRspan ( )
inline

Get maximum transverse distance of ivertex from beam line.

Definition at line 135 of file EgammaHLTTrackIsolation.h.

References rspan.

135 { return rspan; }
double EgammaHLTTrackIsolation::getvetoConesize ( )
inline
double EgammaHLTTrackIsolation::getZspan ( )
inline

Get maximum ivertex z-coordinate spread.

Definition at line 133 of file EgammaHLTTrackIsolation.h.

References zspan.

std::pair< int, float > EgammaHLTTrackIsolation::photonIsolation ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
bool  useVertex 
)

Get number of tracks and Pt sum of tracks inside an isolation cone for photons set useVertex=true to use PhotonCandidate vertex from EgammaPhotonVtxFinder set useVertex=false to consider all tracks for isolation

Definition at line 45 of file EgammaHLTTrackIsolation.cc.

References findIsoTracks(), reco::RecoCandidate::superCluster(), reco::LeafCandidate::vertex(), and badGlobalMuonTaggersAOD_cff::vtx.

Referenced by EgammaHLTTrackIsolation(), photonPtSum(), and photonTrackCount().

46 {
47 
48  if (useVertex) {
49  GlobalPoint vtx(0,0,recocandidate->vertex().z());
50  return photonIsolation(recocandidate,isoTracks,vtx);
51  } else {
52  reco::RecoCandidate::Point pos = recocandidate->superCluster()->position();
53  GlobalVector mom(pos.x(),pos.y(),pos.z());
54  return findIsoTracks(mom,GlobalPoint(),isoTracks,false,false);
55  }
56 
57 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
std::pair< int, float > findIsoTracks(GlobalVector mom, GlobalPoint vtx, const reco::TrackCollection *isoTracks, bool isElectron, bool useVertex=true)
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
std::pair< int, float > EgammaHLTTrackIsolation::photonIsolation ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)

Definition at line 59 of file EgammaHLTTrackIsolation.cc.

References findIsoTracks(), reco::RecoCandidate::superCluster(), badGlobalMuonTaggersAOD_cff::vtx, and PV3DBase< T, PVType, FrameType >::z().

60 {
61 
62  // to insure consistency with no-free-vertex-code
63  GlobalPoint vtx(0,0,zvtx.z());
64 
65  reco::RecoCandidate::Point pos = recocandidate->superCluster()->position();
66  GlobalVector mom(pos.x()-vtx.x(),pos.y()-vtx.y(),pos.z()-vtx.z());
67 
68  return findIsoTracks(mom,vtx,isoTracks,false);
69 
70 }
std::pair< int, float > findIsoTracks(GlobalVector mom, GlobalPoint vtx, const reco::TrackCollection *isoTracks, bool isElectron, bool useVertex=true)
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
std::pair< int, float > EgammaHLTTrackIsolation::photonIsolation ( const reco::RecoCandidate *const  recocand,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)

Definition at line 73 of file EgammaHLTTrackIsolation.cc.

References findIsoTracksWithoutEle(), and reco::RecoCandidate::superCluster().

74 {
75 
76  reco::RecoCandidate::Point pos = recocandidate->superCluster()->position();
77  GlobalVector mom(pos.x(),pos.y(),pos.z());
78  return findIsoTracksWithoutEle(mom,GlobalPoint(),allEle,isoTracks);
79 
80 }
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
std::pair< int, float > findIsoTracksWithoutEle(GlobalVector mom, GlobalPoint vtx, const reco::ElectronCollection *allEle, const reco::TrackCollection *isoTracks)
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
float EgammaHLTTrackIsolation::photonPtSum ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
bool  useVertex 
)
inline

Get Pt sum of tracks inside an isolation cone for photons set useVertex=true to use Photon vertex from EgammaPhotonVtxFinder set useVertex=false to consider all tracks for isolation

Definition at line 120 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

Referenced by egHLT::OffHelper::fillIsolData(), and EgammaHLTPhotonTrackIsolationProducersRegional::produce().

121  {return photonIsolation(recocand,isoTracks, useVertex).second;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
float EgammaHLTTrackIsolation::photonPtSum ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)
inline

Definition at line 122 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

123  {return photonIsolation(recocand,isoTracks, vertex).second;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
float EgammaHLTTrackIsolation::photonPtSum ( const reco::RecoCandidate *const  recocand,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)
inline

Definition at line 124 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

125  {return photonIsolation(recocand,allEle,isoTracks).second;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
int EgammaHLTTrackIsolation::photonTrackCount ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
bool  useVertex 
)
inline

Get number of tracks inside an isolation cone for photons set useVertex=true to use Photon vertex from EgammaPhotonVtxFinder set useVertex=false to consider all tracks for isolation

Definition at line 102 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

Referenced by egHLT::OffHelper::fillIsolData(), and EgammaHLTPhotonTrackIsolationProducersRegional::produce().

103  {return photonIsolation(recocand,isoTracks,useVertex).first;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
int EgammaHLTTrackIsolation::photonTrackCount ( const reco::RecoCandidate *const  recocand,
const reco::TrackCollection isoTracks,
GlobalPoint  vertex 
)
inline

Definition at line 104 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

105  {return photonIsolation(recocand,isoTracks,vertex).first;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
int EgammaHLTTrackIsolation::photonTrackCount ( const reco::RecoCandidate *const  recocand,
const reco::ElectronCollection allEle,
const reco::TrackCollection isoTracks 
)
inline

Definition at line 106 of file EgammaHLTTrackIsolation.h.

References photonIsolation().

107  {return photonIsolation(recocand,allEle,isoTracks).first;}
std::pair< int, float > photonIsolation(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)

Member Data Documentation

double EgammaHLTTrackIsolation::conesize
private

Definition at line 146 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracksWithoutEle(), and getConeSize().

double EgammaHLTTrackIsolation::ptMin
private

Definition at line 145 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracks(), findIsoTracksWithoutEle(), and getPtMin().

double EgammaHLTTrackIsolation::rspan
private

Definition at line 148 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracks(), findIsoTracksWithoutEle(), and getRspan().

double EgammaHLTTrackIsolation::stripBarrel
private

Definition at line 152 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracks(), and findIsoTracksWithoutEle().

double EgammaHLTTrackIsolation::stripEndcap
private

Definition at line 153 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracks(), and findIsoTracksWithoutEle().

double EgammaHLTTrackIsolation::vetoConesize
private
double EgammaHLTTrackIsolation::zspan
private

Definition at line 147 of file EgammaHLTTrackIsolation.h.

Referenced by findIsoTracks(), findIsoTracksWithoutEle(), and getZspan().