Main Page
Namespaces
Classes
Package Documentation
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
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:14
edm::Ref< PFCandidateCollection >
PileUpPFCandidate.h
Event.h
edm::Handle
Definition:
AssociativeIterator.h:49
Photon.h
EventSetup.h
VertexFwd.h
reco::PFBlockElementCluster
Cluster Element.
Definition:
PFBlockElementCluster.h:16
PFCandidate.h
p4
double p4[4]
Definition:
TauolaWrapper.h:92
ESHandle.h
PileUpPFCandidateFwd.h
singleTopDQM_cfi.setup
setup
SETUP
Definition:
singleTopDQM_cfi.py:36
PFBlockBasedIsolation
Definition:
PFBlockBasedIsolation.h:33
Vertex.h
GsfElectron.h
GsfElectronFwd.h
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition:
PFCandidate.h:40
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
edm::ParameterSet
Definition:
ParameterSet.h:36
PFBlockBasedIsolation::coneSize_
double coneSize_
Definition:
PFBlockBasedIsolation.h:55
PhotonFwd.h
PFCandidateFwd.h
Handle.h
Generated for CMSSW Reference Manual by
1.8.11