L1Trigger
Phase2L1ParticleFlow
src
RegionMapper.cc
Go to the documentation of this file.
1
#include "
L1Trigger/Phase2L1ParticleFlow/interface/RegionMapper.h
"
2
3
using namespace
l1tpf_impl
;
4
5
RegionMapper::RegionMapper
(
const
edm::ParameterSet
&iConfig) : useRelativeRegionalCoordinates_(
false
) {
6
if
(iConfig.
existsAs
<std::vector<edm::ParameterSet>>(
"regions"
)) {
7
useRelativeRegionalCoordinates_
= iConfig.
getParameter
<
bool
>(
"useRelativeRegionalCoordinates"
);
8
for
(
const
edm::ParameterSet
&preg : iConfig.
getParameter
<std::vector<edm::ParameterSet>>(
"regions"
)) {
9
std::vector<double>
etaBoundaries
= preg.getParameter<std::vector<double>>(
"etaBoundaries"
);
10
unsigned
int
phiSlices
= preg.getParameter<uint32_t>(
"phiSlices"
);
11
float
etaExtra
= preg.getParameter<
double
>(
"etaExtra"
);
12
float
phiExtra
= preg.getParameter<
double
>(
"phiExtra"
);
13
float
phiWidth = 2 *
M_PI
/
phiSlices
;
14
unsigned
int
ncalomax = 0, nemcalomax = 0, ntrackmax = 0, nmuonmax = 0, npfmax = 0, npuppimax = 0;
15
if
(preg.existsAs<uint32_t>(
"caloNMax"
))
16
ncalomax = preg.getParameter<uint32_t>(
"caloNMax"
);
17
if
(preg.existsAs<uint32_t>(
"emcaloNMax"
))
18
nemcalomax = preg.getParameter<uint32_t>(
"emcaloNMax"
);
19
if
(preg.existsAs<uint32_t>(
"trackNMax"
))
20
ntrackmax = preg.getParameter<uint32_t>(
"trackNMax"
);
21
if
(preg.existsAs<uint32_t>(
"muonNMax"
))
22
nmuonmax = preg.getParameter<uint32_t>(
"muonNMax"
);
23
if
(preg.existsAs<uint32_t>(
"pfNMax"
))
24
npfmax = preg.getParameter<uint32_t>(
"pfNMax"
);
25
if
(preg.existsAs<uint32_t>(
"puppiNMax"
))
26
npuppimax = preg.getParameter<uint32_t>(
"puppiNMax"
);
27
for
(
unsigned
int
ieta
= 0,
neta
=
etaBoundaries
.size() - 1;
ieta
<
neta
; ++
ieta
) {
28
for
(
unsigned
int
iphi
= 0;
iphi
<
phiSlices
; ++
iphi
) {
29
float
phiCenter = (
iphi
+ 0.5) * phiWidth -
M_PI
;
30
regions_
.push_back(
Region
(
etaBoundaries
[
ieta
],
31
etaBoundaries
[
ieta
+ 1],
32
phiCenter,
33
phiWidth,
34
etaExtra
,
35
phiExtra
,
36
useRelativeRegionalCoordinates_
,
37
ncalomax,
38
nemcalomax,
39
ntrackmax,
40
nmuonmax,
41
npfmax,
42
npuppimax));
43
}
44
}
45
}
46
std::string
trackRegionMode
=
"TrackAssoMode::any"
;
47
if
(iConfig.
existsAs
<
std::string
>(
"trackRegionMode"
))
48
trackRegionMode
= iConfig.
getParameter
<
std::string
>(
"trackRegionMode"
);
49
if
(
trackRegionMode
==
"atVertex"
)
50
trackRegionMode_
=
TrackAssoMode::atVertex
;
51
else
if
(
trackRegionMode
==
"atCalo"
)
52
trackRegionMode_
=
TrackAssoMode::atCalo
;
53
else
if
(
trackRegionMode
==
"any"
)
54
trackRegionMode_
=
TrackAssoMode::any
;
55
else
56
throw
cms::Exception
(
57
"Configuration"
,
58
"Unsupported value for trackRegionMode: "
+
trackRegionMode
+
" (allowed are 'atVertex', 'atCalo', 'any')"
);
59
}
else
{
60
// start off with a dummy region
61
unsigned
int
ncalomax = 0, nemcalomax = 0, ntrackmax = 0, nmuonmax = 0, npfmax = 0, npuppimax = 0;
62
regions_
.emplace_back(-5.5,
63
5.5,
64
0,
65
2 *
M_PI
,
66
0.5,
67
0.5,
68
useRelativeRegionalCoordinates_
,
69
ncalomax,
70
nemcalomax,
71
ntrackmax,
72
nmuonmax,
73
npfmax,
74
npuppimax);
75
}
76
}
77
78
void
RegionMapper::clear
() {
79
for
(
Region
&
r
:
regions_
)
80
r
.zero();
81
clusterRefMap_
.clear();
82
trackRefMap_
.clear();
83
muonRefMap_
.clear();
84
}
85
86
void
RegionMapper::addTrack
(
const
l1t::PFTrack
&
t
) {
87
// now let's be optimistic and make things very simple
88
// we propagate in floating point the track to the calo
89
// we add the track to the region corresponding to its vertex (eta,phi) coordinates AND its (eta,phi) calo coordinates
90
for
(
Region
&
r
:
regions_
) {
91
bool
inside =
true
;
92
switch
(
trackRegionMode_
) {
93
case
TrackAssoMode::atVertex
:
94
inside =
r
.contains(
t
.eta(),
t
.phi());
95
break
;
96
case
TrackAssoMode::atCalo
:
97
inside =
r
.contains(
t
.caloEta(),
t
.caloPhi());
98
break
;
99
case
TrackAssoMode::any
:
100
inside =
r
.contains(
t
.eta(),
t
.phi()) ||
r
.contains(
t
.caloEta(),
t
.caloPhi());
101
break
;
102
}
103
if
(inside) {
104
PropagatedTrack
prop;
105
prop.fillInput(
t
.pt(),
r
.localEta(
t
.eta()),
r
.localPhi(
t
.phi()),
t
.charge(),
t
.vertex().Z(),
t
.quality(), &
t
);
106
prop.fillPropagated(
t
.pt(),
107
t
.trkPtError(),
108
t
.caloPtError(),
109
r
.localEta(
t
.caloEta()),
110
r
.localPhi(
t
.caloPhi()),
111
t
.quality(),
112
t
.isMuon());
113
prop.
hwStubs
=
t
.nStubs();
114
prop.
hwChi2
= round(
t
.chi2() * 10);
115
r
.track.push_back(prop);
116
}
117
}
118
}
119
void
RegionMapper::addTrack
(
const
l1t::PFTrack
&
t
,
l1t::PFTrackRef
ref) {
120
addTrack
(
t
);
121
trackRefMap_
[&
t
] = ref;
122
}
123
124
void
RegionMapper::addMuon
(
const
l1t::Muon
&
mu
) {
125
// now let's be optimistic and make things very simple
126
// we don't propagate anything
127
for
(
Region
&
r
:
regions_
) {
128
if
(
r
.contains(
mu
.eta(),
mu
.phi())) {
129
Muon
prop;
130
prop.fill(
mu
.pt(),
r
.localEta(
mu
.eta()),
r
.localPhi(
mu
.phi()),
mu
.charge(),
mu
.hwQual(), &
mu
);
131
r
.muon.push_back(prop);
132
}
133
}
134
}
135
136
void
RegionMapper::addMuon
(
const
l1t::TkMuon
&
mu
) {
137
// now let's be optimistic and make things very simple
138
// we don't propagate anything
139
for
(
Region
&
r
:
regions_
) {
140
if
(
r
.contains(
mu
.eta(),
mu
.phi())) {
141
Muon
prop;
142
prop.fill(
mu
.pt(),
r
.localEta(
mu
.eta()),
r
.localPhi(
mu
.phi()),
mu
.charge(),
mu
.hwQual());
143
r
.muon.push_back(prop);
144
}
145
}
146
}
147
148
void
RegionMapper::addMuon
(
const
l1t::Muon
&
mu
,
l1t::PFCandidate::MuonRef
ref) {
149
addMuon
(
mu
);
150
muonRefMap_
[&
mu
] = ref;
151
}
152
153
void
RegionMapper::addCalo
(
const
l1t::PFCluster
&
p
) {
154
if
(
p
.pt() == 0)
155
return
;
156
for
(
Region
&
r
:
regions_
) {
157
if
(
r
.contains(
p
.eta(),
p
.phi())) {
158
CaloCluster
calo
;
159
calo
.fill(
p
.pt(),
p
.emEt(),
p
.ptError(),
r
.localEta(
p
.eta()),
r
.localPhi(
p
.phi()),
p
.isEM(), 0, &
p
);
160
r
.calo.push_back(
calo
);
161
}
162
}
163
}
164
void
RegionMapper::addCalo
(
const
l1t::PFCluster
&
p
,
l1t::PFClusterRef
ref) {
165
addCalo
(
p
);
166
clusterRefMap_
[&
p
] = ref;
167
}
168
169
void
RegionMapper::addEmCalo
(
const
l1t::PFCluster
&
p
) {
170
if
(
p
.pt() == 0)
171
return
;
172
for
(
Region
&
r
:
regions_
) {
173
if
(
r
.contains(
p
.eta(),
p
.phi())) {
174
CaloCluster
calo
;
175
calo
.fill(
p
.pt(),
p
.emEt(),
p
.ptError(),
r
.localEta(
p
.eta()),
r
.localPhi(
p
.phi()),
p
.isEM(), 0, &
p
);
176
r
.emcalo.push_back(
calo
);
177
}
178
}
179
}
180
void
RegionMapper::addEmCalo
(
const
l1t::PFCluster
&
p
,
l1t::PFClusterRef
ref) {
181
addEmCalo
(
p
);
182
clusterRefMap_
[&
p
] = ref;
183
}
184
185
std::unique_ptr<l1t::PFCandidateCollection>
RegionMapper::fetch
(
bool
puppi,
float
ptMin
)
const
{
186
auto
ret
= std::make_unique<l1t::PFCandidateCollection>();
187
for
(
const
Region
&
r
:
regions_
) {
188
for
(
const
PFParticle
&
p
: (puppi ?
r
.puppi :
r
.pf)) {
189
bool
inside =
true
;
190
switch
(
trackRegionMode_
) {
191
case
TrackAssoMode::atVertex
:
192
inside =
r
.fiducialLocal(
p
.floatVtxEta(),
p
.floatVtxPhi());
193
break
;
194
case
TrackAssoMode::atCalo
:
195
inside =
r
.fiducialLocal(
p
.floatEta(),
p
.floatPhi());
196
break
;
197
case
TrackAssoMode::any
:
198
inside =
r
.fiducialLocal(
p
.floatVtxEta(),
p
.floatVtxPhi());
199
break
;
// WARNING: this may not be the best choice
200
}
201
if
(!inside)
202
continue
;
203
if
(
p
.floatPt() >
ptMin
) {
204
reco::Particle::PolarLorentzVector
p4
(
205
p
.floatPt(),
r
.globalEta(
p
.floatVtxEta()),
r
.globalPhi(
p
.floatVtxPhi()), 0.13
f
);
206
ret
->emplace_back(
l1t::PFCandidate::ParticleType
(
p
.hwId),
p
.intCharge(),
p4
,
p
.floatPuppiW());
207
ret
->back().setVertex(
reco::Particle::Point
(0, 0,
p
.floatDZ()));
208
ret
->back().setStatus(
p
.hwStatus);
209
if
(
p
.cluster.src) {
210
auto
match
=
clusterRefMap_
.find(
p
.cluster.src);
211
if
(
match
==
clusterRefMap_
.end()) {
212
throw
cms::Exception
(
"CorruptData"
) <<
"Invalid cluster pointer in PF candidate id "
<<
p
.hwId <<
" pt "
213
<<
p4
.pt() <<
" eta "
<<
p4
.eta() <<
" phi "
<<
p4
.phi();
214
}
215
ret
->back().setPFCluster(
match
->second);
216
}
217
if
(
p
.track.src) {
218
auto
match
=
trackRefMap_
.find(
p
.track.src);
219
if
(
match
==
trackRefMap_
.end()) {
220
throw
cms::Exception
(
"CorruptData"
) <<
"Invalid track pointer in PF candidate id "
<<
p
.hwId <<
" pt "
221
<<
p4
.pt() <<
" eta "
<<
p4
.eta() <<
" phi "
<<
p4
.phi();
222
}
223
ret
->back().setPFTrack(
match
->second);
224
}
225
if
(
p
.muonsrc) {
226
auto
match
=
muonRefMap_
.find(
p
.muonsrc);
227
if
(
match
==
muonRefMap_
.end()) {
228
throw
cms::Exception
(
"CorruptData"
) <<
"Invalid muon pointer in PF candidate id "
<<
p
.hwId <<
" pt "
229
<<
p4
.pt() <<
" eta "
<<
p4
.eta() <<
" phi "
<<
p4
.phi();
230
}
231
ret
->back().setMuon(
match
->second);
232
}
233
}
234
}
235
}
236
return
ret
;
237
}
238
239
std::unique_ptr<l1t::PFCandidateCollection>
RegionMapper::fetchCalo
(
float
ptMin
,
bool
emcalo)
const
{
240
auto
ret
= std::make_unique<l1t::PFCandidateCollection>();
241
for
(
const
Region
&
r
:
regions_
) {
242
for
(
const
CaloCluster
&
p
: (emcalo ?
r
.emcalo :
r
.calo)) {
243
if
(!
r
.fiducialLocal(
p
.floatEta(),
p
.floatPhi()))
244
continue
;
245
if
(
p
.floatPt() >
ptMin
) {
246
reco::Particle::PolarLorentzVector
p4
(
p
.floatPt(),
r
.globalEta(
p
.floatEta()),
r
.globalPhi(
p
.floatPhi()), 0.13
f
);
247
l1t::PFCandidate::ParticleType
kind
=
248
(
p
.isEM || emcalo) ?
l1t::PFCandidate::Photon
:
l1t::PFCandidate::NeutralHadron
;
249
ret
->emplace_back(
kind
, 0,
p4
);
250
if
(
p
.src) {
251
auto
match
=
clusterRefMap_
.find(
p
.src);
252
if
(
match
==
clusterRefMap_
.end()) {
253
throw
cms::Exception
(
"CorruptData"
)
254
<<
"Invalid cluster pointer in cluster pt "
<<
p4
.pt() <<
" eta "
<<
p4
.eta() <<
" phi "
<<
p4
.phi();
255
}
256
ret
->back().setPFCluster(
match
->second);
257
}
258
}
259
}
260
}
261
return
ret
;
262
}
263
264
std::unique_ptr<l1t::PFCandidateCollection>
RegionMapper::fetchTracks
(
float
ptMin
,
bool
fromPV
)
const
{
265
auto
ret
= std::make_unique<l1t::PFCandidateCollection>();
266
for
(
const
Region
&
r
:
regions_
) {
267
for
(
const
PropagatedTrack
&
p
:
r
.track) {
268
if
(
fromPV
&& !
p
.fromPV)
269
continue
;
270
bool
inside =
true
;
271
switch
(
trackRegionMode_
) {
272
case
TrackAssoMode::atVertex
:
273
inside =
r
.fiducialLocal(
p
.floatVtxEta(),
p
.floatVtxPhi());
274
break
;
275
case
TrackAssoMode::atCalo
:
276
inside =
r
.fiducialLocal(
p
.floatEta(),
p
.floatPhi());
277
break
;
278
case
TrackAssoMode::any
:
279
inside =
r
.fiducialLocal(
p
.floatVtxEta(),
p
.floatVtxPhi());
280
break
;
// WARNING: this may not be the best choice
281
}
282
if
(!inside)
283
continue
;
284
if
(
p
.floatPt() >
ptMin
) {
285
reco::Particle::PolarLorentzVector
p4
(
286
p
.floatVtxPt(),
r
.globalEta(
p
.floatVtxEta()),
r
.globalPhi(
p
.floatVtxPhi()), 0.13
f
);
287
l1t::PFCandidate::ParticleType
kind
=
p
.muonLink ?
l1t::PFCandidate::Muon
:
l1t::PFCandidate::ChargedHadron
;
288
ret
->emplace_back(
kind
,
p
.intCharge(),
p4
);
289
ret
->back().setVertex(
reco::Particle::Point
(0, 0,
p
.floatDZ()));
290
if
(
p
.src) {
291
auto
match
=
trackRefMap_
.find(
p
.src);
292
if
(
match
==
trackRefMap_
.end()) {
293
throw
cms::Exception
(
"CorruptData"
)
294
<<
"Invalid track pointer in PF track pt "
<<
p4
.pt() <<
" eta "
<<
p4
.eta() <<
" phi "
<<
p4
.phi();
295
}
296
ret
->back().setPFTrack(
match
->second);
297
}
298
}
299
}
300
}
301
return
ret
;
302
}
303
304
std::pair<unsigned, unsigned>
RegionMapper::totAndMaxInput
(
int
type
)
const
{
305
unsigned
ntot
= 0, nmax = 0;
306
for
(
const
auto
&
r
:
regions_
) {
307
unsigned
int
ni
=
r
.nInput(
Region::InputType
(
type
));
308
ntot
+=
ni
;
309
nmax =
std::max
(nmax,
ni
);
310
}
311
return
std::make_pair(
ntot
, nmax);
312
}
313
314
std::unique_ptr<std::vector<unsigned>>
RegionMapper::vecInput
(
int
type
)
const
{
315
auto
v
= std::make_unique<std::vector<unsigned>>();
316
for
(
const
auto
&
r
:
regions_
) {
317
unsigned
ni
=
r
.nInput(
Region::InputType
(
type
));
318
v
->push_back(
ni
);
319
}
320
return
v
;
321
}
322
323
std::pair<unsigned, unsigned>
RegionMapper::totAndMaxOutput
(
int
type
,
bool
puppi)
const
{
324
unsigned
ntot
= 0, nmax = 0;
325
for
(
const
auto
&
r
:
regions_
) {
326
unsigned
int
ni
=
r
.nOutput(
Region::OutputType
(
type
), puppi);
327
ntot
+=
ni
;
328
nmax =
std::max
(nmax,
ni
);
329
}
330
return
std::make_pair(
ntot
, nmax);
331
}
332
333
std::unique_ptr<std::vector<unsigned>>
RegionMapper::vecOutput
(
int
type
,
bool
puppi)
const
{
334
auto
v
= std::make_unique<std::vector<unsigned>>();
335
for
(
const
auto
&
r
:
regions_
) {
336
unsigned
ni
=
r
.nOutput(
Region::OutputType
(
type
), puppi);
337
v
->push_back(
ni
);
338
}
339
return
v
;
340
}
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition:
runTheMatrix.py:542
l1t::PFCandidate::Photon
Definition:
PFCandidate.h:15
l1ParticleFlow_cff.phiExtra
phiExtra
Definition:
l1ParticleFlow_cff.py:127
nvidia::inferenceserver
Definition:
TritonData.cc:14
neta
const int neta
Definition:
CMTRawAnalyzer.h:423
funct::false
false
Definition:
Factorize.h:29
l1tpf_impl::PropagatedTrack
Definition:
DiscretePFInputs.h:119
l1tpf_impl
Definition:
BitwisePFAlgo.h:8
L1TowerCalibrationProducer_cfi.calo
calo
Definition:
L1TowerCalibrationProducer_cfi.py:59
f
double f[11][100]
Definition:
MuScleFitUtils.cc:78
amptDefaultParameters_cff.mu
mu
Definition:
amptDefaultParameters_cff.py:16
l1t::PFTrack
Definition:
PFTrack.h:12
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
l1ParticleFlow_cff.etaExtra
etaExtra
Definition:
l1ParticleFlow_cff.py:126
ptMin
constexpr float ptMin
Definition:
PhotonIDValueMapProducer.cc:155
gpuPixelDoublets::ntot
__shared__ uint32_t ntot
Definition:
gpuPixelDoubletsAlgos.h:67
l1tpf_impl::RegionMapper::fetch
std::unique_ptr< l1t::PFCandidateCollection > fetch(bool puppi=true, float ptMin=0.01) const
Definition:
RegionMapper.cc:185
edm::ParameterSet::existsAs
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
Definition:
ParameterSet.h:171
findQualityFiles.v
v
Definition:
findQualityFiles.py:179
Muon
Definition:
Muon.py:1
edm::Ref< l1t::PFTrackCollection >
LEDCalibrationChannels.iphi
iphi
Definition:
LEDCalibrationChannels.py:64
l1tpf_impl::PFParticle
Definition:
DiscretePFInputs.h:184
l1tpf_impl::RegionMapper::TrackAssoMode::atVertex
l1tpf_impl::RegionMapper::muonRefMap_
std::unordered_map< const l1t::Muon *, l1t::PFCandidate::MuonRef > muonRefMap_
Definition:
RegionMapper.h:53
l1tpf_impl::RegionMapper::addMuon
void addMuon(const l1t::Muon &t)
Definition:
RegionMapper.cc:124
isotracks_cff.fromPV
fromPV
Definition:
isotracks_cff.py:39
l1tpf_impl::RegionMapper::TrackAssoMode::any
l1tpf_impl::InputTrack::hwChi2
uint16_t hwChi2
Definition:
DiscretePFInputs.h:88
l1ParticleFlow_cff.etaBoundaries
etaBoundaries
Definition:
l1ParticleFlow_cff.py:124
l1tpf_impl::Region::OutputType
OutputType
Definition:
Region.h:48
l1tpf_impl::RegionMapper::addEmCalo
void addEmCalo(const l1t::PFCluster &t)
Definition:
RegionMapper.cc:169
reco::Particle::PolarLorentzVector
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition:
Particle.h:23
l1tpf_impl::RegionMapper::useRelativeRegionalCoordinates_
bool useRelativeRegionalCoordinates_
Definition:
RegionMapper.h:47
l1tpf_impl::RegionMapper::fetchTracks
std::unique_ptr< l1t::PFCandidateCollection > fetchTracks(float ptMin=0.01, bool fromPV=false) const
Definition:
RegionMapper.cc:264
l1tpf_impl::RegionMapper::fetchCalo
std::unique_ptr< l1t::PFCandidateCollection > fetchCalo(float ptMin=0.01, bool emcalo=false) const
Definition:
RegionMapper.cc:239
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
LEDCalibrationChannels.ieta
ieta
Definition:
LEDCalibrationChannels.py:63
l1tpf_impl::Region
Definition:
Region.h:8
edm::ParameterSet
Definition:
ParameterSet.h:47
SiStripPI::max
Definition:
SiStripPayloadInspectorHelper.h:169
type
type
Definition:
SiPixelVCal_PayloadInspector.cc:37
match
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition:
Utils.h:10
l1t::PFCandidate::ChargedHadron
Definition:
PFCandidate.h:15
l1tpf_impl::RegionMapper::trackRegionMode_
enum l1tpf_impl::RegionMapper::TrackAssoMode trackRegionMode_
p4
double p4[4]
Definition:
TauolaWrapper.h:92
l1tpf_impl::RegionMapper::addTrack
void addTrack(const l1t::PFTrack &t)
Definition:
RegionMapper.cc:86
M_PI
#define M_PI
Definition:
BXVectorInputProducer.cc:49
g4SimHits_cfi.Region
Region
Definition:
g4SimHits_cfi.py:185
l1tpf_impl::RegionMapper::clusterRefMap_
std::unordered_map< const l1t::PFCluster *, l1t::PFClusterRef > clusterRefMap_
Definition:
RegionMapper.h:51
CalibrationSummaryClient_cfi.kind
kind
Definition:
CalibrationSummaryClient_cfi.py:37
l1t::TkMuon
Definition:
TkMuon.h:13
l1tpf_impl::RegionMapper::totAndMaxInput
std::pair< unsigned, unsigned > totAndMaxInput(int type) const
Definition:
RegionMapper.cc:304
l1tpf_impl::RegionMapper::vecOutput
std::unique_ptr< std::vector< unsigned > > vecOutput(int type, bool puppi) const
Definition:
RegionMapper.cc:333
edm::Ptr< l1t::Muon >
alignCSCRings.r
r
Definition:
alignCSCRings.py:93
l1t::PFCandidate::Muon
Definition:
PFCandidate.h:15
l1tpf_impl::InputTrack::hwStubs
uint16_t hwStubs
Definition:
DiscretePFInputs.h:88
l1tpf_impl::RegionMapper::RegionMapper
RegionMapper(const edm::ParameterSet &)
Definition:
RegionMapper.cc:5
l1tpf_impl::CaloCluster
Definition:
DiscretePFInputs.h:25
l1t::PFCluster
Definition:
PFCluster.h:10
l1t::PFCandidate::ParticleType
ParticleType
Definition:
PFCandidate.h:15
Exception
Definition:
hltDiff.cc:245
l1tpf_impl::Region::InputType
InputType
Definition:
Region.h:45
l1tpf_impl::RegionMapper::TrackAssoMode::atCalo
l1ParticleFlow_cff.phiSlices
phiSlices
Definition:
l1ParticleFlow_cff.py:125
RegionMapper.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
l1tpf_impl::RegionMapper::regions_
std::vector< Region > regions_
Definition:
RegionMapper.h:46
reco::Particle::Point
math::XYZPoint Point
point in the space
Definition:
Particle.h:25
calo
Definition:
Common.h:9
l1t::PFCandidate::NeutralHadron
Definition:
PFCandidate.h:15
l1t::Muon
Definition:
Muon.h:21
l1tpf_impl::RegionMapper::vecInput
std::unique_ptr< std::vector< unsigned > > vecInput(int type) const
Definition:
RegionMapper.cc:314
l1tpf_impl::RegionMapper::totAndMaxOutput
std::pair< unsigned, unsigned > totAndMaxOutput(int type, bool puppi) const
Definition:
RegionMapper.cc:323
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:644
l1tpf_impl::RegionMapper::clear
void clear()
Definition:
RegionMapper.cc:78
l1ParticleFlow_cff.trackRegionMode
trackRegionMode
Definition:
l1ParticleFlow_cff.py:121
l1tpf_impl::RegionMapper::trackRefMap_
std::unordered_map< const l1t::PFTrack *, l1t::PFTrackRef > trackRefMap_
Definition:
RegionMapper.h:52
l1tpf_impl::RegionMapper::addCalo
void addCalo(const l1t::PFCluster &t)
Definition:
RegionMapper.cc:153
Generated for CMSSW Reference Manual by
1.8.16