RecoEgamma
EgammaIsolationAlgos
interface
PFBlockBasedIsolation.h
Go to the documentation of this file.
1
//--------------------------------------------------------------------------------------------------
2
//
3
// PfBlockBasedIsolationCalculator.cc
4
// Authors: N. Marinelli Univ. of Notre Dame
5
//--------------------------------------------------------------------------------------------------
6
7
#ifndef PFBlockBasedIsolation_H
8
#define PFBlockBasedIsolation_H
9
10
#include "
FWCore/Framework/interface/Event.h
"
11
#include "
FWCore/Framework/interface/EventSetup.h
"
12
#include "
DataFormats/Common/interface/Handle.h
"
13
#include "
FWCore/Framework/interface/ESHandle.h
"
14
#include "
DataFormats/VertexReco/interface/Vertex.h
"
15
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
16
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidate.h
"
17
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h
"
18
#include "
DataFormats/ParticleFlowCandidate/interface/PileUpPFCandidate.h
"
19
#include "
DataFormats/ParticleFlowCandidate/interface/PileUpPFCandidateFwd.h
"
20
21
#include "
DataFormats/EgammaCandidates/interface/Photon.h
"
22
#include "
DataFormats/EgammaCandidates/interface/PhotonFwd.h
"
23
#include "
DataFormats/EgammaCandidates/interface/GsfElectron.h
"
24
#include "
DataFormats/EgammaCandidates/interface/GsfElectronFwd.h
"
25
26
#include "
DataFormats/VertexReco/interface/Vertex.h
"
27
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
28
29
namespace
reco
{
30
class
PFBlockElementCluster;
31
}
32
33
class
PFBlockBasedIsolation
{
34
public
:
35
PFBlockBasedIsolation
();
36
37
~PFBlockBasedIsolation
();
38
39
void
setup
(
const
edm::ParameterSet
& conf);
40
41
public
:
42
std::vector<reco::PFCandidateRef>
calculate
(
math::XYZTLorentzVectorD
p4
,
43
const
reco::PFCandidateRef
pfEGCand,
44
const
edm::Handle<reco::PFCandidateCollection>
pfCandidateHandle);
45
46
private
:
47
const
reco::PFBlockElementCluster
*
getHighestEtECALCluster
(
const
reco::PFCandidate
& pfCand);
48
bool
passesCleaningPhoton
(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
49
bool
passesCleaningNeutralHadron
(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
50
51
bool
passesCleaningChargedHadron
(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
52
bool
elementPassesCleaning
(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
53
54
private
:
55
double
coneSize_
;
56
};
57
58
#endif
Handle.h
PFBlockBasedIsolation::getHighestEtECALCluster
const reco::PFBlockElementCluster * getHighestEtECALCluster(const reco::PFCandidate &pfCand)
Definition:
PFBlockBasedIsolation.cc:129
ESHandle.h
PFCandidate.h
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:14
PFBlockBasedIsolation::calculate
std::vector< reco::PFCandidateRef > calculate(math::XYZTLorentzVectorD p4, const reco::PFCandidateRef pfEGCand, const edm::Handle< reco::PFCandidateCollection > pfCandidateHandle)
Definition:
PFBlockBasedIsolation.cc:31
PhotonFwd.h
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
PFBlockBasedIsolation::~PFBlockBasedIsolation
~PFBlockBasedIsolation()
Definition:
PFBlockBasedIsolation.cc:27
PFBlockBasedIsolation::passesCleaningPhoton
bool passesCleaningPhoton(const reco::PFCandidateRef &pfCand, const reco::PFCandidateRef &pfEGCand)
Definition:
PFBlockBasedIsolation.cc:104
PFBlockBasedIsolation::passesCleaningNeutralHadron
bool passesCleaningNeutralHadron(const reco::PFCandidateRef &pfCand, const reco::PFCandidateRef &pfEGCand)
Definition:
PFBlockBasedIsolation.cc:98
edm::Handle
Definition:
AssociativeIterator.h:50
PileUpPFCandidate.h
PFBlockBasedIsolation::setup
void setup(const edm::ParameterSet &conf)
Definition:
PFBlockBasedIsolation.cc:29
edm::Ref< PFCandidateCollection >
Photon.h
PileUpPFCandidateFwd.h
GsfElectron.h
Vertex.h
GsfElectronFwd.h
edm::ParameterSet
Definition:
ParameterSet.h:36
Event.h
p4
double p4[4]
Definition:
TauolaWrapper.h:92
PFBlockBasedIsolation::coneSize_
double coneSize_
Definition:
PFBlockBasedIsolation.h:55
PFBlockBasedIsolation::elementPassesCleaning
bool elementPassesCleaning(const reco::PFCandidateRef &pfCand, const reco::PFCandidateRef &pfEGCand)
Definition:
PFBlockBasedIsolation.cc:77
VertexFwd.h
reco::PFBlockElementCluster
Cluster Element.
Definition:
PFBlockElementCluster.h:16
EventSetup.h
PFBlockBasedIsolation::passesCleaningChargedHadron
bool passesCleaningChargedHadron(const reco::PFCandidateRef &pfCand, const reco::PFCandidateRef &pfEGCand)
Definition:
PFBlockBasedIsolation.cc:90
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition:
PFCandidate.h:40
PFBlockBasedIsolation
Definition:
PFBlockBasedIsolation.h:33
PFCandidateFwd.h
PFBlockBasedIsolation::PFBlockBasedIsolation
PFBlockBasedIsolation()
Definition:
PFBlockBasedIsolation.cc:22
Generated for CMSSW Reference Manual by
1.8.16