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
8
#ifndef PFBlockBasedIsolation_H
9
#define PFBlockBasedIsolation_H
10
11
12
#include "
FWCore/Framework/interface/Event.h
"
13
#include "
FWCore/Framework/interface/EventSetup.h
"
14
#include "
DataFormats/Common/interface/Handle.h
"
15
#include "
FWCore/Framework/interface/ESHandle.h
"
16
#include "
DataFormats/VertexReco/interface/Vertex.h
"
17
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
18
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidate.h
"
19
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h
"
20
#include "
DataFormats/ParticleFlowCandidate/interface/PileUpPFCandidate.h
"
21
#include "
DataFormats/ParticleFlowCandidate/interface/PileUpPFCandidateFwd.h
"
22
23
#include "
DataFormats/EgammaCandidates/interface/Photon.h
"
24
#include "
DataFormats/EgammaCandidates/interface/PhotonFwd.h
"
25
#include "
DataFormats/EgammaCandidates/interface/GsfElectron.h
"
26
#include "
DataFormats/EgammaCandidates/interface/GsfElectronFwd.h
"
27
28
29
#include "
DataFormats/VertexReco/interface/Vertex.h
"
30
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
31
32
namespace
reco
{
33
class
PFBlockElementCluster;
34
}
35
36
class
PFBlockBasedIsolation
{
37
public
:
38
PFBlockBasedIsolation
();
39
40
41
~
PFBlockBasedIsolation
();
42
43
44
45
void
setup
(
const
edm::ParameterSet
& conf);
46
47
48
49
public
:
50
51
52
53
std::vector<reco::PFCandidateRef> calculate(
math::XYZTLorentzVectorD
p4
,
54
const
reco::PFCandidateRef
pfEGCand,
55
const
edm::Handle<reco::PFCandidateCollection>
pfCandidateHandle);
56
57
58
private
:
59
const
reco::PFBlockElementCluster
* getHighestEtECALCluster(
const
reco::PFCandidate
& pfCand);
60
bool
passesCleaningPhoton(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
61
bool
passesCleaningNeutralHadron(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
62
63
bool
passesCleaningChargedHadron(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
64
bool
elementPassesCleaning(
const
reco::PFCandidateRef
& pfCand,
const
reco::PFCandidateRef
& pfEGCand);
65
66
private
:
67
68
double
coneSize_
;
69
70
71
};
72
73
#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< reco::PFCandidateCollection >
Photon.h
EventSetup.h
GeneralSetup.setup
def setup(process, global_tag, zero_tesla=False)
Definition:
GeneralSetup.py:2
VertexFwd.h
reco::PFBlockElementCluster
Cluster Element.
Definition:
PFBlockElementCluster.h:16
PFCandidate.h
p4
double p4[4]
Definition:
TauolaWrapper.h:92
ESHandle.h
PileUpPFCandidateFwd.h
PFBlockBasedIsolation
Definition:
PFBlockBasedIsolation.h:36
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:43
edm::ParameterSet
Definition:
ParameterSet.h:36
PFBlockBasedIsolation::coneSize_
double coneSize_
Definition:
PFBlockBasedIsolation.h:68
PhotonFwd.h
PFCandidateFwd.h
Handle.h
Generated for CMSSW Reference Manual by
1.8.11