src
HLTriggerOffline
Higgs
plugins
MatchStruct.h
Go to the documentation of this file.
1
#ifndef HLTRIGGEROFFLINE_HIGGS_MATCHSTRUCT_CC
2
#define HLTRIGGEROFFLINE_HIGGS_MATCHSTRUCT_CC
3
13
#include "
DataFormats/Candidate/interface/Candidate.h
"
14
#include "
DataFormats/TrackReco/interface/Track.h
"
15
16
#include "TLorentzVector.h"
17
#include "
DataFormats/Math/interface/Vector3D.h
"
18
19
#include <vector>
20
21
// Matching structure: helper structure to match gen/reco candidates with
22
// hlt trigger objects
23
struct
MatchStruct
{
24
unsigned
int
objType
;
25
float
pt
;
26
float
eta
;
27
float
phi
;
28
float
bTag
;
29
math::XYZTLorentzVector
lorentzVector
;
30
const
void
*
thepointer
;
31
MatchStruct
() :
objType
(0),
pt
(0),
eta
(0),
phi
(0),
bTag
(0),
lorentzVector
(0, 0, 0, 0),
thepointer
(nullptr) {}
32
MatchStruct
(
const
reco::Candidate
*
cand
,
const
unsigned
int
&
obj
)
33
:
objType
(
obj
),
34
pt
(
cand
->
pt
()),
35
eta
(
cand
->
eta
()),
36
phi
(
cand
->
phi
()),
37
thepointer
(
cand
)
38
39
{}
40
MatchStruct
(
const
reco::Candidate
*
cand
,
const
unsigned
int
&
obj
,
const
float
& bTagVal)
41
:
objType
(
obj
),
42
pt
(
cand
->
pt
()),
43
eta
(
cand
->
eta
()),
44
phi
(
cand
->
phi
()),
45
bTag
(bTagVal),
46
lorentzVector
(
cand
->p4()),
47
thepointer
(
cand
)
48
49
{}
50
// FIXME: If finally the track is disappeared, then recover the last code...
51
MatchStruct
(
const
reco::Track
*
cand
,
const
unsigned
int
&
obj
)
52
:
objType
(
obj
),
pt
(
cand
->
pt
()),
eta
(
cand
->
eta
()),
phi
(
cand
->
phi
()),
thepointer
(
cand
) {}
53
bool
operator<
(
MatchStruct
match
) {
return
this->pt <
match
.pt; }
54
bool
operator>
(
MatchStruct
match
) {
return
this->pt >
match
.pt; }
55
};
56
58
struct
matchesByDescendingPt
{
59
bool
operator()
(
MatchStruct
a
,
MatchStruct
b
) {
return
a
.pt >
b
.pt; }
60
};
61
struct
matchesByDescendingBtag
{
62
bool
operator()
(
MatchStruct
a
,
MatchStruct
b
) {
return
a
.bTag >
b
.bTag; }
63
};
64
#endif
MatchStruct::lorentzVector
math::XYZTLorentzVector lorentzVector
Definition:
MatchStruct.h:29
MatchStruct::objType
unsigned int objType
Definition:
MatchStruct.h:24
reco::Candidate
Definition:
Candidate.h:27
MatchStruct::MatchStruct
MatchStruct()
Definition:
MatchStruct.h:31
MatchStruct::MatchStruct
MatchStruct(const reco::Candidate *cand, const unsigned int &obj)
Definition:
MatchStruct.h:32
lorentzVector
reco::Particle::LorentzVector lorentzVector
Definition:
GenMuonPair.h:9
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:29
Candidate.h
MatchStruct::thepointer
const void * thepointer
Definition:
MatchStruct.h:30
matchesByDescendingBtag
Definition:
MatchStruct.h:61
MatchStruct::eta
float eta
Definition:
MatchStruct.h:26
matchesByDescendingPt::operator()
bool operator()(MatchStruct a, MatchStruct b)
Definition:
MatchStruct.h:59
MatchStruct
Definition:
MatchStruct.h:23
MatchStruct::operator>
bool operator>(MatchStruct match)
Definition:
MatchStruct.h:54
MatchStruct::operator<
bool operator<(MatchStruct match)
Definition:
MatchStruct.h:53
getGTfromDQMFile.obj
obj
Definition:
getGTfromDQMFile.py:32
MatchStruct::MatchStruct
MatchStruct(const reco::Track *cand, const unsigned int &obj)
Definition:
MatchStruct.h:51
b
double b
Definition:
hdecay.h:118
reco::Track
Definition:
Track.h:27
matchesByDescendingPt
Helper structure to order MatchStruct.
Definition:
MatchStruct.h:58
matchesByDescendingBtag::operator()
bool operator()(MatchStruct a, MatchStruct b)
Definition:
MatchStruct.h:62
Vector3D.h
a
double a
Definition:
hdecay.h:119
MatchStruct::phi
float phi
Definition:
MatchStruct.h:27
Track.h
cand
Definition:
decayParser.h:32
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition:
Utils.h:10
MatchStruct::bTag
float bTag
Definition:
MatchStruct.h:28
MatchStruct::MatchStruct
MatchStruct(const reco::Candidate *cand, const unsigned int &obj, const float &bTagVal)
Definition:
MatchStruct.h:40
MatchStruct::pt
float pt
Definition:
MatchStruct.h:25
Generated for CMSSW Reference Manual by
1.8.14