CMS 3D CMS Logo

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

#include <PFIsolationEstimator.h>

Public Types

enum  VetoType { kElectron = -1, kPhoton = 1 }
 

Public Member Functions

reco::VertexRef chargedHadronVertex (edm::Handle< reco::VertexCollection > verticies, const reco::PFCandidate &pfcand)
 
float fGetIsolation (const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
float fGetIsolation (const reco::Photon *photon, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
float fGetIsolation (const reco::GsfElectron *electron, const reco::PFCandidateCollection *pfParticlesColl, const reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
std::vector< float > fGetIsolationInRings (const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
std::vector< float > fGetIsolationInRings (const reco::Photon *photon, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
std::vector< float > fGetIsolationInRings (const reco::GsfElectron *electron, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
float getIsolationCharged ()
 
float getIsolationChargedAll ()
 
std::vector< float > getIsolationInRingsCharged ()
 
std::vector< float > getIsolationInRingsChargedAll ()
 
std::vector< float > getIsolationInRingsNeutral ()
 
std::vector< float > getIsolationInRingsPhoton ()
 
float getIsolationNeutral ()
 
float getIsolationPhoton ()
 
int getNumbersOfRings ()
 
float getRingSize ()
 
void initializeElectronIsolation (Bool_t bApplyVeto)
 
void initializeElectronIsolationInRings (Bool_t bApplyVeto, int iNumberOfRings, float fRingSize)
 
void initializePhotonIsolation (Bool_t bApplyVeto)
 
void initializePhotonIsolationInRings (Bool_t bApplyVeto, int iNumberOfRings, float fRingSize)
 
void initializeRings (int iNumberOfRings, float fRingSize)
 
float isChargedParticleVetoed (const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
 
float isChargedParticleVetoed (const reco::PFCandidate *pfIsoCand, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
 
Bool_t isInitialized () const
 
float isNeutralParticleVetoed (const reco::PFCandidate *pfIsoCand)
 
float isPhotonParticleVetoed (const reco::PFCandidate *pfIsoCand)
 
int matchPFObject (const reco::Photon *photon, const reco::PFCandidateCollection *pfParticlesColl)
 
int matchPFObject (const reco::GsfElectron *photon, const reco::PFCandidateCollection *pfParticlesColl)
 
 PFIsolationEstimator ()
 
void setApplyDzDxyVeto (Bool_t bValue=kTRUE)
 
void setApplyMissHitPhVeto (Bool_t bValue=kFALSE)
 
void setApplyPFPUVeto (Bool_t bValue=kFALSE)
 
void setApplyVeto (Bool_t bValue=kTRUE)
 
void setConeSize (float fValue=0.4)
 
void setDeltaRVetoBarrel (Bool_t bValue=kTRUE)
 
void setDeltaRVetoBarrelCharged (float fValue=-1.0)
 
void setDeltaRVetoBarrelNeutrals (float fValue=-1.0)
 
void setDeltaRVetoBarrelPhotons (float fValue=-1.0)
 
void setDeltaRVetoEndcap (Bool_t bValue=kTRUE)
 
void setDeltaRVetoEndcapCharged (float fValue=-1.0)
 
void setDeltaRVetoEndcapNeutrals (float fValue=-1.0)
 
void setDeltaRVetoEndcapPhotons (float fValue=-1.0)
 
void setNumberOfCrystalEndcapPhotons (float fValue=-1)
 
void setNumbersOfRings (int iValue=1)
 
void setParticleType (int iValue)
 
void setRectangleDeltaEtaVetoBarrelCharged (float fValue=-1.0)
 
void setRectangleDeltaEtaVetoBarrelNeutrals (float fValue=-1.0)
 
void setRectangleDeltaEtaVetoBarrelPhotons (float fValue=-1.0)
 
void setRectangleDeltaEtaVetoEndcapCharged (float fValue=-1.0)
 
void setRectangleDeltaEtaVetoEndcapNeutrals (float fValue=-1.0)
 
void setRectangleDeltaEtaVetoEndcapPhotons (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoBarrelCharged (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoBarrelNeutrals (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoBarrelPhotons (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoEndcapCharged (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoEndcapNeutrals (float fValue=-1.0)
 
void setRectangleDeltaPhiVetoEndcapPhotons (float fValue=-1.0)
 
void setRectangleVetoBarrel (Bool_t bValue=kTRUE)
 
void setRectangleVetoEndcap (Bool_t bValue=kTRUE)
 
void setRingSize (float fValue=0.4)
 
void setUseCrystalSize (Bool_t bValue=kFALSE)
 
 ~PFIsolationEstimator ()
 

Private Member Functions

void initialize (Bool_t bApplyVeto, int iParticleType)
 

Private Attributes

Bool_t bApplyDzDxyVeto
 
Bool_t bApplyMissHitPhVeto
 
Bool_t bApplyPFPUVeto
 
Bool_t bApplyVeto
 
Bool_t bDeltaRVetoBarrel
 
Bool_t bDeltaRVetoEndcap
 
Bool_t bRectangleVetoBarrel
 
Bool_t bRectangleVetoEndcap
 
Bool_t bUseCrystalSize
 
Bool_t checkClosestZVertex
 
float fConeSize
 
float fDeltaEta
 
float fDeltaPhi
 
float fDeltaR
 
float fDeltaRVetoBarrelCharged
 
float fDeltaRVetoBarrelNeutrals
 
float fDeltaRVetoBarrelPhotons
 
float fDeltaRVetoEndcapCharged
 
float fDeltaRVetoEndcapNeutrals
 
float fDeltaRVetoEndcapPhotons
 
float fEta
 
float fEtaSC
 
Bool_t fisInitialized
 
float fIsolation
 
float fIsolationCharged
 
float fIsolationChargedAll
 
std::vector< float > fIsolationInRings
 
std::vector< float > fIsolationInRingsCharged
 
std::vector< float > fIsolationInRingsChargedAll
 
std::vector< float > fIsolationInRingsNeutral
 
std::vector< float > fIsolationInRingsPhoton
 
float fIsolationNeutral
 
float fIsolationPhoton
 
float fNumberOfCrystalEndcapPhotons
 
float fPhi
 
float fPhiSC
 
float fPt
 
float fRectangleDeltaEtaVetoBarrelCharged
 
float fRectangleDeltaEtaVetoBarrelNeutrals
 
float fRectangleDeltaEtaVetoBarrelPhotons
 
float fRectangleDeltaEtaVetoEndcapCharged
 
float fRectangleDeltaEtaVetoEndcapNeutrals
 
float fRectangleDeltaEtaVetoEndcapPhotons
 
float fRectangleDeltaPhiVetoBarrelCharged
 
float fRectangleDeltaPhiVetoBarrelNeutrals
 
float fRectangleDeltaPhiVetoBarrelPhotons
 
float fRectangleDeltaPhiVetoEndcapCharged
 
float fRectangleDeltaPhiVetoEndcapNeutrals
 
float fRectangleDeltaPhiVetoEndcapPhotons
 
float fRingSize
 
float fVx
 
float fVy
 
float fVz
 
int iMissHits
 
int iNumberOfRings
 
int iParticleType
 
bool pivotInBarrel
 
reco::SuperClusterRef refSC
 
math::XYZVector vtxWRTCandidate
 

Detailed Description

–> NOTE if you want to use this class as standalone without the CMSSW part you need to uncomment the below line and compile normally with scramv1 b Then you need just to load it in your root macro the lib with the correct path, eg: gSystem->Load("/data/benedet/CMSSW_5_2_2/lib/slc5_amd64_gcc462/pluginEGammaEGammaAnalysisTools.so");

Definition at line 53 of file PFIsolationEstimator.h.

Member Enumeration Documentation

Enumerator
kElectron 
kPhoton 

Definition at line 58 of file PFIsolationEstimator.h.

58  {
59  kElectron = -1, // MVA for non-triggering electrons
60  kPhoton = 1 // MVA for triggering electrons
61  };

Constructor & Destructor Documentation

PFIsolationEstimator::PFIsolationEstimator ( )

Definition at line 24 of file PFIsolationEstimator.cc.

24  :
25 fisInitialized(kFALSE)
26 {
27  // Constructor.
28 }
PFIsolationEstimator::~PFIsolationEstimator ( )

Definition at line 33 of file PFIsolationEstimator.cc.

34 {
35 
36 }

Member Function Documentation

reco::VertexRef PFIsolationEstimator::chargedHadronVertex ( edm::Handle< reco::VertexCollection verticies,
const reco::PFCandidate pfcand 
)

Definition at line 683 of file PFIsolationEstimator.cc.

References funct::abs(), checkClosestZVertex, PVValHelper::dz, edm::Handle< T >::product(), reco::PFCandidate::trackRef(), reco::Vertex::tracks_begin(), reco::Vertex::tracks_end(), reco::Vertex::trackWeight(), reco::PFCandidate::vertex(), electrons_cff::vertices, badGlobalMuonTaggersAOD_cff::vtx, and w.

Referenced by isChargedParticleVetoed(), and isInitialized().

683  {
684 
685  //code copied from Florian's PFNoPU class
686 
687  reco::TrackBaseRef trackBaseRef( pfcand.trackRef() );
688 
689  size_t iVertex = 0;
690  unsigned index=0;
691  unsigned nFoundVertex = 0;
692 
693  float bestweight=0;
694 
695  const reco::VertexCollection& vertices = *(verticesColl.product());
696 
697  for( reco::VertexCollection::const_iterator iv=vertices.begin(); iv!=vertices.end(); ++iv, ++index) {
698 
699  const reco::Vertex& vtx = *iv;
700 
701  // loop on tracks in vertices
702  for(reco::Vertex::trackRef_iterator iTrack=vtx.tracks_begin();iTrack!=vtx.tracks_end(); ++iTrack) {
703 
704  const reco::TrackBaseRef& baseRef = *iTrack;
705 
706  // one of the tracks in the vertex is the same as
707  // the track considered in the function
708  if(baseRef == trackBaseRef ) {
709  float w = vtx.trackWeight(baseRef);
710  //select the vertex for which the track has the highest weight
711  if (w > bestweight){
712  bestweight=w;
713  iVertex=index;
714  nFoundVertex++;
715  }
716  }
717  }
718 
719  }
720 
721 
722 
723  if (nFoundVertex>0){
724  if (nFoundVertex!=1)
725  edm::LogWarning("TrackOnTwoVertex")<<"a track is shared by at least two verteces. Used to be an assert";
726  return reco::VertexRef( verticesColl, iVertex);
727  }
728  // no vertex found with this track.
729 
730  // optional: as a secondary solution, associate the closest vertex in z
731  if ( checkClosestZVertex ) {
732 
733  double dzmin = 10000.;
734  double ztrack = pfcand.vertex().z();
735  bool foundVertex = false;
736  index = 0;
737  for( reco::VertexCollection::const_iterator iv=vertices.begin(); iv!=vertices.end(); ++iv, ++index) {
738 
739  double dz = std::abs(ztrack - iv->z());
740  if(dz<dzmin) {
741  dzmin = dz;
742  iVertex = index;
743  foundVertex = true;
744  }
745  }
746 
747  if( foundVertex )
748  return reco::VertexRef( verticesColl, iVertex);
749 
750  }
751 
752  return reco::VertexRef( );
753 }
const double w
Definition: UKUtility.cc:23
trackRef_iterator tracks_end() const
last iterator over tracks
Definition: Vertex.cc:81
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
reco::TrackRef trackRef() const
Definition: PFCandidate.cc:442
const Point & vertex() const override
vertex position (overwritten by PF...)
Definition: PFCandidate.cc:656
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float trackWeight(const TREF &r) const
returns the weight with which a Track has contributed to the vertex-fit.
Definition: Vertex.h:81
edm::Ref< VertexCollection > VertexRef
persistent reference to a Vertex
Definition: VertexFwd.h:13
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:37
trackRef_iterator tracks_begin() const
first iterator over tracks
Definition: Vertex.cc:76
float PFIsolationEstimator::fGetIsolation ( const reco::PFCandidate pfCandidate,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 200 of file PFIsolationEstimator.cc.

References fGetIsolationInRings(), fIsolation, fIsolationInRings, and refSC.

Referenced by AdHocNTupler::fill(), PhotonIsoProducer::filter(), and isInitialized().

200  {
201 
202  fGetIsolationInRings( pfCandidate, pfParticlesColl, vtx, vertices);
205 
206  return fIsolation;
207 }
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
std::vector< float > fIsolationInRings
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
reco::SuperClusterRef refSC
float PFIsolationEstimator::fGetIsolation ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 277 of file PFIsolationEstimator.cc.

References fGetIsolationInRings(), fIsolation, and fIsolationInRings.

277  {
278 
279  fGetIsolationInRings( photon, pfParticlesColl, vtx, vertices);
281 
282  return fIsolation;
283 }
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
std::vector< float > fIsolationInRings
float PFIsolationEstimator::fGetIsolation ( const reco::GsfElectron electron,
const reco::PFCandidateCollection pfParticlesColl,
const reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 382 of file PFIsolationEstimator.cc.

References fGetIsolationInRings(), fIsolation, and fIsolationInRings.

382  {
383 
384  fGetIsolationInRings( electron, pfParticlesColl, vtx, vertices);
386 
387  return fIsolation;
388 }
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
std::vector< float > fIsolationInRings
std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::PFCandidate pfCandidate,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 211 of file PFIsolationEstimator.cc.

References funct::abs(), reco::LeafCandidate::eta(), fDeltaR, fEta, fIsolationInRings, fIsolationInRingsCharged, fIsolationInRingsChargedAll, fIsolationInRingsNeutral, fIsolationInRingsPhoton, fPhi, fPt, fRingSize, fVx, fVy, fVz, createfilelist::int, iNumberOfRings, isChargedParticleVetoed(), isNeutralParticleVetoed(), isPhotonParticleVetoed(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), pivotInBarrel, reco::PFCandidate::positionAtECALEntrance(), reco::LeafCandidate::pt(), reco::PFCandidate::vx(), reco::PFCandidate::vy(), and reco::PFCandidate::vz().

Referenced by fGetIsolation(), and isInitialized().

211  {
212 
213  int isoBin;
214 
215 
216  for(isoBin =0;isoBin<iNumberOfRings;isoBin++){
217  fIsolationInRings[isoBin]=0.;
218  fIsolationInRingsPhoton[isoBin]=0.;
219  fIsolationInRingsNeutral[isoBin]=0.;
220  fIsolationInRingsCharged[isoBin]=0.;
221  fIsolationInRingsChargedAll[isoBin]=0.;
222  }
223 
224 
225 
226  fEta = pfCandidate->eta();
227  fPhi = pfCandidate->phi();
228  fPt = pfCandidate->pt();
229  fVx = pfCandidate->vx();
230  fVy = pfCandidate->vy();
231  fVz = pfCandidate->vz();
232 
233  pivotInBarrel = std::abs(pfCandidate->positionAtECALEntrance().eta())<1.479;
234 
235  for(unsigned iPF=0; iPF<pfParticlesColl->size(); iPF++) {
236 
237  const reco::PFCandidate& pfParticle= (*pfParticlesColl)[iPF];
238 
239  if(&pfParticle==(pfCandidate))
240  continue;
241 
242  if(pfParticle.pdgId()==22){
243 
244  if(isPhotonParticleVetoed( &pfParticle)>=0.){
245  isoBin = (int)(fDeltaR/fRingSize);
246  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
247  }
248 
249  }else if(std::abs(pfParticle.pdgId())==130){
250 
251  if(isNeutralParticleVetoed( &pfParticle)>=0.){
252  isoBin = (int)(fDeltaR/fRingSize);
253  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
254  }
255 
256 
257  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
258  }else if(std::abs(pfParticle.pdgId()) == 211){
259  if(isChargedParticleVetoed( &pfParticle, vtx, vertices)>=0.){
260  isoBin = (int)(fDeltaR/fRingSize);
261  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
262  }
263 
264  }
265  }
266 
267 
268  for(int isoBin =0;isoBin<iNumberOfRings;isoBin++){
270  }
271 
272  return fIsolationInRings;
273 }
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsNeutral
std::vector< float > fIsolationInRingsPhoton
double eta() const final
momentum pseudorapidity
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
double pt() const final
transverse momentum
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRings
const math::XYZPointF & positionAtECALEntrance() const
Definition: PFCandidate.h:368
std::vector< float > fIsolationInRingsChargedAll
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double vx() const override
x coordinate of vertex position
Definition: PFCandidate.h:414
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRingsCharged
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
double vy() const override
y coordinate of vertex position
Definition: PFCandidate.h:415
double phi() const final
momentum azimuthal angle
double vz() const override
z coordinate of vertex position
Definition: PFCandidate.h:416
std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 287 of file PFIsolationEstimator.cc.

References funct::abs(), fDeltaR, fEta, fIsolationInRings, fIsolationInRingsCharged, fIsolationInRingsChargedAll, fIsolationInRingsNeutral, fIsolationInRingsPhoton, fPhi, fRingSize, fVx, fVy, fVz, iMissHits, createfilelist::int, iNumberOfRings, isChargedParticleVetoed(), isNeutralParticleVetoed(), edm::Ref< C, T, F >::isNonnull(), isPhotonParticleVetoed(), reco::LeafCandidate::pdgId(), pivotInBarrel, reco::LeafCandidate::pt(), refSC, reco::Photon::superCluster(), reco::PFCandidate::superClusterRef(), reco::PFCandidate::vx(), reco::PFCandidate::vy(), and reco::PFCandidate::vz().

287  {
288 
289  int isoBin;
290 
291  for(isoBin =0;isoBin<iNumberOfRings;isoBin++){
292  fIsolationInRings[isoBin]=0.;
293  fIsolationInRingsPhoton[isoBin]=0.;
294  fIsolationInRingsNeutral[isoBin]=0.;
295  fIsolationInRingsCharged[isoBin]=0.;
296  fIsolationInRingsChargedAll[isoBin]=0.;
297  }
298 
299  iMissHits = 0;
300 
301  refSC = photon->superCluster();
302  pivotInBarrel = std::abs((refSC->position().eta()))<1.479;
303 
304  for(unsigned iPF=0; iPF<pfParticlesColl->size(); iPF++) {
305 
306  const reco::PFCandidate& pfParticle= (*pfParticlesColl)[iPF];
307 
308  if (pfParticle.superClusterRef().isNonnull() &&
309  photon->superCluster().isNonnull() &&
310  pfParticle.superClusterRef() == photon->superCluster())
311  continue;
312 
313  if(pfParticle.pdgId()==22){
314 
315  // Set the vertex of reco::Photon to the first PV
316  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - pfParticle.vx(),
317  photon->superCluster()->y() - pfParticle.vy(),
318  photon->superCluster()->z() - pfParticle.vz());
319 
320  fEta = direction.Eta();
321  fPhi = direction.Phi();
322  fVx = pfParticle.vx();
323  fVy = pfParticle.vy();
324  fVz = pfParticle.vz();
325 
326  if(isPhotonParticleVetoed(&pfParticle)>=0.){
327  isoBin = (int)(fDeltaR/fRingSize);
328  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
329  }
330 
331  }else if(std::abs(pfParticle.pdgId())==130){
332 
333  // Set the vertex of reco::Photon to the first PV
334  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - pfParticle.vx(),
335  photon->superCluster()->y() - pfParticle.vy(),
336  photon->superCluster()->z() - pfParticle.vz());
337 
338  fEta = direction.Eta();
339  fPhi = direction.Phi();
340  fVx = pfParticle.vx();
341  fVy = pfParticle.vy();
342  fVz = pfParticle.vz();
343 
344  if(isNeutralParticleVetoed( &pfParticle)>=0.){
345  isoBin = (int)(fDeltaR/fRingSize);
346  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
347  }
348 
349  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
350  }else if(std::abs(pfParticle.pdgId()) == 211){
351 
352  // Set the vertex of reco::Photon to the first PV
353  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - (*vtx).x(),
354  photon->superCluster()->y() - (*vtx).y(),
355  photon->superCluster()->z() - (*vtx).z());
356 
357  fEta = direction.Eta();
358  fPhi = direction.Phi();
359  fVx = (*vtx).x();
360  fVy = (*vtx).y();
361  fVz = (*vtx).z();
362 
363  if(isChargedParticleVetoed( &pfParticle, vtx, vertices)>=0.){
364  isoBin = (int)(fDeltaR/fRingSize);
365  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
366  }
367 
368  }
369  }
370 
371 
372  for(int isoBin =0;isoBin<iNumberOfRings;isoBin++){
374  }
375 
376  return fIsolationInRings;
377 }
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsNeutral
std::vector< float > fIsolationInRingsPhoton
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:251
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
double pt() const final
transverse momentum
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRings
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
std::vector< float > fIsolationInRingsChargedAll
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double vx() const override
x coordinate of vertex position
Definition: PFCandidate.h:414
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRingsCharged
reco::SuperClusterRef refSC
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
double vy() const override
y coordinate of vertex position
Definition: PFCandidate.h:415
double vz() const override
z coordinate of vertex position
Definition: PFCandidate.h:416
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:609
std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::GsfElectron electron,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 392 of file PFIsolationEstimator.cc.

References funct::abs(), reco::LeafCandidate::eta(), fDeltaR, fEta, fIsolationInRings, fIsolationInRingsCharged, fIsolationInRingsChargedAll, fIsolationInRingsNeutral, fIsolationInRingsPhoton, fPhi, fPt, fRingSize, fVx, fVy, fVz, reco::GsfElectron::gsfTrack(), iMissHits, createfilelist::int, iNumberOfRings, isChargedParticleVetoed(), isNeutralParticleVetoed(), isPhotonParticleVetoed(), reco::HitPattern::MISSING_INNER_HITS, reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), pivotInBarrel, reco::LeafCandidate::pt(), refSC, reco::GsfElectron::superCluster(), reco::LeafCandidate::vx(), reco::LeafCandidate::vy(), and reco::LeafCandidate::vz().

392  {
393 
394  int isoBin;
395 
396  for(isoBin =0;isoBin<iNumberOfRings;isoBin++){
397  fIsolationInRings[isoBin]=0.;
398  fIsolationInRingsPhoton[isoBin]=0.;
399  fIsolationInRingsNeutral[isoBin]=0.;
400  fIsolationInRingsCharged[isoBin]=0.;
401  fIsolationInRingsChargedAll[isoBin]=0.;
402  }
403 
404  // int iMatch = matchPFObject(electron,pfParticlesColl);
405 
406 
407  fEta = electron->eta();
408  fPhi = electron->phi();
409  fPt = electron->pt();
410  fVx = electron->vx();
411  fVy = electron->vy();
412  fVz = electron->vz();
413  iMissHits = electron->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS);
414 
415  // if(electron->ecalDrivenSeed())
416  refSC = electron->superCluster();
417  pivotInBarrel = std::abs((refSC->position().eta()))<1.479;
418 
419  for(unsigned iPF=0; iPF<pfParticlesColl->size(); iPF++) {
420 
421  const reco::PFCandidate& pfParticle= (*pfParticlesColl)[iPF];
422 
423 
424  if(pfParticle.pdgId()==22){
425 
426  if(isPhotonParticleVetoed(&pfParticle)>=0.){
427  isoBin = (int)(fDeltaR/fRingSize);
428  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
429 
430  }
431 
432  }else if(std::abs(pfParticle.pdgId())==130){
433 
434  if(isNeutralParticleVetoed( &pfParticle)>=0.){
435  isoBin = (int)(fDeltaR/fRingSize);
436  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
437  }
438 
439  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
440  }else if(std::abs(pfParticle.pdgId()) == 211){
441  if(isChargedParticleVetoed( &pfParticle, vtx, vertices)>=0.){
442  isoBin = (int)(fDeltaR/fRingSize);
443 
444  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
445  }
446 
447  }
448  }
449 
450 
451  for(int isoBin =0;isoBin<iNumberOfRings;isoBin++){
453  }
454 
455  return fIsolationInRings;
456 }
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:186
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsNeutral
std::vector< float > fIsolationInRingsPhoton
double eta() const final
momentum pseudorapidity
double vy() const override
y coordinate of vertex position
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
double pt() const final
transverse momentum
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
std::vector< float > fIsolationInRingsCharged
reco::SuperClusterRef refSC
double vz() const override
z coordinate of vertex position
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:185
double phi() const final
momentum azimuthal angle
double vx() const override
x coordinate of vertex position
float PFIsolationEstimator::getIsolationCharged ( )
inline
float PFIsolationEstimator::getIsolationChargedAll ( )
inline

Definition at line 134 of file PFIsolationEstimator.h.

References fIsolationChargedAll.

std::vector<float > PFIsolationEstimator::getIsolationInRingsCharged ( )
inline

Definition at line 138 of file PFIsolationEstimator.h.

References fIsolationInRingsCharged.

138 { return fIsolationInRingsCharged; };
std::vector< float > fIsolationInRingsCharged
std::vector<float > PFIsolationEstimator::getIsolationInRingsChargedAll ( )
inline

Definition at line 139 of file PFIsolationEstimator.h.

References fIsolationInRingsChargedAll.

139 { return fIsolationInRingsChargedAll; };
std::vector< float > fIsolationInRingsChargedAll
std::vector<float > PFIsolationEstimator::getIsolationInRingsNeutral ( )
inline

Definition at line 137 of file PFIsolationEstimator.h.

References fIsolationInRingsNeutral.

137 { return fIsolationInRingsNeutral; };
std::vector< float > fIsolationInRingsNeutral
std::vector<float > PFIsolationEstimator::getIsolationInRingsPhoton ( )
inline

Definition at line 136 of file PFIsolationEstimator.h.

References fIsolationInRingsPhoton.

136 { return fIsolationInRingsPhoton; };
std::vector< float > fIsolationInRingsPhoton
float PFIsolationEstimator::getIsolationNeutral ( )
inline
float PFIsolationEstimator::getIsolationPhoton ( )
inline
int PFIsolationEstimator::getNumbersOfRings ( )
inline

Definition at line 145 of file PFIsolationEstimator.h.

References iNumberOfRings.

float PFIsolationEstimator::getRingSize ( )
inline

Definition at line 146 of file PFIsolationEstimator.h.

References fRingSize, and matchPFObject().

146 {return fRingSize; };
void PFIsolationEstimator::initialize ( Bool_t  bApplyVeto,
int  iParticleType 
)
private

Definition at line 39 of file PFIsolationEstimator.cc.

References checkClosestZVertex, kElectron, setApplyDzDxyVeto(), setApplyMissHitPhVeto(), setApplyPFPUVeto(), setApplyVeto(), setConeSize(), setDeltaRVetoBarrel(), setDeltaRVetoBarrelCharged(), setDeltaRVetoBarrelNeutrals(), setDeltaRVetoBarrelPhotons(), setDeltaRVetoEndcap(), setDeltaRVetoEndcapCharged(), setDeltaRVetoEndcapNeutrals(), setDeltaRVetoEndcapPhotons(), setNumberOfCrystalEndcapPhotons(), setParticleType(), setRectangleDeltaEtaVetoBarrelCharged(), setRectangleDeltaEtaVetoBarrelNeutrals(), setRectangleDeltaEtaVetoBarrelPhotons(), setRectangleDeltaEtaVetoEndcapCharged(), setRectangleDeltaEtaVetoEndcapNeutrals(), setRectangleDeltaEtaVetoEndcapPhotons(), setRectangleDeltaPhiVetoBarrelCharged(), setRectangleDeltaPhiVetoBarrelNeutrals(), setRectangleDeltaPhiVetoBarrelPhotons(), setRectangleDeltaPhiVetoEndcapCharged(), setRectangleDeltaPhiVetoEndcapNeutrals(), setRectangleDeltaPhiVetoEndcapPhotons(), setRectangleVetoBarrel(), setRectangleVetoEndcap(), and setUseCrystalSize().

Referenced by initializeElectronIsolation(), initializeElectronIsolationInRings(), initializePhotonIsolation(), and initializePhotonIsolationInRings().

39  {
40 
42 
43  //By default check for an option vertex association
44  checkClosestZVertex = kTRUE;
45 
46  //Apply vetoes
48 
55 
56 
63 
64 
71 
72 
74 
75  //Setup veto conditions for electrons
76  setDeltaRVetoBarrel(kTRUE);
77  setDeltaRVetoEndcap(kTRUE);
78  setRectangleVetoBarrel(kFALSE);
79  setRectangleVetoEndcap(kFALSE);
80  setApplyDzDxyVeto(kFALSE);
81  setApplyPFPUVeto(kTRUE);
82  setApplyMissHitPhVeto(kTRUE); //NOTE: decided to go for this on the 26May 2012
83  //Current recommended default value for the electrons
84  setUseCrystalSize(kFALSE);
85 
86  // setDeltaRVetoBarrelPhotons(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
87  // setDeltaRVetoBarrelCharged(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
88  // setDeltaRVetoBarrelNeutrals(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
91  // setDeltaRVetoEndcapNeutrals(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
92 
93  setConeSize(0.4);
94 
95 
96  }else{
97  //Setup veto conditions for photons
98  setApplyDzDxyVeto(kTRUE);
99  setApplyPFPUVeto(kTRUE);
100  setApplyMissHitPhVeto(kFALSE);
101  setDeltaRVetoBarrel(kTRUE);
102  setDeltaRVetoEndcap(kTRUE);
103  setRectangleVetoBarrel(kTRUE);
104  setRectangleVetoEndcap(kFALSE);
105  setUseCrystalSize(kTRUE);
106  setConeSize(0.3);
107 
117 
128  }
129 
130 
131 }
void setRectangleVetoEndcap(Bool_t bValue=kTRUE)
void setDeltaRVetoBarrel(Bool_t bValue=kTRUE)
void setNumberOfCrystalEndcapPhotons(float fValue=-1)
void setDeltaRVetoEndcap(Bool_t bValue=kTRUE)
void setRectangleDeltaPhiVetoBarrelPhotons(float fValue=-1.0)
void setApplyMissHitPhVeto(Bool_t bValue=kFALSE)
void setApplyDzDxyVeto(Bool_t bValue=kTRUE)
void setDeltaRVetoBarrelNeutrals(float fValue=-1.0)
void setDeltaRVetoEndcapNeutrals(float fValue=-1.0)
void setDeltaRVetoBarrelCharged(float fValue=-1.0)
void setDeltaRVetoEndcapPhotons(float fValue=-1.0)
void setApplyPFPUVeto(Bool_t bValue=kFALSE)
void setRectangleVetoBarrel(Bool_t bValue=kTRUE)
void setRectangleDeltaEtaVetoBarrelNeutrals(float fValue=-1.0)
void setUseCrystalSize(Bool_t bValue=kFALSE)
void setParticleType(int iValue)
void setRectangleDeltaPhiVetoBarrelCharged(float fValue=-1.0)
void setRectangleDeltaPhiVetoEndcapNeutrals(float fValue=-1.0)
void setRectangleDeltaPhiVetoBarrelNeutrals(float fValue=-1.0)
void setRectangleDeltaEtaVetoBarrelCharged(float fValue=-1.0)
void setDeltaRVetoBarrelPhotons(float fValue=-1.0)
void setRectangleDeltaPhiVetoEndcapCharged(float fValue=-1.0)
void setRectangleDeltaEtaVetoEndcapCharged(float fValue=-1.0)
void setRectangleDeltaEtaVetoEndcapPhotons(float fValue=-1.0)
void setDeltaRVetoEndcapCharged(float fValue=-1.0)
void setApplyVeto(Bool_t bValue=kTRUE)
void setRectangleDeltaPhiVetoEndcapPhotons(float fValue=-1.0)
void setRectangleDeltaEtaVetoBarrelPhotons(float fValue=-1.0)
void setRectangleDeltaEtaVetoEndcapNeutrals(float fValue=-1.0)
void setConeSize(float fValue=0.4)
void PFIsolationEstimator::initializeElectronIsolation ( Bool_t  bApplyVeto)

Definition at line 134 of file PFIsolationEstimator.cc.

References fConeSize, initialize(), initializeRings(), and kElectron.

134  {
137 
138 // std::cout << " ********* Init Entering in kElectron setup "
139 // << " bApplyVeto " << bApplyVeto
140 // << " bDeltaRVetoBarrel " << bDeltaRVetoBarrel
141 // << " bDeltaRVetoEndcap " << bDeltaRVetoEndcap
142 // << " cone size " << fConeSize
143 // << " fDeltaRVetoEndcapPhotons " << fDeltaRVetoEndcapPhotons
144 // << " fDeltaRVetoEndcapNeutrals " << fDeltaRVetoEndcapNeutrals
145 // << " fDeltaRVetoEndcapCharged " << fDeltaRVetoEndcapCharged << std::endl;
146 
147 }
void initialize(Bool_t bApplyVeto, int iParticleType)
void initializeRings(int iNumberOfRings, float fRingSize)
void PFIsolationEstimator::initializeElectronIsolationInRings ( Bool_t  bApplyVeto,
int  iNumberOfRings,
float  fRingSize 
)

Definition at line 157 of file PFIsolationEstimator.cc.

References initialize(), initializeRings(), and kElectron.

void PFIsolationEstimator::initializePhotonIsolation ( Bool_t  bApplyVeto)

Definition at line 150 of file PFIsolationEstimator.cc.

References fConeSize, initialize(), initializeRings(), and kPhoton.

Referenced by AdHocNTupler::fill(), and PhotonIsoProducer::PhotonIsoProducer().

150  {
153 }
void initialize(Bool_t bApplyVeto, int iParticleType)
void initializeRings(int iNumberOfRings, float fRingSize)
void PFIsolationEstimator::initializePhotonIsolationInRings ( Bool_t  bApplyVeto,
int  iNumberOfRings,
float  fRingSize 
)

Definition at line 163 of file PFIsolationEstimator.cc.

References initialize(), initializeRings(), and kPhoton.

void PFIsolationEstimator::initializeRings ( int  iNumberOfRings,
float  fRingSize 
)

Definition at line 170 of file PFIsolationEstimator.cc.

References fConeSize, fIsolationInRings, fIsolationInRingsCharged, fIsolationInRingsChargedAll, fIsolationInRingsNeutral, fIsolationInRingsPhoton, objects.autophobj::float, iNumberOfRings, setNumbersOfRings(), and setRingSize().

Referenced by initializeElectronIsolation(), initializeElectronIsolationInRings(), initializePhotonIsolation(), and initializePhotonIsolationInRings().

170  {
171 
174 
175  fIsolationInRings.clear();
176  for(int isoBin =0;isoBin<iNumberOfRings;isoBin++){
177  float fTemp = 0.0;
178  fIsolationInRings.push_back(fTemp);
179 
180  float fTempPhoton = 0.0;
181  fIsolationInRingsPhoton.push_back(fTempPhoton);
182 
183  float fTempNeutral = 0.0;
184  fIsolationInRingsNeutral.push_back(fTempNeutral);
185 
186  float fTempCharged = 0.0;
187  fIsolationInRingsCharged.push_back(fTempCharged);
188 
189  float fTempChargedAll = 0.0;
190  fIsolationInRingsChargedAll.push_back(fTempChargedAll);
191 
192  }
193 
194  fConeSize = fRingSize * (float)iNumberOfRings;
195 
196 }
std::vector< float > fIsolationInRingsNeutral
std::vector< float > fIsolationInRingsPhoton
void setNumbersOfRings(int iValue=1)
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
std::vector< float > fIsolationInRingsCharged
void setRingSize(float fValue=0.4)
float PFIsolationEstimator::isChargedParticleVetoed ( const reco::PFCandidate pfIsoCand,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 568 of file PFIsolationEstimator.cc.

Referenced by fGetIsolationInRings(), and setRectangleDeltaEtaVetoEndcapCharged().

568  {
569  //need code to handle special conditions
570 
571  return -999;
572 }
float PFIsolationEstimator::isChargedParticleVetoed ( const reco::PFCandidate pfIsoCand,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 575 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyDzDxyVeto, bApplyPFPUVeto, bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, chargedHadronVertex(), hiPixelPairStep_cff::deltaPhi, boostedElectronIsolation_cff::deltaR, PVValHelper::dxy, PVValHelper::dz, reco::LeafCandidate::eta(), fConeSize, fDeltaEta, fDeltaPhi, fDeltaR, fDeltaRVetoBarrelCharged, fDeltaRVetoEndcapCharged, fEta, fPhi, fRectangleDeltaEtaVetoBarrelCharged, fRectangleDeltaEtaVetoEndcapCharged, fRectangleDeltaPhiVetoBarrelCharged, fRectangleDeltaPhiVetoEndcapCharged, fVx, fVy, iParticleType, edm::Ref< C, T, F >::isNull(), kPhoton, reco::LeafCandidate::phi(), pivotInBarrel, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::PFCandidate::trackRef(), and badGlobalMuonTaggersAOD_cff::vtx.

575  {
576 
577  reco::VertexRef vtx = chargedHadronVertex(vertices, *pfIsoCand );
578  if(vtx.isNull())
579  return -999.;
580 
581 // float fVtxMainX = (*vtxMain).x();
582 // float fVtxMainY = (*vtxMain).y();
583  float fVtxMainZ = (*vtxMain).z();
584 
585  if(bApplyPFPUVeto) {
586  if(vtx != vtxMain)
587  return -999.;
588  }
589 
590 
591  if(bApplyDzDxyVeto) {
592  if(iParticleType==kPhoton){
593 
594  float dz = std::abs( pfIsoCand->trackRef()->dz( (*vtxMain).position() ) );
595  if (dz > 0.2)
596  return -999.;
597 
598  double dxy = pfIsoCand->trackRef()->dxy( (*vtxMain).position() );
599  if (std::abs(dxy) > 0.1)
600  return -999.;
601 
602  /*
603  float dz = std::abs(vtx->z() - fVtxMainZ);
604  if (dz > 1.)
605  return -999.;
606 
607 
608  double dxy = ( -(vtx->x() - fVtxMainX)*pfIsoCand->py() + (vtx->y() - fVtxMainY)*pfIsoCand->px()) / pfIsoCand->pt();
609 
610  if(std::abs(dxy) > 0.2)
611  return -999.;
612  */
613  }else{
614 
615 
616  float dz = std::abs(vtx->z() - fVtxMainZ);
617  if (dz > 1.)
618  return -999.;
619 
620  double dxy = ( -(vtx->x() - fVx)*pfIsoCand->py() + (vtx->y() - fVy)*pfIsoCand->px()) / pfIsoCand->pt();
621  if(std::abs(dxy) > 0.1)
622  return -999.;
623  }
624  }
625 
626  fDeltaR = deltaR(pfIsoCand->eta(),pfIsoCand->phi(),fEta,fPhi);
627 
628  if(fDeltaR > fConeSize)
629  return -999.;
630 
631  fDeltaPhi = deltaPhi(fPhi,pfIsoCand->phi());
632  fDeltaEta = fEta-pfIsoCand->eta();
633 
634 
635 // std::cout << " charged hadron: DR " << fDeltaR
636 // << " pt " << pfIsoCand->pt() << " eta,phi " << pfIsoCand->eta() << ", " << pfIsoCand->phi()
637 // << " fVtxMainZ " << (*vtxMain).z() << " cand z " << vtx->z() << std::endl;
638 
639 
640  if(!bApplyVeto)
641  return fDeltaR;
642 
643  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
644  // this will be changed in the future
645  if(pivotInBarrel){
647  return fDeltaR;
648  }
649 
650  if(bDeltaRVetoBarrel){
652  return -999.;
653  }
656  return -999.;
657  }
658  }
659 
660  }else{
662  return fDeltaR;
663  }
664  if(bDeltaRVetoEndcap){
666  return -999.;
667  }
670  return -999.;
671  }
672  }
673  }
674 
675 
676 
677 
678  return fDeltaR;
679 }
double eta() const final
momentum pseudorapidity
reco::VertexRef chargedHadronVertex(edm::Handle< reco::VertexCollection > verticies, const reco::PFCandidate &pfcand)
double px() const final
x coordinate of momentum vector
double pt() const final
transverse momentum
reco::TrackRef trackRef() const
Definition: PFCandidate.cc:442
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isNull() const
Checks for null.
Definition: Ref.h:248
double py() const final
y coordinate of momentum vector
double phi() const final
momentum azimuthal angle
Bool_t PFIsolationEstimator::isInitialized ( ) const
inline
float PFIsolationEstimator::isNeutralParticleVetoed ( const reco::PFCandidate pfIsoCand)

Definition at line 518 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, hiPixelPairStep_cff::deltaPhi, boostedElectronIsolation_cff::deltaR, reco::LeafCandidate::eta(), fConeSize, fDeltaEta, fDeltaPhi, fDeltaR, fDeltaRVetoBarrelNeutrals, fDeltaRVetoEndcapNeutrals, fEta, fPhi, fRectangleDeltaEtaVetoBarrelNeutrals, fRectangleDeltaEtaVetoEndcapNeutrals, fRectangleDeltaPhiVetoBarrelNeutrals, fRectangleDeltaPhiVetoEndcapNeutrals, reco::LeafCandidate::phi(), and pivotInBarrel.

Referenced by fGetIsolationInRings(), and setRectangleDeltaEtaVetoEndcapCharged().

518  {
519 
520  fDeltaR = deltaR(fEta,fPhi,pfIsoCand->eta(),pfIsoCand->phi());
521 
522  if(fDeltaR > fConeSize)
523  return -999;
524 
525  fDeltaPhi = deltaPhi(fPhi,pfIsoCand->phi());
526  fDeltaEta = fEta-pfIsoCand->eta();
527 
528  if(!bApplyVeto)
529  return fDeltaR;
530 
531  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
532  // this will be changed in the future
533  if(pivotInBarrel){
535  return fDeltaR;
536  }
537 
538  if(bDeltaRVetoBarrel){
540  return -999.;
541  }
544  return -999.;
545  }
546  }
547 
548  }else{
550  return fDeltaR;
551  }
552  if(bDeltaRVetoEndcap){
554  return -999.;
555  }
558  return -999.;
559  }
560  }
561  }
562 
563  return fDeltaR;
564 }
double eta() const final
momentum pseudorapidity
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double phi() const final
momentum azimuthal angle
float PFIsolationEstimator::isPhotonParticleVetoed ( const reco::PFCandidate pfIsoCand)

Definition at line 460 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyMissHitPhVeto, bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, bUseCrystalSize, hiPixelPairStep_cff::deltaPhi, boostedElectronIsolation_cff::deltaR, reco::LeafCandidate::eta(), fConeSize, fDeltaEta, fDeltaPhi, fDeltaR, fDeltaRVetoBarrelPhotons, fDeltaRVetoEndcapPhotons, fEta, fNumberOfCrystalEndcapPhotons, fPhi, fRectangleDeltaEtaVetoBarrelPhotons, fRectangleDeltaEtaVetoEndcapPhotons, fRectangleDeltaPhiVetoBarrelPhotons, fRectangleDeltaPhiVetoEndcapPhotons, iMissHits, edm::Ref< C, T, F >::isNonnull(), reco::PFCandidate::mva_nothing_gamma(), reco::LeafCandidate::phi(), pivotInBarrel, refSC, and reco::PFCandidate::superClusterRef().

Referenced by fGetIsolationInRings(), and setRectangleDeltaEtaVetoEndcapCharged().

460  {
461 
462 
463  fDeltaR = deltaR(fEta,fPhi,pfIsoCand->eta(),pfIsoCand->phi());
464 
465  if(fDeltaR > fConeSize)
466  return -999.;
467 
468  fDeltaPhi = deltaPhi(fPhi,pfIsoCand->phi());
469  fDeltaEta = fEta-pfIsoCand->eta();
470 
471  if(!bApplyVeto)
472  return fDeltaR;
473 
474  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
475  // this will be changed in the future
476 
477  if(bApplyMissHitPhVeto) {
478  if(iMissHits > 0)
479  if(pfIsoCand->mva_nothing_gamma() > 0.99) {
480  if(pfIsoCand->superClusterRef().isNonnull() && refSC.isNonnull()) {
481  if(pfIsoCand->superClusterRef() == refSC)
482  return -999.;
483  }
484  }
485  }
486 
487  if(pivotInBarrel){
488  if(bDeltaRVetoBarrel){
490  return -999.;
491  }
492 
495  return -999.;
496  }
497  }
498  }else{
499  if (bUseCrystalSize == true) {
500  fDeltaRVetoEndcapPhotons = 0.00864*std::abs(sinh(refSC->position().eta()))*fNumberOfCrystalEndcapPhotons;
501  }
502 
503  if(bDeltaRVetoEndcap){
505  return -999.;
506  }
509  return -999.;
510  }
511  }
512  }
513 
514  return fDeltaR;
515 }
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:251
double eta() const final
momentum pseudorapidity
float mva_nothing_gamma() const
mva for gamma detection
Definition: PFCandidate.h:333
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::SuperClusterRef refSC
double phi() const final
momentum azimuthal angle
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:609
int PFIsolationEstimator::matchPFObject ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl 
)

Definition at line 757 of file PFIsolationEstimator.cc.

References Abs(), mps_fire::i, reco::LeafCandidate::pdgId(), reco::Photon::superCluster(), and reco::PFCandidate::superClusterRef().

Referenced by getRingSize().

757  {
758 
759  Int_t iMatch = -1;
760 
761  int i=0;
762  for(reco::PFCandidateCollection::const_iterator iPF=Candidates->begin();iPF !=Candidates->end();iPF++){
763  const reco::PFCandidate& pfParticle = (*iPF);
764  // if((((pfParticle.pdgId()==22 && pfParticle.mva_nothing_gamma()>0.01) || TMath::Abs(pfParticle.pdgId())==11) )){
765  if((((pfParticle.pdgId()==22 ) || TMath::Abs(pfParticle.pdgId())==11) )){
766 
767  if(pfParticle.superClusterRef()==photon->superCluster())
768  iMatch= i;
769 
770  }
771 
772  i++;
773  }
774 
775 /*
776  if(iMatch == -1){
777  i=0;
778  float fPt = -1;
779  for(reco::PFCandidateCollection::const_iterator iPF=Candidates->begin();iPF !=Candidates->end();iPF++){
780  const reco::PFCandidate& pfParticle = (*iPF);
781  if((((pfParticle.pdgId()==22 ) || TMath::Abs(pfParticle.pdgId())==11) )){
782  if(pfParticle.pt()>fPt){
783  fDeltaR = deltaR(pfParticle.eta(),pfParticle.phi(),photon->eta(),photon->phi());
784  if(fDeltaR<0.1){
785  iMatch = i;
786  fPt = pfParticle.pt();
787  }
788  }
789  }
790  i++;
791  }
792  }
793 */
794 
795  return iMatch;
796 
797 }
int pdgId() const final
PDG identifier.
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
T Abs(T a)
Definition: MathUtil.h:49
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:609
int PFIsolationEstimator::matchPFObject ( const reco::GsfElectron photon,
const reco::PFCandidateCollection pfParticlesColl 
)

Definition at line 803 of file PFIsolationEstimator.cc.

References Abs(), boostedElectronIsolation_cff::deltaR, reco::LeafCandidate::eta(), fDeltaR, fPt, mps_fire::i, reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::GsfElectron::superCluster(), and reco::PFCandidate::superClusterRef().

803  {
804 
805  Int_t iMatch = -1;
806 
807  int i=0;
808  for(reco::PFCandidateCollection::const_iterator iPF=Candidates->begin();iPF !=Candidates->end();iPF++){
809  const reco::PFCandidate& pfParticle = (*iPF);
810  // if((((pfParticle.pdgId()==22 && pfParticle.mva_nothing_gamma()>0.01) || TMath::Abs(pfParticle.pdgId())==11) )){
811  if((((pfParticle.pdgId()==22 ) || TMath::Abs(pfParticle.pdgId())==11) )){
812 
813  if(pfParticle.superClusterRef()==electron->superCluster())
814  iMatch= i;
815 
816  }
817 
818  i++;
819  }
820 
821  if(iMatch == -1){
822  i=0;
823  float fPt = -1;
824  for(reco::PFCandidateCollection::const_iterator iPF=Candidates->begin();iPF !=Candidates->end();iPF++){
825  const reco::PFCandidate& pfParticle = (*iPF);
826  if((((pfParticle.pdgId()==22 ) || TMath::Abs(pfParticle.pdgId())==11) )){
827  if(pfParticle.pt()>fPt){
828  fDeltaR = deltaR(pfParticle.eta(),pfParticle.phi(),electron->eta(),electron->phi());
829  if(fDeltaR<0.1){
830  iMatch = i;
831  fPt = pfParticle.pt();
832  }
833  }
834  }
835  i++;
836  }
837  }
838 
839  return iMatch;
840 
841 }
int pdgId() const final
PDG identifier.
double eta() const final
momentum pseudorapidity
double pt() const final
transverse momentum
T Abs(T a)
Definition: MathUtil.h:49
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
double phi() const final
momentum azimuthal angle
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:609
void PFIsolationEstimator::setApplyDzDxyVeto ( Bool_t  bValue = kTRUE)
inline

Definition at line 91 of file PFIsolationEstimator.h.

References bApplyDzDxyVeto.

Referenced by initialize().

91 { bApplyDzDxyVeto = bValue;};
void PFIsolationEstimator::setApplyMissHitPhVeto ( Bool_t  bValue = kFALSE)
inline

Definition at line 92 of file PFIsolationEstimator.h.

References bApplyMissHitPhVeto.

Referenced by initialize().

92 { bApplyMissHitPhVeto = bValue;};
void PFIsolationEstimator::setApplyPFPUVeto ( Bool_t  bValue = kFALSE)
inline

Definition at line 90 of file PFIsolationEstimator.h.

References bApplyPFPUVeto.

Referenced by initialize().

90 {bApplyPFPUVeto = bValue;};
void PFIsolationEstimator::setApplyVeto ( Bool_t  bValue = kTRUE)
inline

Definition at line 89 of file PFIsolationEstimator.h.

References bApplyVeto.

Referenced by initialize().

89 { bApplyVeto = bValue;};
void PFIsolationEstimator::setConeSize ( float  fValue = 0.4)
inline

Definition at line 84 of file PFIsolationEstimator.h.

References fConeSize.

Referenced by AdHocNTupler::fill(), initialize(), and PhotonIsoProducer::PhotonIsoProducer().

84 { fConeSize = fValue;};
void PFIsolationEstimator::setDeltaRVetoBarrel ( Bool_t  bValue = kTRUE)
inline

Definition at line 93 of file PFIsolationEstimator.h.

References bDeltaRVetoBarrel.

Referenced by initialize().

93 { bDeltaRVetoBarrel = bValue;};
void PFIsolationEstimator::setDeltaRVetoBarrelCharged ( float  fValue = -1.0)
inline

Definition at line 103 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelCharged.

Referenced by initialize().

void PFIsolationEstimator::setDeltaRVetoBarrelNeutrals ( float  fValue = -1.0)
inline

Definition at line 102 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setDeltaRVetoBarrelPhotons ( float  fValue = -1.0)
inline

Definition at line 101 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelPhotons.

Referenced by initialize().

void PFIsolationEstimator::setDeltaRVetoEndcap ( Bool_t  bValue = kTRUE)
inline

Definition at line 94 of file PFIsolationEstimator.h.

References bDeltaRVetoEndcap.

Referenced by initialize().

94 { bDeltaRVetoEndcap = bValue;};
void PFIsolationEstimator::setDeltaRVetoEndcapCharged ( float  fValue = -1.0)
inline

Definition at line 106 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapCharged.

Referenced by initialize().

void PFIsolationEstimator::setDeltaRVetoEndcapNeutrals ( float  fValue = -1.0)
inline

Definition at line 105 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setDeltaRVetoEndcapPhotons ( float  fValue = -1.0)
inline

Definition at line 104 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapPhotons.

Referenced by initialize().

void PFIsolationEstimator::setNumberOfCrystalEndcapPhotons ( float  fValue = -1)
inline

Definition at line 107 of file PFIsolationEstimator.h.

References fNumberOfCrystalEndcapPhotons.

Referenced by initialize().

void PFIsolationEstimator::setNumbersOfRings ( int  iValue = 1)
inline

Definition at line 142 of file PFIsolationEstimator.h.

References iNumberOfRings.

Referenced by initializeRings().

void PFIsolationEstimator::setParticleType ( int  iValue)
inline

Definition at line 86 of file PFIsolationEstimator.h.

References iParticleType.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaEtaVetoBarrelCharged ( float  fValue = -1.0)
inline

Definition at line 119 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelCharged.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaEtaVetoBarrelNeutrals ( float  fValue = -1.0)
inline

Definition at line 118 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaEtaVetoBarrelPhotons ( float  fValue = -1.0)
inline

Definition at line 117 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelPhotons.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaEtaVetoEndcapCharged ( float  fValue = -1.0)
inline
void PFIsolationEstimator::setRectangleDeltaEtaVetoEndcapNeutrals ( float  fValue = -1.0)
inline

Definition at line 121 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoEndcapNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaEtaVetoEndcapPhotons ( float  fValue = -1.0)
inline

Definition at line 120 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoEndcapPhotons.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoBarrelCharged ( float  fValue = -1.0)
inline

Definition at line 111 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelCharged.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoBarrelNeutrals ( float  fValue = -1.0)
inline

Definition at line 110 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoBarrelPhotons ( float  fValue = -1.0)
inline

Definition at line 109 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelPhotons.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoEndcapCharged ( float  fValue = -1.0)
inline

Definition at line 114 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapCharged.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoEndcapNeutrals ( float  fValue = -1.0)
inline

Definition at line 113 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapNeutrals.

Referenced by initialize().

void PFIsolationEstimator::setRectangleDeltaPhiVetoEndcapPhotons ( float  fValue = -1.0)
inline

Definition at line 112 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapPhotons.

Referenced by initialize().

void PFIsolationEstimator::setRectangleVetoBarrel ( Bool_t  bValue = kTRUE)
inline

Definition at line 95 of file PFIsolationEstimator.h.

References bRectangleVetoBarrel.

Referenced by initialize().

95 { bRectangleVetoBarrel = bValue;};
void PFIsolationEstimator::setRectangleVetoEndcap ( Bool_t  bValue = kTRUE)
inline

Definition at line 96 of file PFIsolationEstimator.h.

References bRectangleVetoEndcap.

Referenced by initialize().

96 { bRectangleVetoEndcap = bValue;};
void PFIsolationEstimator::setRingSize ( float  fValue = 0.4)
inline

Definition at line 143 of file PFIsolationEstimator.h.

References fRingSize.

Referenced by initializeRings().

143 {fRingSize = fValue;};
void PFIsolationEstimator::setUseCrystalSize ( Bool_t  bValue = kFALSE)
inline

Definition at line 98 of file PFIsolationEstimator.h.

References bUseCrystalSize.

Referenced by initialize().

98 { bUseCrystalSize = bValue;};

Member Data Documentation

Bool_t PFIsolationEstimator::bApplyDzDxyVeto
private

Definition at line 172 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setApplyDzDxyVeto().

Bool_t PFIsolationEstimator::bApplyMissHitPhVeto
private

Definition at line 174 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setApplyMissHitPhVeto().

Bool_t PFIsolationEstimator::bApplyPFPUVeto
private

Definition at line 173 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setApplyPFPUVeto().

Bool_t PFIsolationEstimator::bApplyVeto
private
Bool_t PFIsolationEstimator::bDeltaRVetoBarrel
private
Bool_t PFIsolationEstimator::bDeltaRVetoEndcap
private
Bool_t PFIsolationEstimator::bRectangleVetoBarrel
private
Bool_t PFIsolationEstimator::bRectangleVetoEndcap
private
Bool_t PFIsolationEstimator::bUseCrystalSize
private

Definition at line 175 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setUseCrystalSize().

Bool_t PFIsolationEstimator::checkClosestZVertex
private

Definition at line 169 of file PFIsolationEstimator.h.

Referenced by chargedHadronVertex(), and initialize().

float PFIsolationEstimator::fConeSize
private
float PFIsolationEstimator::fDeltaEta
private
float PFIsolationEstimator::fDeltaPhi
private
float PFIsolationEstimator::fDeltaR
private
float PFIsolationEstimator::fDeltaRVetoBarrelCharged
private

Definition at line 185 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setDeltaRVetoBarrelCharged().

float PFIsolationEstimator::fDeltaRVetoBarrelNeutrals
private

Definition at line 184 of file PFIsolationEstimator.h.

Referenced by isNeutralParticleVetoed(), and setDeltaRVetoBarrelNeutrals().

float PFIsolationEstimator::fDeltaRVetoBarrelPhotons
private

Definition at line 183 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setDeltaRVetoBarrelPhotons().

float PFIsolationEstimator::fDeltaRVetoEndcapCharged
private

Definition at line 189 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setDeltaRVetoEndcapCharged().

float PFIsolationEstimator::fDeltaRVetoEndcapNeutrals
private

Definition at line 188 of file PFIsolationEstimator.h.

Referenced by isNeutralParticleVetoed(), and setDeltaRVetoEndcapNeutrals().

float PFIsolationEstimator::fDeltaRVetoEndcapPhotons
private

Definition at line 187 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setDeltaRVetoEndcapPhotons().

float PFIsolationEstimator::fEta
private
float PFIsolationEstimator::fEtaSC
private

Definition at line 220 of file PFIsolationEstimator.h.

Bool_t PFIsolationEstimator::fisInitialized
private

Definition at line 156 of file PFIsolationEstimator.h.

Referenced by isInitialized().

float PFIsolationEstimator::fIsolation
private

Definition at line 157 of file PFIsolationEstimator.h.

Referenced by fGetIsolation().

float PFIsolationEstimator::fIsolationCharged
private

Definition at line 160 of file PFIsolationEstimator.h.

Referenced by getIsolationCharged().

float PFIsolationEstimator::fIsolationChargedAll
private

Definition at line 161 of file PFIsolationEstimator.h.

Referenced by getIsolationChargedAll().

std::vector<float > PFIsolationEstimator::fIsolationInRings
private

Definition at line 163 of file PFIsolationEstimator.h.

Referenced by fGetIsolation(), fGetIsolationInRings(), and initializeRings().

std::vector<float > PFIsolationEstimator::fIsolationInRingsCharged
private
std::vector<float > PFIsolationEstimator::fIsolationInRingsChargedAll
private
std::vector<float > PFIsolationEstimator::fIsolationInRingsNeutral
private
std::vector<float > PFIsolationEstimator::fIsolationInRingsPhoton
private
float PFIsolationEstimator::fIsolationNeutral
private

Definition at line 159 of file PFIsolationEstimator.h.

Referenced by getIsolationNeutral().

float PFIsolationEstimator::fIsolationPhoton
private

Definition at line 158 of file PFIsolationEstimator.h.

Referenced by getIsolationPhoton().

float PFIsolationEstimator::fNumberOfCrystalEndcapPhotons
private
float PFIsolationEstimator::fPhi
private
float PFIsolationEstimator::fPhiSC
private

Definition at line 221 of file PFIsolationEstimator.h.

float PFIsolationEstimator::fPt
private

Definition at line 223 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and matchPFObject().

float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelCharged
private
float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelNeutrals
private
float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelPhotons
private
float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapCharged
private
float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapNeutrals
private
float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapPhotons
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelCharged
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelNeutrals
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelPhotons
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapCharged
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapNeutrals
private
float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapPhotons
private
float PFIsolationEstimator::fRingSize
private

Definition at line 212 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), getRingSize(), and setRingSize().

float PFIsolationEstimator::fVx
private

Definition at line 224 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isChargedParticleVetoed().

float PFIsolationEstimator::fVy
private

Definition at line 225 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isChargedParticleVetoed().

float PFIsolationEstimator::fVz
private

Definition at line 226 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings().

int PFIsolationEstimator::iMissHits
private

Definition at line 210 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isPhotonParticleVetoed().

int PFIsolationEstimator::iNumberOfRings
private
int PFIsolationEstimator::iParticleType
private

Definition at line 154 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setParticleType().

bool PFIsolationEstimator::pivotInBarrel
private
reco::SuperClusterRef PFIsolationEstimator::refSC
private
math::XYZVector PFIsolationEstimator::vtxWRTCandidate
private

Definition at line 231 of file PFIsolationEstimator.h.