Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
RecoMET
METPUSubtraction
interface
NoPileUpMEtAuxFunctions.h
Go to the documentation of this file.
1
#ifndef RecoMET_METPUSubtraction_noPileUpMEtAuxFunctions_h
2
#define RecoMET_METPUSubtraction_noPileUpMEtAuxFunctions_h
3
4
#include "
DataFormats/Common/interface/AssociationMap.h
"
5
#include "
DataFormats/Common/interface/OneToManyWithQuality.h
"
6
#include "
DataFormats/Common/interface/Ref.h
"
7
8
#include "
DataFormats/Candidate/interface/Candidate.h
"
9
#include "
DataFormats/Candidate/interface/CandidateFwd.h
"
10
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidate.h
"
11
#include "
DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h
"
12
#include "
DataFormats/VertexReco/interface/Vertex.h
"
13
#include "
DataFormats/VertexReco/interface/VertexFwd.h
"
14
15
#include "
CommonTools/RecoUtils/interface/PFCand_AssoMapAlgos.h
"
16
17
// 0 = neutral particle,
18
// 1 = charged particle not associated to any vertex
19
// 2 = charged particle associated to pile-up vertex
20
// 3 = charged particle associated to vertex of hard-scatter event
21
namespace
noPuUtils
{
22
enum
{
kNeutral
= 0,
kChNoAssoc
,
kChPUAssoc
,
kChHSAssoc
};
23
24
typedef
std::vector<std::pair<reco::PFCandidateRef, int> >
CandQualityPairVector
;
25
typedef
std::vector<std::pair<reco::VertexRef, int> >
VertexQualityPairVector
;
26
27
typedef
edm::AssociationMap<edm::OneToManyWithQuality<reco::PFCandidateCollection, reco::VertexCollection, int>
>
28
reversedPFCandToVertexAssMap
;
29
30
// check if the pf candidate is associated with a vertex,
31
// return the type of association
32
int
isVertexAssociated
(
const
reco::PFCandidatePtr
&,
33
const
PFCandToVertexAssMap
&,
34
const
reco::VertexCollection
&,
35
double
);
36
37
// reverse the vertex-pfcandidate association map
38
noPuUtils::reversedPFCandToVertexAssMap
reversePFCandToVertexAssociation
(
const
PFCandToVertexAssMap
&);
39
40
// check if the pf candidate is associated with a vertex,
41
// based over references keys
42
// return the type of association
43
int
isVertexAssociated_fast
(
const
reco::PFCandidateRef
&,
44
const
noPuUtils::reversedPFCandToVertexAssMap
&,
45
const
reco::VertexCollection
&,
46
double
,
47
int
&,
48
int
);
49
50
//promote a low quality association to a better level
51
// if dz justifies it
52
void
promoteAssocToHSAssoc
(
53
int
quality
,
double
z,
const
reco::VertexCollection
&
vertices
,
double
dZ,
int
& vtxAssociationType,
bool
checkdR2);
54
55
}
// namespace noPuUtils
56
57
#endif
noPuUtils::VertexQualityPairVector
std::vector< std::pair< reco::VertexRef, int > > VertexQualityPairVector
Definition:
NoPileUpMEtAuxFunctions.h:25
PFCand_AssoMapAlgos.h
noPuUtils::kChNoAssoc
Definition:
NoPileUpMEtAuxFunctions.h:22
PFCandidate.h
noPuUtils::promoteAssocToHSAssoc
void promoteAssocToHSAssoc(int quality, double z, const reco::VertexCollection &vertices, double dZ, int &vtxAssociationType, bool checkdR2)
Definition:
NoPileUpMEtAuxFunctions.cc:104
AssociationMap.h
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition:
VertexFwd.h:9
noPuUtils::kChHSAssoc
Definition:
NoPileUpMEtAuxFunctions.h:22
noPuUtils
Definition:
NoPileUpMEtAuxFunctions.h:21
edm::Ref< PFCandidateCollection >
quality
const uint32_t *__restrict__ Quality * quality
Definition:
CAHitNtupletGeneratorKernelsImpl.h:109
CandidateFwd.h
OneToManyWithQuality.h
noPuUtils::isVertexAssociated_fast
int isVertexAssociated_fast(const reco::PFCandidateRef &, const noPuUtils::reversedPFCandToVertexAssMap &, const reco::VertexCollection &, double, int &, int)
Definition:
NoPileUpMEtAuxFunctions.cc:64
noPuUtils::isVertexAssociated
int isVertexAssociated(const reco::PFCandidatePtr &, const PFCandToVertexAssMap &, const reco::VertexCollection &, double)
Definition:
NoPileUpMEtAuxFunctions.cc:11
Vertex.h
edm::AssociationMap
Definition:
AssociationMap.h:48
noPuUtils::reversedPFCandToVertexAssMap
edm::AssociationMap< edm::OneToManyWithQuality< reco::PFCandidateCollection, reco::VertexCollection, int > > reversedPFCandToVertexAssMap
Definition:
NoPileUpMEtAuxFunctions.h:28
noPuUtils::kChPUAssoc
Definition:
NoPileUpMEtAuxFunctions.h:22
edm::Ptr< PFCandidate >
VertexFwd.h
Ref.h
noPuUtils::CandQualityPairVector
std::vector< std::pair< reco::PFCandidateRef, int > > CandQualityPairVector
Definition:
NoPileUpMEtAuxFunctions.h:24
noPuUtils::kNeutral
Definition:
NoPileUpMEtAuxFunctions.h:22
noPuUtils::reversePFCandToVertexAssociation
noPuUtils::reversedPFCandToVertexAssMap reversePFCandToVertexAssociation(const PFCandToVertexAssMap &)
Definition:
NoPileUpMEtAuxFunctions.cc:44
Candidate.h
PFCandidateFwd.h
pwdgSkimBPark_cfi.vertices
vertices
Definition:
pwdgSkimBPark_cfi.py:7
Generated for CMSSW Reference Manual by
1.8.16