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 51 of file PFIsolationEstimator.h.

Member Enumeration Documentation

◆ VetoType

Enumerator
kElectron 
kPhoton 

Definition at line 56 of file PFIsolationEstimator.h.

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

Constructor & Destructor Documentation

◆ PFIsolationEstimator()

PFIsolationEstimator::PFIsolationEstimator ( )

Definition at line 24 of file PFIsolationEstimator.cc.

24  : fisInitialized(kFALSE) {
25  // Constructor.
26 }

◆ ~PFIsolationEstimator()

PFIsolationEstimator::~PFIsolationEstimator ( )

Definition at line 29 of file PFIsolationEstimator.cc.

29 {}

Member Function Documentation

◆ chargedHadronVertex()

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

Definition at line 639 of file PFIsolationEstimator.cc.

References funct::abs(), checkClosestZVertex, PVValHelper::dz, gpuVertexFinder::iv, pfDeepBoostedJetPreprocessParams_cfi::pfcand, edm::Handle< T >::product(), AlignmentTracksFromVertexSelector_cfi::vertices, L1BJetProducer_cff::vtx, and w().

Referenced by isChargedParticleVetoed().

640  {
641  //code copied from Florian's PFNoPU class
642 
643  reco::TrackBaseRef trackBaseRef(pfcand.trackRef());
644 
645  size_t iVertex = 0;
646  unsigned index = 0;
647  unsigned nFoundVertex = 0;
648 
649  float bestweight = 0;
650 
651  const reco::VertexCollection& vertices = *(verticesColl.product());
652 
653  for (reco::VertexCollection::const_iterator iv = vertices.begin(); iv != vertices.end(); ++iv, ++index) {
654  const reco::Vertex& vtx = *iv;
655 
656  // loop on tracks in vertices
657  for (reco::Vertex::trackRef_iterator iTrack = vtx.tracks_begin(); iTrack != vtx.tracks_end(); ++iTrack) {
658  const reco::TrackBaseRef& baseRef = *iTrack;
659 
660  // one of the tracks in the vertex is the same as
661  // the track considered in the function
662  if (baseRef == trackBaseRef) {
663  float w = vtx.trackWeight(baseRef);
664  //select the vertex for which the track has the highest weight
665  if (w > bestweight) {
666  bestweight = w;
667  iVertex = index;
668  nFoundVertex++;
669  }
670  }
671  }
672  }
673 
674  if (nFoundVertex > 0) {
675  if (nFoundVertex != 1)
676  edm::LogWarning("TrackOnTwoVertex") << "a track is shared by at least two verteces. Used to be an assert";
677  return reco::VertexRef(verticesColl, iVertex);
678  }
679  // no vertex found with this track.
680 
681  // optional: as a secondary solution, associate the closest vertex in z
682  if (checkClosestZVertex) {
683  double dzmin = 10000.;
684  double ztrack = pfcand.vertex().z();
685  bool foundVertex = false;
686  index = 0;
687  for (reco::VertexCollection::const_iterator iv = vertices.begin(); iv != vertices.end(); ++iv, ++index) {
688  double dz = std::abs(ztrack - iv->z());
689  if (dz < dzmin) {
690  dzmin = dz;
691  iVertex = index;
692  foundVertex = true;
693  }
694  }
695 
696  if (foundVertex)
697  return reco::VertexRef(verticesColl, iVertex);
698  }
699 
700  return reco::VertexRef();
701 }
int32_t *__restrict__ iv
T w() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::Ref< VertexCollection > VertexRef
persistent reference to a Vertex
Definition: VertexFwd.h:13
Log< level::Warning, false > LogWarning
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38

◆ fGetIsolation() [1/3]

float PFIsolationEstimator::fGetIsolation ( const reco::PFCandidate pfCandidate,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 178 of file PFIsolationEstimator.cc.

References fGetIsolationInRings(), fIsolation, fIsolationInRings, refSC, AlignmentTracksFromVertexSelector_cfi::vertices, and L1BJetProducer_cff::vtx.

Referenced by PhotonIsoProducer::filter().

181  {
182  fGetIsolationInRings(pfCandidate, pfParticlesColl, vtx, vertices);
185 
186  return fIsolation;
187 }
std::vector< float > fIsolationInRings
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
reco::SuperClusterRef refSC

◆ fGetIsolation() [2/3]

float PFIsolationEstimator::fGetIsolation ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 249 of file PFIsolationEstimator.cc.

References fGetIsolationInRings(), fIsolation, fIsolationInRings, displacedMuons_cfi::photon, AlignmentTracksFromVertexSelector_cfi::vertices, and L1BJetProducer_cff::vtx.

252  {
253  fGetIsolationInRings(photon, pfParticlesColl, vtx, vertices);
255 
256  return fIsolation;
257 }
std::vector< float > fIsolationInRings
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)

◆ fGetIsolation() [3/3]

float PFIsolationEstimator::fGetIsolation ( const reco::GsfElectron electron,
const reco::PFCandidateCollection pfParticlesColl,
const reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 349 of file PFIsolationEstimator.cc.

References HPSPFTauProducerPuppi_cfi::electron, fGetIsolationInRings(), fIsolation, fIsolationInRings, AlignmentTracksFromVertexSelector_cfi::vertices, and L1BJetProducer_cff::vtx.

352  {
353  fGetIsolationInRings(electron, pfParticlesColl, vtx, vertices);
355 
356  return fIsolation;
357 }
std::vector< float > fIsolationInRings
std::vector< float > fGetIsolationInRings(const reco::PFCandidate *pfCandidate, const reco::PFCandidateCollection *pfParticlesColl, reco::VertexRef vtx, edm::Handle< reco::VertexCollection > vertices)

◆ fGetIsolationInRings() [1/3]

std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::PFCandidate pfCandidate,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 190 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(), AlignmentTracksFromVertexSelector_cfi::vertices, L1BJetProducer_cff::vtx, reco::PFCandidate::vx(), reco::PFCandidate::vy(), and reco::PFCandidate::vz().

Referenced by fGetIsolation().

193  {
194  int isoBin;
195 
196  for (isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
197  fIsolationInRings[isoBin] = 0.;
198  fIsolationInRingsPhoton[isoBin] = 0.;
199  fIsolationInRingsNeutral[isoBin] = 0.;
200  fIsolationInRingsCharged[isoBin] = 0.;
201  fIsolationInRingsChargedAll[isoBin] = 0.;
202  }
203 
204  fEta = pfCandidate->eta();
205  fPhi = pfCandidate->phi();
206  fPt = pfCandidate->pt();
207  fVx = pfCandidate->vx();
208  fVy = pfCandidate->vy();
209  fVz = pfCandidate->vz();
210 
211  pivotInBarrel = std::abs(pfCandidate->positionAtECALEntrance().eta()) < 1.479;
212 
213  for (unsigned iPF = 0; iPF < pfParticlesColl->size(); iPF++) {
214  const reco::PFCandidate& pfParticle = (*pfParticlesColl)[iPF];
215 
216  if (&pfParticle == (pfCandidate))
217  continue;
218 
219  if (pfParticle.pdgId() == 22) {
220  if (isPhotonParticleVetoed(&pfParticle) >= 0.) {
221  isoBin = (int)(fDeltaR / fRingSize);
222  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
223  }
224 
225  } else if (std::abs(pfParticle.pdgId()) == 130) {
226  if (isNeutralParticleVetoed(&pfParticle) >= 0.) {
227  isoBin = (int)(fDeltaR / fRingSize);
228  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
229  }
230 
231  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
232  } else if (std::abs(pfParticle.pdgId()) == 211) {
233  if (isChargedParticleVetoed(&pfParticle, vtx, vertices) >= 0.) {
234  isoBin = (int)(fDeltaR / fRingSize);
235  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
236  }
237  }
238  }
239 
240  for (int isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
241  fIsolationInRings[isoBin] =
243  }
244 
245  return fIsolationInRings;
246 }
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
double pt() const final
transverse momentum
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
double vy() const override
y coordinate of vertex position
Definition: PFCandidate.h:417
const math::XYZPointF & positionAtECALEntrance() const
Definition: PFCandidate.h:388
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsPhoton
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< float > fIsolationInRingsCharged
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
std::vector< float > fIsolationInRingsNeutral
double vz() const override
z coordinate of vertex position
Definition: PFCandidate.h:418
double phi() const final
momentum azimuthal angle
double vx() const override
x coordinate of vertex position
Definition: PFCandidate.h:416
double eta() const final
momentum pseudorapidity

◆ fGetIsolationInRings() [2/3]

std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 260 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(), displacedMuons_cfi::photon, pivotInBarrel, reco::LeafCandidate::pt(), refSC, reco::PFCandidate::superClusterRef(), AlignmentTracksFromVertexSelector_cfi::vertices, L1BJetProducer_cff::vtx, reco::PFCandidate::vx(), reco::PFCandidate::vy(), and reco::PFCandidate::vz().

263  {
264  int isoBin;
265 
266  for (isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
267  fIsolationInRings[isoBin] = 0.;
268  fIsolationInRingsPhoton[isoBin] = 0.;
269  fIsolationInRingsNeutral[isoBin] = 0.;
270  fIsolationInRingsCharged[isoBin] = 0.;
271  fIsolationInRingsChargedAll[isoBin] = 0.;
272  }
273 
274  iMissHits = 0;
275 
276  refSC = photon->superCluster();
277  pivotInBarrel = std::abs((refSC->position().eta())) < 1.479;
278 
279  for (unsigned iPF = 0; iPF < pfParticlesColl->size(); iPF++) {
280  const reco::PFCandidate& pfParticle = (*pfParticlesColl)[iPF];
281 
282  if (pfParticle.superClusterRef().isNonnull() && photon->superCluster().isNonnull() &&
283  pfParticle.superClusterRef() == photon->superCluster())
284  continue;
285 
286  if (pfParticle.pdgId() == 22) {
287  // Set the vertex of reco::Photon to the first PV
288  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - pfParticle.vx(),
289  photon->superCluster()->y() - pfParticle.vy(),
290  photon->superCluster()->z() - pfParticle.vz());
291 
292  fEta = direction.Eta();
293  fPhi = direction.Phi();
294  fVx = pfParticle.vx();
295  fVy = pfParticle.vy();
296  fVz = pfParticle.vz();
297 
298  if (isPhotonParticleVetoed(&pfParticle) >= 0.) {
299  isoBin = (int)(fDeltaR / fRingSize);
300  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
301  }
302 
303  } else if (std::abs(pfParticle.pdgId()) == 130) {
304  // Set the vertex of reco::Photon to the first PV
305  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - pfParticle.vx(),
306  photon->superCluster()->y() - pfParticle.vy(),
307  photon->superCluster()->z() - pfParticle.vz());
308 
309  fEta = direction.Eta();
310  fPhi = direction.Phi();
311  fVx = pfParticle.vx();
312  fVy = pfParticle.vy();
313  fVz = pfParticle.vz();
314 
315  if (isNeutralParticleVetoed(&pfParticle) >= 0.) {
316  isoBin = (int)(fDeltaR / fRingSize);
317  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
318  }
319 
320  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
321  } else if (std::abs(pfParticle.pdgId()) == 211) {
322  // Set the vertex of reco::Photon to the first PV
323  math::XYZVector direction = math::XYZVector(photon->superCluster()->x() - (*vtx).x(),
324  photon->superCluster()->y() - (*vtx).y(),
325  photon->superCluster()->z() - (*vtx).z());
326 
327  fEta = direction.Eta();
328  fPhi = direction.Phi();
329  fVx = (*vtx).x();
330  fVy = (*vtx).y();
331  fVz = (*vtx).z();
332 
333  if (isChargedParticleVetoed(&pfParticle, vtx, vertices) >= 0.) {
334  isoBin = (int)(fDeltaR / fRingSize);
335  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
336  }
337  }
338  }
339 
340  for (int isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
341  fIsolationInRings[isoBin] =
343  }
344 
345  return fIsolationInRings;
346 }
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
double pt() const final
transverse momentum
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
double vy() const override
y coordinate of vertex position
Definition: PFCandidate.h:417
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsPhoton
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< float > fIsolationInRingsCharged
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
reco::SuperClusterRef refSC
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
std::vector< float > fIsolationInRingsNeutral
double vz() const override
z coordinate of vertex position
Definition: PFCandidate.h:418
double vx() const override
x coordinate of vertex position
Definition: PFCandidate.h:416
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:587

◆ fGetIsolationInRings() [3/3]

std::vector< float > PFIsolationEstimator::fGetIsolationInRings ( const reco::GsfElectron electron,
const reco::PFCandidateCollection pfParticlesColl,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 360 of file PFIsolationEstimator.cc.

References funct::abs(), HPSPFTauProducerPuppi_cfi::electron, fDeltaR, fEta, fIsolationInRings, fIsolationInRingsCharged, fIsolationInRingsChargedAll, fIsolationInRingsNeutral, fIsolationInRingsPhoton, fPhi, fPt, fRingSize, fVx, fVy, fVz, iMissHits, createfilelist::int, iNumberOfRings, isChargedParticleVetoed(), isNeutralParticleVetoed(), isPhotonParticleVetoed(), reco::HitPattern::MISSING_INNER_HITS, reco::LeafCandidate::pdgId(), pivotInBarrel, reco::LeafCandidate::pt(), refSC, AlignmentTracksFromVertexSelector_cfi::vertices, and L1BJetProducer_cff::vtx.

363  {
364  int isoBin;
365 
366  for (isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
367  fIsolationInRings[isoBin] = 0.;
368  fIsolationInRingsPhoton[isoBin] = 0.;
369  fIsolationInRingsNeutral[isoBin] = 0.;
370  fIsolationInRingsCharged[isoBin] = 0.;
371  fIsolationInRingsChargedAll[isoBin] = 0.;
372  }
373 
374  // int iMatch = matchPFObject(electron,pfParticlesColl);
375 
376  fEta = electron->eta();
377  fPhi = electron->phi();
378  fPt = electron->pt();
379  fVx = electron->vx();
380  fVy = electron->vy();
381  fVz = electron->vz();
382  iMissHits = electron->gsfTrack()->hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS);
383 
384  // if(electron->ecalDrivenSeed())
385  refSC = electron->superCluster();
386  pivotInBarrel = std::abs((refSC->position().eta())) < 1.479;
387 
388  for (unsigned iPF = 0; iPF < pfParticlesColl->size(); iPF++) {
389  const reco::PFCandidate& pfParticle = (*pfParticlesColl)[iPF];
390 
391  if (pfParticle.pdgId() == 22) {
392  if (isPhotonParticleVetoed(&pfParticle) >= 0.) {
393  isoBin = (int)(fDeltaR / fRingSize);
394  fIsolationInRingsPhoton[isoBin] = fIsolationInRingsPhoton[isoBin] + pfParticle.pt();
395  }
396 
397  } else if (std::abs(pfParticle.pdgId()) == 130) {
398  if (isNeutralParticleVetoed(&pfParticle) >= 0.) {
399  isoBin = (int)(fDeltaR / fRingSize);
400  fIsolationInRingsNeutral[isoBin] = fIsolationInRingsNeutral[isoBin] + pfParticle.pt();
401  }
402 
403  //}else if(std::abs(pfParticle.pdgId()) == 11 ||abs(pfParticle.pdgId()) == 13 || std::abs(pfParticle.pdgId()) == 211){
404  } else if (std::abs(pfParticle.pdgId()) == 211) {
405  if (isChargedParticleVetoed(&pfParticle, vtx, vertices) >= 0.) {
406  isoBin = (int)(fDeltaR / fRingSize);
407 
408  fIsolationInRingsCharged[isoBin] = fIsolationInRingsCharged[isoBin] + pfParticle.pt();
409  }
410  }
411  }
412 
413  for (int isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
414  fIsolationInRings[isoBin] =
416  }
417 
418  return fIsolationInRings;
419 }
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
double pt() const final
transverse momentum
float isChargedParticleVetoed(const reco::PFCandidate *pfIsoCand, edm::Handle< reco::VertexCollection > vertices)
float isPhotonParticleVetoed(const reco::PFCandidate *pfIsoCand)
int pdgId() const final
PDG identifier.
std::vector< float > fIsolationInRingsPhoton
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< float > fIsolationInRingsCharged
float isNeutralParticleVetoed(const reco::PFCandidate *pfIsoCand)
reco::SuperClusterRef refSC
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
std::vector< float > fIsolationInRingsNeutral

◆ getIsolationCharged()

float PFIsolationEstimator::getIsolationCharged ( )
inline

Definition at line 152 of file PFIsolationEstimator.h.

References fIsolationCharged, and fIsolationInRingsCharged.

Referenced by PhotonIsoProducer::filter().

152  {
154  return fIsolationCharged;
155  };
std::vector< float > fIsolationInRingsCharged

◆ getIsolationChargedAll()

float PFIsolationEstimator::getIsolationChargedAll ( )
inline

Definition at line 156 of file PFIsolationEstimator.h.

References fIsolationChargedAll.

◆ getIsolationInRingsCharged()

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

Definition at line 160 of file PFIsolationEstimator.h.

References fIsolationInRingsCharged.

160 { return fIsolationInRingsCharged; };
std::vector< float > fIsolationInRingsCharged

◆ getIsolationInRingsChargedAll()

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

Definition at line 161 of file PFIsolationEstimator.h.

References fIsolationInRingsChargedAll.

161 { return fIsolationInRingsChargedAll; };
std::vector< float > fIsolationInRingsChargedAll

◆ getIsolationInRingsNeutral()

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

Definition at line 159 of file PFIsolationEstimator.h.

References fIsolationInRingsNeutral.

159 { return fIsolationInRingsNeutral; };
std::vector< float > fIsolationInRingsNeutral

◆ getIsolationInRingsPhoton()

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

Definition at line 158 of file PFIsolationEstimator.h.

References fIsolationInRingsPhoton.

158 { return fIsolationInRingsPhoton; };
std::vector< float > fIsolationInRingsPhoton

◆ getIsolationNeutral()

float PFIsolationEstimator::getIsolationNeutral ( )
inline

Definition at line 148 of file PFIsolationEstimator.h.

References fIsolationInRingsNeutral, and fIsolationNeutral.

Referenced by PhotonIsoProducer::filter().

148  {
150  return fIsolationNeutral;
151  };
std::vector< float > fIsolationInRingsNeutral

◆ getIsolationPhoton()

float PFIsolationEstimator::getIsolationPhoton ( )
inline

Definition at line 144 of file PFIsolationEstimator.h.

References fIsolationInRingsPhoton, and fIsolationPhoton.

Referenced by PhotonIsoProducer::filter().

144  {
146  return fIsolationPhoton;
147  };
std::vector< float > fIsolationInRingsPhoton

◆ getNumbersOfRings()

int PFIsolationEstimator::getNumbersOfRings ( )
inline

Definition at line 166 of file PFIsolationEstimator.h.

References iNumberOfRings.

◆ getRingSize()

float PFIsolationEstimator::getRingSize ( )
inline

Definition at line 167 of file PFIsolationEstimator.h.

References fRingSize.

167 { return fRingSize; };

◆ initialize()

void PFIsolationEstimator::initialize ( Bool_t  bApplyVeto,
int  iParticleType 
)
private

Definition at line 32 of file PFIsolationEstimator.cc.

References bApplyVeto, checkClosestZVertex, iParticleType, 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().

32  {
34 
35  //By default check for an option vertex association
36  checkClosestZVertex = kTRUE;
37 
38  //Apply vetoes
40 
47 
54 
61 
63  //Setup veto conditions for electrons
64  setDeltaRVetoBarrel(kTRUE);
65  setDeltaRVetoEndcap(kTRUE);
66  setRectangleVetoBarrel(kFALSE);
67  setRectangleVetoEndcap(kFALSE);
68  setApplyDzDxyVeto(kFALSE);
69  setApplyPFPUVeto(kTRUE);
70  setApplyMissHitPhVeto(kTRUE); //NOTE: decided to go for this on the 26May 2012
71  //Current recommended default value for the electrons
72  setUseCrystalSize(kFALSE);
73 
74  // setDeltaRVetoBarrelPhotons(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
75  // setDeltaRVetoBarrelCharged(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
76  // setDeltaRVetoBarrelNeutrals(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
79  // setDeltaRVetoEndcapNeutrals(1E-5); //NOTE: just to be in synch with the isoDep: fixed isoDep in 26May
80 
81  setConeSize(0.4);
82 
83  } else {
84  //Setup veto conditions for photons
85  setApplyDzDxyVeto(kTRUE);
86  setApplyPFPUVeto(kTRUE);
87  setApplyMissHitPhVeto(kFALSE);
88  setDeltaRVetoBarrel(kTRUE);
89  setDeltaRVetoEndcap(kTRUE);
91  setRectangleVetoEndcap(kFALSE);
92  setUseCrystalSize(kTRUE);
93  setConeSize(0.3);
94 
104 
115  }
116 }
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)

◆ initializeElectronIsolation()

void PFIsolationEstimator::initializeElectronIsolation ( Bool_t  bApplyVeto)

Definition at line 119 of file PFIsolationEstimator.cc.

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

119  {
122 
123  // std::cout << " ********* Init Entering in kElectron setup "
124  // << " bApplyVeto " << bApplyVeto
125  // << " bDeltaRVetoBarrel " << bDeltaRVetoBarrel
126  // << " bDeltaRVetoEndcap " << bDeltaRVetoEndcap
127  // << " cone size " << fConeSize
128  // << " fDeltaRVetoEndcapPhotons " << fDeltaRVetoEndcapPhotons
129  // << " fDeltaRVetoEndcapNeutrals " << fDeltaRVetoEndcapNeutrals
130  // << " fDeltaRVetoEndcapCharged " << fDeltaRVetoEndcapCharged << std::endl;
131 }
void initialize(Bool_t bApplyVeto, int iParticleType)
void initializeRings(int iNumberOfRings, float fRingSize)

◆ initializeElectronIsolationInRings()

void PFIsolationEstimator::initializeElectronIsolationInRings ( Bool_t  bApplyVeto,
int  iNumberOfRings,
float  fRingSize 
)

◆ initializePhotonIsolation()

void PFIsolationEstimator::initializePhotonIsolation ( Bool_t  bApplyVeto)

Definition at line 134 of file PFIsolationEstimator.cc.

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

Referenced by PhotonIsoProducer::PhotonIsoProducer().

134  {
137 }
void initialize(Bool_t bApplyVeto, int iParticleType)
void initializeRings(int iNumberOfRings, float fRingSize)

◆ initializePhotonIsolationInRings()

void PFIsolationEstimator::initializePhotonIsolationInRings ( Bool_t  bApplyVeto,
int  iNumberOfRings,
float  fRingSize 
)

◆ initializeRings()

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

Definition at line 152 of file PFIsolationEstimator.cc.

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

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

152  {
155 
156  fIsolationInRings.clear();
157  for (int isoBin = 0; isoBin < iNumberOfRings; isoBin++) {
158  float fTemp = 0.0;
159  fIsolationInRings.push_back(fTemp);
160 
161  float fTempPhoton = 0.0;
162  fIsolationInRingsPhoton.push_back(fTempPhoton);
163 
164  float fTempNeutral = 0.0;
165  fIsolationInRingsNeutral.push_back(fTempNeutral);
166 
167  float fTempCharged = 0.0;
168  fIsolationInRingsCharged.push_back(fTempCharged);
169 
170  float fTempChargedAll = 0.0;
171  fIsolationInRingsChargedAll.push_back(fTempChargedAll);
172  }
173 
175 }
std::vector< float > fIsolationInRings
std::vector< float > fIsolationInRingsChargedAll
void setNumbersOfRings(int iValue=1)
std::vector< float > fIsolationInRingsPhoton
std::vector< float > fIsolationInRingsCharged
void setRingSize(float fValue=0.4)
std::vector< float > fIsolationInRingsNeutral

◆ isChargedParticleVetoed() [1/2]

float PFIsolationEstimator::isChargedParticleVetoed ( const reco::PFCandidate pfIsoCand,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 530 of file PFIsolationEstimator.cc.

Referenced by fGetIsolationInRings().

531  {
532  //need code to handle special conditions
533 
534  return -999;
535 }

◆ isChargedParticleVetoed() [2/2]

float PFIsolationEstimator::isChargedParticleVetoed ( const reco::PFCandidate pfIsoCand,
reco::VertexRef  vtx,
edm::Handle< reco::VertexCollection vertices 
)

Definition at line 538 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyDzDxyVeto, bApplyPFPUVeto, bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, chargedHadronVertex(), SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, PVValHelper::dxy, PVValHelper::dz, reco::LeafCandidate::eta(), fConeSize, fDeltaEta, fDeltaPhi, fDeltaR, fDeltaRVetoBarrelCharged, fDeltaRVetoEndcapCharged, fEta, fPhi, fRectangleDeltaEtaVetoBarrelCharged, fRectangleDeltaEtaVetoEndcapCharged, fRectangleDeltaPhiVetoBarrelCharged, fRectangleDeltaPhiVetoEndcapCharged, fVx, fVy, iParticleType, kPhoton, reco::LeafCandidate::phi(), pivotInBarrel, reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::PFCandidate::trackRef(), AlignmentTracksFromVertexSelector_cfi::vertices, and L1BJetProducer_cff::vtx.

540  {
542  if (vtx.isNull())
543  return -999.;
544 
545  // float fVtxMainX = (*vtxMain).x();
546  // float fVtxMainY = (*vtxMain).y();
547  float fVtxMainZ = (*vtxMain).z();
548 
549  if (bApplyPFPUVeto) {
550  if (vtx != vtxMain)
551  return -999.;
552  }
553 
554  if (bApplyDzDxyVeto) {
555  if (iParticleType == kPhoton) {
556  float dz = std::abs(pfIsoCand->trackRef()->dz((*vtxMain).position()));
557  if (dz > 0.2)
558  return -999.;
559 
560  double dxy = pfIsoCand->trackRef()->dxy((*vtxMain).position());
561  if (std::abs(dxy) > 0.1)
562  return -999.;
563 
564  /*
565  float dz = std::abs(vtx->z() - fVtxMainZ);
566  if (dz > 1.)
567  return -999.;
568 
569 
570  double dxy = ( -(vtx->x() - fVtxMainX)*pfIsoCand->py() + (vtx->y() - fVtxMainY)*pfIsoCand->px()) / pfIsoCand->pt();
571 
572  if(std::abs(dxy) > 0.2)
573  return -999.;
574  */
575  } else {
576  float dz = std::abs(vtx->z() - fVtxMainZ);
577  if (dz > 1.)
578  return -999.;
579 
580  double dxy = (-(vtx->x() - fVx) * pfIsoCand->py() + (vtx->y() - fVy) * pfIsoCand->px()) / pfIsoCand->pt();
581  if (std::abs(dxy) > 0.1)
582  return -999.;
583  }
584  }
585 
586  fDeltaR = deltaR(pfIsoCand->eta(), pfIsoCand->phi(), fEta, fPhi);
587 
588  if (fDeltaR > fConeSize)
589  return -999.;
590 
591  fDeltaPhi = deltaPhi(fPhi, pfIsoCand->phi());
592  fDeltaEta = fEta - pfIsoCand->eta();
593 
594  // std::cout << " charged hadron: DR " << fDeltaR
595  // << " pt " << pfIsoCand->pt() << " eta,phi " << pfIsoCand->eta() << ", " << pfIsoCand->phi()
596  // << " fVtxMainZ " << (*vtxMain).z() << " cand z " << vtx->z() << std::endl;
597 
598  if (!bApplyVeto)
599  return fDeltaR;
600 
601  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
602  // this will be changed in the future
603  if (pivotInBarrel) {
605  return fDeltaR;
606  }
607 
608  if (bDeltaRVetoBarrel) {
610  return -999.;
611  }
612  if (bRectangleVetoBarrel) {
615  return -999.;
616  }
617  }
618 
619  } else {
621  return fDeltaR;
622  }
623  if (bDeltaRVetoEndcap) {
625  return -999.;
626  }
627  if (bRectangleVetoEndcap) {
630  return -999.;
631  }
632  }
633  }
634 
635  return fDeltaR;
636 }
double pt() const final
transverse momentum
reco::VertexRef chargedHadronVertex(edm::Handle< reco::VertexCollection > verticies, const reco::PFCandidate &pfcand)
double px() const final
x coordinate of momentum vector
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double py() const final
y coordinate of momentum vector
reco::TrackRef trackRef() const
Definition: PFCandidate.cc:437
double phi() const final
momentum azimuthal angle
double eta() const final
momentum pseudorapidity

◆ isInitialized()

Bool_t PFIsolationEstimator::isInitialized ( ) const
inline

Definition at line 66 of file PFIsolationEstimator.h.

References fisInitialized.

66 { return fisInitialized; }

◆ isNeutralParticleVetoed()

float PFIsolationEstimator::isNeutralParticleVetoed ( const reco::PFCandidate pfIsoCand)

Definition at line 480 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_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().

480  {
481  fDeltaR = deltaR(fEta, fPhi, pfIsoCand->eta(), pfIsoCand->phi());
482 
483  if (fDeltaR > fConeSize)
484  return -999;
485 
486  fDeltaPhi = deltaPhi(fPhi, pfIsoCand->phi());
487  fDeltaEta = fEta - pfIsoCand->eta();
488 
489  if (!bApplyVeto)
490  return fDeltaR;
491 
492  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
493  // this will be changed in the future
494  if (pivotInBarrel) {
496  return fDeltaR;
497  }
498 
499  if (bDeltaRVetoBarrel) {
501  return -999.;
502  }
503  if (bRectangleVetoBarrel) {
506  return -999.;
507  }
508  }
509 
510  } else {
512  return fDeltaR;
513  }
514  if (bDeltaRVetoEndcap) {
516  return -999.;
517  }
518  if (bRectangleVetoEndcap) {
521  return -999.;
522  }
523  }
524  }
525 
526  return fDeltaR;
527 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double phi() const final
momentum azimuthal angle
double eta() const final
momentum pseudorapidity

◆ isPhotonParticleVetoed()

float PFIsolationEstimator::isPhotonParticleVetoed ( const reco::PFCandidate pfIsoCand)

Definition at line 422 of file PFIsolationEstimator.cc.

References funct::abs(), bApplyMissHitPhVeto, bApplyVeto, bDeltaRVetoBarrel, bDeltaRVetoEndcap, bRectangleVetoBarrel, bRectangleVetoEndcap, bUseCrystalSize, SiPixelRawToDigiRegional_cfi::deltaPhi, PbPb_ZMuSkimMuonDPG_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().

422  {
423  fDeltaR = deltaR(fEta, fPhi, pfIsoCand->eta(), pfIsoCand->phi());
424 
425  if (fDeltaR > fConeSize)
426  return -999.;
427 
428  fDeltaPhi = deltaPhi(fPhi, pfIsoCand->phi());
429  fDeltaEta = fEta - pfIsoCand->eta();
430 
431  if (!bApplyVeto)
432  return fDeltaR;
433 
434  //NOTE: get the direction for the EB/EE transition region from the deposit just to be in synch with the isoDep
435  // this will be changed in the future
436 
437  if (bApplyMissHitPhVeto) {
438  if (iMissHits > 0)
439  if (pfIsoCand->mva_nothing_gamma() > 0.99) {
440  if (pfIsoCand->superClusterRef().isNonnull() && refSC.isNonnull()) {
441  if (pfIsoCand->superClusterRef() == refSC)
442  return -999.;
443  }
444  }
445  }
446 
447  if (pivotInBarrel) {
448  if (bDeltaRVetoBarrel) {
450  return -999.;
451  }
452 
453  if (bRectangleVetoBarrel) {
456  return -999.;
457  }
458  }
459  } else {
460  if (bUseCrystalSize == true) {
461  fDeltaRVetoEndcapPhotons = 0.00864 * std::abs(sinh(refSC->position().eta())) * fNumberOfCrystalEndcapPhotons;
462  }
463 
464  if (bDeltaRVetoEndcap) {
466  return -999.;
467  }
468  if (bRectangleVetoEndcap) {
471  return -999.;
472  }
473  }
474  }
475 
476  return fDeltaR;
477 }
float mva_nothing_gamma() const
mva for gamma detection
Definition: PFCandidate.h:335
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
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:587
double eta() const final
momentum pseudorapidity

◆ matchPFObject() [1/2]

int PFIsolationEstimator::matchPFObject ( const reco::Photon photon,
const reco::PFCandidateCollection pfParticlesColl 
)

Definition at line 703 of file PFIsolationEstimator.cc.

References mps_fire::i, reco::LeafCandidate::pdgId(), displacedMuons_cfi::photon, and reco::PFCandidate::superClusterRef().

703  {
704  Int_t iMatch = -1;
705 
706  int i = 0;
707  for (reco::PFCandidateCollection::const_iterator iPF = Candidates->begin(); iPF != Candidates->end(); iPF++) {
708  const reco::PFCandidate& pfParticle = (*iPF);
709  // if((((pfParticle.pdgId()==22 && pfParticle.mva_nothing_gamma()>0.01) || TMath::Abs(pfParticle.pdgId())==11) )){
710  if ((((pfParticle.pdgId() == 22) || TMath::Abs(pfParticle.pdgId()) == 11))) {
711  if (pfParticle.superClusterRef() == photon->superCluster())
712  iMatch = i;
713  }
714 
715  i++;
716  }
717 
718  /*
719  if(iMatch == -1){
720  i=0;
721  float fPt = -1;
722  for(reco::PFCandidateCollection::const_iterator iPF=Candidates->begin();iPF !=Candidates->end();iPF++){
723  const reco::PFCandidate& pfParticle = (*iPF);
724  if((((pfParticle.pdgId()==22 ) || TMath::Abs(pfParticle.pdgId())==11) )){
725  if(pfParticle.pt()>fPt){
726  fDeltaR = deltaR(pfParticle.eta(),pfParticle.phi(),photon->eta(),photon->phi());
727  if(fDeltaR<0.1){
728  iMatch = i;
729  fPt = pfParticle.pt();
730  }
731  }
732  }
733  i++;
734  }
735  }
736 */
737 
738  return iMatch;
739 }
int pdgId() const final
PDG identifier.
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:587

◆ matchPFObject() [2/2]

int PFIsolationEstimator::matchPFObject ( const reco::GsfElectron photon,
const reco::PFCandidateCollection pfParticlesColl 
)

Definition at line 741 of file PFIsolationEstimator.cc.

References PbPb_ZMuSkimMuonDPG_cff::deltaR, HPSPFTauProducerPuppi_cfi::electron, reco::LeafCandidate::eta(), fDeltaR, fPt, mps_fire::i, reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), and reco::PFCandidate::superClusterRef().

742  {
743  Int_t iMatch = -1;
744 
745  int i = 0;
746  for (reco::PFCandidateCollection::const_iterator iPF = Candidates->begin(); iPF != Candidates->end(); iPF++) {
747  const reco::PFCandidate& pfParticle = (*iPF);
748  // if((((pfParticle.pdgId()==22 && pfParticle.mva_nothing_gamma()>0.01) || TMath::Abs(pfParticle.pdgId())==11) )){
749  if ((((pfParticle.pdgId() == 22) || TMath::Abs(pfParticle.pdgId()) == 11))) {
750  if (pfParticle.superClusterRef() == electron->superCluster())
751  iMatch = i;
752  }
753 
754  i++;
755  }
756 
757  if (iMatch == -1) {
758  i = 0;
759  float fPt = -1;
760  for (reco::PFCandidateCollection::const_iterator iPF = Candidates->begin(); iPF != Candidates->end(); iPF++) {
761  const reco::PFCandidate& pfParticle = (*iPF);
762  if ((((pfParticle.pdgId() == 22) || TMath::Abs(pfParticle.pdgId()) == 11))) {
763  if (pfParticle.pt() > fPt) {
764  fDeltaR = deltaR(pfParticle.eta(), pfParticle.phi(), electron->eta(), electron->phi());
765  if (fDeltaR < 0.1) {
766  iMatch = i;
767  fPt = pfParticle.pt();
768  }
769  }
770  }
771  i++;
772  }
773  }
774 
775  return iMatch;
776 }
double pt() const final
transverse momentum
int pdgId() const final
PDG identifier.
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
double phi() const final
momentum azimuthal angle
reco::SuperClusterRef superClusterRef() const
return a reference to the corresponding SuperCluster if any
Definition: PFCandidate.cc:587
double eta() const final
momentum pseudorapidity

◆ setApplyDzDxyVeto()

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

Definition at line 104 of file PFIsolationEstimator.h.

References bApplyDzDxyVeto.

Referenced by initialize().

104 { bApplyDzDxyVeto = bValue; };

◆ setApplyMissHitPhVeto()

void PFIsolationEstimator::setApplyMissHitPhVeto ( Bool_t  bValue = kFALSE)
inline

Definition at line 105 of file PFIsolationEstimator.h.

References bApplyMissHitPhVeto.

Referenced by initialize().

105 { bApplyMissHitPhVeto = bValue; };

◆ setApplyPFPUVeto()

void PFIsolationEstimator::setApplyPFPUVeto ( Bool_t  bValue = kFALSE)
inline

Definition at line 103 of file PFIsolationEstimator.h.

References bApplyPFPUVeto.

Referenced by initialize().

103 { bApplyPFPUVeto = bValue; };

◆ setApplyVeto()

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

Definition at line 102 of file PFIsolationEstimator.h.

References bApplyVeto.

Referenced by initialize().

102 { bApplyVeto = bValue; };

◆ setConeSize()

void PFIsolationEstimator::setConeSize ( float  fValue = 0.4)
inline

Definition at line 97 of file PFIsolationEstimator.h.

References fConeSize.

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

97 { fConeSize = fValue; };

◆ setDeltaRVetoBarrel()

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

Definition at line 106 of file PFIsolationEstimator.h.

References bDeltaRVetoBarrel.

Referenced by initialize().

106 { bDeltaRVetoBarrel = bValue; };

◆ setDeltaRVetoBarrelCharged()

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

Definition at line 116 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelCharged.

Referenced by initialize().

116 { fDeltaRVetoBarrelCharged = fValue; };

◆ setDeltaRVetoBarrelNeutrals()

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

Definition at line 115 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelNeutrals.

Referenced by initialize().

◆ setDeltaRVetoBarrelPhotons()

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

Definition at line 114 of file PFIsolationEstimator.h.

References fDeltaRVetoBarrelPhotons.

Referenced by initialize().

114 { fDeltaRVetoBarrelPhotons = fValue; };

◆ setDeltaRVetoEndcap()

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

Definition at line 107 of file PFIsolationEstimator.h.

References bDeltaRVetoEndcap.

Referenced by initialize().

107 { bDeltaRVetoEndcap = bValue; };

◆ setDeltaRVetoEndcapCharged()

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

Definition at line 119 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapCharged.

Referenced by initialize().

119 { fDeltaRVetoEndcapCharged = fValue; };

◆ setDeltaRVetoEndcapNeutrals()

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

Definition at line 118 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapNeutrals.

Referenced by initialize().

◆ setDeltaRVetoEndcapPhotons()

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

Definition at line 117 of file PFIsolationEstimator.h.

References fDeltaRVetoEndcapPhotons.

Referenced by initialize().

117 { fDeltaRVetoEndcapPhotons = fValue; };

◆ setNumberOfCrystalEndcapPhotons()

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

Definition at line 120 of file PFIsolationEstimator.h.

References fNumberOfCrystalEndcapPhotons.

Referenced by initialize().

◆ setNumbersOfRings()

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

Definition at line 163 of file PFIsolationEstimator.h.

References iNumberOfRings.

Referenced by initializeRings().

163 { iNumberOfRings = iValue; };

◆ setParticleType()

void PFIsolationEstimator::setParticleType ( int  iValue)
inline

Definition at line 99 of file PFIsolationEstimator.h.

References iParticleType.

Referenced by initialize().

99 { iParticleType = iValue; };

◆ setRectangleDeltaEtaVetoBarrelCharged()

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

Definition at line 131 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelCharged.

Referenced by initialize().

◆ setRectangleDeltaEtaVetoBarrelNeutrals()

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

Definition at line 130 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelNeutrals.

Referenced by initialize().

◆ setRectangleDeltaEtaVetoBarrelPhotons()

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

Definition at line 129 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoBarrelPhotons.

Referenced by initialize().

◆ setRectangleDeltaEtaVetoEndcapCharged()

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

Definition at line 134 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoEndcapCharged.

Referenced by initialize().

◆ setRectangleDeltaEtaVetoEndcapNeutrals()

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

Definition at line 133 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoEndcapNeutrals.

Referenced by initialize().

◆ setRectangleDeltaEtaVetoEndcapPhotons()

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

Definition at line 132 of file PFIsolationEstimator.h.

References fRectangleDeltaEtaVetoEndcapPhotons.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoBarrelCharged()

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

Definition at line 124 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelCharged.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoBarrelNeutrals()

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

Definition at line 123 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelNeutrals.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoBarrelPhotons()

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

Definition at line 122 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoBarrelPhotons.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoEndcapCharged()

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

Definition at line 127 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapCharged.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoEndcapNeutrals()

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

Definition at line 126 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapNeutrals.

Referenced by initialize().

◆ setRectangleDeltaPhiVetoEndcapPhotons()

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

Definition at line 125 of file PFIsolationEstimator.h.

References fRectangleDeltaPhiVetoEndcapPhotons.

Referenced by initialize().

◆ setRectangleVetoBarrel()

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

Definition at line 108 of file PFIsolationEstimator.h.

References bRectangleVetoBarrel.

Referenced by initialize().

108 { bRectangleVetoBarrel = bValue; };

◆ setRectangleVetoEndcap()

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

Definition at line 109 of file PFIsolationEstimator.h.

References bRectangleVetoEndcap.

Referenced by initialize().

109 { bRectangleVetoEndcap = bValue; };

◆ setRingSize()

void PFIsolationEstimator::setRingSize ( float  fValue = 0.4)
inline

Definition at line 164 of file PFIsolationEstimator.h.

References fRingSize.

Referenced by initializeRings().

164 { fRingSize = fValue; };

◆ setUseCrystalSize()

void PFIsolationEstimator::setUseCrystalSize ( Bool_t  bValue = kFALSE)
inline

Definition at line 111 of file PFIsolationEstimator.h.

References bUseCrystalSize.

Referenced by initialize().

111 { bUseCrystalSize = bValue; };

Member Data Documentation

◆ bApplyDzDxyVeto

Bool_t PFIsolationEstimator::bApplyDzDxyVeto
private

Definition at line 191 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setApplyDzDxyVeto().

◆ bApplyMissHitPhVeto

Bool_t PFIsolationEstimator::bApplyMissHitPhVeto
private

Definition at line 193 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setApplyMissHitPhVeto().

◆ bApplyPFPUVeto

Bool_t PFIsolationEstimator::bApplyPFPUVeto
private

Definition at line 192 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setApplyPFPUVeto().

◆ bApplyVeto

Bool_t PFIsolationEstimator::bApplyVeto
private

◆ bDeltaRVetoBarrel

Bool_t PFIsolationEstimator::bDeltaRVetoBarrel
private

◆ bDeltaRVetoEndcap

Bool_t PFIsolationEstimator::bDeltaRVetoEndcap
private

◆ bRectangleVetoBarrel

Bool_t PFIsolationEstimator::bRectangleVetoBarrel
private

◆ bRectangleVetoEndcap

Bool_t PFIsolationEstimator::bRectangleVetoEndcap
private

◆ bUseCrystalSize

Bool_t PFIsolationEstimator::bUseCrystalSize
private

Definition at line 194 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setUseCrystalSize().

◆ checkClosestZVertex

Bool_t PFIsolationEstimator::checkClosestZVertex
private

Definition at line 188 of file PFIsolationEstimator.h.

Referenced by chargedHadronVertex(), and initialize().

◆ fConeSize

float PFIsolationEstimator::fConeSize
private

◆ fDeltaEta

float PFIsolationEstimator::fDeltaEta
private

◆ fDeltaPhi

float PFIsolationEstimator::fDeltaPhi
private

◆ fDeltaR

float PFIsolationEstimator::fDeltaR
private

◆ fDeltaRVetoBarrelCharged

float PFIsolationEstimator::fDeltaRVetoBarrelCharged
private

Definition at line 204 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setDeltaRVetoBarrelCharged().

◆ fDeltaRVetoBarrelNeutrals

float PFIsolationEstimator::fDeltaRVetoBarrelNeutrals
private

Definition at line 203 of file PFIsolationEstimator.h.

Referenced by isNeutralParticleVetoed(), and setDeltaRVetoBarrelNeutrals().

◆ fDeltaRVetoBarrelPhotons

float PFIsolationEstimator::fDeltaRVetoBarrelPhotons
private

Definition at line 202 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setDeltaRVetoBarrelPhotons().

◆ fDeltaRVetoEndcapCharged

float PFIsolationEstimator::fDeltaRVetoEndcapCharged
private

Definition at line 208 of file PFIsolationEstimator.h.

Referenced by isChargedParticleVetoed(), and setDeltaRVetoEndcapCharged().

◆ fDeltaRVetoEndcapNeutrals

float PFIsolationEstimator::fDeltaRVetoEndcapNeutrals
private

Definition at line 207 of file PFIsolationEstimator.h.

Referenced by isNeutralParticleVetoed(), and setDeltaRVetoEndcapNeutrals().

◆ fDeltaRVetoEndcapPhotons

float PFIsolationEstimator::fDeltaRVetoEndcapPhotons
private

Definition at line 206 of file PFIsolationEstimator.h.

Referenced by isPhotonParticleVetoed(), and setDeltaRVetoEndcapPhotons().

◆ fEta

float PFIsolationEstimator::fEta
private

◆ fEtaSC

float PFIsolationEstimator::fEtaSC
private

Definition at line 239 of file PFIsolationEstimator.h.

◆ fisInitialized

Bool_t PFIsolationEstimator::fisInitialized
private

Definition at line 175 of file PFIsolationEstimator.h.

Referenced by isInitialized().

◆ fIsolation

float PFIsolationEstimator::fIsolation
private

Definition at line 176 of file PFIsolationEstimator.h.

Referenced by fGetIsolation().

◆ fIsolationCharged

float PFIsolationEstimator::fIsolationCharged
private

Definition at line 179 of file PFIsolationEstimator.h.

Referenced by getIsolationCharged().

◆ fIsolationChargedAll

float PFIsolationEstimator::fIsolationChargedAll
private

Definition at line 180 of file PFIsolationEstimator.h.

Referenced by getIsolationChargedAll().

◆ fIsolationInRings

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

Definition at line 182 of file PFIsolationEstimator.h.

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

◆ fIsolationInRingsCharged

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

◆ fIsolationInRingsChargedAll

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

◆ fIsolationInRingsNeutral

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

◆ fIsolationInRingsPhoton

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

◆ fIsolationNeutral

float PFIsolationEstimator::fIsolationNeutral
private

Definition at line 178 of file PFIsolationEstimator.h.

Referenced by getIsolationNeutral().

◆ fIsolationPhoton

float PFIsolationEstimator::fIsolationPhoton
private

Definition at line 177 of file PFIsolationEstimator.h.

Referenced by getIsolationPhoton().

◆ fNumberOfCrystalEndcapPhotons

float PFIsolationEstimator::fNumberOfCrystalEndcapPhotons
private

◆ fPhi

float PFIsolationEstimator::fPhi
private

◆ fPhiSC

float PFIsolationEstimator::fPhiSC
private

Definition at line 240 of file PFIsolationEstimator.h.

◆ fPt

float PFIsolationEstimator::fPt
private

Definition at line 242 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and matchPFObject().

◆ fRectangleDeltaEtaVetoBarrelCharged

float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelCharged
private

◆ fRectangleDeltaEtaVetoBarrelNeutrals

float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelNeutrals
private

◆ fRectangleDeltaEtaVetoBarrelPhotons

float PFIsolationEstimator::fRectangleDeltaEtaVetoBarrelPhotons
private

◆ fRectangleDeltaEtaVetoEndcapCharged

float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapCharged
private

◆ fRectangleDeltaEtaVetoEndcapNeutrals

float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapNeutrals
private

◆ fRectangleDeltaEtaVetoEndcapPhotons

float PFIsolationEstimator::fRectangleDeltaEtaVetoEndcapPhotons
private

◆ fRectangleDeltaPhiVetoBarrelCharged

float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelCharged
private

◆ fRectangleDeltaPhiVetoBarrelNeutrals

float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelNeutrals
private

◆ fRectangleDeltaPhiVetoBarrelPhotons

float PFIsolationEstimator::fRectangleDeltaPhiVetoBarrelPhotons
private

◆ fRectangleDeltaPhiVetoEndcapCharged

float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapCharged
private

◆ fRectangleDeltaPhiVetoEndcapNeutrals

float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapNeutrals
private

◆ fRectangleDeltaPhiVetoEndcapPhotons

float PFIsolationEstimator::fRectangleDeltaPhiVetoEndcapPhotons
private

◆ fRingSize

float PFIsolationEstimator::fRingSize
private

◆ fVx

float PFIsolationEstimator::fVx
private

Definition at line 243 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isChargedParticleVetoed().

◆ fVy

float PFIsolationEstimator::fVy
private

Definition at line 244 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isChargedParticleVetoed().

◆ fVz

float PFIsolationEstimator::fVz
private

Definition at line 245 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings().

◆ iMissHits

int PFIsolationEstimator::iMissHits
private

Definition at line 229 of file PFIsolationEstimator.h.

Referenced by fGetIsolationInRings(), and isPhotonParticleVetoed().

◆ iNumberOfRings

int PFIsolationEstimator::iNumberOfRings
private

◆ iParticleType

int PFIsolationEstimator::iParticleType
private

Definition at line 173 of file PFIsolationEstimator.h.

Referenced by initialize(), isChargedParticleVetoed(), and setParticleType().

◆ pivotInBarrel

bool PFIsolationEstimator::pivotInBarrel
private

◆ refSC

reco::SuperClusterRef PFIsolationEstimator::refSC
private

◆ vtxWRTCandidate

math::XYZVector PFIsolationEstimator::vtxWRTCandidate
private

Definition at line 250 of file PFIsolationEstimator.h.